Day19-pytorch(2)认识backward、自己设置loss function及updata参数

backward计算微分後的结果
backward可自动算出function微分後的结果
也就是算出斜率,之後我们可根据backward的计算结果来更新参数

以下范例我先设置一个x参数为2
注意:型态要为浮点数且requires_grad参数要设为true才可微分
设置一个function为y=2x²+3x+3,x带入此function结果为f(2)=17
使用backward计算dy/dx,也就是对x做微分
此function微分後的结果为4x+3,f'(2)=11
11也就是此function在x=2时的斜率
https://ithelp.ithome.com.tw/upload/images/20210904/20140416nDyRnxhKpu.png

自己设置loss function、updata参数
先设一个x为1,把它当作我们在训练时所输入的资料
y_hat设为2,把它当作我们的训练目标
w设为3,为我们要训练的参数
y_pred为我们的计算结果
loss则是我们的loss function,为y_pred-y_hat(预测结果减掉训练目标)
loss.backward算出对w的微分结果
https://ithelp.ithome.com.tw/upload/images/20210904/20140416IFS1MnXC8O.png
根据微分的结果,更新w参数,公式为w-(dy/dw),也就是减掉微分後的结果
之後再重新计算一次我们的预测结果,可发现已经与我们的训练目标一样
https://ithelp.ithome.com.tw/upload/images/20210904/20140416LIVn0H0Ioc.png

今天我们认识了backward以及如何自己设置loss function、updata参数
明天将带领大家如何设置model、使用pytorch方法来设置loss function及updata参数

送上colab连结,可自行在上面多做点练习更加熟悉pytorch
https://colab.research.google.com/drive/1mgTZLoGTlAbuqePpu8WGHM0_Mc-2n-l8?usp=sharing


<<:  D-9. Rails API-Only 实作 && House Robber

>>:  Day 21. Hashicorp Vault: Path limit

[ Day 27 ] 实作一个 React.js 网站 3/5

上篇我们已经完成了网站中 Navigation 的样式和路由设定,今天我们要来设定网站中的其他元件...

Day 21. slate × Operation × Entrance

上一篇我们介绍了 interfaces/operations.ts 里定义的 Operation ...

予焦啦!检验核心映像档:开机流程、OpenSBI 惯例、ELF 浅谈

本节是以 Golang 上游 1a708bcf1d17171056a42ec1597ca8848c...

Day 26:专案06 - 股市趋势图03 | Matplotlib、Pandas绘图

图片来源:https://unsplash.com/photos/mcAUHlGirVs 前两天已...

便利贴中的手势操作

在 Jetpack Compose 的官方文件中,拖曳手势操作是这样子使用的: Box(modifi...