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

【持续更新中…】

数据预处理

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*64
        self.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
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要下载PyTorch常用函数手册的PDF,可以按照以下步骤进行: 1. 打开浏览器,进入搜索引擎网站。 2. 在搜索框中输入关键词“PyTorch常用函数手册PDF下载”。 3. 根据搜索结果,选择一个可信的网站,例如官方文档或知名的技术博客。 4. 进入所选网站后,使用网站提供的搜索功能,搜索“PyTorch常用函数手册PDF”。 5. 在搜索结果中找到符合需求的链接或按钮,一般会有一个下载文件的选项。 6. 点击链接或按钮,开始下载PyTorch常用函数手册的PDF文件。 7. 下载完成后,可以在浏览器的下载文件夹中找到该PDF文件。 8. 双击该文件,使用所选的PDF阅读器打开手册。 如果无法找到可信的网站或下载链接,可以尝试以下方法: 1. 在搜索引擎中搜索“PyTorch官方文档”。 2. 进入PyTorch官方网站,找到文档页面或搜索框。 3. 在文档页面或搜索框中输入“常用函数手册”等相关关键词。 4. 在搜索结果中找到所需的PyTorch常用函数手册链接。 5. 点击链接,开始在线浏览该手册。 6. 在浏览器上方或手册界面中,应该有下载或导出为PDF的选项。 7. 点击下载或导出为PDF,将手册保存为PDF文件。 8. 打开下载的PDF文件,使用所选的PDF阅读器阅读PyTorch常用函数手册。 需要注意的是,PyTorch官方网站和其它可信来源的手册都是最可靠的资料,因此最好选择官方文档或来自官方推荐的网站。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值