pytorch学习笔记(7)--线性层
(一)Liner Layers线性层
b 是偏移量bias
代码输入:
import torch import torchvision from torch import nn from torch.nn import Linear from torch.utils.data import DataLoader dataset = torchvision.datasets.CIFAR10("../dataset", train=False, transform=torchvision.transforms.ToTensor(), download=False) dataloader = DataLoader(dataset, batch_size=64) class Tudui(nn.Module): def __init__(self): super(Tudui, self).__init__() self.linear1 = Linear(196608, 10) def forward(self, input): output = self.linear1(input) return output tudui = Tudui() for data in dataloader: imgs, target = data print(imgs.shape) output = torch.reshape(imgs, (1, 1, 1, -1)) print(output.shape) output = tudui(output) print(output.shape)
输出:
torch.Size([64, 3, 32, 32]) torch.Size([1, 1, 1, 196608]) torch.Size([1, 1, 1, 10])
改为 flatten 类似“平铺”:
import torch import torchvision from torch import nn from torch.nn import Linear from torch.utils.data import DataLoader dataset = torchvision.datasets.CIFAR10("../dataset", train=False, transform=torchvision.transforms.ToTensor(), download=False) dataloader = DataLoader(dataset, batch_size=64) class Tudui(nn.Module): def __init__(self): super(Tudui, self).__init__() self.linear1 = Linear(196608, 10) def forward(self, input): output = self.linear1(input) return output tudui = Tudui() for data in dataloader: imgs, target = data print(imgs.shape) # flatten output = torch.flatten(imgs) print(output.shape)
输出:
torch.Size([64, 3, 32, 32])
torch.Size([196608])
图形图像方面Module: