动手学深度学习(Pytorch版)代码实践 -深度学习基础-08多层感知机简洁版

08多层感知机简洁版

python 复制代码
import torch
from torch import nn
from d2l import torch as d2l
import liliPytorch as lp

net = nn.Sequential(
    nn.Flatten(),
    nn.Linear(784,256),
    nn.ReLU(),
    nn.Linear(256,10)  
)

#函数接受一个参数 m,通常是一个神经网络模块(例如,线性层,卷积层等)
def init_weights(m):
#这行代码检查传入的模块 m 是否是 nn.Linear 类型,即线性层(全连接层)
    if type(m) == nn.Linear:
        nn.init.normal_(m.weight,std=0.01)
#m.weight 是线性层的权重矩阵。
#std=0.01 指定了初始化权重的标准差为 0.01,表示权重将从均值为0,标准差为0.01的正态分布中随机采样。

#model.apply(init_weights) 会遍历模型的所有模块,并对每个模块调用 init_weights 函数。
#如果模块是 nn.Linear 类型,则初始化它的权重。
net.apply(init_weights)

batch_size, lr, num_epochs = 256, 0.1, 10
loss = nn.CrossEntropyLoss(reduction='none')
trainer = torch.optim.SGD(net.parameters(),lr=lr)
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)

#训练
lp.train_ch3(net, train_iter, test_iter, loss, num_epochs, trainer)

#验证
lp.predict_ch3(net, test_iter)
d2l.plt.show() 

运行结果:

python 复制代码
<Figure size 350x250 with 1 Axes>
epoch: 1,train_loss: 1.0443685918807983,train_acc: 0.64345,test_acc: 0.7608
<Figure size 350x250 with 1 Axes>
epoch: 2,train_loss: 0.5980708345413208,train_acc: 0.7904166666666667,test_acc: 0.7707
<Figure size 350x250 with 1 Axes>
epoch: 3,train_loss: 0.5194601311365763,train_acc: 0.8209166666666666,test_acc: 0.8143
<Figure size 350x250 with 1 Axes>
epoch: 4,train_loss: 0.4801325536727905,train_acc: 0.8319666666666666,test_acc: 0.827
<Figure size 350x250 with 1 Axes>
epoch: 5,train_loss: 0.4518238489786784,train_acc: 0.8414833333333334,test_acc: 0.8358
相关推荐
chaser&upper1 天前
从 xParse 看企业 AI:业务知识如何进入工作流
人工智能·agent·数据处理·合合信息·textin xparse
Jsundoku1 天前
第三章 强化学习 -- 多臂老虎机
人工智能·强化学习·多臂老虎机·朴素策略·置信上界算法·贝叶斯老虎机·上下文老虎机
wx_xkq12881 天前
优秘智能企业智脑UMiOS:从知识库走向组织任务协同
人工智能·团队协同·企业知识管理·优秘智能·umios·优小秘·企业智脑
归秋041 天前
Prompt上下文怎么互通:跨设备创作场景下的完整实操指南
人工智能
枯木◊靠推文躺平版1 天前
AI短视频制作选剪映还是TapNow:全场景创作效率实测对比
人工智能·音视频
william_yangshun1 天前
【AI实战】DeepTutor中文版使用教程:把多智能体辅导系统跑起来,先过这几道坎
人工智能
海盗12341 天前
AI 新闻日报 2026-10-29:Gemini 4 Carbon 登顶、Clover 35B 扩散模型开源、Copilot Fusion 接手选模型
人工智能·机器人·开源·copilot·人工智能aigc
承渊政道1 天前
飞牛NAS部署Hermes AI Agent:接入DeepSeek、微信与公网访问完整教程
人工智能·微信·nas·deepseek·hermes
天天代码码天天1 天前
让视频里的声音“有个位置”:我用 C# 做了个离线热图工具
人工智能
AI闲人1 天前
Hermes:把学习写进文件,把知识变成技能
人工智能·知识库·ai 编程·企业ai落地