オリジナル:[Tensorflowバージョン]
さまざまなGANのPytorch実装。
このリポジトリは、Hwalsuk LeeによるTensorflow世代のモデル収集に関連して再実装されました
Tensorflow-Generative-Model-Collectionsでこのリポジトリをできる限り実装しようとしましたが、一部のモデルは少し異なります。
このリポジトリには、CPUモードPytorchのコードが含まれていますが、テストしませんでした。 GPUモードPytorchでのみテストしました。
| 名前 | 紙のリンク | 値関数 |
|---|---|---|
| ガン | arxiv | ![]() |
| lsgan | arxiv | ![]() |
| wgan | arxiv | ![]() |
| WGAN_GP | arxiv | ![]() |
| ドラガン | arxiv | ![]() |
| cgan | arxiv | ![]() |
| インフォガン | arxiv | ![]() |
| Acgan | arxiv | ![]() |
| エブガン | arxiv | ![]() |
| 始まった | arxiv | ![]() |

ジェネレーターと判別器のネットワークアーキテクチャは、Infogan Paperのように断念のsamesです。
すべてのGANバリエーションのコアアイデアを公平に比較するために、ネットワークアーキテクチャのすべての実装はEBGANを除いて同じままになり、開始されます。 EBGANのために小さな変更が行われます。これらは、識別子に自動エンコーダーストラキュアを採用しているためです。しかし、私は議論者の能力を維持しようとしました。
次の結果は、コマンドで再現できます。
python main.py --dataset mnist --gan_type <TYPE> --epoch 50 --batch_size 64
すべての結果は、固定ノイズベクトルから生成されます。
| 名前 | エポック1 | エポック25 | エポック50 | gif |
|---|---|---|---|---|
| ガン | ![]() | ![]() | ![]() | ![]() |
| lsgan | ![]() | ![]() | ![]() | ![]() |
| wgan | ![]() | ![]() | ![]() | ![]() |
| WGAN_GP | ![]() | ![]() | ![]() | ![]() |
| ドラガン | ![]() | ![]() | ![]() | ![]() |
| エブガン | ![]() | ![]() | ![]() | ![]() |
| 始まった | ![]() | ![]() | ![]() | ![]() |
各行には同じノイズベクトルがあり、各列には同じラベル条件があります。
| 名前 | エポック1 | エポック25 | エポック50 | gif |
|---|---|---|---|---|
| cgan | ![]() | ![]() | ![]() | ![]() |
| Acgan | ![]() | ![]() | ![]() | ![]() |
| インフォガン | ![]() | ![]() | ![]() | ![]() |
すべての結果は同じノイズベクトルとラベル条件を持っていますが、連続ベクトルが異なります。
| 名前 | エポック1 | エポック25 | エポック50 | gif |
|---|---|---|---|---|
| インフォガン | ![]() | ![]() | ![]() | ![]() |
| 名前 | 損失 |
|---|---|
| ガン | ![]() |
| lsgan | ![]() |
| wgan | ![]() |
| WGAN_GP | ![]() |
| ドラガン | ![]() |
| エブガン | ![]() |
| 始まった | ![]() |
| cgan | ![]() |
| Acgan | ![]() |
| インフォガン | ![]() |
Mnistのネットワークアーキテクチャに関するコメントもここに適用されます。
Fashion-Mnistは、60,000の例のトレーニングセットと10,000の例のテストセットで構成される最近提案されたデータセットです。各例は、10クラスのラベルに関連付けられた28x28のグレースケール画像です。 (Tシャツ/トップ、ズボン、プルオーバー、ドレス、コート、サンダル、シャツ、スニーカー、バッグ、足首ブーツ)
次の結果は、コマンドで再現できます。
python main.py --dataset fashion-mnist --gan_type <TYPE> --epoch 50 --batch_size 64
すべての結果は、固定ノイズベクトルから生成されます。
| 名前 | エポック1 | エポック25 | エポック50 | gif |
|---|---|---|---|---|
| ガン | ![]() | ![]() | ![]() | ![]() |
| lsgan | ![]() | ![]() | ![]() | ![]() |
| wgan | ![]() | ![]() | ![]() | ![]() |
| WGAN_GP | ![]() | ![]() | ![]() | ![]() |
| ドラガン | ![]() | ![]() | ![]() | ![]() |
| エブガン | ![]() | ![]() | ![]() | ![]() |
| 始まった | ![]() | ![]() | ![]() | ![]() |
各行には同じノイズベクトルがあり、各列には同じラベル条件があります。
| 名前 | エポック1 | エポック25 | エポック50 | gif |
|---|---|---|---|---|
| cgan | ![]() | ![]() | ![]() | ![]() |
| Acgan | ![]() | ![]() | ![]() | ![]() |
| インフォガン | ![]() | ![]() | ![]() | ![]() |
すべての結果は同じノイズベクトルとラベル条件を持っていますが、連続ベクトルが異なります。
| 名前 | エポック1 | エポック25 | エポック50 | gif |
|---|---|---|---|---|
| インフォガン | ![]() | ![]() | ![]() | ![]() |
| 名前 | 損失 |
|---|---|
| ガン | ![]() |
| lsgan | ![]() |
| wgan | ![]() |
| WGAN_GP | ![]() |
| ドラガン | ![]() |
| エブガン | ![]() |
| 始まった | ![]() |
| cgan | ![]() |
| Acgan | ![]() |
| インフォガン | ![]() |
以下は、基本的なフォルダー構造を示しています。
├── main.py # gateway
├── data
│ ├── mnist # mnist data (not included in this repo)
│ ├── ...
│ ├── ...
│ └── fashion-mnist # fashion-mnist data (not included in this repo)
│
├── GAN.py # vainilla GAN
├── utils.py # utils
├── dataloader.py # dataloader
├── models # model files to be saved here
└── results # generation results to be saved here
この実装は、Tensorflow-Generative-Model-Collectionsに基づいており、GPUを使用してUbuntu 16.04でPytorch 0.4.0でテストされています。