9.4.5 训练模型
编写文件train.py,实现了对预定义神经网络模型的训练过程。使用PyTorch库,分别实现了数据加载、优化器的初始化、损失函数的定义以及训练和验证循环等功能。在训练过程中,模型根据训练阶段使用均方误差(MSE)或负对数似然(NLL)作为损失函数,同时进行梯度裁剪和学习率调度。训练过程中的性能指标(损失和准确率)在每个阶段进行打印输出,最终保存训练好的模型参数。
# 从model_args模块导入参数
from model_args import args
device = "cuda:0" or "cuda:1" if args["use_cuda"] else "cpu"
# 选择设备,如果启用CUDA,则选择"cuda:0"或"cuda:1",否则使用CPU
# 忽略警告
warnings.filterwarnings("ignore", category=UserWarning)
# 初始化网络
# ------------------
net = highwayNet(args)
if args['use_cuda']:
net =