18以上のSOTA GAN実装をカバーするこのライブラリは、画像生成の分野で人気があります。

18以上のSOTA GAN実装をカバーするこのライブラリは、画像生成の分野で人気があります。

GAN は提案されて以来、急速に幅広い注目を集めています。 GAN は、無条件生成と条件情報に基づく生成の 2 つのカテゴリに分類できます。最近、韓国の浦項工科大学の修士課程の学生が、条件付き/無条件画像生成のための代表的な敵対的生成ネットワーク (GAN) の実装を提供するプロジェクトを GitHub でオープンソース化しました。

最近、Machine Heart は GitHub 上で非常に有意義なプロジェクト PyTorch-StudioGAN を目にしました。これは、条件付き/無条件画像生成のための代表的な敵対的生成ネットワーク (GAN) の実装を提供する PyTorch ライブラリです。ホームページによると、このプロジェクトの目的は、機械学習分野の研究者が新しいアイデアや手法を迅速に比較・分析できるように、統一された最新のGANプラットフォームを提供することです。

このプロジェクトの作者は、韓国の浦項工科大学の修士課程の学生です。彼の研究対象は主に、ディープラーニング、機械学習、コンピュータービジョンです。

プロジェクトアドレス: https://github.com/POSTECH-CVLab/PyTorch-StudioGAN

具体的には、このプロジェクトには次のような注目すべき特徴があります。

  • PyTorch フレームワーク用の多数の GAN 実装を提供します。
  • CIFAR 10、Tiny ImageNet、ImageNet データセットに基づく GAN ベンチマーク。
  • 元の実装よりもパフォーマンスが向上し、メモリ消費量が少なくなります。
  • 完全に最新の PyTorch 環境で事前トレーニング済みのモデルを提供します。
  • マルチ GPU (DP、DDP、マルチノード DDP)、混合精度、同期バッチ正規化、LARS、Tensorboard 視覚化、その他の分析方法をサポートします。

この PyTorch GAN ライブラリについて、あるネットユーザーは「素晴らしいですね。top-k やさまざまな強化方法などの最新のトレーニング手法が提供されれば、さらに良くなるでしょう」とコメントしています。これに対して、プロジェクトの著者は、NeurIPS 論文提出期限後に、Sinha らの Tok-K トレーニングや Langevin サンプリング、SimCLR 強化などの改良された手法を追加すると述べました。

さらに、一部のネットユーザーは、このプロジェクトが画像処理以外の分野でも活用できるかどうかを尋ねた。著者は、一部のスタビライザー(diffaug、ada など)を使用できない場合でも、dataLoader を調整することで独自のモデルをトレーニングできると述べています。

18+ SOTA GAN 実装

下の図に示すように、プロジェクト作成者は、DCGAN、LSGAN、GGAN、WGAN-WC、WGAN-GP、WGAN-DRA、ACGAN、ProjGAN、SNGAN、SAGAN、BigGAN、BigGAN-Deep、CRGAN、ICRGAN、LOGAN、DiffAugGAN、ADAGAN、ContraGAN、FreezeD など、18 種類以上の SOTA GAN の実装を提供しています。

cBN: 条件付きバッチ正規化、AC: 補助分類器、PD: 投影識別器、CL: 対照学習。

その中でも、以下の点に留意する必要があります。

  • G/D_type は、ジェネレータまたは判別式にラベル情報を注入する方法を示します。
  • EMA は、ジェネレーターで更新を適用した後の指数移動平均を表します。
  • Tiny ImageNet データセットの実験では、CNN の代わりに ResNet アーキテクチャが使用されました。

下の図では、StyleGAN2 が実装される GAN ネットワークであり、AdaIN は Adaptive Instance Normalization の略です。

環境要件

  • アナコンダ
  • Python >= 3.6
  • 6.0.0 <= 枕 <= 7.0.0
  • scipy==1.1.0
  • 学習する
  • シーボーン
  • h5py
  • tqdm
  • トーチ >= 1.6.0
  • トーチビジョン >= 0.7.0
  • テンソルボード
  • 5.4.0 <= gcc <= 7.4.0
  • トーチラー

