
pytorch
文章平均质量分 57
群星闪耀
这个作者很懒,什么都没留下…
展开
-
Adam (L2 regularization) 和 AdamW(weight decay)的区别
原创 2021-12-02 11:33:28 · 7049 阅读 · 2 评论 -
MSSIM和L1loss的混合损失函数用于图像恢复
背景在图像恢复的深度神经网络当中。大部分的损失函数一般是L1 norm(MAE),L2 norm(MSE)。或者是SSIM,PSNR。其中SSIM有了评价函数的变体MS_SSIM,具体的实现先参考文献[2], 代码部分再去参考[1]。英伟达和MIT联合发表了一篇Loss Functions for Image Restoration with Neural Networks, 这种损失函数将MS_SIM和L1损失函数结合在一起。下面写一些具体如何实现实现过程MS_SSIM的实现过程已经在[1]中原创 2021-08-02 17:23:58 · 11206 阅读 · 13 评论 -
utils.Averagemeter()de的用法
在训练时我看到有人会添加AverageMeter()的epoch_loss,一般放在utils.py中,源码如下rom __future__ import division, absolute_import__all__ = ['AverageMeter']class AverageMeter(object): """Computes and stores the average and current value. Examples:: >>...原创 2021-06-24 11:36:36 · 1441 阅读 · 1 评论 -
pytorch中使用tensorboard
例子:import torchimport torchvisionfrom torch.utils.tensorboard import SummaryWriterfrom torchvision import datasets, transformslog_dir=r'C:\Users\14497\Desktop\result\log_dir'# Writer will output to ./runs/ directory by defaultwriter = SummaryWrit原创 2021-06-16 14:30:27 · 539 阅读 · 0 评论 -
pytorch的函数 .detach()
参考:http://www.bnikolic.co.uk/blog/pytorch-detach.html原创 2021-06-16 14:18:42 · 15510 阅读 · 2 评论 -
pytorch加载训练好的模型用来测试或者处理
保存、加载模型pytorch保存模型的方式有两种:第一种:将整个网络都都保存下来第二种:仅保存和加载模型参数(推荐使用这样的方法)保存和加载整个模型torch.save(model_object, 'model.pkl')model = torch.load('model.pkl')仅保存和加载模型参数(推荐使用)torch.save(model_object.state_dict(), 'params.pkl')model_object.load_state_di..原创 2021-06-16 14:07:34 · 13788 阅读 · 1 评论 -
Pytorch中Tensor与各种图像格式的相互转换、读取和展示
用pytorch做训练时,我们经常会将图片数据转换为tensor格式,方便加速训练。但是有很多时候我们会需要展示训练的结果。所以难免会涉及到将Tensor数据转换回方便展示的格式。原创 2021-05-27 20:19:03 · 5612 阅读 · 1 评论 -
新手安装cuda和cudnn + pytorch记录
我的安装环境是python == 3.7.9。为了不出问题,故意选老一点的版本。使用pip安装,主要参考两篇博文:cuda安装教程+cudnn安装教程_sinat_23619409的博客-优快云博客_cuda安装配置显卡驱动、CUDA、cuDNN以及说明三者之间的关系_ZiLiangQin的博客-优快云博客_cudnn配置还有官网的显卡配对关系:Release Notes :: CUDA Toolkit Documentation (nvidia.com)从pytorch的安装页面来原创 2021-05-26 14:50:36 · 526 阅读 · 0 评论 -
Pytorch的padding值确定方法
问题描述:pytoch中没有像tensorflow里面,卷积层的padding设置为same之类的操作。而且论文当中很多都不会写padding设置是多少。现在我来记录一下如何根据模型来计算出每个卷积层的padding值的设置。一般来讲,根据卷积的原理,输入的大小和输出的大小之间的关系由如下公式表示:out_size=(input_size - kernerl_size + 2*padding)/stride +1在GitHub上我看到一个模型,标注了每个输入的size大小。可以很好的作为一个例子原创 2021-05-25 16:14:44 · 1342 阅读 · 2 评论 -
Pytorch数据读取:Dataset和DataLoader
确保安装scikit-image numpyDataset和DataLoader都是Pytorch里面读取数据的工具。现在对这两种工具做一个概括和总结。1.Dataset一个例子:# 导入需要的包import torchimport torch.utils.data.dataset as Datasetimport numpy as np# 编造数据Data = np.asarray([[1, 2], [3, 4],[5, 6], [7, 8]])Label = np.a原创 2021-05-19 20:30:13 · 1188 阅读 · 1 评论 -
解决TypeError: ‘tuple‘ object is not callable,pytorch定义网络层的问题
报错:TypeError: 'tuple' object is not callable解决:如上图左上角所示,因为模型继承的是nn.Module,所以不是用的sequential来定义网络,依然加了逗号。所以会出错。可以改成nn.Sequential,或者把逗号删除。额外提示:如果用nn.Squential定义,缺少灵活性,但是也有优点。关于nn.Squential和nn.Model的定义不同可以详见:PyTorch 中的 ModuleList 和 Sequential:原创 2021-05-13 12:04:28 · 3148 阅读 · 1 评论 -
torchsummary的使用
这个库可以查看用pytorch搭建的模型,各层输出尺寸。1.安装相信大家使用到现在这个地步,导入库已经很熟练了。里面的坑我就不多说。pip install torchsummary2.导入from torchsummary import summarysummary(your_model, input_size=(channels, H, W))上述的your_model是搭建的模型,input_size是你输入的数据。比如输入一张图片大小为28*28的RGB(3个通道)的图原创 2021-05-12 20:49:22 · 5553 阅读 · 4 评论 -
AlexNet原理及Pytorch实现
1.论文分析为了对卷积神经网络CNN有更加透彻的了解,方便后续的CNN应用在其他方面。决定对经典论文AlexNet重新实现一遍。论文中原图如下:The first convolutional layer filters the 224×224×3 input image with 96 kernels of size 11×11×3 with a stride of 4 pixels (this is the distance between the receptive field cente原创 2021-05-12 20:39:17 · 620 阅读 · 2 评论 -
Pytorch的自动求导:AUTOGRAD: AUTOMATIC DIFFERENTIATION
torch.Tensoris the central class of the package. If you set its attribute.requires_gradasTrue, it starts to track all operations on it. When you finish your computation you can call.backward()and have all the gradients computed automatically. The gra...原创 2020-05-18 15:35:31 · 253 阅读 · 0 评论