皆さん、AIしてますかーッ!
ストレス少なめな画像生成AIローカル環境が欲しまって物欲MAXになり、やっちまった、おっさん僕です!🤣
ガッツリやるならゴツいケース、ゴツい電源、ゴツいGPUカードが大正解なんでしょうけど、そこまでやる金はないし、置き場所もない。
ゲーミングノートPCにしても17インチはさすがにデカいし、やっぱり高い。
とりあえず画像1枚を1分程度で生成してくれれば御の字。
要するに
安くてそこそこ速くて嵩張らないやつが欲しい!
ってことです🤣
で、これがまた都合よく近所の中古ショップで見つけちゃったんですヨ〜!
ONEXPLAYER mini Pro Ryzen版 と言うゲーミングUMPCです!🤩
www.onexplayer.online
(ミスってintel版のリンクを貼ってしまってました。。。リンク修正しました。)
これの最上位モデルでメモリ32GB、SSD2TB。
別売りのドックと持ち運び用のケースが付属していました。
これより少しスペックが落ちるメモリ16GB、SSD1TBのタイプの中古相場よりもかなり安かったので、清水の舞台から飛び降りましたヨ〜!
CPUはAMD Ryzen 7 6800U で、iGPUがRADEON 680M。
画面は7インチの 1920 x 1200。
ネットで調べた感じではメインメモリからVRAMに6GBを割り当てているような書き込みを見かけました。
↑キーボードはもともと持っているBluetoothキーボードです。小さすぎて打ちづらいw
MacBook Pro 15インチ、13インチと比べるとこんなにちっちゃい。
このUMPCで生成AIを使っているようなネット情報はほとんど見当たりませんでしたが、Ryzen 搭載PCでiGPUを効かせたAI画像生成ができるという情報はありましたので、若干「賭け」ではありますが、チャレンジ精神に火がついて購入を決意。
そそくさと持ち帰り、リカバリーして出荷時状態に戻してから作業開始。
以下のサイトを参考に、Stable Diffusion Web UI directML を入れてみました。
singula2045.hatenablog.com
上記サイトに加え、あれこれ検索しまくってあちこちのサイトを参考にしまくって、なんとか成功しました!👍
ONEXPLAYER mini Pro Ryzen版へのStable Diffusion Web UI 導入メモ
以下のような感じで導入しました。一通りやってからメモにまとめたので、かなり大雑把かつところどころ間違っているかもしれませんがご容赦を。
事前準備
https://visualstudio.microsoft.com/ja/visual-cpp-build-tools/
ダウンロードしてインストール
C++によるデスクトップ環境を選択
ATL、CLI、C++MFCにチェック
https://www.python.org/downloads/windows/
3.10.8をダウンロードしてインストール
Git
https://gitforwindows.org/
ダウンロードしてインストール
諸々インストール
Stable Diffusions Web UI directML
適当なところにディレクトリを作る Documents¥Repositories¥ とか
作ったフォルダで右クリック→Open Git Bash here を選んでbash立ち上げる
リポジトリをクローンする
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml && cd stable-diffusion-webui-directml && git submodule init && git submodule update
※確か上記コマンドを打ったはずだが、違う可能性あり。コピペ元のページはブラウザから閉じてしまったので、このコマンドラインだったか判断できず怪しいかもです。
※GitHubのstable-diffusion-webui-amdgpuのページに、directML対応しているよー「--use-directml」をオプション指定してねー的な記載があったのは記憶にありますが。。。
必要なパッケージをインストール
コマンドプロンプトかPowerShellを起動し、gitでクローンしたリポジトリのディレクトリに入る
cd stable-diffusion-webui-directml
pythonの仮想環境をアクティベートする
python -m venv dlc
.\dlc\Scripts\Activate.ps1 → .\dlc\Scripts\activate.bat
以下の3つのコマンドでパッケージをインストールする
pip install diffusers==0.3.0
pip install transformers
pip install onnxruntime
モデルファイルを入手して所定のディレクトリに格納する
stable-diffusion-webui-directml¥models¥Stable-diffusion¥
に入れる。
webui-user.batにコマンドライン指定するパラメータを書き足す
set COMMANDLINE_ARGS=
↓
set COMMANDLINE_ARGS=--use-directml
2024/9/10追記:
以下の環境変数を設定しないと一部のベースモデルがうまく動かない&動いても生成が異常に遅くなる模様。どうやら一部のベースモデルを使おうとすると外部サイト(実行時のエラー出力を見るとhugging faceにアクセスしようとしている?)を見に行こうとする、ようだ。
set TRANSFORMERS_OFFLINE=1
webui-user.batを実行
エクスプローラーからダブルクリックで良い。
しばらく待つとUI(ブラウザ)が自動で開く。
Stable Diffusion Web UI directML で画像生成した結果
立ち上がったStable Diffusion Web UIのpromptに「cat」と入力して生成した結果はこんな感じ。
あれッ?MacBook Proで生成するよりも綺麗かも!?
生成にかかった時間は1分ほど。
写真は残せていませんが、iGPUがフル稼働しているのをタスクマネージャから確認できました。
3つほど作ってみましたが、大体1枚1分前後。
たったの1分ですよ、1分!
2024/9/1追記:
ONEXPLAYER mini Pro Ryzen版はTDPを変更してCPUのパワーを好きに設定できるようなので、最大の28W設定で生成時間を見てみました。
TDP=28Wだと生成時間が44秒!15秒以上短縮されました!
フルパワーだと1分を余裕で切るんですよ!すげーッ!
古いとは言えdGPUを搭載しているMacBook Pro 15インチ 2015 が1枚生成している間に、ONEXPLAYER mini Pro Ryzen版は7〜10枚は生成できる、ってことですヨ〜!ゴイゴイスーッ!
いやあ〜これは捗りますわー!
ただ、あまりにちっちゃいので画面の文字も画像も小さくてみづらいのと、物理キーボードが別立てになってしまうので本体だけでプロンプトをガシガシ入力して画像をガンガン生成するような使い方は難しそう。
ドック経由でマウス、キーボード、ディスプレイを繋いで作業するのが良さげ。
(実際、本日やった各種インストールや生成テストはそんな環境でした。)
というわけで、結局物欲に勝てない、おっさん僕なのでした🙃
スポンサーリンク