pytorch常用函数整理

遇见一些常见的函数,经常想不起函数本身的形参包含什么或者某实参对应的是什么含义,所以干脆随手记录在这里了(不断更新)……
附上官方文档地址:https://pytorch.org/docs/stable/index.html

pytorch常用函数
# 卷积
torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)   
# 全连接层
torch.nn.Linear(in_features, out_features, bias=True)
# 平均/最大池化
torch.nn.functional.avg_pool2d(input, kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True)
torch.nn.functional.max_pool2d(input, kernel_size, stride=None, padding=0, dilation=1, ceil_mode=False, return_indices=False)
# 激活函数relu/leaky_relu
torch.nn.functional.relu(input, inplace=False)
torch.nn.functional.leaky_relu(input, negative_slope=0.01, inplace=False)
# dropout
torch.nn.functional.dropout2d(input, p=0.5, training=True, inplace=False)
# 交叉熵损失
torch.nn.functional.cross_entropy(input, target, weight=None, size_average=None, ignore_index=-100, reduce=None, reduction='mean')
# 插值/上采样
torch.nn.functional.interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None)  

# 返回top k值及其index
torch.topk(input, k, dim=None, largest=True, sorted=True, out=None)
# 返回张量个数
torch.numel(input)
# 向下取整
torch.floor(input, out=None)
# 随机创建指定size的tensor
torch.Tensor(*sizes)
#用tensor2对tensor1逐元素相乘,并对结果乘以标量值value然后加到tensor
torch.addcmul(tensor, value=1, tensor1, tensor2, out=None)
# 将一个不可训练的tensor转换为可以训练的parameter
torch.nn.Parameter(torch.FloatTensor(hidden_size))
附录1: 以卷积层和池化层为例解释torch.nn和torch.nn.functional的区别
  • 卷积层中的卷积核含有需要通过训练不断学习、更新的variable,此种情况下需要使用torch.nn,即采用类的方式。
  • 对于池化层而言,当kernel_size、stride等确定之后,池化操作对应的是一个固定的运算了,即不存在variable,∴此种情况下直接使用torch.nn.functional即可。

以上仅为个人理解,如有不正之处还请指出。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值