nn.Module模型搭建

pytorch 搭建模型和layers(2022*7*16)
"""
层是数据操作的基本单位,一个层将输入数据做一些操作(张量乘除Y=W*X,激活函数A=F(W*X+B))输出给下一层
模型就是一些层堆叠起来,如何操作一些模型的参数
"""
print('a')
#搭建一个模型,还是要用torch的一些张量操作
import torch
import torch.nn as nn
import torch.nn.functional as F

class MyModel(nn.Module):#这个模型继承了nn.Module,基类
    def __init__(self):#改写__init__函数
        super(MyModel,self).__init__()#继承了基类的东西,把nn.Module里面的东西全部搬过来
        #定义了两个函数,在初始化中写好一个层
        self.conv1=nn.Conv2d(1,20,5)#卷积层
        self.conv2=nn.Conv2d(20,20,5)#输入维度为20,输出维度是20,卷积核大小是5
        #self是类里面的私有成员变量,不能在外面去引用,一般在init中都要弄成私有的
        
    def forward(self,x):#重新写的一个函数
        x=F.relu(self.conv1(x))#x经过一个卷积层,再经过一个relu层
        x=F.relu(self.conv2(x))
        return x

    
#模型实例化
#mymodel1=MyModel()
#定义一个张量
#input_tensor=torch.rand([1,1,100,100]) #构建一个随机张量conv1输入维度为1,输出维度是20,卷积核大小是5
#print(input_tensor)
#模型可以当一个函数使用
#output_tensor=mymodel1(input_tensor)#输入到模型里面,看看结果
#print("输出",output_tensor*100)
#print("形状大小",output_tensor.shape)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值