ということで、全行程を書き記し、
さらにUIを作りました
こちらからgit cloneして動かせばよい感じです
https://github.com/ChaosReadman/OnnxStreamWebUI
画像生成をしていると、ロックファイルができ、
他の端末からも操作できなくなります。
タイミング的には操作できちゃうかもなのでバグありと思っています
そのうち直そうと思います
ということで、全行程を書き記し、
さらにUIを作りました
こちらからgit cloneして動かせばよい感じです
https://github.com/ChaosReadman/OnnxStreamWebUI
画像生成をしていると、ロックファイルができ、
他の端末からも操作できなくなります。
タイミング的には操作できちゃうかもなのでバグありと思っています
そのうち直そうと思います
VSCでRemoteSSH接続し、ターミナルから以下の通り実行しただけです。
ユーザー名はtakahiroなので、そこのところは各自変えてください。
まずは環境の準備
sudo apt-get update
sudo apt-get install -y cmake python3-pip libjpeg-dev libopenblas-dev libopenmpi-dev libomp-dev git-lfs
sudo -H pip3 install setuptools==58.3.0
sudo -H pip3 install Cython
sudo -H pip3 install gdown
cd ~
git clone https://github.com/google/XNNPACK.git
cd XNNPACK
git checkout 1c8ee1b68f3a3e0847ec3c53c186c5909fa3fbd3
mkdir build
cd build
cmake -DXNNPACK_BUILD_TESTS=OFF -DXNNPACK_BUILD_BENCHMARKS=OFF ..
cmake --build . --config Release
cd ~
git clone https://github.com/vitoplantamura/OnnxStream.git
cd OnnxStream
cd src
mkdir build
cd build
cmake -DMAX_SPEED=ON -DOS_LLM=OFF -DOS_CUDA=OFF -DXNNPACK_DIR=/home/takahiro/XNNPACK ..
cmake --build . --config Release
cd ~
git lfs install
git clone --depth=1 https://huggingface.co/vitoplantamura/stable-diffusion-xl-turbo-1.0-anyshape-onnxstream
cd ~
cd OnnxStream/src/build/
./sd --rpi-lowmem --turbo --models-path ../../../stable-diffusion-xl-turbo-1.0-anyshape-onnxstream/ --prompt "An astronaut riding a horse on Mars" --steps 1 --output astronaut.png
3D PrinterにつないでいるRaspberryPiにUSBカメラをつけて
Duet Web Controllerから見れるように設定した
※まず、Duet3 に接続しているRaspberryPiにSSHで接続し
1.mjpg-streamerをインストール
sudo apt update
我ながら何をしているのだという感じだけど
1TのマイクロSDなんてものがあるんだと知って思わず購入
寿命がどうたらいう話もあるけど
はい、人柱になります
まずはEasy-Diffusion入れたので、Swap8GB作って動かしたいというのがあった
Modelもあれこれ入れると多分32GBだと足りなくなっていくと感じたため
1T買っちゃいました
どこまで動くかはわかりません
ところで、ファイルのクローンにはWin32DiskImagerを使ったのだけど
元が32GB、これをまずはReadで読んで、1T差し替えてWriteした
起動してdf -h --total 見てみたら、あれ?拡張されてね?って状態だった
拡張してくれるんだっけ?
まぁこれで、8GBのスワップを作って動かし中・・・
うん、動く・・・
だけどちょっとまてよ、スワップってガリガリ動くんだから
SDに作るもんじゃないよなぁ・・・
ということで、速攻で2TのHDDつけて、16GBのスワップファイルを作って
そっちを使うように修正
人柱やりません!
Easy-Diffutionで512x512のサイズが出力できるようになった
広大な1TのSDとそれよりでかい2TのHDDを付けてしまった
そろそろまぢでHDD起動にした方が素直だよなぁ
以前会社のサーバをぶち壊してから、
RaspberryPi4にしようと思って手に入れていたのだけれど、
GoogleWorkspaceに移行して使いどころがなくなっていた
(他にも3Dプリンタや録画サーバ、LibreElecで常時3台のRaspberryPi4が動いている)
会社サーバはRaspberryPi3だったのだが、4を手に入れセットアップだけは済ませて放置していた
Ubuntu23.04 Serverを入れてある
Swiftだけど、ここにやり方が書いてあるので、各自ご勝手にどうぞ
https://www.swift.org/download/
懇切丁寧に書くつもりはない
どこぞで、偉そうに書いているブログでも参考にしてください
(上記リンク見ればやり方わかるのに、ここで解説する愚行はしません)