mieki256's diary



2023/06/13(火) [n年前の日記]

#1 [cg_tools][prog] cog.yamlって何だろう

低品質な画像を高画質化できるらしい、SwinIR という画像処理技術が気になった。AIを使って画像を拡大したり、ノイズを除去してくれるらしい。

_GitHub - JingyunLiang/SwinIR: SwinIR: Image Restoration Using Swin Transformer (official repository)

ローカル環境で動かせるなら動かしてみたい。ざっと見たところ、cog.yaml というファイルが目に入った。

_SwinIR/cog.yaml at main - JingyunLiang/SwinIR - GitHub

.yaml/.yml ファイルか…。中には動作に必要な Pythonモジュールが列挙されてる。これはもしかして、conda用のファイルだろうか。ちなみに condaというのはPythonの仮想環境を作れるツール。

conda に cog.yaml を渡してみた。
conda env create -n swinir --file cog.yaml
しかし、何一つパッケージがインストールされなかった。すると、このファイルは何用のファイルなんだろう?

ググってみたら、この cog.yaml、どうやら Docker 用のファイルだったらしい。Dockerとな…。やたらと見かけるツール名だけど、何だっけソレ。

Dockerについて調べた :

「dockerとは」でググってみたら、仮想環境を作れるツールらしい。開発時に必要なライブラリやパッケージをひとまとめにしておけるので、開発が捗るのだとか。

しかし、Linuxのカーネルと密接に絡んだ仕組みになっているので、Windows上ではすんなり使えない模様。有償ソフトの Docker Desktop なるものを導入するか、あるいは、Windows上で仮想PCのWSL2を導入して、その上で Ubuntu Linux等を動かして、そのLinux上で Docker を使う、ということになるそうで。

仮想PCの選択で悩む :

Docker を使うためにはWSL2の導入が必要らしいと分かってきたけど…。WSL2か…。うーん。

以前試しに WSL2 を使った時は、他の仮想PC、VMware や VirtualBox の動作が目に見えて遅くなってしまって、WSL2 をアンインストールしてしまった記憶が…。だから、WSL2 はインストールしたくないのだよなあ…。

であれば、VMware や VirtualBox 上で動かしている Linux上で Docker を使うわけにはいかんのだろうか。

そう思って少し調べたけれど、これまた上手くはいかないようで。Docker そのものは仮想PC + Linux で動かせるのだろうけど。そもそも WSL2 上で Docker が使えているのだから、他の仮想PCでも同様だろう。しかし、今回やりたいのは、「GPU(GPGPU)を使って処理をする SwinIR を動かしたい」というお題なわけで…。

仮想PC + Linux から、ホストOS(Windows)が管理してるGPU/ビデオカードを制御できればいいのだけど、現状では難しいらしい。有償、かつ、サーバ用途として販売されてる VMware ならやれなくもないらしいけど、VMware Player や VirtualBox では無理だそうで。GPU(GPGPU)が使えないとなると、SwinIR も動かない…。

つまり、SwinIR が動く環境を Docker を使って構築したい場合は、OSは Linux、かつ、その Linux機にGPGPUが利用できるレベルのビデオカード/GPUを積む、という条件を満たさないといけない。Windows上で、Docker を使って、GPGPUを使うツールの環境を構築するというのは、ちょっと厳しいようだなと…。

もしかすると、WSL2 +Docker を使った場合も、GPGPUは利用できないという問題が発生するのでは…?

以上です。

過去ログ表示

Prev - 2023/06 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project