【持续更新中…】

数据预处理

Variable

from torch.autograd import Variable

作用:自动微分变量,用于构建计算图

网络层定义

torch.nn.BatchNorm2d()

设尺寸为N*C*H*W,其中N代表batchsize,C表示通道数(例如RGB三通道),H,W分别表示feature map的宽高。

torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None)
  • num_features:通道数,例如RGB为3
  • eps:一个加至分母的参数,为提高计算稳定性
  • momentum:运行中调整均值、方差的估计参数
  • affine:当设为true时,给定可以学习的系数矩阵\gammaγ和 \beta

torch.nn.Linear()

torch.nn.Linear(in_features: int, out_features: int, bias: bool = True, device=None, dtype=None)
  • in_features:输入的二维张量的大小
  • out_features:输出的二维张量的大小

torch.nn.Sequential()

 self.conv4 = torch.nn.Sequential(torch.nn.Conv2d(64, 64, 2, 2, 0),  torch.nn.BatchNorm2d(64), torch.nn.ReLU()#ReLU激活函数) self.mlp1 = torch.nn.Linear(2 * 2 * 64, 100)#torch.nn.Linear定义全连接层,conv4为2*2*64self.mlp2 = torch.nn.Linear(100, 10)

使用损失函数和优化器的步骤

  1. 获取损失:loss=loss_fuction(out,batch_y)
  2. 清空上一步残余更新参数:opt.zero_grad()
  3. 误差反向传播:loss.backward()
  4. 将参数更新值施加到net的parmeter上:opt.step()

模型相关参数配置(使用argparse.ArgumentParser)

简介

argparse是一个Python模块:命令行选项、参数和子命令解析器。

使用方法

  1. 创建解析器
parser = argparse.ArgumentParser(description='Process some integers.')
  1. 添加参数
parser.add_argument('integers', metavar='N', type=int, nargs='+', help='an integer for the accumulator')

例如在神经网络训练过程中,我们需要定义训练的初始学习率,并设置默认值为0.00001,可通过以下代码实现:

parser.add_argument('--learning-rate', '-l', metavar='LR', type=float, default=1e-5,help='Learning rate', dest='lr')
  1. 解析参数
args = parser.parse_args()

模型输出

torch.max(out,1)[1]
output = torch.max(input, dim)

  • input是softmax函数输出的一个tensor
  • dim是max函数索引的维度0/1,0是每列最大值,1是每行最大值

函数会返回两个tensor,第一个tensor是每行的最大值;第二个tensor是每行最大值的索引。
(PS:第一个tensor value是不需要的,我们仅提取第二个tensor并将数据转换为array格式
torch.max(out,1)[1].numpy()

网络参数查看

model_dict=torch.load('D:\JetBrains\pythonProject\CMRI\CNN\CNN_Log')
parameters=list(model_dict.named_parameters())

补充知识点

downsampling(向下采样) & upsampling

down-sampling通过舍弃一些元素,实现图像的缩放

在CNN中,汇合层(Pooling layer)通过max poolingaverage pooling等操作,使汇合后结果中一个元素对应于原输入数据的一个子区域,因此汇合操作实际上就是一种”降采样“操作

up-sampling 可实现图像的放大或分辨率的优化等

常用方法:

  • Bilinear(双线性插值法):只需要设置好固定的参数值即可,设置的参数就是中心值需要乘以的系数。
  • Deconvolution(反卷积):参考https://github.com/vdumoulin/conv_arithmetic
  • Unpooling(反池化):在反池化过程中,将一个元素根据kernel进行放大,根据之前的坐标将元素填写进去,其他位置补0

【Pytorch】常用函数功能介绍和注意事项相关推荐

  1. PySCIPOpt常用函数功能介绍(一)

    ​以下代码段定义一个SCIP程序变量: def addVar( self, name = '', vtype = 'C', lb = 0.0, ub = None, obj = 0.0, priced ...

  2. 全新开源,《Pytorch常用函数函数手册》开放下载!内含200余个函数!

    近期有很多小伙伴在后台咨询有没有关于Pytorch函数使用的学习资料.Pytorch是目前常用的深度学习框架之一,深受学生党的喜爱,小白本人也是使用的Pytorch框架.为了帮助更多小伙伴,小白学视觉 ...

  3. setsockopt()函数功能介绍

    setsockopt()函数功能介绍 功能描述:获取或者设置与某个套接字关联的选项.选项可能存在于多层协议中,它们总会出现在最上面的套接字层. 用法: #include <sys/types.h ...

  4. 哈工大博士历时半年整理的《Pytorch常用函数函数手册》开放下载!内含200余个函数!...

    近期有很多小伙伴在公众号后台咨询有没有关于Pytorch函数使用的学习资料.Pytorch是目前常用的深度学习框架之一,深受学生党的喜爱,小白本人也是使用的Pytorch框架.为了帮助更多小伙伴,小白 ...

  5. setsocketopt()函数功能介绍

    本文转自与启云的setsocketopt()函数功能介绍 setsocketopt()函数功能介绍 功能描述:获取或者设置与某个套接字关联的选项.选项可能存在于多层协议中,它们总会出现在最上面的套接字 ...

  6. 【工具小技巧】Cadence Virtuoso Calculator Function Panel计算器函数功能介绍(持续更新……)

    在使用cadence virtuoso仿真过程中我们经常会关注一些电路指标,比如:运放的增益.带宽.相位裕度:bandgap的温漂系数.振荡器的振荡频率等.想要直观的知道这些指标的具体值,需要用到计算 ...

  7. Qt QString类及常用函数功能详解

    QString 是 Qt 编程中常用的类,除了用作数字量的输入输出之外,QString 还有很多其他功能,熟悉这些常见的功能,有助于灵活地实现字符串处理功能. QString 存储字符串釆用的是 Un ...

  8. PowerBuilder常用函数功能和用法解析

    郭宝利先生在他的帮助文档里总结的一个系统用到的所有函数,他们也是软件开发中常用的,为了方便查阅,我把这些函数按照字母顺序进行了整理并添加了使用方法,方便我和一些其他的初学者学习使用: 1.Accept ...

  9. tf.pad函数功能介绍

    tf.pad()函数主要是对张量在各个维度上进行填充,该函数的参数如下所示: pad(tensor,paddings,mode='CONSTANT',name=None ) 其中: tensor是待填 ...

最新文章

  1. Centos 7.X安装DB2 10.5
  2. 古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报: 请编写一个程序,使用上述算法加密或解密用户输入的英文字串...
  3. Java笔试题库之编程题库 总共30道编程题,掌握了就可以应付中级以内Java面试题
  4. 怎么把东西去掉修图_很多人花几千块学习商业修图,其实跟把钱扔了一样。?...
  5. Hay Points
  6. django缓存优化(二)
  7. centos 7.2安装 java_centos7.2 linux系统上安装java环境
  8. Java基础编程练习题
  9. 又有朋友被骗入传销了!
  10. ECCV2020:论文解读《Synthesize then Compare: Detecting Failures and Anomalies for Semantic Segmentation》
  11. 湖南天才少女姚婷:刚毕业就被华为156万年薪邀请,来历不简单
  12. Android小图标
  13. 11届蓝桥杯青少年组C++全国赛高级组
  14. pycharm使用pip install xxx 解决超时问题
  15. jackson 入门
  16. Jackson注解:@JsonAlias使用详解
  17. WSFederation 身份验证模块概述
  18. m瑞利信道下对比ZF-SIC,MMSE-SIC,MRC三种均衡算法的误码率matlab仿真
  19. tmac v6设置中文_(转载)pktgen使用详细教程
  20. Sony ST27i 获取root权限

热门文章

  1. 网络测试仪测试交换机的基本指标。
  2. 软件测试 黑盒测试与白盒测试简单分类
  3. 软件测试入门篇(五)测试点提炼
  4. 新手选车系列之(五): 手动挡还是自动挡
  5. 牛客网sql练习题解(22-32)
  6. php会员生日祝福,药店会员积分卡 vip客户生日祝福短信
  7. 云数据库 Redis 版
  8. 深度解码真实的90后消费:敢爱敢花,却被高负债压得透不过气
  9. linux单机游戏存放目录,Linux安装RocketMQ单机版教程
  10. Web 2.0网站流行使用的颜色元素