自定义神经网络的步骤和构造过程中产生的疑问

步骤:

疑问:

自定义一个层和自定义个一个网络有什么区别

一个神经网络通常由多个层按照顺序连接而成。每个层都包含一组可学习的参数,用于对输入数据进行转换和处理。

网络形成一个层级结构。每个层接收上一层的输出作为输入,并将其转换为下一层的输入。这种层与层之间的连接方式被称为前向传播(前向传播),它使得网络能够逐层地对输入数据进行处理和提取特征。

自定义带参数的层:
class MyLinear(nn.Module):
    def __init__(self, in_units, units):
        super().__init__()
        self.weight = nn.Parameter(torch.randn(in_units, units))
        self.bias = nn.Parameter(torch.randn(units,))
    def forward(self, X):
        linear = torch.matmul(X, self.weight.data) + self.bias.data
        return F.relu(linear)
自定义网络:

将自定义的参数的层用来定义网络:

net = nn.Sequential(MyLinear(64, 8), MyLinear(8, 1))
net(torch.rand(2, 64))
层和模块有什么区别

是不是层里加层数会拟合的更好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值