導入の手引き
Last updated
Last updated
Paperspace gradientでのNovelAIローカル版のインストールから起動までを解説する。
導入はさして難しく無いが初回はダウンロード等場合によって時間かかるので初回は30分程度かかってしまうかもしれない。2回目以降に使うときは1,2分ですぐ起動して使えるはず。
ざっくりした全体の流れは次の通り。
Paperspace gradientに登録する
GPUマシン環境を借りる
コードのコピペでstable diffusion、NovelAIモデルの準備
WebUIを起動!
これに関しては一般的なサイト登録操作と同じなため省略する。
Paperspace gradientでググるなり下記リンクから登録すればよい。
一応我田引水しておくと、下のリンクは最初に10ドル分無料枠が入る紹介クーポン付きリンクになっている。(紹介した私にも15ドル無料枠が入るアフィリエイト的なやつ)
一人1アカウントしか持てないのでどんなサインアップ方法だったか確認できないが、paperspaceの中でもgradientというサービスのProプラン(月8ドル)に加入しとけばとりあえず問題ないと思う。ちなみに多分ProプランからGrowthプランにアップグレードしても8ドルは返ってこないので、最初からGrowth使う予定ならGrowthプランで入った方が良いかも。無料プランでも多分問題ないと思うがもしかしたら今回解説する方法ではstable diffusionを動かせないかもしれない。
①ログイン後のトップページから「CREATE PROJECT」を押してプロジェクトを新規作成する。
②プロジェクト名を入力して「CREATE」ボタンを押す。(こだわりがなければ自動入力された名前をそのまま使っても良い)
③プロジェクトトップページに飛ぶので「CREATE」を押す。
④借りるマシンの環境を下画像の通り設定し、マシン(Notebook)を起動する。文字で書くと
(1) 「Select a runtime」の項は「show more」を押して下の方にある「Start from scratch」を選択。
(2)「Select a machine」の項は「Free-OOO」で始まるもののうちで一番下に出てくるやつを選ぶ。(できればProプランならA4000かRTX5000、GrowthプランならA100かA6000を選びたい。出て来なくても何度かページ更新してれば空くかも。別に後ですぐ変更できるので適当でも良いが。)
(3)「Auto-shutdown time」を6 hours(最大)に設定。
(4)「START NOTEBOOK」を押す。
(画面遷移が起きない場合はエラーが起きてる。大抵はページを更新すれば直る。GPUがちょうどいっぱいになったせいなこととかの場合はGPUを変更する必要がある。)
ソフトを環境にインストールしモデルファイルをダウンロードする。
⑤左のメニューの下にあるオレンジのマークを押す。
⑥下画像の通りNotebookのPython3を押す。(この画面になっていなければ、左の青地に白十字のボタンを押してから操作する。)
⑦新しいファイルが作成され、左のサイドバーから確認できる。そのままでも動作は可能だがわかりやすいようにファイル名を右クリック→「Rename」で「stable-diffusion.ipynb」などに名前を変更。
⑧下記の文を全部コピーして右の空欄に貼り付ける。
文章の意味はさっぱりわからないかもしれないがこれはstable diffusion webuiをインストールしてNovelAIリーク版のモデルをダウンロードするおまじないである。
他のモデルのファイルを追加する方法についてはTipsにて紹介する。
コピペしたら上の再生ボタン▶️を押してコードを実行。
コードの下にごちゃごちゃ文字列が出力されていくと思う。4GB程度のモデルと、vae.ptをダウンロードするので2分-10分程度は時間がかかる。初回にダウンロードしたら2回目以降こちらのコードを実行する必要はない。
コードの左側に[*]:がある間は実行が続いている。それが[数字]:に変わったら実行が終了した合図。
実行が終了したとき、下図の通り3.9GiB/3.9GiB、784M 100 784Mというように出力され、ファイルが正常にダウンロード完了していたことを確認する。もし終了時点で1.5GiB/3.9GiBとかになってたらネットワークエラー等でモデルファイルが正しくダウンロードできてない可能性がある。その場合再度コードを実行させる(コードをクリックして左に青いバーがある状態で再生▶️ボタンを押す)必要がある。
xformersを使用して高速化を行う場合、以下のコードを先ほどの出力の下の空欄にコピペし、再生ボタンで実行する。これはマシンの起動のたびに行う必要がある。
先ほどの出力のひとつ下に新しい空欄ができていると思うのでそこに下記コードをコピペで入力し、再生▶️ボタンで実行する。こちらはアプリの起動コードなので毎回実行する必要がある。こちらも初回の起動だけ少し余分に時間がかかるが気長に待ちたい。
なお--shareによる起動方法はセキュリティ上の懸念があるため、ユーザー名・パスワードによる認証を追加している。「--gradio-auth sd:test」の部分を「--gradio-auth ユーザー名:パスワード」という形で任意に変えることで自由に起動認証のユーザー名、パスワードを設定できる。
また、xformersを用いる場合--xformersを末尾につけて使うと良い。
正常に実行された場合、待っていれば画像赤下線部のようなリンクが出現する。このリンクをクリックすればいよいよアプリにアクセスできる。起動するとユーザー名とパスワードを聞かれるので先ほど--gradio-authで入力していたもの(デフォルトでユーザー名:sd、パスワード:test)を入力する。
NovelAIに設定を合わせるため、setting tabを開き、右下のeta noise seed deltaの値を31337にし、「apply setting」を押す。(押さないと反映されないので注意。)
txt2imgタブに戻り、プロンプトで実際に画像を生成してみる。
このとき、NovelAIの本家と類似の生成をするためには、Promptの最初に「masterpiece,best quality, 」、
Negative promptの最初に「lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name」を入力する必要がある。
https://rentry.org/voldyのチュートリアルにならってパラメータを入力しアスカの画像を生成すると、次のように正常に画像が生成されているのが確認できる。
パラメータ
Sampler: Euler
Seed: 2870305590
CFG: 12
Resolution: 512x512
Prompt: masterpiece, best quality, masterpiece, asuka langley sitting cross legged on a chair
Negative Prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name