李宏毅hw-6利用GAN生成动漫图像

news2024/11/15 23:37:48

一、查漏补缺、熟能生巧:

1.什么是转置卷积convTranspose、以及这种转置卷积怎么使用:

(1)具体的原理直接看李沐老师的那个演示,非常清晰:

47 转置卷积【动手学深度学习v2】_哔哩哔哩_bilibili

(2)对于这个代码

 def dconv_bn_relu(self, in_dim, out_dim):
        return nn.Sequential(
            nn.ConvTranspose2d(in_dim, out_dim, kernel_size=5, stride=2,
                               padding=2, output_padding=1, bias=False),        #double height and width
            nn.BatchNorm2d(out_dim),
            nn.ReLU(True)
        )

来自GPT的说法:

2.关于weight_init和self.apply()

3.关于G(z_samples)部分的一个不理解的地方:

二、DCGAN , WGAN ,WGAN_GP (三种的5个epoch的效果对比):

1.DCGAN版本:一般般,直接用助教的sample_code即可,

2.对于WGAN的代码:

也就是在DCGAN中进行这种修改就好了

效果:

 

3.采用WAGN-GP:

需要做的修改:

PyTorch-GAN/implementations/wgan_gp/wgan_gp.py at master · eriklindernoren/PyTorch-GAN (github.com)

 主要是写一个函数,然后把weight_clam那个for循环注释掉,其他的就按照助教给的注释来就好了

def compute_gradient_penalty(self,D, real_samples, fake_samples):    
        
        Tensor = torch.cuda.FloatTensor  #if cuda else torch.FloatTensor
        """
        #这里需要参考那个link引入gradient penalty function
        Implement gradient penalty function
        """
        """Calculates the gradient penalty loss for WGAN GP"""
        # Random weight term for interpolation between real and fake samples
        alpha = Tensor(np.random.random((real_samples.size(0), 1, 1, 1)))
        # Get random interpolation between real and fake samples
        interpolates = (alpha * real_samples + ((1 - alpha) * fake_samples)).requires_grad_(True)
        d_interpolates = D(interpolates)
        
        
        
        fake = Variable(Tensor(d_interpolates.shape).fill_(1.0), requires_grad=False)

        # Get gradient w.r.t. interpolates
        gradients = autograd.grad(
            outputs=d_interpolates,
            inputs=interpolates,
            grad_outputs=fake,
            create_graph=True,
            retain_graph=True,
            only_inputs=True,
        )[0]
        gradients = gradients.view(gradients.size(0), -1)
        gradient_penalty = ((gradients.norm(2, dim=1) - 1) ** 2).mean()
        return gradient_penalty

效果:

中午睡觉的时候,用这个kaggle来train一下这个WGAN-GP,

直接设置critic =5 , epoch =1000 试一试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1019214.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无涯教程-JavaScript - INT函数

描述 INT函数将数字四舍五入到最接近的整数。 语法 INT (number)争论 Argument描述Required/OptionalNumberThe real number you want to round down to an integer.Required 适用性 Excel 2007,Excel 2010,Excel 2013,Excel 2016 Example JavaScript 中的 INT函数 - 无…

2023Web前端逻辑面试题

1、现有9个小球,已知其中一个球比其它的重,如何只用天平称2次就找出该球? ①把9个球分成三份,三个一份; ②拿出其中两份进行称量;会分为两种情况 若拿出的两份小球称量结果,重量相等&#xff1b…

idea 启动命令过长

报错: 运行 MyBatisPlusGenerator35Template 时出错。命令行过长。 缩短命令行并重新运行。 解决:

【JVM】Java类的加载机制!

一、类的生命周期 类加载过程包含:加载、验证、准备、解析和初始化 ,一共包括5 个阶段。 (1)加载: 简单来说就是将java类的字节码文件加载到机器内存中。在加载类时,Java虚拟机必须完成以下3件事情&…

Matlab图像处理-HSI模型

HSI模型 HSI模型是从人的视觉系统出发,直接使用颜色三要素色调(Hue)、饱和度(Saturation)和亮度(Intensity)来描述颜色。 亮度是指人眼感知光线的明暗程度。光的能量越大,亮度就越大。 色调是颜色最重要的属性。 它决定了颜色的…

深入了解Vue.js框架:构建现代化的用户界面

目录 一.Vue前言介绍 二.Vue.js框架的核心功能与特性 三.MVVM的介绍 四.Vue的生命周期 五.库与框架的区别 1.库(Library): 2.框架(Framework): 六.Vue常用指令演示 1.v-model 2.v-on:click&…

Python爬虫自动切换爬虫ip的完美方案

