深度网络定义与使用

本文详细介绍了深度学习网络的搭建与训练流程,包括网络定义、损失函数设定、优化方法选择等内容,并通过实例展示了训练过程的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深度网络定义与使用


具体可见:https://zh.d2l.ai/chapter_linear-networks/linear-regression-concise.html
深度学习总体框架包括:
数据准备,定义模型(输入,输出,前向传播),定义损失函数(网络输出与真值的函数关系),定义优化方法(基于已有梯度更新参数的方法),训练(迭代次数,输出loss)

在这里插入图片描述

1. 定义网络

class MLP(nn.Module)
init() 是数据准备,定义forward函数中所需要的参数
forwar()函数要跑一遍传播过程
总体包括:
(可选)参数初始化
前向运算
激活函数,或者自己写的任意函数,进行传递
输出

2. 定义损失函数

网络输出与真值之间的损失函数

3. 定义优化方法

梯度可以通过自动求导求得。如何更新参数,要根据优化方法来确定。sgd,adam等
网络是按照batch更新新的,梯度取batchsize的平均进行更新

实例:

num_epochs = 3
for epoch in range(num_epochs):
    for X, y in data_iter:
        l = loss(net(X) ,y)
        trainer.zero_grad()
        l.backward()#更新梯度(根据输入纬度和网络定义的纬度判断batchsize并更新梯度)
        trainer.step()
    l = loss(net(features), labels)
    print(f'epoch {epoch + 1}, loss {l:f}')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值