少し充実してたかな
Stable Diffusion + OpenVINO on ClearLinux
github.com
今回はTime upにより失敗。失敗の原因はコンテナを用いたこと。動作するのだが、実行中に「killed」で終了してしまう。
Docker HubでOpenVinoが公式コンテナを配布している*1。PythonもOpenVINO Toolkit*2もインストール済みなので楽できると思ったのだが、コンテナのRAM割当を変更する必要がある。スワップを増やしてみるのも良いかもしれない。
厳密にはコンテナを用いる必要はないし、PythonとOpenVINO Toolkitがインストールされていれば「git clone」で事足りるのだが、後始末とやり直しのことも考えて、今回はコンテナで挑戦した。
stable_diffusion.openvinoのインストールに用いる「requirements.txt」にて指定されているパッケージの大半は、公式コンテナに含まれている。含まれていないパッケージのみをインストールするならば、次のパッケージが対象となる。
diffusers==0.2.4
ftfy==6.1.1
huggingface_hub==0.9.0
piexif==1.1.3
streamlit==1.12.0
streamlit_drawable_canvas==0.9.1
transformers==4.16.2
watchdog==2.1.9
あるいは、これら以外をコメントしても良い。ただしコンテナにはエディタが含まれていないため、「requirements.txt」の編集作業はホスト側で対応することになる。編集したファイルを、ホストからコンテナへコピーする。
docker container cp requirements.txt <container ID>:/opt/intel/openvino_2022.3.0.9038/stable_diffusion.openvino/.
コンテナに導入されているpythonコマンドは「python3」であることに注意。次のコマンドを実行してインストールする。
python3 -m pip install --upgrade pip pip install -r requirements.txt
検討事項1
- コンテナ+スワップ増量で再挑戦するか?
- コンテナ無用、Clear Linuxへインストールするか?
- Windowsで環境構築すればどうか?
- Docker Desktopを用いる方法
- Anaconda環境と連携する方法
WindowsにてDocker Desktopを用いる場合、やはりRAMの割り当てが必要となる。WSL2で動作させることになるので、RAMの割り当てはWSL側で対応する。
learn.microsoft.com
検討事項2
GPUを利用する前提での方法。今回は対応しないつもり。
huggingface.co