CNN
-
生成随机数Tensor的方法汇总:https://blog.csdn.net/dream161110/article/details/80293715
-
将矩阵化为Tensor:
input = torch.Tensor(矩阵).view(batch, input channel, width, height)
得到的input为Tensor数据类型。
卷积层
对于某个卷积层:
kernel size
kernel number = output channel
stride
其输入张量为:
batch,input channel,width,height
其输出张量为:
batch
output channel
width = (输入张量的width - kernel size)/ stide + 1
height同上
卷积核大小设置:给参数kernelsize赋值3,则默认3*3。也可以给元祖(3,5)。通常用奇数,通常用正方形。
conv_layer = torch.nn.Conv2d(in_channels, out_channels, kernel_size=kernel_size)
池化层
Max Pooling Layer:默认步长为2。
输出张量的width和height均变成一半。
代码
import torch
from torchvision import transforms
from torchvision import datasets
from torch.utils.data import DataLoader
import torch.nn.functional as F
batch_size = 64
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307, ), (0.3081, ))])
train_dataset = datasets.MNIST(root='./mnist/', train<