Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

20230305




少し充実してたかな

Stable Diffusion + OpenVINO on ClearLinux

github.com
今回はTime upにより失敗。失敗の原因はコンテナを用いたこと。動作するのだが、実行中に「killed」で終了してしまう。

Docker HubでOpenVinoが公式コンテナを配布している*1Pythonも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