- 使用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__()是具体指明继承子类还是啥的,当时学的不太好,没太理解了。