Tips:Linuxコマンド入門
Last updated
Last updated
コードが読めなくても...と書きはしたが、自分で多少凝ったことをしたい場合、Linuxコマンドの知識がある程度必要になる。ここではLinuxコマンドについて簡単に説明し、それをつかってNovelAIリーク版以外のモデルファイルをダウンロードしてみる。
(色々はしょって説明するので詳しく知りたい方は自分で調べてほしい。)
現在一般人がパソコンを操作するにはマウスやタッチパネルを使った方法を用いるのが一般的だが、もう一つのパソコン操作の方法として文章命令(コマンド)による方法がある。
この文章命令の書き方は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というファイルを作りたい場合次のような命令を入力する。
paperspaceのインターフェースは基本的にPythonというプログラミング言語のコードを書くためのものだが、最初に「!」(半角)をつけることでこのLinuxコマンドを入力することができる。さっきのaaa.txtをbbb.zipに圧縮するコマンドはpaperspace上で書く場合、次のように書ける。
またLinuxコマンドの他に%から始まるマジックコマンドというものがありこれもこの後少し登場する。
もう一つ理解しておく必要があるのがファイルのパスの書き方だ。「パス」は要するにパソコンの中の住所のようなもので、例えば、windowsならCドライブにあるホームフォルダの中のデスクトップフォルダの中のhello.txtというファイルのパスは次のように書く。
紛らわしいのだが、LinuxやMacでは、パスの区切りに\(バックスラッシュ)
の代わりに/(スラッシュ)
を使う。例えば、storageフォルダの中のstable-diffusionフォルダの中のmodelsフォルダのパスはLinuxでは次のように書く。
実際に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だ。
では具体的に作業を始めてみる。
まずHuggingfaceのモデルのURLを取ってくる。
Hugging faceのElysiumのページに行き、Files タブを開く。
「Elysium_v1.ckpt」をクリック。
「This file is stored ......, but you can still download....」のdownloadを右クリックし、「リンクのアドレスをコピー」を選択。windowsの場合も似たような方法でリンクの指すURLのコピーができるはずです。
取得したリンクのURLを該当箇所にペーストして、ファイル名を適当に決めるとコマンドは次のようになる。
これをPaperspaceのインターフェース上で実行する。
最後、Totalの数字とReceivedの数字が同じ4067Mになったらダウンロード終了になる。(Receivedの数字はダウンロードし終わったデータの量。)
同じにならずに終わってたらダウンロードが失敗してるので再度コードを実行する必要がある。
同じようにダウンロードを行うコマンドとしてwgetやaria2cなどあるのでそれらを使っても良い。
huggingfaceの場合ファイルのダウンロードリンクが簡単に見つかってダウンロードしやすいが、ギガファイル便の場合はリンクが隠されてるのでダウンロードボタンを右クリックしてもアドレスを直接コピーできない。
こういうリンクの場合は、一旦自分のPCでダウンロードを開始してしまって、chromeのダウンロードメニュー(chromeの右上の「︙」→「ダウンロード」)からダウンロードファイルのURLを取得できる。
さらに、ダウンロード時も一手間必要になる。ギガファイル便で対象ファイルのダウンロードボタンのあるページのURLも別途取得しておき、まずそちらに接続してから、上の手順で取得したファイル本体のダウンロードURLによるダウンロードを行う必要がある。