pytorch中nn.Module方法

 
       torch.nn是专门为神经网络设计的模块化接口,nn构建于autograd之上,可以用来定义和运行神经网络。
 

一、具体用法

       nn.Module是nn中十分重要的类,包含网络各层的定义及forward方法。

定义网络步骤:

  1. 首先必须要继承nn.Module类,而且该类的构造函数中要调用Module的构造函数, super(xxx, self).__init()__在这里插入图片描述

  2. 一般把网络中具有可学习参数的层放在构造函数__init__()中。

  3. 不具有可学习参数的层(如ReLU)也可放在构造函数中,也可不放在构造函数中(而在forward中使用nn.functional来代替)。

  4. 只要在nn.Module中定义 forward()backward() 就会被自动实现(利用Autograd)。而且一般不是显式的调用forward(layer.forward), 而是layer(input), 会自执行forward().

  5. forward() 中可以使用任何Variable支持的函数,还可以使用if, for, print, log等python语法。

参考:Pytorch nn.Module模块详解

猜你喜欢

转载自blog.csdn.net/qq_40520596/article/details/105969314