模型训练
构建数据集
数据集的准备我绝对是最重要
但是操作无非是处理,然后哪些是X哪些是Y,batch是多少。
神经网络的定义,前面的课程也有
唯一就是loss_fn = nn.CrossEntropyLoss()是定义损失函数,一般这个比较常见
根据任务的不同用不同的
回归任务的nn.MSELoss(均方误差)
用于分类的nn.NLLLoss(负对数似然)
最后通过训练,模型的参数不断优化的工具叫做优化器,优化器里会自动根据梯度去优化那些权重
optimizer = nn.SGD(model.trainable_params(), learning_rate=learning_rate) SGD是很常见的优化器
然后使用上次的自动微分,我们可以得到梯度,再用优化器把这些梯度利用了,去优化nn
定义个测试的
每训练一下就测一下准确度如何
这样在每一轮的训练后会出现1测试准确率,知道随着时间越多,训练越多,越来越准确