03 2020 档案
摘要:信息量,熵,KL散度,交叉熵,JS散度,Wasserstein距离,WGAN中对KL散度和JS散度的描述
阅读全文
摘要:生成对抗网络是一个关于数据的生成模型:即给定训练数据,GANs能够估计数据的概率分布,基于这个概率分布产生数据样本(这些样本可能并没有出现在训练集中)。 GAN中,两个神经网络互相竞争。给定训练集X,假设是几千张猫的图片。将一个随机向量输入给生成器G(x),让G(x)生成和训练集类似的图片。判别器D
阅读全文
摘要:在上一篇博客中我们介绍并实现了自动编码器,本文将用PyTorch实现变分自动编码器(Variational AutoEncoder, VAE)。自动变分编码器原理与一般的自动编码器的区别在于需要在编码过程增加一点限制,迫使它生成的隐含向量能够粗略的遵循标准正态分布。这样一来,当需要生成一张新图片时,
阅读全文
摘要:一、pytorch中各损失函数的比较 Pytorch中Softmax、Log_Softmax、NLLLoss以及CrossEntropyLoss的关系与区别详解 Pytorch详解BCELoss和BCEWithLogitsLoss Focal Loss理解-菜鸟笔记 (coonote.com) 总结
阅读全文
摘要:转:Matplotlib-设置标题
阅读全文
摘要:python有多个方法计算积分,下面介绍其中三个,以下式为例: 方法一:直接用numpy计算 start = 1 stop = 2 length = 101 x = np.linspace(start, stop, length) y = x**2 result = sum(y*(stop-star
阅读全文
摘要:用PyTorch进行神经网络训练时,如果训练用的数据是图像数据,则需要在训练之前对图像进行预处理。以MNIST数据为例: train_data = torchvision.datasets.MNIST( root='./mnist/', train=True, transform=torchvisi
阅读全文
摘要:.add()和.add_() .add()和.add_()都能把两个张量加起来,但.add_是in-place操作,比如x.add_(y),x+y的结果会存储到原来的x中。Torch里面所有带"_"的操作,都是in-place的。 .mul()和.mul_() x.mul(y)或x.mul_(y)实
阅读全文
摘要:总结:pytorch和numpy中,星号*都表示矩阵点对点相乘;matmul都表示矩阵乘法。 PyTorch中,a.mul(b)表示矩阵a和b点对点乘(即相同位置的元素相乘),‘*’也表示矩阵点对点相乘。a.mm(b)表示矩阵乘法。另外torch.matmul(a, b)以及a@b也都可以表示a和b
阅读全文
摘要:PyTorch中的常用的tensor类型 PyTorch中的常用的tensor类型包括: 32位浮点型torch.FloatTensor, 64位浮点型torch.DoubleTensor, 16位整型torch.ShortTensor, 32位整型torch.IntTensor, 64位整型tor
阅读全文
摘要:自动编码器包括编码器(Encoder)和解码器(Decoder)两部分,编码器和解码器都可以是任意的模型,目前神经网络模型用的较多。输入的数据经过神经网络降维到一个编码(coder),然后又通过一个神经网络去解码得到一个与原输入数据一模一样的生成数据,然后通过比较这两个数据,最小化它们之间的差异来训
阅读全文
摘要:这篇知乎文章 使用Matplotlib画动态图实例 介绍的挺好的,精彩内容截图如下: 在训练神经网络时,我们常常希望在图中看到loss减小的动态过程,这时我们可用plt.ion()函数打开交互式模式,在交互式模式下可动态地展示图像。 例一:动态画图 import matplotlib.pyplot
阅读全文
摘要:在上一篇博客中,我们实现了用LSTM对单词进行词性判断,本篇博客我们将实现用LSTM对MNIST图片分类。MNIST图片的大小为28*28,我们将其看成长度为28的序列,序列中的每个数据的维度是28,这样我们就可以把它变成一个序列数据了。代码如下,代码中的模型搭建参考了文末的参考资料[1],其余部分
阅读全文
摘要:astype用于数据类型转换。astype不会in place地改变一个ndarray,换句话说,每次使用astype,都会产生一个新的数组。 dtype用于查看数组中的元素的数据类型
阅读全文
摘要:本文将使用LSTM来判别一句话中每一个单词的词性。在一句话中,如果我们孤立地看某一个单词,比如单词book,而不看book前面的单词,就不能准确的判断book在这句话中是动词还是名词,但如果我们能记住book前面出现的单词,那么就能很有把握地判断book的词性。LSTM神经网络就能记住前面的单词。关
阅读全文
摘要:pytorch中实现词嵌入的模块是torch.nn.Embedding(m,n),其中m是单词总数,n是单词的特征属性数目。 例一 import torch from torch import nn embedding = nn.Embedding(10, 3) #总共有10个单词,每个单词表示为3
阅读全文
摘要:size() size()函数返回张量的各个维度的尺度。 squeeze() squeeze(input, dim=None),如果不给定dim,则把input的所有size为1的维度给移除;如果给定dim,则只移除给定的且size为1的维度。
阅读全文
摘要:一. 入门 对于深度学习和LSTM的新手,可参考零基础入门深度学习系列文章,这些文章用通俗易懂的方式介绍了深度学习的基础知识,包括前向传播和反向传播的数学推导等,适合入门深度学习和LSTM。 零基础入门深度学习(1) - 感知器零基础入门深度学习(2) - 线性单元和梯度下降零基础入门深度学习(3)
阅读全文
摘要:二维 axis=0/1 我们在用numpy的函数时,常常要指定axis等于多少,最常见的是要指定axis=0还是1,那么axis=0/1代表什么意思呢?Numpy库有关于轴的解释:轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。换句话说,第0
阅读全文
摘要:random模块使用Mersenne Twister算法来计算生成随机数。这是一个确定性算法,但是可以通过random.seed()函数修改初始化种子[1]。比如: random.seed() # Seed based on system time or os.urandom() random.se
阅读全文
摘要:1. softmax函数定义 softmax函数为神经网络定义了一种新的输出层:它把每个神经元的输入占当前层所有神经元输入之和的比值,当作该神经元的输出。假设人工神经网络第层的第个节点的带权输入为 在该层应用softmax函数作为激活函数,则第个节点的激活值就
阅读全文