環境
OS | Linux Mint 21.1 |
---|---|
CPU | Xeon E3-1230V5 |
GPU | NVIDIA Quadro K1200 |
メモリー | 8GB |
hdd | 1TB |
cuda | 12.1 |
前提
nvidia製のGPUを使います。AMD製の物はROMcを使うかと思います。
pythonの環境を作る
以下のサイトを参考にAnacondaで環境を作る。インストールするpythonのバージョンに気をつけ、パッケージはインストールしない。このサイト上のAUTOMATIC1111版web UIのインストールのリポジトリからダウンロードまでを完了する。
cudaとpytorchなどのインストール
cudaツールキットから手順に従ってcudaをインストール。
nvidia-smi
pytorchを自分のcudaのバージョンに合うようにインストール。(必要ないかもしれない。要検討)
作成したanacondaの環境下(git cloneで作られたディレクトリ上)でターミナルを開き、
conda activate hoghoge(作成した環境名)
pip insatll -r requirements
を実行。パッケージをインストールする。
実行
./webui.sh
を実行すると、torch==2.0.1をインストールしようとし(すでに入っているのに)、137エラーでクラッシュ。
色々試した結果、
python3 launch.py
で動くことが分かった。
stable-diffusionは起動するがメモリ不足でフリーズするため、
python3 launch.py --precision full --no-half --lowvram --opt-split-attention
で起動するも、重いので、以下のサイトを参考にスワップメモリを増やした。
生成された画像がこちら(prompt = cat on a chair(他はデフォルトまま))
結果
多くのメモリが必要だということが分かったので、メモリを増設しようと思う。
参考サイト
古いwindowsPCでstable-diffusionを動かす方法が一通り載っています。
linuxのコマンドなど参考になるかもしれません
137エラーに関して
サーバーにスワップ領域を設定しようとすると、『fallocate failed: Text file busy』とエラーになる。
2023/05/26 追記 2023/06/18編集
RuntimeError: CUDA out of memory.
と出ていた時の対処法。
画像生成後にVRAMのリサイクルが上手くいってなかったようなので、.zshrc
に以下を付記した。
バージョンアップデートしたら書き換えられて消えるかもしれないのでそこは注意。
export PYTORCH_CUDA_ALLOC_CONF="garbage_collection_threshold:0.6,max_split_size_mb:128"
結果:問題なく動くようになりました。
参考にしたサイト
非力なパソコンですが、時間を掛ければそれなりにいい画像も作れます。
ご意見や感想などあれば、コメントお願いします。