PyTorch学习机制:自动求导、优化器与过拟合处理
1. PyTorch自动求导验证
首先,我们来验证一下PyTorch自动求导的效果。以下是一段训练代码:
# In[10]:
training_loop(
n_epochs = 5000,
learning_rate = 1e-2,
params = torch.tensor([1.0, 0.0], requires_grad=True),
t_u = t_un,
t_c = t_c)
运行结果如下:
Epoch 500, Loss 7.860116
Epoch 1000, Loss 3.828538
Epoch 1500, Loss 3.092191
Epoch 2000, Loss 2.957697
Epoch 2500, Loss 2.933134
Epoch 3000, Loss 2.928648
Epoch 3500, Loss 2.927830
Epoch 4000, Loss 2.927679
Epoch 4500, Loss 2.927652
Epoch 5000, Loss 2.927647
tensor([
5.3671, -17.3012], requires_grad=True)
这个结果和之前手动计算导数得到的结果一致。这表明,虽然我们有能力手动计算导数,但现在借助PyTorch的自动求导功能,我们不再需要手动计算了。
2. 优化器的选择
在之前的示例代码中,我们使用了简单的梯度下降法进行优化,对于简单的情况,这种方法效
超级会员免费看
订阅专栏 解锁全文

4698

被折叠的 条评论
为什么被折叠?



