理乃美

ソフトとハードと論理の覚え書き

Generative Deep Learning 2nd Editionのサンプルを動かしてみた

2023-12-01 22:56:24 | AI
オライリーから出ている、Generative Deep Learning Second Edition [1]のサンプルは、Githubから入手できる。 03_vae/01_autoencoder/autoencoder.ipynbまでのサンプルを動かしてみたので、戸惑った点をメモに残しておく。 1. .env の置き場所 githubからpullすると、Generative_Deep_Learning_2nd_Editionというディレクトリができて、sample.envをはじめとするファイルが配置される。このディレクトリに.env ファイルを置く。 2. GPUを使う場合は NVIDIA Container Toolkit が必要 CPUだけとGPUを使う場合の両方がサポートされているが、GPUを使う場合はDockerをセットアップしたあとNVIDIAのサイトを参照して NVIDIA Container Toolkitをインストールする必要がある。 3. Jupyter notebookの開き方 Dockerイメージをアップするとその最後に下図のように http://172.0.0.1:8888/lab?token=*** というURLが表示されるので、それを開く。その部分は端末でURLとして認識されるのでプルアップメニューで「リンクを開く」を選べばよい。 Readme.mdには、http://localhost:8888 とあるが、それだとtoken authentication enabled という認証を求める画面が開いてしまう。 ちなみにPC環境は、 第10世代 core i5 10600 (6コア 12スレッド) メモリ 16GB GPU: NVIDIA RTX A2000 OS: Ubuntu 22.04.3 LTS 2nd Edition の邦訳はまだない。英語版はAmazon.co.jp で kindle版も購入可能。 また、eBooks.comからだとPDFやEPUB形式で購入できるようだ。 なお初版は、生成 Deep Learning [2] というタイトルで邦訳が出ているが、サンプルが腐っているのでお勧めできない。そう、初版と2nd EditionではGithubにあるサンプルも全く別物で、初版の方はすでにサポート終了と宣言されている。おそらく、kerasの仕様変更が原因だと思うが03_03_vae_digits_train.ipynbなどがエラーになってしまう。 そんな訳で私は2nd editionを買いなおした。 [1] Generative Deep Learning, 2nd Edition by David Foster, Released May 2023, Publisher: O'Reilly Media, Inc. ISBN: 9781098134181 [2] 生成 Deep Learning, David Foster著 松田 晃一, 小沼千絵 訳、オライリー・ジャパン ISBN978-4-87311-920-5
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Tesla K80でStable Diffusionを動かした

2023-10-18 00:31:25 | AI
もはやAI実験機と化したサブPCで、RTX A2000を使ってサクッとStable Diffusionが動いたのは先日の記事の通りだが、その一方で RTX A2000のメモリが6GBしか無いという制限は厳に存在する。 ということで、24GB搭載のTesla K80 でも試してみることにした。 空冷ファンの都合上サブPCには収まらないのでメインPCで実験。一度、RTX A2000でcuda 12.0の環境にしてしまっていたので、K80に戻して動作確認するまでにドライバやcuda tool kitの再インストールとかで手間取ったが、あとはstable-diffusion-webui をインストールしてStable Diffusionがさくっと動いたが、...

1. K80をちゃんと冷やさないとcudaのエラーで止まる. やけに処理に時間がかかるな、と思ってshellの画面をみるとcudaのエラーで stable-diffusionが落ちているという事がある。
2. K80の半分しか使われていない。Tesla K80はソフトから見ると12GBのメモリを搭載した2台のGPUなのだが、そのうち1台しか利用されない。どうも、複数のGPUを束ねて利用する機能は無いようだ。その代わり、Stable Diffusionを二つ立ち上げて、それぞれが別のGPUを使うというやり方があるそうな。
3. 遅い. RTX A2000で4枚40秒だったのがTesla K80だと2分16秒. まあ、K80はTensor コアも半精度も無い古いアーキテクチャなので当然の結果と言えなくもないが。

という事で、Stable Diffusionについてはヤフオクなどで捨て値で手に入るTesla k80で楽しめなくもないが、冷却のためのあれやこれやを考えたらアクティブ冷却(=冷却ファン内蔵)のGPUを選んだ方が合理的だろうというのが私の結論。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Stable Diffusion を動かしてみた

2023-10-01 18:52:04 | AI
いまさらながらStable Diffusionに興味を持ったので、動かしてみた記録。参考書は「画像生成系AI Stable Diffusion ゲームグラフィクス自動生成ガイド」※1

マシンは、CPUが Core i5-10600、主記憶 16GB、CドライブはM.2のSSD、グラボは RTX A2000 6GB。
OS は Windows 11 Home 22H2。

Githubからstable-diffusion-webui をgitでclone。

Pythonは、Anacondaでインストール。デフォルトだと Pythonは 3.11.4 だが、Stable Diffusion web UIのサイトや参考書には3.10.6と指定されている。
なので、Anaconda Navigatorで Environments タブを開き、 下にあるCreate をクリックして新しいenvironment を追加。
選択肢にあるPythonのバージョンは3.10.13だけど、結果として問題なし。

