01.09 pytorch学习(线性激活函数)

看一下我们前面学习过的工具01.09 pytorch学习(线性激活函数)
棕色框的不常用,这节学习Linear Layers(线性激活函数)

线性激活函数

这是一个神经网络,这一节的工具就是将1×1×4096变成1×1×1000,但是一张图片是二维的,所以还需要方法将7×7×512变为1×1×4096
01.09 pytorch学习(线性激活函数)

直接代码演示

import torch
import torchvision
from torch.nn import Module
from torch.nn import Linear
import torchvision.transforms
from torch.utils.data import DataLoader

#先像往常一样加载一下数据集
dataset = torchvision.datasets.CIFAR10("./dataset2", train=False, transform=torchvision.transforms.ToTensor(),download=True)
dataloader = DataLoader(dataset,batch_size=64)
target = 0

class Tudui(Module):
   def __init__(self):
       super(Tudui, self).__init__()
       #in_features输入个数,out_features输出的个数
self.linear1=Linear(in_features=196608,out_features=10)
   def forward(self, x):
       return self.linear1(x)

tudui = Tudui()
for data in dataloader:
   img,tar = data
   print(img.shape)
   #flatten,将图像一维化的函数
   output1 = torch.flatten(img)
   output2 = torch.reshape(img,[1,1,1,-1])
   print(output1.shape)
   print(output2.shape)
   output3=tudui(output1)
   print(output3.shape)
   target+=1
   if target == 10:
       break;

可以看到输出的shape:
01.09 pytorch学习(线性激活函数)

如果我们不做一维演变就会报错:
01.09 pytorch学习(线性激活函数)

上一篇:Part2 深度学习实践 --- AI框架使用(Pytorch)


下一篇:pytorch中对形如a[0].data进行赋值时的一个坑点