欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > PyTorch——线性层及其他层介绍(6)

PyTorch——线性层及其他层介绍(6)

2025/6/8 18:09:06 来源:https://blog.csdn.net/qq_56238664/article/details/148401444  浏览:    关键词:PyTorch——线性层及其他层介绍(6)


线性层

前面1,1,1是你想要的,后面我们不知道这个值是多少,取-1让Python自己计算


import torch
import torchvision
from torch import nn
from torch.nn import Linear
from torch.utils.data import DataLoader# 加载CIFAR-10测试数据集并转换为Tensor格式
dataset = torchvision.datasets.CIFAR10("./data", train=False, transform=torchvision.transforms.ToTensor(),download=True)# 创建数据加载器,每批次包含64个样本
dataloader = DataLoader(dataset, batch_size=64)# 定义神经网络模型TY
class TY(nn.Module):def __init__(self):super(TY, self).__init__()# 定义全连接层:输入维度196608,输出维度10(对应10个类别)self.Linear1 = Linear(196608, 10)def forward(self, input):# 前向传播:将输入数据通过全连接层output = self.Linear1(input)return output# 实例化模型
ty = TY()# 遍历数据加载器中的每个批次
for data in dataloader:# 获取图像数据和对应的标签imgs, target = data# 打印原始图像张量形状:[批次大小, 通道数, 高度, 宽度]print(imgs.shape)# 将图像张量展平为一维向量# 注意:此处reshape参数(1,1,1,-1)会导致维度错误,正确应为(-1, 196608)output = torch.reshape(imgs, (1, 1, 1, -1))# 打印展平后的张量形状print(output.shape)# 将展平后的数据输入模型output = ty(output)# 打印模型输出形状:[批次大小, 类别数]print(output.shape)


另一种表达  flatten展平

import torch
import torchvision
from torch import nn
from torch.nn import Linear
from torch.utils.data import DataLoaderdataset = torchvision.datasets.CIFAR10("./data",train=False,transform=torchvision.transforms.ToTensor(),download=True)dataloader = DataLoader(dataset,batch_size=64)class TY(nn.Module):def __init__(self):super(TY,self).__init__()self.Linear1 = Linear(196608,10)def forward(self,input):output = self.Linear1(input)return outputty = TY()for data in dataloader:imgs,target = dataprint(imgs.shape)output=torch.flatten(imgs)print(output.shape)output = ty(output)print(output.shape)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词