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


线性层

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


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展平

python 复制代码
import torch
import torchvision
from torch import nn
from torch.nn import Linear
from torch.utils.data import DataLoader

dataset = 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 output

ty = TY()

for data in dataloader:
    imgs,target = data
    print(imgs.shape)
    output=torch.flatten(imgs)
    print(output.shape)
    output = ty(output)
    print(output.shape)
相关推荐
CCblandy30 分钟前
缓存淘汰实测:一次全表扫描把 LRU 命中率从 46% 打到 38%,W-TinyLFU 守住 50% 却贵 11 倍
后端·python·缓存·性能优化·架构
汤米粥39 分钟前
cmd手动创建的Django项目怎么用社区版Pycharm运行起来
python·pycharm·django
涵玥44 分钟前
python题目练习12-小玉家的电费//小玉在游泳//小鱼的航程
python·python每日一练·洛谷题目
计算机毕业编程指导师1 小时前
基于深度学习的花卉图像分类识别系统(PyTorch + ResNet50 + Django)
pytorch·python·深度学习·分类·毕业设计·迁移学习·图像分类
集芯微电科技有限公司1 小时前
40V/24A高频率增强型GaN HEMT功率开关管/高频DC转换/电动工具/GaN充电器 方案首选
人工智能·科技·单片机·嵌入式硬件·深度学习·神经网络·生成对抗网络
2601_962885721 小时前
vnpy 用什么数据源?A 股历史行情接入与 BarData 映射
python
日日大王学编程1 小时前
deerflow-memory-design-blog
python·langchain·开源
地平线开发者2 小时前
CLIP 的训练机制:从对比学习到图文对齐
深度学习·算法·自动驾驶
砚底藏山河2 小时前
量化回测可复现流水线CI化
java·python·ci/cd·金融
磁场转动100万匹2 小时前
道路巡检系统检测案例:YOLOv5 + Flask + PyQt 全栈实现
python·yolo