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つの新たなユースケース

ブログ    
ブログ    
ブログ    

推薦する

機械学習の卒業生は就職に不安を感じ始めています!卒業生と企業のどちらがより厳しいでしょうか?

機械学習を専攻する学生も就職について不安を感じ始めているのでしょうか?昨日、あるネットユーザーがRe...

...

電子鼻のウイスキー識別精度は96%にも達する。ネットユーザー:茅台酒にも作ってみよう

国産茅台酒や一部の外国産高級ウイスキーは高価であるが、偽造品の重要なターゲットでもある。ワイン鑑定家...

マスターカードがAIを活用して詐欺を阻止し、誤ったチャージバックを削減する方法

【51CTO.com クイック翻訳】チェックアウト時に銀行カード取引が拒否されると、イライラしたり恥...

ウルトラマンの新技に開発者激怒! ChatGPTプラグインは放棄され、作者がGPTに目を向けたことを示唆している。

ウルトラマンの新たな動きが多くの開発者を怒らせた。これらの開発者は、プラグインの開発許可を待つのでは...

...

ネットセレブ列車は強制的に停止させられた。ドローンの操縦はどれほど難しいのか?

最近、「重慶の人気列車がドローンに衝突され停止」する動画がインターネット上で広く出回っている。 [[...

エラー率が44%減少しました!ニューヨーク大学の最新の「顔生成」は、年齢を自由に変えることが可能で、10代から高齢者まであらゆる人をカバーできる。

現在の「顔認識システム」は老化防止能力が非常に弱く、人の顔が老化すると認識性能が大幅に低下し、一定期...

デジタルトランスフォーメーションとは、アルゴリズムがすべてを制御する仮想世界なのでしょうか?

5G建設の展開に伴い、「デジタルトランスフォーメーション」という言葉も注目を浴び、さまざまな展示会...

...

2025年までに機械学習市場は967億ドルに達する

4月7日、PR Newswireによると、市場調査会社Grand View Researchが最近発...

2020年が到来。人工知能について知っておくべきこと

新年を迎え、皆様にお楽しみいただいている「まとめ記事」が今年も登場です! 2020年に人工知能が大き...

...

C# データ構造とアルゴリズムのシーケンス テーブルの簡単な分析

C# データ構造とアルゴリズムのシーケンス テーブルとは何ですか?まず、C# のデータ構造とアルゴリ...