高校学风建设网站怎么做淘课网站
2025/12/27 21:06:08 网站建设 项目流程
高校学风建设网站,怎么做淘课网站,临沂网站制作专业,软装设计公司网站#x1f368; 本文为#x1f517;365天深度学习训练营中的学习记录博客 #x1f356; 原作者#xff1a;K同学啊 一、我的环境 二、动态学习率 这个地方使用的是官方的动态学习率接口#xff0c;最开始源代码中0.92 ** (epoch // 2)#xff0c;在多轮实验中#xff0… 本文为365天深度学习训练营中的学习记录博客 原作者K同学啊一、我的环境二、动态学习率这个地方使用的是官方的动态学习率接口最开始源代码中0.92 ** (epoch // 2)在多轮实验中后期的模型都训练不动loss不降我采用了Adam、标签平滑、正则化都没有讲test_acc提升到84%。掉回头来修改衰减梯度在最后两轮达到了最终目标修改代码是0.95*epoch减缓了衰减速度让模型更容易收敛。我也不懂为啥就实现了目标我问aiai建议如下。最近建议我尝试余弦退火策略因为我的acc曲线最终还是掉了一些下去为什么“平滑”能提高准确率你可以看看这两个对比图想象配合动量Momentum现在的优化器如 Adam都有“惯性”。旧方案的突变会打断惯性导致模型在那个瞬间方向迷失。新方案顺应惯性让模型在减速的同时依然保持方向感更容易滑入“全局最优解”Global Minima。更早的干预旧方案前 2 轮学习率完全没变。如果初始学习率这就有点大前 2 轮可能已经跑偏了。新方案从第 1 轮就开始减速乘以 0.95。这种“尽早介入、温柔介入”的策略能防止模型在训练初期因为步子太大而跳出最优解的坑。三 代码# # 调用官方动态学习率接口时使用 learn_rate 1e-4 lambda1 lambda epoch: (0.95 ** epoch) optimizer torch.optim.SGD(model.parameters(), lrlearn_rate) scheduler torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambdalambda1) #选定调整方法loss_fn nn.CrossEntropyLoss() # 创建损失函数 epochs 40 train_loss [] train_acc [] test_loss [] test_acc [] for epoch in range(epochs): # 更新学习率使用自定义学习率时使用 model.train() epoch_train_acc, epoch_train_loss train(train_dl, model, loss_fn, optimizer) # scheduler.step() # 更新学习率调用官方动态学习率接口时使用 model.eval() epoch_test_acc, epoch_test_loss test(test_dl, model, loss_fn) scheduler.step() train_acc.append(epoch_train_acc) train_loss.append(epoch_train_loss) test_acc.append(epoch_test_acc) test_loss.append(epoch_test_loss) # 获取当前的学习率 lr optimizer.state_dict()[param_groups][0][lr] template (Epoch:{:2d}, Train_acc:{:.1f}%, Train_loss:{:.3f}, Test_acc:{:.1f}%, Test_loss:{:.3f}, Lr:{:.2E}) print(template.format(epoch1, epoch_train_acc*100, epoch_train_loss, epoch_test_acc*100, epoch_test_loss, lr)) print(Done)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询