1. 使用Pytorch自己建立一个模型类:
  • 继承初始

 

 建立一个模型的类,一定要继承nn,Module父类,

初始化:

def __init__(self):

  super(self).__init__():

如果不这样操作就使用不了继承中初始化,也使用不了继承的一些函数。

  •  建立自己的网络层

图中初始化后的self.conv都是使用nn模块函数建立的一个一个层,根据需求自己书写

  • 前向传播函数

def forward(self,x)

自己看看大概怎么写的这玩意。

 

构建自定义模型直接这样书写就行了,只需要初始化,搭建层数,书写前向传播函数。但是自定义网络层的输入输出需要自己确定。后续的梯度更新,反向传播,优化器,损失函数都有不同的模块。

 

 

下面还有个差不多的示例看看:

和上面大致相同,导入torch包中的nn模块

进行初始化,因为python还不太了解怎么使用,好像这种super()初始化和上面那种效果相同,只是python版本不同,上图中的super(CNN,self).__init__()是具体指明继承子类还是啥的,当时学的不太好,没太理解了。