Lightweight GANの初心者~中級者向け使い方解説
最も簡潔なマニュアル
1. CUDAをインストールする
CUDAのページ一番下にあるDownload CUDA Toolkitから自分のPCに合うものをダウンロードし、インストールする。
NVIDIAドライバも最新版にする。
2. Pythonモジュールをインストールする
>pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
>pip install kornia kornia einops adabelief-pytorch gsa-pytorch fire retry
3. モデル作成
>lightweight_gan --data フォルダパス --image-size 128 --amp
4. 画像生成
>lightweight_gan --generate
5. GIF画像生成
>lightweight_gan --generate-interpolation
主要引数使用頻度順解説
初心者向け
--amp
混合精度。16bitと32bitの浮動小数点型を混同して使うことによって精度が上がる。
つまりノーリスクで33%速度が上がり40%メモリ節約できる。必須。
--data パス名
パス名の場所に入っている画像を学習データとする。
--image-size N
Nのサイズの画像を生成する。
--multi-gpus
複数のGPUを使う。
--name フォルダ名
ここで指定したフォルダは、あらかじめ存在していない場合でも、本プログラム開始時に自動生成される。
フォルダ名が無指定の場合、defaltフォルダが指定したフォルダとして扱われる。
生成したモデルはすべて、ドライブの一番上の階層にあるmodelsフォルダ内の今回指定したフォルダに保存される。
生成する画像はすべて、 ドライブの一番上の階層にあるresultsフォルダ内の今回指定したフォルダに保存される。
--num-image-tiles N
生成画像は、N×N枚の画像を並べた状態で出力される。
GithubのREADMEにはデフォルトが5とあるが、本当は8。
中級者向け
--num-train-steps N
Nステップ学習させる。
--show-progress
GANの生成画像の変遷を、パラパラ漫画のようにしてmp4に保存。
--batch-size N
バッチサイズ。大きくすると経過時のサンプル数が大きくなるが、そのかわりにGPUメモリ消費が激しくなる。
--gradient-accumulate-every N
勾配を蓄積するバッチの数。仮想的に、バッチサイズをN倍できる。
学習データ水増し用引数解説
--aug-types []
以下にあげたもののうち、水増しに使用するものを選び、角括弧の中にコンマ区切りにして入れる。
- color
- cutout
- offset
- offset_h
- offset_v
- translation
全ての水増し機能を使う場合は、以下のようにする。
--aug-types [color,cutout,offset,translation]
color
明度・彩度・コントラストを、ランダムに変更する。
cutout
黒い四角形で画像の一部を、ランダムに覆い隠す。
offset
ランダムにx方向、y方向にずらす。はみ出した分は、反対側に貼り付けられる。
X方向、Y方向のどちらかのみずらしたい場合は、以下の値を代わりに使う。
X方向:offset_h、Y方向:offset_v
translation
黒い背景のキャンバスの上で、画像をランダムにずらして配置する。
制限事項
学習データする画像は、jpegかpngである。
参考文献
- その他引数や参考画像は、公式のURLにある。
実践した記事
「Lightweight GAN 連載記事」でタグ付けを行っている。
広告
GANの本。
ディスカッション
コメント一覧
まだ、コメントがありません