2. PyTorch简介:使用PyTorch训练第一个神经网络

2. PyTorch简介:使用PyTorch训练第一个神经网络

这篇博客将介绍如何使用PyTorch深度学习库训练第一个神经网络。具体来说是如何在scikit learn的make_blobs函数生成的示例数据集上训练PyTorch神经网络。

  1. 如何用PyTorch定义基本的神经网络结构
  2. 如何定义损失函数和优化器
  3. 如何正确地将梯度归零、执行反向传播(perform backpropagation)和更新模型参数-大多数新加入PyTorch的深度学习实践者在这一步中都会犯错误

PyTorch库初学者可能遇到的最大错误是忘记或混淆了以下步骤:

  • 将之前步骤中的梯度归零(opt.zero_grad())
  • 执行反向传播(loss.backward())
  • 更新模型参数(opt.step())
    在使用PyTorch时,如果不按照这个确切的顺序执行这些步骤,有搬起石头砸自己的脚的感觉,更糟糕的是,如果你混淆了这些步骤,PyTorch不会报告错误,因此你甚至可能不知道这块有错误!

PyTorch库功能强大,但使用PyTorch训练神经网络就像脱下自行车的训练轮——如果混淆了重要步骤,就没有安全网的保护了(不像Keras/TensorFlow,它允许将整个训练过程封装到一个model.fit调用中。
这并不是说Keras/TensorFlow比PyTorch“更好”,这只是两个深度学习库之间的区别。

1. 效果图

前几行输出显示了简单的4

猜你喜欢

转载自blog.csdn.net/qq_40985985/article/details/125420454