/imgs/avatar.png

模型构建

层和块 层和块本质没有区别,都可以看作是一个黑盒子,有输入和输出,都可以当作单独的模块进行组合,组合之后的产物又是一个新的块。就像一本书一样,

第三周

学习时间 5月27日 到 6月2日 学习目标 学习第四章多层感知机内容 MLP 模型选择、过拟合 权重衰减 dropout 初始化 实战kaggle房价预测 论文精读-AlexNe

MLP(3)--简洁实现

数据导入 import torch from torch import nn from d2l import torch as d2l batch_size = 256 train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size) # 每次随机取batch_size个样本 模型 net = nn.Sequential(nn.Flatten(), nn.Linear(784, 256), nn.ReLU(), nn.Linear(256, 10)) def init_weights(m): if type(m) == nn.Linear: nn.init.normal_(m.weight, std=0.01) net.apply(init_weights); apply类似于p

MLP(2)--从零实现

数据导入 import torch from torch import nn from d2l import torch as d2l batch_size = 256 train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size) # 每次随机取batch_size个样本 初始化模型参数 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 =