生成器,判别器

G:生成网络生成的都为假的

D:判别网络判别真实数据与来自生成网络的假数据

判别网络其实就是进行一个图像二分类

生成网络需要fc层输出个数为h*w*c(c=1or3 即为一张图片的形式)

损失函数

第一输入参数预测值,第二个参数标签值

BCEloss:需要将预测值映射到0~1之间,将所有预测结果传入sigmoid中,标签只有0和1

计算公式如下

import torch.nn as nn
loss=nn.BCELoss()#需要进行映射才能传入
loss=nn.BCEWithLogitsLoss()#无需映射直接传入

Variable 计算时, 它在背景幕布后面一步步默默地搭建着一个庞大的系统, 叫做计算图, computational graph. 这个图是用来干嘛的? 原来是将所有的计算步骤 (节点) 都连接起来, 最后进行误差反向传递的时候, 一次性将所有 variable 里面的修改幅度 (梯度) 都计算出来, 而 tensor 就没有这个能力啦.(转自CSDN博主「_APTX4869」的原创文章)


#生成标签
valid=Variable(Tensor(imgs.size(0),1).fill(1.0),requires_grad=False)
fake=Variable(Tensor(imgs.size(0),1).fill(0.0),requires_grad=False)
#生成器生成数据
z=Variable(Tensor(np.random(0,1,(img_shape[0],opt.lattent))))
#生成器loss,是否骗过判别器
g_loss=adversarial_loss(discriminator(gen_imgs),valid)
g_loss.backward()
#对抗网络梯度清零
optimizer_D.zero_grad()
#rloss
r_loss=adversarial_loss(discriminator(real_imgs),valid)
#feakloss
feak_loss=adversarial_loss(discriminator(gen_imgs.detach()),feak)
d_loss=(r_loss+feak_loss)/2
d_loss.backward()
optimizer_D.step()

pytorch学习笔记-----对抗生成网络GAN相关推荐

  1. 深度学习代码实战演示_Tensorflow_卷积神经网络CNN_循环神经网络RNN_长短时记忆网络LSTM_对抗生成网络GAN

    前言 经过大半年断断续续的学习和实践,终于将深度学习的基础知识看完了,虽然还有很多比较深入的内容没有涉及到,但也是感觉收获满满.因为是断断续续的学习做笔记写代码跑实验,所以笔记也零零散散的散落在每个角 ...

  2. 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow)

    图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow) 文章目录 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网 ...

  3. 对抗生成网络GAN(优化目标篇)

    对抗生成网络GAN(优化目标篇) 快要面试,故对GAN进行稍许复习 目的 对抗式生成网络GAN提出的目的是估计样本的密度函数pr(x;θ)p_r(x;\theta)pr​(x;θ),且并不显式的估计密 ...

  4. 深度学习对抗生成网络--GAN

    导读:GAN的风暴席卷了整个深度学习圈子,任何任务似乎套上GAN的壳子,立马就变得高大上了起来.那么,GAN究竟是什么呢? 相关资料下载 加助教小姐姐的威信即可免费获取: 1. GAN的基本思想 GA ...

  5. 对抗生成网络Gan变体集合 keras版本

    1.深度学习Gan学习笔记,keras版 2.深度学习DCGan学习笔记,keras版 3.深度学习ACGan学习笔记,keras版 4.深度学习AAEGan学习笔记,keras版 5.深度学习BiG ...

  6. 一文通俗了解对抗生成网络(GAN)核心思想

    目前有时间的时候学习一下gan的知识,但是时间也不多,这里记录一下所学,不要太期待喔,完全是学习李宏毅老师课程的笔记,由于是新手,欢迎大家交流指错. 引言 GAN已经作为一种思想来渗透在ML的其余领域 ...

  7. 李宏毅对抗生成网络 (GAN)教程(1)Introduction

    视频链接:https://www.bilibili.com/video/BV1tE411Z78A 在李宏毅GAN教程(1) 的基础上增添修改内容 文章目录 Basic idea of GAN 生成器G ...

  8. Tensorflow 对抗生成网络GAN 不服就GAN

    这一节的回顾也意味着深度学习基础课程学习进入了尾声了,GAN作为性能远超我们上一节提到的VAE的一个存在还是有很多出彩的地方的: 首先引用理查德费曼的一句话-'What I cannot create ...

  9. 李宏毅对抗生成网络 (GAN)教程(2) Conditional Generation by GAN

    文章目录 Conditional GAN 介绍 具体算法 设计Discriminator Stack GAN 图片到图片 Patch GAN 应用在speech enhancement Video G ...

最新文章

  1. mysql engine innodb myisam 区别
  2. java异常_Java的异常体系
  3. 超图预览osgb格式倾斜摄影文件
  4. tomcat - JVM 配置
  5. Win7旗舰版禁止修改文件属性的设置方法
  6. email邮件中 内嵌iframe_Python+Selenium执行结果,封装函数,用Python自动发送SMTP邮件...
  7. oracle windows 优化工具,使用Windows工具管理Nt上的Oracle数据库
  8. Eclipse-maven项目不将resources下的文件打到classpath下
  9. legend---六、php脚本变量的生命周期是怎样的
  10. spfa slf优化
  11. codeproject的文章【一】
  12. 什么是防病毒网关 防病毒网关的功能特点
  13. C语言中心对称图形定义,中心对称图形的定义
  14. charles SSL证书安装
  15. 可落地的DDD(5)-战术设计
  16. vus3+Ts Apache ECharts 的使用(可视化图表库)
  17. 【Unity数据持久化】Ixmllserializable接口的使用
  18. 初始化Direct3D
  19. Linux shell脚本,Linux下的西红柿时间管理法 I
  20. java为什么计算时间从1970年1月1日开始

热门文章

  1. TSINGSEE青犀视频监控技术在城市轨道交通中的应用
  2. 北上深广领军,成都名列第五,武汉跌出前十,中国城市综合发展指标最新排名公布...
  3. rtl8723au rtl8723bs移植
  4. Arrays和数组的转换
  5. 文本框 html 哪些属性,html常见标签和属性
  6. 判定是否互为字符重排(入门算法30)
  7. otc焊接机器人编程模拟软件_OTC弧焊机器人离线编程系统开发.pdf
  8. 智能驾驶 车牌检测和识别(三)《CRNN和LPRNet实现车牌识别(含车牌识别数据集和训练代码)》
  9. 新版标准日本语高级_第24课
  10. android apk 提取,android APK提取内置软件odex转dex