参考:https://github.com/chenyuntc/pytorch-book/tree/v1.0/chapter7-GAN生成动漫头像 GAN解决了非监督学习中的著名问题:给定一批样本,训练一个系统能够生成类似的新样本 生成对抗网络的网络结构如下图所示: 生成器(generator):输入一个随机噪声,生成一张图片 判别器(discriminator):判断输入的图片是真图片还是假图片 训练判别器D时,需要利用生成器G生成的假图片和来自现实世界的真图片:训练生成器时,只需要使用噪声生…
https://github.com/chenyuntc/pytorch-book/blob/v1.0/chapter5-常用工具/chapter5.ipynb 希望大家直接到上面的网址去查看代码,下面是本人的笔记 在训练神经网络过程中,需要用到很多工具,其中最重要的三部分是:数据.可视化和GPU加速.本章主要介绍Pytorch在这几方面的工具模块,合理使用这些工具能够极大地提高编码效率. 1.数据处理 PyTorch提供了几个高效便捷的工具,以便使用者进行数据处理或增强等操作,同时可通过并行化…
参考:https://github.com/chenyuntc/pytorch-book/tree/v1.0/chapter6-实战指南 希望大家直接到上面的网址去查看代码,下面是本人的笔记 将上面地址的代码下载到本地后进行操作 1.安装依赖 (deeplearning) userdeMacBook-Pro:dogcat- user$ pip install -r requirements.txt ... Successfully built fire ipdb torchnet Install…
参考https://github.com/chenyuntc/pytorch-book/tree/v1.0 希望大家直接到上面的网址去查看代码,下面是本人的笔记 本章介绍的nn模块是构建与autograd之上的神经网络模块 除了nn外还会介绍神经网络中常用的工具,比如优化器optim.初始化init等 1.nn.Module torch的核心数据结构是Module,它是一个抽象的概念,既可以表示神经网络中的某个层,也可以表示一个包含很多层的神经网络 在实际使用中,最常见的做法是继承nn.Modu…
参考https://github.com/chenyuntc/pytorch-book/tree/v1.0 希望大家直接到上面的网址去查看代码,下面是本人的笔记 torch.autograd就是为了方便用户使用,专门开发的一套自动求导引擎,她能够根据输入和前向传播过程自动构建计算图,并执行反向传播 1.Variable 深度学习算法的本质是通过反向函数求导数,pytorch的Autograd模块实现了此功能.在Tensor上的所有操作,Autograd都能够为他们自动提供微分,避免手动计算的复杂…
参考https://github.com/chenyuntc/pytorch-book/tree/v1.0 希望大家直接到上面的网址去查看代码,下面是本人的笔记 pytorch的设计遵循tensor-> variable(autograd)-> nn.Module三个由低到高的抽象层次,分别代表高维数组(张量).自动求导(变量)和神经网络(层/模块).这三个抽象之间联系紧密,可以同时进行修改和操作 在IPython和Jupyter notebook两个工具中使用了Jupyter noteboo…
参考https://github.com/chenyuntc/pytorch-book/tree/v1.0 希望大家直接到上面的网址去查看代码,下面是本人的笔记 Tensor Tensor可以是一个数(标量).一维数组(向量).二维数组(矩阵)或更高维的数组(高阶数据) Tensor和numpy的ndarrays类似,不同在于pytorch的tensor支持GPU加速 导包: from __future__ import print_function import torch as t 判断是否…
[说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![握手][握手] [再啰嗦一下]本文衔接上一个随笔:人工智能中小样本问题相关的系列模型演变及学习笔记(一):元学习.小样本学习 三.生成对抗网络 GAN 综述 说到小样本学习,就想说比较时髦的生成对抗网络GAN.别误会,生成对抗网络并不是只针对小样本生成,还有很多别的丰富应用. 1. GAN GANs是一种结构化的概率模型,由两个对立的模型组成:生成模型(G)用于捕获数据分布,判别模型(D)用…
生成对抗网络(GAN)由2个重要的部分构成: 生成器G(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器 判别器D(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据” 生成对抗网络的工作过程: 第一阶段:固定判别器D,训练生成器G 初始化判别器D,让一个生成器G不断生成“假数据”,然后给这个判别器D去判断. 一开始,生成器G还很弱,所以很容易被判断出是假的. 但是随着不断的训练,生成器G技能不断提升,最终骗过了判别器…
在学习陈云的教程<深度学习框架PyTorch:入门与实践>的损失函数构建时代码如下: 可我运行如下代码: output = net(input) target = Variable(t.arange(0,10)) criterion = nn.MSELoss() loss = criterion(output, target) loss 运行结果: RuntimeError Traceback (most recent call last) <ipython-input-37-e5c73…