LoginSignup
1
1

2015年製の古いLinux PCでstable-diffusionを動かす

Last updated at Posted at 2023-05-18

環境

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

でcudaのバージョンなどが確認できます。2023-05-19 02.10.15-1.jpg
↑こんな感じ

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

で起動するも、重いので、以下のサイトを参考にスワップメモリを増やした。

スワップメモリを増やすと画像生成ができた。
IMG_20230519_014628.jpg

生成された画像がこちら(prompt = cat on a chair(他はデフォルトまま))
00000-2993255729.png

結果

多くのメモリが必要だということが分かったので、メモリを増設しようと思う。

参考サイト

古い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"

結果:問題なく動くようになりました。

参考にしたサイト

非力なパソコンですが、時間を掛ければそれなりにいい画像も作れます。

image.png

ご意見や感想などあれば、コメントお願いします。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1