探究CVAE(条件自编码) Condition GAN (条件GAN) 和 VAE-GAN模型之间的区别之程序入口函数

博客给出三个程序的入口地址为main函数,还提供了程序运行的命令,即CUDA_VISIBLE_DEVICES=0 python main --gan_type F_GAN,涉及深度学习相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三个程序的入口地址:   main函数()  

程序运行的命令是: CUDA_VISIBLE_DEVICES=0  python  main --gan_type  F_GAN

import os
from CGAN import CGAN
from CVAE import CVAE
from F_GAN import F_GAN

from utils import check_folder

import tensorflow as tf
import argparse

"""parsing and configuration"""
def parse_args():
    desc = "Tensorflow implementation of GAN collections"
    parser = argparse.ArgumentParser(description=desc)

    parser.add_argument('--gan_type', type=str, default='F_GAN',
                        choices=['CGAN',  'CVAE', 'F_GAN'],
                        help='The type of GAN', required=True)
    parser.add_argument('--dataset', type=str, default='fashion-mnist', choices=['mnist', 'fashion-mnist', 'celebA'],
                        help='The name of dataset')
    parser.add_argument('--epoch', type=int, default=500, help='The number of epochs to run')
    parser.add_argument('--batch_size', type=int, default=64, help='The size of batch')
    parser.add_argument('--z_dim', type=int, default=100, help='Dimension of noise vector')
    parser.add_argument('--result_dir', type=str, default='results',
                        help='Directory name to save the generated images')

    return check_args(parser.parse_args())


def check_args(args):
    # if not exited   then  create  the result file
    check_folder(args.result_dir)
    return args

"""main"""
def main():
    # parse arguments
    args = parse_args()
    if args is None:
      exit()

    models = ['CGAN', 'CVAE', 'F_GAN']
    with tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) as sess:
        if args.gan_type in models:
            gan = model(sess,
                        epoch=args.epoch,
                        batch_size=args.batch_size,
                        z_dim=args.z_dim,
                        dataset_name=args.dataset,
                        result_dir=args.result_dir,)
            gan.build_model()
            gan.train()


if __name__ == '__main__':
    main()

 

《人工智能导论》实验报告:基于MNIST的条件图像生成(CVAE 与 CGAN) 一、 实验目标 1.理解并掌握条件变分自编码器(CVAE条件生成对抗网络(CGAN)的基本原理及其在图像生成任务中的应用。 2.熟练使用 PyTorch 深度学习框架,搭建、训练评估 CVAE CGAN 模型。 3.在经典的 MNIST 数据集上,实现根据指定的数字标签(0-9)生成对应手写数字图像的功能。 4.通过实践,对比分析 CVAE CGAN条件图像生成任务上的优缺点效果差异。 5.(核心) 记录反思实验过程中的个人思考、遇到的困难、调试经历学习体会。 二、 实验内容与要求 1.数据集准备: 使用 torchvision.datasets.MNIST 加载 MNIST 数据集。 进行必要的预处理,例如:转换为 Tensor、归一化等。 准备好 Dataloader 以便模型训练。 2.模型实现 (PyTorch): CVAE: 设计并实现一个 CVAE 模型模型的编码器解码器都应接收图像数据对应的数字标签作为输入。可以参考github(https://github.com/timbmg/VAE-CVAE-MNIST) 确保正确实现重参数化技巧(Reparameterization Trick)以及损失函数(重建损失 + KL 散度)。 CGAN: 设计并实现一个 CGAN 模型,包含生成器(Generator)判别器(Discriminator)。可以参考github(https://github.com/malzantot/Pytorch-conditional-GANs) 生成器的输入应为随机噪声向量数字标签。 判别器的输入应为图像数据对应的数字标签。 确保正确实现 GAN 的对抗训练过程相应的损失函数(例如,二元交叉熵损失)。 3.模型训练: 分别训练 CVAE CGAN 模型。 自行选择合适的优化器(如 Adam)、学习率、批大小(Batch Size)训练轮数(Epochs)。 (重点) 记录训练过程中的关键超参数选择调整过程,以及损失函数的变化情况(可以截图或简单描述)。 4.条件图像生成与评估: 训练完成后,利用两个模型分别生成指定标签(0 到 9)的图像。 例如,为每个数字(0-9)生成若干张(比如 5-10 张)样本图像。 (重点) 直观地评估生成图像的质量、清晰度。对比 CVAE CGAN 生成结果的差异。
最新发布
06-06
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值