【PyTorch】教程:torch.nn (1)

TORCH.NN

这些都是神经网络的基础构建单元。

  • Containers
  • Convolution Layers
  • Pooling layers
  • Padding Layers
  • Non-linear Activations (weighted sum, nonlinearity)
  • Non-linear Activations (other)
  • Normalization Layers
  • Recurrent Layers
  • Transformer Layers
  • Linear Layers
  • Dropout Layers
  • Sparse Layers
  • Distance Functions
  • Loss Functions
  • Vision Layers
  • Shuffle Layers
  • DataParallel Layers (multi-GPU, distributed)
  • Utilities
  • Quantized Functions
  • Lazy Modules Initialization

Parameter

CLASS torch.nn.parameter.Parameter(data=None, requires_grad=True) [SOURCE]

被认为是模块参数的 Tensor.

ParametersTensor 子类,与 Modules 一起使用时具有非常特殊的属性,当它们被指定为 Modules 属性时,它们会自动添加到期参数列表中,并且会出现在 Parameters() 迭代器中,指定 Tensor 没有这种效果。这是因为可能需要在模型中缓存一些临时状态,例如 RNN 的最后隐藏状态,如果没有 Parameter 这样的类,这些临时变量也会被注册。

Parameters:
data(Tensor) - 参数 Tensor
requires_grad (bool, optional) - 可选参数,默认为 True.

UninitializedParameter

CLASS torch.nn.parameter.UninitializedParameter(requires_grad=True, device=None, dtype=None)[SOURCE]

没有初始化的 ParameterUninitializedParameter 是特殊的 Parameter, 数据的形状未知,更没有数据。如果访问的话就会报错,可以执行的动作就是可以改变数据类型、将数据迁移到不同的设备以及转换为常规的 Parameter.

当初始化时,可以设置数据类型和设备类型,例如: device='cuda'

UninitializedBuffer

CLASS torch.nn.parameter.UninitializedBuffer(requires_grad=False, device=None, dtype=None)[SOURCE]

没有初始化的 buffer .

Buffer 也是一种特殊的 Tensor, 数据和形状未知。数据的形状未知,更没有数据。如果访问的话就会报错,可以执行的动作就是可以改变数据类型、将数据迁移到不同的设备以及转换为常规的 Parameter.

当初始化时,可以设置数据类型和设备类型,例如: device='cuda'

【参考】

torch.nn — PyTorch 1.13 documentation

你可能感兴趣的:(PyTorch,pytorch,深度学习)