前言
由于机器学习的基本思想就是找到一个函数去拟合
样本数据分布,因此就涉及到了梯度
去求最小值
,在超平面我们又很难直接得到全局最优值,更没有通用性,因此我们就想办法让梯度沿着负方向下降,那么我们就能得到一个局部或全局的最优值了,因此导数就在机器学习中显得非常重要了
基本使用
tensor.backward()
可以及自动将梯度累加积到tensor.grad
上
x = torch.ones(3,3) print(x.requires_grad) x.requires_grad_(True) print(x.requires_grad) y = x**2/(x-2) out = y.mean() print(x.grad) out.backward() print(x.grad)
False
True
None
tensor([[-0.3333, -0.3333, -0.3333],
[-0.3333, -0.3333, -0.3333],
[-0.3333, -0.3333, -0.3333]])
requires_grad
可以获取到tensor
是否可导
requires_grad_()
可以设置tensor
是否可导
grad
查看当前tensor
导数
上面的公式很简单,程序含义
1/4 * (x**2) / (x-2)
求x的导数,基本公式在下方
注意点
我们使用.mean
后得到的是标量
,如果不是标量
会报错
x = torch.ones(3, requires_grad=True) y = x * 2 y = y * 2 print(y)
tensor([4., 4., 4.], grad_fn=<MulBackward0>)
y.backward() print(x.grad)
报错
RuntimeError: grad can be implicitly created only for scalar outputs
v = torch.tensor([0.1, 1.0, 0.0001], dtype=torch.float) y.backward() print(x.grad)
tensor([4.0000e-01, 4.0000e+00, 4.0000e-04])
no_grad()
作用域
如果想要某部分程序不可导那么我们可以使用这个
x = torch.ones(3, requires_grad=True) y = x * 2 print(y.requires_grad) with torch.no_grad(): y = y * 2 print(y.requires_grad)
True
False
总结
这一章我们使用pytorch里面的backward
,自动实现了函数的求导,帮助我们在后面面对很多超大参数量的函数的时候,求导就变得游刃有余
上节
PyTorch使用教程-安装与基本使用
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 魔兽世界wlk暗牧一键输出宏是什么 wlk暗牧一键输出宏介绍
- 群星.1996-红不让台语原唱2辑【福和唱片】【WAV+CUE】
- 郭书瑶.2009-爱的抱抱(EP)【种子音乐】【FLAC分轨】
- 郑瑞芬.1989-BE.MY.BABY【现代】【WAV+CUE】
- 花钱请人每周放30万只不咬人的蚊子 防治登革热传播
- 饭制《第一后裔》丧尸版弗蕾娜
- 贝克汉姆亲临!2024FC品类游戏嘉年华圆满落幕
- 「命轨爻错之翼」风之翼发放说明
- 《原神》前瞻特别节目回顾长图
- 米游币抽抽乐-原神专场现已开启!
- 黑鸭子2001《风情中国HQCD》[日本版][WAV+CUE]
- 陈杰洲1990-成人礼[滚石][WAV+CUE]
- MarkAanderud-HandsFree(2024)[24-44,1]FLAC
- 孙露《观心》1:1母盘直刻限量版[低速原抓WAV+CUE][361M]
- 钟志刚《汽车DJ玩主》[低速原抓WAV+CUE][1G]