栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pytorch基础操作(李沐课程整理,自用)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pytorch基础操作(李沐课程整理,自用)

1. pytorch数据基础操作
torch.arange(x) #生成从1到x的张量
x.shape         #返回x的形状
x.numel         #返回x内元素的个数
x.reshape(m,n)  #返回改变形状后的x,m为行数,n为列数
torch.tensor()  #将Python列表改变为张量。
torch.cat((x,y),dim=)  #张量连结,0为按行连结,1为按列连结。
2.pytorch关于导数的操作
#pytorch自动求导的一般方法
x.requires_grad_(True)    #存储x的梯度
x.grad                    #默认值为None
y=torch.dot(x,x)          #此时可以通过调用反向传播函数自动计算y关于x每个分量的梯度
y.backward()              #此时导数将存储在x.grad里面
x.grad    


#pytorch关于导数方面的操作
x.grad.zero_()            #将x内的导数进行清零

注:一般而言,在深度学习中很少会出现y为向量或为矩阵的情况,当出现y为向量或矩阵的情况下,需要对y做一次求和,然后再求导。

y.sum().backward()
x.grad
2.1 将计算移动到记录的计算图之外
x.gard_zero_()
y=x*x
u=y.detach()           #此处u不在是关于x的函数,而只是y的数值结果
z=u*x

注:并不理解此处的计算移动有何使用价值,等后续学到相关位置后再进行补充。

2.2 对自定义函数求解梯度
a=torch.randn(size=(),requires_grad=True)        #此处生成的a为随机数
d=f(a)                                           #f为我们自定义的函数
d.backward()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886553.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号