python
epochs = 20 # 增加训练轮次以获得更好效果
model = CNN()
model = model.to(device) # 将模型移至GPU(如果可用)
criterion = nn.CrossEntropyLoss() # 交叉熵损失函数
optimizer = optim.Adam(model.parameters(), lr=0.001) # Adam优化器
scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=5, gamma=0.1)
print("开始使用CNN训练模型...")
final_accuracy = train(model, train_loader, test_loader, criterion, optimizer, scheduler, device, epochs)
print(f"训练完成!最终测试准确率: {final_accuracy:.2f}%")


更换了调度器,不过没有很明显的区别