Anaconda Navigatorで、図のように3.10.13のenvironemtのプルダウンからOpen Terminalでターミナルを開く。


Cloneしてきたディレクトリに移動し、webui-user.bat を実行すると初回はダウンロード&インストールが行われて、最後にEdgeが起きてWeb UIの画面が開く。
python仮想環境(venv) を使う設定になっているのでありがたい。
2度目以降は、webui-user.batを実行するとさくっとWeb UIが開く。
なお参考書では、VRAM 4GBのグラボでも動かせるようにwebui-user.batを小変更しているが、変更なしのそのままで使用した。
学習モデルもいくつかダウンロード。学習モデルの切り替えは時間がかかるように書かれていたが、derrida_final.ckptへの切り替えで5秒程度だった。
VAEの追加はパス。
で、参考書にあった呪文を試してみた一例が次の図。かかった時間は、4枚の画像を作成して20秒ほど。手軽に生成はできるけど、狙ったイメージの欲しい画を得るにはかなり試行錯誤がいりそうだと実感。


今回、stable-diffusion-webuiのおかげで環境構築がサクッとできたのはありがたかった。

※1 「画像生成系AI Stable Diffusion ゲームグラフィクス自動生成ガイド」、クロノス・クラウン 柳井政和 著、秀和システム ISBN978-4-7980-6233-4
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

KVMスイッチ SW-KVM4U3HD レビュー

2023-07-30 13:27:57 | 自作パソコン
KVMスイッチを買い替えた。これで4代目かな?
ビデオ信号はHDMIかDVIで、メイン、サブ、在宅勤務時の会社のノートPCの3台は切り替える必要あり、となると機種が限られて、結局サンワのSW-KVM4U3HDにした。
で開封がこちら。
本体、説明書、ACアダプターと電源コード、そして1.8mの HDMI, USBケーブル、3.5φのオーディオケーブル が4セット。



想定外だったのは電源が必要だったこと。前のKVMスイッチはUSBラインからの給電で動いていたのだよね。
しかも、ACアダプタのプラグがアース付きの3極タイプ(いわゆるOAコンセント)。 あまり家庭用とは思っていないのかなぁ。まあ、自室は3極タイプに変えてあるから困らないけど。
使用していて気になるのは、動作が遅いこと。切り替えスイッチを押してから実際に切り替わるまで1秒かかる。まえのKVMでは押したらすぐに切り替わったので不満。新しいKVMには「切り替えスイッチの2度押しでオーディオのみ切り替え」というギミックがある。それゆえ、スイッチが押されても、2度押しでないことを待って確かめてからでないと切り替えられないという仕様になってしまっている。これは止めて欲しい。
また、電源オンでの起動にも2秒くらいかかるのが難。

ちなみに、以前のKVMスイッチはサンワのSW-KVM4LU。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

サブPCを3万円で更新

2023-07-16 17:13:41 | 自作パソコン
今のメインマシンは、Visual Studio Express & Cuda tool kitを入れているうえ、Windows11とUbuntu のデュアルブートにしてピュアなLinuxでの実験もできるようにしてあるけれど、普段使いのマシンがゆえに使いにくい。
そこで、実験用のサブPCを更新することにした。とりあえず、予算は2万円程度。3年間はサブ機として使いたいのでWindows 11対応が条件。また、BRドライブが必須。で、方策を考えた。

1. ヤフオクで中古機を購入
コンパクトデスクトップなら2万円台でWindows11導入済みの品もあるが、光学ドライブはスリムドライブになるのが難点。
2. 現行のローエンドのCPU, マザボ, メモリを購入
AMDならいけそうだが、intel派なので...
3. ショップから中古のCPU, マザボ、メモリを購入
中古はCPUよりマザボの品が少ないが、幸い第10世代向けのマザボがあった。これに中古のCore i3とメモリ(新品) なら、少々の予算オーバーで済みそう。

ということで、結局はトータル3万円ほどで以下を購入。

CPU: 第10世代 Core i5 10600 (中古)
マザー Z490-S01 (中古) MSI製でBTOメーカ向けモデルらしい
メモリ DDR4-3200 8G x2 (トータル16G. 新品)

さらに、CドライブはHDDからメインPCからのお下がりのM.2へ変更。
グラボのRTX A2000もメインPCから移動

出来上がってみると、メインPCからもさほど見劣りしないマシンに仕上がっちまった。ブート時間などは、メインPCより早い。

お約束のFF15ベンチの結果は、8122で快適の判定. 第11世代 Core i7のメインPCだと 8306。FF15ベンチの場合、ある程度いってたらあとはグラボ勝負なのかな?

ちなみに、ドライバはWindows11に入っていたもので、バージョン 30.0.14.7141. CUDA Tool Kitを入れるとドライバも更新されて、バージョン 31.0.15.3625に変わる。もう一度、FF15ベンチを取ったら8093だったが、わずかな違いなのでドライバの相違のせいかもしれないし、計測誤差なのかもしれない。まあ、どっちでもよいか。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする