PyTorch中神经网络工作流程

个人笔记,不喜勿喷。

一、流程简述

1、将网络状态设置为训练模式
2、将训练数据中的输入和标签变量化
3、利用网络向前计算,包含计算输出、计算损失值
4、反向传播调整参数,包含梯度清零、误差反向传播、梯度下降更新
5、将网络状态设置为测试模式,继续2-4步

二、伪代码

for 迭代次数
    net = net.train()#设置为训练模式
    for 样本批次训练
        #将训练数据中的输入和标签变量化
        im = Variable(im)  
        label = Variable(label)
         #向前计算
        output = net(im)#计算输出
        loss = criterion(output, label)#计算损失值
        #反向传播
        optimizer.zero_grad()  # 梯度清零
        loss.backward()  # 误差反向传播
        optimizer.step()  # 梯度下降(更新)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章