PyTorch
文章平均质量分 98
hyk_1996
智能科学与技术
展开
-
转载-自动微分(Automatic Differentiation)入门教程
转载自https://blog.csdn.net/aws3217150/article/details/70214422 现代深度学习系统中(比如MXNet, TensorFlow等)都用到了一种技术——自动微分。在此之前,机器学习社区中很少发挥这个利器,一般都是用Backpropagation进行梯度求解,然后进行...转载 2018-05-30 15:14:33 · 608 阅读 · 0 评论 -
PyTorch踩过的坑(长期更新,转载请注明出处)
最近在知乎看到有人转载了这里的内容,提醒一下,欢迎转载,但是请注明出处,谢谢。1. nn.Module.cuda() 和 Tensor.cuda() 的作用效果差异无论是对于模型还是数据,cuda()函数都能实现从CPU到GPU的内存迁移,但是他们的作用效果有所不同。对于nn.Module:model = model.cuda()model.cuda()上面两句能...原创 2018-06-27 10:43:48 · 30457 阅读 · 11 评论 -
卷积神经网络的权值初始化方法
卷积层:normal 从均值为0,方差为1的高斯分布中采样,作为初始权值。PyTorch中的相关函数如下:torch.nn.init.normal_(tensor, mean=0, std=1)kaiming_normal 由FAIR的大牛Kaiming He提出来的卷积层权值初始化方法,目的是使得每一卷积层的输出的方差都为1,具体数学推导可以参考论文[1]. 权值的初始化方...原创 2018-08-28 14:07:56 · 20080 阅读 · 0 评论 -
PyTorch的可重复性问题 (如何使实验结果可复现)
由于在模型训练的过程中存在大量的随机操作,使得对于同一份代码,重复运行后得到的结果不一致。因此,为了得到可重复的实验结果,我们需要对随机数生成器设置一个固定的种子。许多博客都有介绍如何解决这个问题,但是很多都不够全面,往往不能保证结果精确一致。我经过许多调研和实验,总结了以下方法,记录下来。全部设置可以分为三部分: 1. CUDNNcudnn中对卷积操作进行了优化,牺牲了精度来...原创 2018-11-20 20:53:12 · 20608 阅读 · 26 评论 -
损失函数SSIM (structural similarity index) 的PyTorch实现
SSIM介绍结构相似性指数(structural similarity index,SSIM), 出自参考文献[1],用于度量两幅图像间的结构相似性。和被广泛采用的L2 loss不同,SSIM和人类的视觉系统(HVS)类似,对局部结构变化的感知敏感。SSIM分为三个部分:照明度、对比度、结构,分别如下公式所示:将上面三个式子汇总到一起就是SSIM:其中,上式各符号分...原创 2019-02-21 20:56:33 · 42142 阅读 · 34 评论 -
PyTorch中的padding(边缘填充)操作
简介我们知道,在对图像执行卷积操作时,如果不对图像边缘进行填充,卷积核将无法到达图像边缘的像素,而且卷积前后图像的尺寸也会发生变化,这会造成许多麻烦。因此现在各大深度学习框架的卷积层实现上基本都配备了padding操作,以保证图像输入输出前后的尺寸大小不变。例如,若卷积核大小为3x3,那么就应该设定padding=1,即填充1层边缘像素;若卷积核大小为7x7,那么就应该设定padding=...原创 2019-07-02 16:16:58 · 50357 阅读 · 5 评论