pytorch 学习笔记------线性层

注意事项:

1.Linear是来自nn模块下的

from torch.nn import Linear
2.flatten是来自torch模块下的和nn是平级的
from torch import nn, flatten

3.展平操作不仅仅是把一张图片进行展平,而是把一个batch里面的所有图片都进行展平,然后再连接在一起

    imgs,targets = data
    print(imgs.shape)
    imgs = flatten(imgs)#展平处理,包括把batch一起展平
    print(imgs.shape)

  

 4.__init__方法 里面self.linear不是单纯的变量,而是指代对象的变量。

 def __init__(self) -> None:
        super().__init__()
        self.linear = Linear(196608,10)#用liner变量指向Linear对象


    def forward(self,input):
        output = self.linear(input)#为什么属性这里可以传入参数---------》因为liner是实例化对象
        return output

 下面展示完整代码

import torchvision
from torch import nn, flatten
from torch.nn import Linear
from torch.utils.data import DataLoader
from torchvision import transforms





test_set = torchvision.datasets.CIFAR10("./datasets2",train=False,transform=transforms.ToTensor(),download=True)

test_loader = DataLoader(dataset=test_set,batch_size=64)



class zj_linear(nn.Module):
    def __init__(self) -> None:
        super().__init__()
        self.linear = Linear(196608,10)#用liner变量指向Linear对象


    def forward(self,input):
        output = self.linear(input)#为什么属性这里可以传入参数---------》因为liner是实例化对象
        return output

zj_linear_1 = zj_linear()

for data in test_loader:
    imgs,targets = data
    print(imgs.shape)
    imgs = flatten(imgs)#展平处理,包括把batch一起展平
    print(imgs.shape)
    output = zj_linear_1(imgs)
    print(output.shape)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值