こんにちは、minoruです。
日経Linuxの2023年1月号90~91ページに、GPUの無いPCでもStable-deffusionがローカル環境で動くと言う記事があったので、試してみる事にした。
ただ、私の場合Xubuntuのせいか、少々雑誌の記事とは違う手順が必要だったので、書き残しておきたい。ちなみに実践するにはメモリが最低10GB以上必要らしいので注意。
以下の話はXubuntuの話だが、Ubuntuでも同じかも知れないし、違うかも知れない。
雑誌の記事によれば、まずDocker-Desktopとやらをインストールするのが一番最初にする事らしい。仕事で開発やらエンジニアやらやってる人にとってはDockerなんて朝飯前の事かも知れないが、こちとらプロ職じゃないから使った事が無い。
Dockerに関して調べてみてもチンプンカンプンである。DockerとDocker-engineとDocker-desktopは一緒なのか?何が違うのか?それすらわからない。
とにかく今必要なのはDocker-desktopと言う事はハッキリしている。
ここでDockerとは何かを解説してもあまり意味が無いので、さっさとインストール方法に話を移すが、公式のインストール説明ページによると、デスクトップ環境がGnomeじゃ無い場合はGnome-Terminalをインストールしておけと書いているようだ。
Xubuntuの場合、個人がわざわざGnomeを入れていない限りはGnomeじゃ無いだろうし、私は自分のPCがGnomeじゃ無いのを知っているので…
Ctrl+Alt+Tでターミナルを起動して以下のコマンドを実行。
sudo apt install gnome-terminal
雑誌によるとこの後Dockerのパッケージをダウンロードしろと書かれているが、実はそれより前にやっておくべき作業がある。
UbuntuにDocker Desktopをインストールする方法に書かれているが、以下のコマンドを順番に実行する必要がある。
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
公式のインストール説明ページにある「DEB package」と書かれたボタンからDocker-desktopのdebファイルをダウンロードする。debファイルとはDebianやUbuntu系のLinuxで使うアプリをインストールする時のファイルです。
ダウンロードフォルダにダウンロードされたdocker-desktop-4.19.0-amd64.debと言うファイルがあるので、(※赤字の部分はバージョンなのでバージョンアップされるごとに変わる)これをホームフォルダに移動させよう。
移動させなくても良いかも知れないけど、移動させた方が良いかも知れない。
そして以下のコマンドを実行。
sudo apt install ./docker-desktop-4.19.0-amd64.deb
私はLinuxを触って20年近く経つから、aptコマンドならsudoがいるんじゃないかな?と察しがついたけど、雑誌にはsudoが書かれておらず、これは初心者は混乱しそう。
で、上記が実行し終わると、アプリのメニュー一覧にDockerのアイコンが追加されるので、それをクリックして起動しよう。
最初に小さなウィンドウが表示され、英語でキャンセルか進むか出るので、キャンセルじゃ無い方を選んで先に進もう。
あんたの使用目的は?みたいなのが英語で出るけど、これもSKIPで飛ばせば良いだろう。英語が達者で回答できる人は協力してあげると良いだろう。
すると、どうやら準備が整ったらしい。
これでやっと日経Linuxの2023年1月号90ページに書かれたコマンドが実行できるので、今現在実行しているので、また追記したいと思う。
Docker-Desktopを入れたいだけなら上記で事足りると思う。
後刻…
Stable-deffusionを使うにはこれでブラウザでhttp://localhost:7860/にアクセスすれば良いらしいのだが…
はい、エラー「localhost:7860 のサーバーへの接続を確立できませんでした。」
なんで?書かれた通りやってんのに意図しない結果になるのマジでストレスやわー…
Stable-deffusion WebUIを入れてないって事なのか?
Stable-deffusion WebUIを入れるにはこのページに書いてあるようにするらしい。「Automatic Installation on Linux」の項目のところね。さて、うまくいくだろうか…
行かない!と!
はい、行き詰まりました。お手上げです!
結局色々ネット上の情報を調べてみたけど、雑誌には最低10GB以上と書いていて、私のPCは16GBほどメモリがあるが、なんか途中でKilledって出て、どうも上手く行かないんだよな。
それにもっと調べてたら仮に動いたとしてもGPU有りのPCでもグラボがショボかったらAI絵を1枚描画するのに数分とかそれ以上かかるみたいで、だったら仮にGPU無しで動いても、描画に数十分とか掛かりそうで実用性の点で疑問がある。
日経LinuxにはCPUのみで動くとかの記事じゃなくて、確実快適に動かすのに必要なスペック・それに必要な費用などの記事の方が書いて欲しかったかも知れないな。でもそういう記事は他のWindows系のPC雑誌でもう語られ尽くしているのかも知れない。
ネットのブログ記事などを参考にすると、大体15万~20万くらいの予算で組んだPC以上じゃないと物足りない結果になるように感じた。
スマホやブラウザで無料で試せる系のサービスって総じて生成される絵がショボくて、もしかしたら課金ユーザーにはもっと好ましい体験が待っているのかも知れないが、無料で使った範囲で「是非これを使ってみたい!」とは思えないんだよな。
GoogleColaboratoryを使う方法も無料で使える範囲ではStable deffusionは動かなくなり有料にする必要がある。
そして、生成した画像はGoogleドライブに保存されるため、センシティブな画像を生成したいと考えている人には不向きだろうし、別にそんなつもりが無くても生成されるまでどんな画像が出るかわからないため、意図せずそういう画像が生成・保存されるリスクもありそう。