ユーザーは、次の方法で推奨環境をインストールできます。

  1. conda env 作成 -f 環境.yml -n studiogan

Docker では、次の方法も使用できます。

  1. docker pull mgkang/studiogan:最新

以下は、「studioGAN」という名前のコンテナを作成するコマンドです。ポート番号 6006 を使用して tensorboard に接続することもできます。

  1. docker run -it --gpus all --shm-size 128g -p 6006 : 6006 --name studioGAN -v /home/USER:/root/code --workdir /root/code mgkang/studiogan:latest /bin/bash

使い方

GPU 0 を使用する場合、モデルのトレーニング "-t" と評価 "-e" は CONFIG_PATH で定義されます。

  1. CUDA_VISIBLE_DEVICES= 0 python3 src/main.py -t -e -c CONFIG_PATH

GPU (0、1、2、3) および DataParallel を使用する場合、モデルのトレーニング "-t" と評価 "-e" は CONFIG_PATH で定義されます。

  1. CUDA_VISIBLE_DEVICES= 0123 python3 src/main.py -t -e -c CONFIG_PATH

python3 src/main.py プログラムで利用可能なオプションを表示します。Tensorboard を通じて、IS、FID、F_beta、信頼性の精度、最大特異値を監視できます。

  1. ~ PyTorch-StudioGAN/logs/RUN_NAME>>> tensorboard --logdir=./ --port ポート

生成された画像を視覚化して分析する

StudioGAN は、画像の視覚化、k 最近傍分析、線形補間、周波数分析をサポートしています。すべての結果は「./figures/RUN_NAME/*.png」に保存されます。

画像の視覚化のためのコードと例は次のとおりです。

  1. CUDA_VISIBLE_DEVICES= 0 ,...,N python3 src/main.py -iv -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH

k 最近傍分析、ここでは K=7 が固定され、最初の列は生成された画像です。

  1. CUDA_VISIBLE_DEVICES= 0 ,...,N python3 src/main.py -knn -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH

線形補間のコードと例(条件付き Big ResNet モデルにのみ適用可能)は次のとおりです。

  1. CUDA_VISIBLE_DEVICES= 0 ,...,N python3 src/main.py -itp -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH

<<:  自動運転のゴールドラッシュ、このトラックの価値は少なくとも3000億ドル

>>:  人工知能とモノのインターネット – 5つの新たなユースケース

ブログ    
ブログ    

推薦する

気温を下げて干ばつを緩和するブラックテクノロジーが多数存在します。人工降雨の謎とは?

​最近、浙江省の高温が話題になっています。継続的な高温と干ばつの悪影響を緩和するために、浙江省の多く...

...

...

Pythonアルゴリズムを使用して取引する方法

投資管理会社でシステム開発エンジニアとして働いていたとき、定量金融で成功するには、数学、プログラミン...

【ビッグガイがやってくるエピソード11】ITマネージャーの自己認識とコミュニケーション管理

[51CTO.com からのオリジナル記事] IT 部門のステータスが一向に向上しないのはなぜか、上...

AIはサイバーセキュリティにおいて人間に取って代わるでしょうか?両者は対立していない

近年、サイバーセキュリティ業界では人工知能技術が話題になっています。セキュリティ オーケストレーショ...

...

...

...

知識経済は死んだ! AIが生み出す「直感経済」の新時代!

AI をめぐっては興奮と恐怖が同時に存在しているのは否定できない現実です。一方では、マイクロソフト...

倪光南:AI開発は教訓を学ぶべき、コア技術は購入したり置き換えたりすることはできない

「ここ数年、情報技術分野で私たちが学んだ最大の教訓の一つは、主要な中核技術は私たち自身の独立したイノ...

人工知能は私たちに取って代わるのでしょうか?科学者たちは十分な証拠を提示しているが、その日が来るのはまだ遠い。

人工知能といえば、これは現代社会の最新の産物であり、この産物もまた最速のスピードで人間を駆逐していま...

水道事業のデジタル変革におけるIoTとAIの役割

今日、多くの地域で、伝統的に顧客独占を享受してきた水道事業者は、規制政策の変更、気候変動の影響、消費...