学习了两天的Pytorch,迈出第一步,发现Pytorch更加的pythonic。在训练时可以很清楚的知道前向传播和反向传播,对参数进行调试,最终让损失函数Loss达到最低。
1、定义原始数据,x为-1到1之间的100个浮点数,y为x的二次方程,x与y构成一元二次方程。
2、原始数据可视化,需要把把tensor数据转换为numpy数据,传递到plt模块中画出散点图。
3、随机初始化参数w b
4、训练模型,forward前向计算loss,loss定义为均方误差。backward反向自动计算梯度loss.backward() 。w.grad和b.grad自动微分对参数w b的值进行更新。同时跟新完后需要清空w b的grad值,否则grad值会一直增加。
5、绘制学习后的曲线,打印最后的 w b值,w.data,b.data可以直接得到值。
网友评论