Pytorch1.0中常用模块

1. torch.nn

from torch import nn

1.1 卷积

Conv2d

nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
# in_channels:输入通道
# out_channels:输出通道
# kernel_size:卷积核大小
# stride:步幅。默认为1
# padding:填充。默认为0
# dilation:卷积核各元素之间的距离。默认为1
#  groups:从输入通道到输出通道的阻塞连接数。默认为1
# bias: 如果bias=True,添加偏置。默认为Ture

备注:
(1)除了默认值,其他值(前三个)必须输入。
(2)out_channels(输出通道个数)等于卷积核个数。

示例:

# 正方形的卷积核(3*3)
self.conv1 = nn.Conv2d(16, 33, 3, stride=2)
# 非正方形卷积核(3*5);不等跨距;带填充
self.conv1 = nn.Conv2d(16, 33, (3, 5), stride=(2, 1), padding=(4, 2))
# 非正方形卷积核(3*5);不等跨距,有填充和膨胀
self.conv1 = nn.Conv2d(16, 33, (3, 5), stride=(2, 1), padding=(4, 2), dilation=(3, 1))

1.2 池化

MaxPool2d

nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)
# kernel_size:池化操作的滑动窗大小
# stride:滑动窗的步长,默认值是 kernel_size
# padding:要在输入信号的各维度各边上要补齐0的层数(填充)
# dilation:滑动窗中各元素之间的距离
# return_indices:如果此参数被设置为True,那么此池化层在返回输出信号的同时还会返回每个滑动窗的最大值位置信息
# ceil_mode:如果此参数被设置为True,计算输出信号大小的时候,会使用向上取整,代替默认的向下取整的操作

示例:

m = nn.MaxPool2d(3, stride=2)

m = nn.MaxPool2d((3, 2), stride=(2, 1))

1.3 全连接层

Linear

nn.Linear(in_features, out_features, bias=True)
# in_features:每个输入样本的大小
# out_features:每个输出样本的大小
# bias:如果设置为false,则该层将不会学习相加偏移。默认值为true

示例:

input = torch.randn(128, 20)
self.fc1 = nn.Linear(20, 30)
output = self.fc1(input)
print(output.size())

1.4 函数(nn.functional)

import torch.nn.functional as F
1.4.1 激活函数(relu)
F.relu(input, inplace=False)
# inplace为True,将会改变输入的数据 ,否则不会改变原输入,只会产生新的输出

示例:

out = F.relu(self.conv1(x))	
# 在卷积层中
out = F.relu(self.fc1(out))
# 在全连接层中
1.4.2 最大池化(max_pool2d)
F.max_pool2d(*args, **kwargs)
# *args表示输入数据
# **kwargs表示卷积核大小

示例:

out = F.max_pool2d(out, 2)
# (2,2)窗口上的最大池
x = F.max_pool2d(F.relu(self.conv1(x)), (2, 2))
# 如果大小是正方形,则可以指定一个数字
x = F.max_pool2d(F.relu(self.conv2(x)), 2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值