powershell使えばよくない?とは思うけどたまにcmd使うし
cd /D D:\
/Dオプションをつける
※追記 こっちでやったほうが楽かもしれない.
koji-genba.hateblo.jp
ただAUTOMATIC1111版を使うやり方はすごくVRAM食うからこっちのやり方のほうがいい時もある.両方使うこともできるし好きに選べばいい.
==追記ここまで==
先駆者が無限にいるのにこれ書く必要ある?
novelAIではない
windows11 22H2
Radeon RX6800XT
※wslではない
理屈上ではintel製GPUでもGPU無し環境でも動くとは思うけど未確認.
python3.10.8
git
をインストール
適当な作業ディレクトリを用意して
github.com
をgit cloneする
Hugging Face – The AI community building the future.
にアカウント作成
適当に作業用のディレクトリを用意して
さっきcloneしたやつのsetup.batを実行.仮想環境作成とかパッケージのインストールとか走るからしばらく待つ.
終わったら
.\virtualenv\Scripts\activate
ターミナルの最初に(virtualenv)って出ればおk
ちょくちょくアプデされるからなるたけ新しいバージョンのやつ使ってください.
https://aiinfra.visualstudio.com/PublicPackages/_artifacts/feed/ORT-Nightly/PyPI/ort-nightly-directml/overview/1.15.0.dev20230126004
から
ort_nightly_directml-1.15.0.dev20230126004-cp310-cp310-win_amd64
をDLして
pip install ".\ort_nightly_directml-1.15.0.dev20230126004-cp310-cp310-win_amd64.whl" --force-reinstall
する.
https://huggingface.co/でSetting>Access TokensからToken作る.
そしたらターミナルで
huggingface-cli.exe login
してさっき作ったTokenを貼る.git credintialはnでいい.Login succesfulになればおk.
python convert_stable_diffusion_checkpoint_to_onnx.py --model_path="Linaqruf/anything-v3.0" --output_path="model/anything-v3.0_onnx" python convert_stable_diffusion_checkpoint_to_onnx.py --model_path="CompVis/stable-diffusion-v1-4" --output_path="model/stable-diffusion-v1-4_onnx" python convert_stable_diffusion_checkpoint_to_onnx.py --model_path="runwayml/stable-diffusion-v1-5" --output_path="model/stable_diffusion-v1-5_onnx"
全部やる必要はない.使いたいモデルだけでいい.ほかに使いたいモデルあるならそっちでいいし.
huggingfaceにあるモデルならおk.外の世界のモデルは知らん.
huggingface外のckptもonnxコンバートはできるはずだけど未確認.
モデルダウンロードしてckptからonnxコンバートするから非常に時間がかかる.昼飯でも食いながらゆっくり待つ.
txt2img_onnx.pyの29行目
"--model", dest="model_path", default="model/stable_diffusion_onnx", help="path to the model directory")
を
"--model", dest="model_path", default="model/anything-v3.0_onnx", help="path to the model directory")
みたいにさっき用意したモデルに合わせて書き換える.
そしたら
python txt2img_onnx.py --prompt="tire swing hanging from a tree" --height=512 --width=512
とかして適当に画像生成してみる.分かると思うけどpromptが生成内容指定プロンプト,heightとwidthが画像サイズ
初回はモデルデータの読み込みがあるため時間がかかる.outputフォルダにそれっぽい画像が出力されればおk.されなかったらどっかおかしいから頑張って何とかする.
python onnxUI.py
して表示されたURLをブラウザから開く.
あとは好きにやってください.
終わったらターミナルでCtrl+Cして終了.
#作業用フォルダの中でターミナル開いて# .\virtualenv\Scripts\activate python onnxUI.py
これだけ
python txt2img_onnx.py --cpu-only --prompt="tire swing hanging from a tree" --height=512 --width=512
でCPUのみで実行.遅い.
github.comからsetup.batだけDLして上書きして
.\setup.bat -update
でなんかアップデートできるらしいです.
次いつ使うか知らんけど一応やったからメモ
今はDirectML Plugin for TensorFlow 2があるけどこれはtensorflow1.15相当のtensorflow-directmlのやつ
windows11 22H2
wsl2 Ubuntu20.04
GPUはRX6800XTで動作確認済み
sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove
sudo apt install build-essential libbz2-dev libdb-dev libreadline-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libsqlite3-dev libssl-dev zlib1g-dev uuid-dev tk-dev wget https://www.python.org/ftp/python/3.7.16/Python-3.7.16.tar.xz tar xJf Python-3.7.16.tar.xz cd Python-3.7.16 ./configure make sudo make altinstall
direct-mlはpython3.5,3.6,3.7がサポート対象,他verでも動くかもだけど従っておくのが無難ってことで3.7.16
システム側のpythonを上書きするのは嫌だからaltinstallにする
python3.7 -m venv venv python3.7 -m pip install tensorflow-directml python3.7 -m pip install keras==2.3.1 python3.7 -m pip install scikit-learn
venvはよくないとか言われてるのを見たこともあるけど"まぁええやろ"の精神で.
tensorflow-directmlのインストール自体はpipで突っ込むだけ.kerasはtensorflow1.15に合わせて2.3.1を指定.scikit-learnは私が使いたかったから入れただけ
あとは普通にtensorflowとかkeras使うようにやれば動く.wsl2ならGPUも動く.
忘れたころに使うからメモ
管理者権限powershellで実行すればよし
DISM.exe /Online /Cleanup-image /Restorehealth sfc /scannow
powershellはセミコロンで区切れば複数コマンド流せるから
DISM.exe /Online /Cleanup-image /Restorehealth ; sfc /scannow
で放置できて気持ちいい.
dismでシステムイメージをチェックして破損あればwindows updateからファイルを取得
sfcで保護下の全てのシステムファイルをチェックして破損あればwindows updateのキャッシュから復元
キャッシュの場所はC:\Windows\System32\dllcache
====追記====
スクリプトにしたやつ
これps1にして実行,管理者権限問われるから許可
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole("Administrators")) { Start-Process powershell.exe "-File `"$PSCommandPath`"" -Verb RunAs; exit } DISM.exe /Online /Cleanup-image /Restorehealth sfc /scannow
タイトル通り
sudo apt install valgrind sudo apt install massif-visualizer
massif-visualizerは無くてもいいけどあるほうが捗る.でもGUI環境が無いと使えない.
まずmassifでメモリ使用量を測定し結果をファイルに吐かせる.
valgrind --tool=massif --stacks=yes --heap=no (実行コマンド) #例 valgrind --tool=massif --stacks=yes --heap=no ./testprogram
実行するとカレントディレクトリに"massif.out.(プロセスID)"って名称のファイルが生成される.
stacksでスタックを測定するか否か,heapでヒープを測定するか.
例えばCだったら変数はstacksに含まれるし,mallocした分はヒープになる(はず).
細かいことは以下ページ参照.
結果を吐かせたら表示する
ms_print (さっき生成されたファイル) massif-visualizer (さっき生成されたファイル) #例 ms_print massif.out.13969 massif-visualizer massif.out.13969
ms_printはコマンドプロンプト上にAAで表示してくれる.
こんな感じ.GUI環境が無いときはこれ.
massif_visualizerはいい感じにグラフにして表示してくれる.
こんな感じ.使えるならこっちのほうがよさそう.
valgrindは他にもメモリリークのチェックとか色々できる強力なツールだからうまく付き合おう.
ここにメモリ使用量測定でしか使っていないバカモノが
・OracleCloudの無料枠が強いと聞いたので使おうとした
→クレカ認証が何故か通らない(決済できてる)
→個人情報ぜ~んぶ正確に入れる
→やっぱり認証通らない
→問い合わせるかぁ
→「クレカ認証通らないよ!VISAもマスカもJCBもだめだったよ!140円の決済もあったよ!情報に誤りもないよ!なんでダメなの!?」
Oracle神からの返答
ねえええええええええええええ!!!!!!!「私たちはそれを解決することができません.それがあなたに教えられる情報の全てです」って!!!!!ねぇ!!!!!!!
なんで?と思ったけどどうやらOracleCloud無料枠のクレカ認証は通らないことで有名らしい.そんなもので有名になるな
素直に諦めてWebARENAに金払った.安くグローバルIPが欲しい…