Pytorch中神经网络模块化结构nn的了解——慢慢补充
torch.nn是专门为神经网络设计的模块化接口,nn构建与autograd之上,可以用来定义和运行神经网络。
torch.nn.parameter
在深度学习的模型中,常见这样的语句:
#method 1
import torch
self.bias = torch.nn.parameter(torch.FloatTensor(out_features))
#method 2
import torch
from torch.nn.parameter import Paramenter
self.bias = Parameter(torch.FlaotTensor(out_features))
可以把这个函数理解为类型转换函数,将一个不可训练的类型Tensor转换成可以训练的类型parameter。
并将这个parameter绑定到这个module里面,所以经过类型转换self.bias等变成了模型的一部分,成为了模型中根据训练可以改动的参数了。
使用这个函数的目的也是想让某些变量在学习的过程中不断地修改其值以达到最优化。
PyTorch官方:https://pytorch.org/docs/master/_modules/torch/nn/parameter.html
torch.nn.Module
torch.nn.Module是nn中重要的类,包含网络各层定义及forward方法。

本文介绍了PyTorch中的torch.nn模块,包括torch.nn.Parameter用于转换为可训练参数的功能,torch.nn.Module作为构建神经网络的基础类,以及torch.mm与torch.mul的区别。torch.nn.Parameter使得Tensor能够在训练过程中更新,torch.nn.Module需要继承并实现forward方法,而torch.mm进行矩阵乘法,torch.mul执行元素-wise乘法。
最低0.47元/天 解锁文章
1908

被折叠的 条评论
为什么被折叠?



