pytorch 使用Module类和Sequential类自定义模型
PyTorch 模型 自定义 module 使用 sequential
2023-09-11 14:22:51 时间
https://blog.csdn.net/qq_27825451/article/details/90550890这个链接超级详细!
class NeuralNet(nn.Module):
pytorch中其实一般没有特别明显的Layer和Module的区别,不管是自定义层、自定义块、自定义模型,都是通过继承Module类完成的,这一点很重要。其实Sequential类也是继承自Module类的。
总结:pytorch里面一切自定义操作基本上都是继承nn.Module类来实现的
一、module类
class Module(object): def __init__(self): def forward(self, *input): def add_module(self, name, module): def cuda(self, device=None): def cpu(self): def __call__(self, *input, **kwargs): def parameters(self, recurse=True): def named_parameters(self, prefix='', recurse=True): def children(self): def named_children(self): def modules(self): def named_modules(self, memo=None, prefix=''): def train(self, mode=True): def eval(self): def zero_grad(self): def __repr__(self): def __dir__(self): ''' 有一部分没有完全列出来 '''
我们在定义自已的网络的时候,需要继承nn.Module类,并重新实现构造函数__init__构造函数和forward这两个方法。但有一些注意技巧:
(1)一般把网络中具有可学习参数的层(如全连接层、卷积层等)放在构造函数__init__()中,当然也可以把不具有参数的层也放在里面;
(2)一般把不具有可学习参数的层(如ReLU、dropout、BatchNormanation层)可放在构造函数中,也可以不放在构造函数中。如果不放在构造函数__init__里面,那么在forward方法里面可以使用nn.functional来代替
(3)forward方法是必须要重写的,它是实现模型的功能,实现各个层之间的连接关系的核心。
二、sequential类
三种实现方法:https://blog.csdn.net/qq_27825451/article/details/90551513
相关文章
- 【PyTorch】教程:torch.nn.Softsign
- 【PyTorch】教程:torch.nn (3)
- Pytorch之CNN:从代码认知CNN经典架构—基于Pytorch框架的代码实现经典卷积神经网络的算法集合(LeNet/AlexNet/VGG/NIN/GoogleNet/ResNet)
- jittor和pytorch生成网络对比之cogan
- 若使用numba.cuda.jit加速pytorch训练代码会怎样
- Transformers2.0让你三行代码调用语言模型,兼容TF2.0和PyTorch
- Pytorch自定义模型实现猫狗分类
- 推理实践丨如何使用MindStudio进行Pytorch模型离线推理
- 【pytorch】torch.cuda.empty_cache()==>释放缓存分配器当前持有的且未占用的缓存显存
- 【Pytorch深度学习实战】(9)神经语言模型(RNN-LM)
- AI模型设计必备:PyTorch与TensorFlow模型C++与python实现学习资料
- Pytorch转caffe模型工具
- ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:748) Pytorch下载VGG时的错误
- 【youcans的深度学习 D02】PyTorch例程:创建 LeNet 模型进行图像分类
- PyTorch学习笔记(五):模型定义、修改、保存
- 行人重识别02-09:fast-reid(BoT)-pytorch编程规范(fast-reid为例)6-模型测试评估-1
- pytorch中logsumexp函数的用法
- pytorch移动端,官方helloworld不同模型仍旧好用
- 【Pytorch with fastai】第 6 章 :其他计算机视觉问题
- pytorch 28 jit模型(TorchScript)转换为onnx模型
- pytorch 26 科学炼丹(训练)方式之——魔改网络(给模型做外科手术,实现module的删除、修改与添加,forward流程的修改)
- pytorch 18 onnx多输入多输出模型转IR模型并在python与C++下用Openvion部署
- pytorch 17 onnx多输入多输出模型在python与C++下用OnnxRuntime部署
- pytorch 7 应用于语义分割、自动编码机和GAN数据增强方法(支持多图输入模型)
- Pytorch模型训练实用教程学习笔记:二、模型的构建
- PyTorch目标检测基础<02>:SSD检测模型简要介绍与实现
- pytorch及相关工具的安装
- Pytorch--自己动手实现模型剪枝