🎨
NovelAIローカル版を月8ドルで快適に動かす【Paperspace gradient】
  • Paperspace GradientでNovelAIローカル版を月8ドルで快適に動かす
  • Paperspace gradientの利点
  • 導入の手引き
  • (おまけ) DreamBooth学習
  • Tips:Linuxコマンド入門
Powered by GitBook
On this page
  • Linuxコマンドとは
  • PaperspaceでLinuxコマンド
  • ファイルのパス
  • 他のモデルのダウンロードを行う
  • おまけ:ギガファイル便のファイルを直接ダウンロードする

Tips:Linuxコマンド入門

Previous(おまけ) DreamBooth学習

Last updated 2 years ago

コードが読めなくても...と書きはしたが、自分で多少凝ったことをしたい場合、Linuxコマンドの知識がある程度必要になる。ここではLinuxコマンドについて簡単に説明し、それをつかってNovelAIリーク版以外のモデルファイルをダウンロードしてみる。

(色々はしょって説明するので詳しく知りたい方は自分で調べてほしい。)

Linuxコマンドとは

現在一般人がパソコンを操作するにはマウスやタッチパネルを使った方法を用いるのが一般的だが、もう一つのパソコン操作の方法として文章命令(コマンド)による方法がある。

この文章命令の書き方はMac、WindowsなどOSによって大雑把に異なっている。

一般にWindowsやMacのOSを持つコンピュータを使う人が多いと思われるが、paperspaceで我々が操作するのは「Ubuntu」というOSのパソコンで、これに対してサイトから文章命令を与えることで操作している。今までのチュートリアルで出てきたおまじないというのは実際にはこのUbuntuを操作するための文章命令でできているものだ。

UbuntuはLinuxというOSの種類に属していて、Linux OSの中ではだいたいこの文章命令の書き方はほとんど一緒だ。

LinuxコマンドとはこのLinuxにおける文章命令(コマンド)のことを言う。

例えば、Linuxコマンドでファイルをzipに圧縮する場合、「zip 圧縮後のファイル名.zip 圧縮するファイル名」というコマンドを入力することで同じことができる。より具体的に言うと例えば、aaa.txtというファイルを圧縮してbbb.zipというファイルを作りたい場合次のような命令を入力する。

zip bbb.zip aaa.txt

PaperspaceでLinuxコマンド

paperspaceのインターフェースは基本的にPythonというプログラミング言語のコードを書くためのものだが、最初に「!」(半角)をつけることでこのLinuxコマンドを入力することができる。さっきのaaa.txtをbbb.zipに圧縮するコマンドはpaperspace上で書く場合、次のように書ける。

!zip bbb.zip aaa.txt

またLinuxコマンドの他に%から始まるマジックコマンドというものがありこれもこの後少し登場する。

ファイルのパス

もう一つ理解しておく必要があるのがファイルのパスの書き方だ。「パス」は要するにパソコンの中の住所のようなもので、例えば、windowsならCドライブにあるホームフォルダの中のデスクトップフォルダの中のhello.txtというファイルのパスは次のように書く。

C:\home\desktop\hello.txt

紛らわしいのだが、LinuxやMacでは、パスの区切りに\(バックスラッシュ)の代わりに/(スラッシュ)を使う。例えば、storageフォルダの中のstable-diffusionフォルダの中のmodelsフォルダのパスはLinuxでは次のように書く。

/storage/stable-diffusion/models

他のモデルのダウンロードを行う

実際にPaperspaceでコマンドを使って操作を行ってみる。

ここではHugging faceにアップされたElysiumモデルのダウンロードを2つのコマンドを使って行う。

一つ目のコマンドはcdというマジックコマンド。これは、PC上の現在地を移動するコマンド。Windowsのファイルエクスプローラー、あるいはMacのFinderでフォルダからフォルダへとクリックして移動していく動作と同じような意味を持つ。

%cd 移動先のフォルダのパスという形で書く。

ふたつ目のコマンドはcurlというコマンド。これは指定するURLのファイルをダウンロードするコマンド。

!curl -Lo 書き出しファイル名 ダウンロードファイルのURLという形で書く。書き出しファイル名を自分で決めなくてよければ!curl -L ダウンロードファイルのURLでOK。

この2つを使いcdでstable-diffusion-webuiにおけるモデル保存用フォルダに移動して、その後そこでcurlを使ってモデルをダウンロードすればOKだ。

では具体的に作業を始めてみる。

(1)HuggingfaceでモデルのURLを取得

まずHuggingfaceのモデルのURLを取ってくる。

Hugging faceのElysiumのページに行き、Files タブを開く。

「Elysium_v1.ckpt」をクリック。

「This file is stored ......, but you can still download....」のdownloadを右クリックし、「リンクのアドレスをコピー」を選択。windowsの場合も似たような方法でリンクの指すURLのコピーができるはずです。

(2)コマンドを実行してモデルをダウンロード

取得したリンクのURLを該当箇所にペーストして、ファイル名を適当に決めるとコマンドは次のようになる。

%cd /storage/atelier/stable-diffusion-webui/models/Stable-diffusion/ 
!curl -Lo elysium_v1.ckpt https://huggingface.co/hesw23168/SD-Elysium-Model/resolve/main/Elysium_V1.ckpt

これをPaperspaceのインターフェース上で実行する。

最後、Totalの数字とReceivedの数字が同じ4067Mになったらダウンロード終了になる。(Receivedの数字はダウンロードし終わったデータの量。)

同じにならずに終わってたらダウンロードが失敗してるので再度コードを実行する必要がある。

同じようにダウンロードを行うコマンドとしてwgetやaria2cなどあるのでそれらを使っても良い。

おまけ:ギガファイル便のファイルを直接ダウンロードする

huggingfaceの場合ファイルのダウンロードリンクが簡単に見つかってダウンロードしやすいが、ギガファイル便の場合はリンクが隠されてるのでダウンロードボタンを右クリックしてもアドレスを直接コピーできない。

こういうリンクの場合は、一旦自分のPCでダウンロードを開始してしまって、chromeのダウンロードメニュー(chromeの右上の「︙」→「ダウンロード」)からダウンロードファイルのURLを取得できる。

さらに、ダウンロード時も一手間必要になる。ギガファイル便で対象ファイルのダウンロードボタンのあるページのURLも別途取得しておき、まずそちらに接続してから、上の手順で取得したファイル本体のダウンロードURLによるダウンロードを行う必要がある。

%cd /storage/atelier/stable-diffusion-webui/models/Stable-diffusion/ 
!wget --keep-session-cookies --save-cookies=cookies.txt ダウンロードボタンのあるページのURL
!wget --load-cookies cookies.txt -r -k -E chromeで取得したファイルのダウンロードURL

(参考:「)

gigafile便に上がっているファイルをwgetする
Linuxコマンド怖くない
内容がお勉強チックになるので絵多め
ひとやすみ
ひとやすみ
ひとやすみ