スポットライト
StarGAN / InstaGAN
GANを用いた画像生成の1つであるImage-to-Image TranslationのモデルとしてStarGANとInstaGANがExampleとして追加されました!
StarGANは画像のアトリビュート変換ができるモデルです。CycleGANとは異なり、多対多のドメイン変換が可能なモデルとなっているのが大きなポイントです。
InstaGANは画像内のインスタンス変換ができるモデルとなっており、マスク情報を利用する事でインスタンスのみを変換させることに特化したモデルとなります。
いずれも使い方や結果などはそれぞれのページをご覧ください!
StarGAN | InstaGAN | ||
---|---|---|---|
入力:黒髪/女性 | 出力:金髪/女性 | ||
入力:黒髪/男性 | 出力:金髪/女性 | 入力画像(ジーンズ) | 出力画像(スカート) |
また、StarGANにはDouble-backwardを使ったGradient Penaltyの利用、InstaGANには今回のアップデートによって追加されたInstance Normalizationのno_scale/no_biasオプションを用いた最適化やチュートリアルブログで説明されていた部分グラフの実行/unlinked variableの利用時のbackwardによる勾配計算などのテクニックが用いられていますので、実装の際の参考としてもチェックしてみてください。
Daliイテレータ
DALIはNVIDIA製のData Loading Libraryであり、GPUを利用した高速な前処理を可能にします。今回のリリースでこのDALIを利用したイテレータが使用可能になりました!なお、今回のバージョンではDALIの0.14以下と動作が確認されています。以下のようにバージョンを指定DALIをインストールしてください。
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/cuda/10.0 \
nvidia-dali==0.14
その他の変更
レイヤー関数の新規追加・改善
フォーマットコンバーターの機能改善
C++ API
バグ修正
- layer_normalizationパラメータシェイプの修正とパフォーマンス改善
- solver.load_states実行時のパラメータのセット方法の修正
- グラフエンジン内における同一Variableの処理の改善
- すべてのbackward関数に@propertyデコレータを追加
- thrust::async::sort使用時に競合状態になる問題の修正
ビルド関連
ドキュメントの追加・修正