在进行网络爬虫时,经常会遇到需要切换爬虫ip的情况,以绕过限制或保护自己的爬虫请求。今天,我将为你介绍Python爬虫中自动切换爬虫ip的终极方案,让你的爬虫更加高效稳定。 步骤一:准备爬虫ip池 首先,你需要…

python调用函数详解

一、定义函数与调用函数的顺序 函数被定义后,本身是不会自动执行的,只有在被调用后,函数才会被执行,得到相应的结果。但是在 Python 中我们要注意一个关键点,就是Python不允许前向引用,即在函数定义之前&a…

LeetCode 面试题 04.09. 二叉搜索树序列

文章目录 一、题目二、C# 题解 一、题目 从左向右遍历一个数组,通过不断将其中的元素插入树中可以逐步地生成一棵二叉搜索树。 给定一个由不同节点组成的二叉搜索树 root,输出所有可能生成此树的数组。 点击此处跳转题目。 示例 1: 输入: root [2,1,3]…

商家收款码手续费收费标准

不管是微信还是支付宝,商户最低的收款手续费率可以达到0.2%费率。一般我们普通商户的收款费率一般在0.6左右,当然也有使用0.3的,也就是1万元的费率是30-60块钱,对于一些流水比较大的商家来说,确实很有必要把这个手续费…

为什么有了IP地址还需要MAC地址?

上午好,我的网工朋友。 今天想和你聊聊Mac地址。 到底啥是Mac地址?官方直译是媒体存取控制位址,是一个用来确认网络设备位置的位址。 在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址。 MAC地址…

【JavaEE】多线程(三)

多线程(三) 续上文,多线程(二),我们已经讲了 创建线程Thread的一些重要的属性和方法 那么接下来,我们继续来体会了解多线程吧~ 文章目录 多线程(三)线程启动 startsta…

微信小程序如何跳转到tabBar页面、如何携带参数过去

文章目录 一、跳转链接时,不能使用navigator标签、 wx.navigateTo、wx.redirectTo方法跳转页面问题解决:1、wx.switchTab(Object object)2、wx.reLaunch(Object object) 二、不能用常规的方式给tabBar的页面传递参数问题解决:1、用前面提到的…

聚观早报 | 联发科天玑9300跑分曝光;OPPO A2 Pro开启预售

【聚观365】9月18日消息 联发科天玑9300跑分曝光 OPPO A2 Pro开启预售 哪吒汽车泰国累计交付破1万台 小米13T系列最新渲染图出炉 酷派手机新品通过工信部入网 联发科天玑9300跑分曝光 今年上半年,联发科推出了天玑9200移动平台,截至目前已有多款机…

二蛋赠书三期:《C#入门经典(第9版)》

文章目录 前言活动规则参与方式本期赠送书籍介绍作者介绍内容简介读者对象获奖名单 结语 前言 大家好!我是二蛋,一个热爱技术、乐于分享的工程师。在过去的几年里,我一直通过各种渠道与大家分享技术知识和经验。我深知,每一位技术…

Apache httpd 安全漏洞处理-升级httpd版本

文章目录 前言一、现状二、使用codeit库升级Apache1. 安装epel-release2. 下载codeit的repo文件3. 查看版本信息4. 更新httpd版本后确认版本5. 重启httpd服务 总结 前言 手上有台zabbix-server服务器,用了httpd的服务支撑,漏扫时发现有很多的Apache htt…

具体项目下解决Echarts多端同步开发和维护的问题

具体问题场景 PC端和移动端需要同时上线图表功能(没有多余工时) 之后的版本迭代(功能、样式、配置等)默认双端同步,开发人员只希望维护一套代码 Echarts在移动端有部分功能不兼容不支持 Echarts在移动端的坑 ① 移动端…

AI与医疗保健:革命性技术如何拯救生命

文章目录 引言AI的应用领域1. 影像识别2. 疾病诊断3. 药物研发4. 个性化治疗 AI技术1. 机器学习2. 深度学习3. 自然语言处理4. 基因组学 实际案例1. Google Health的深度学习模型2. IBM Watson for Oncology3. PathAI的病理学分析 道德和隐私考虑结论 🎉欢迎来到AIG…

振弦采集仪和传感器在岩土工程中安装方法的关键要点

振弦采集仪和传感器在岩土工程中安装方法的关键要点 振弦采集仪和传感器在岩土工程中的安装方法是岩土工程中非常关键的过程。其安装质量的好坏直接影响实验数据的准确性,进而影响工程设计和施工效果。因此,在实际工作中,如何正确的安装振弦…

0基础学习VR全景平台篇 第100篇:美团酒店丨平台上传全景全流程

目前美团平台已经具备VR全景图在美团App客户端的展示能力,但目前E-Booking暂未开通上传通道,若商家您有全景图且有意愿上传至平台,需要签署授权书,并依照规定的格式要求发送邮件申请,由平台代为人工上传。具体规则和要…