《动手学深度学习》4.2和4.3多层感知机实现

目录

前言

一、加载数据集

二、初始化模型参数

三、激活函数

四、模型

五、损失函数

六、训练

七、多层感知机的简洁实现

前言

        我们实现了softmax回归之后,对实现模型的流程已经轻车熟路了。

        所以没有什么好说的,直接开干。

一、加载数据集

        加载数据集的我封装在了FashionMINISTDataLoader类中了,想要代码的,去看我写的3.5节,数据加载功能类。

from load_data_fashion_mnist import FashionMNISTDataLoader

fashion_minist = FashionMNISTDataLoader(batch_size=256)
train_iter, test_iter = fashion_minist.create_dataloaders()

二、初始化模型参数

#初始化参数
num_inputs, num_outputs, num_hiddens = 784, 10, 256

W1 = nn.Parameter(torch.randn(num_inputs, num_hiddens, requires_grad=True) * 0.01)
b1 = nn.Parameter(torch.zeros(num_hiddens, requires_grad=True))
W2 = nn.Parameter(torch.randn(num_hiddens, num_outputs, requires_grad=True) * 0.01)
b2 = nn.Parameter(torch.zeros(num_outputs, requires_grad=True))

params = [W1, b1, W2, b2]

        上面的参数num_niddens代表隐藏神经元的数目

第一层(输入层→隐藏层)

  • W1: 权重矩阵,形状为 [784, 256]

    • torch.randn(): 从标准正态分布随机初始化

    • * 0.01: 缩小初始值,避免梯度爆炸

    • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值