Pytorch

Pytorch,第1张

Pytorch

1. 张量

0 维张量 表示数字                         1,2,3,4...

1维张量  表示向量

2维张量 表示矩阵

3维张量 共用数据存储张量        时间序列 股价 文本数据 彩色图片(RPG)

  • 3维=时间序列
  • 4维=图像
  • 5维=视频

 tensor 和 numpy 相互转换

 

随机初始化矩阵

x=torch.rand(4,3)

构建全0矩阵

x=torch.zeros(4,3)

直接用数据构建张量

x=torch.tensor([5.5,3])

基于一个存在的tensor 创建一个新的tensor

x=x.new_ones(4,3,dtype=torch.double)      

重新初始化张量

x=torch.randn_like(x,dtype=torch.float64)

获取张量size

x .shape  x.size()

加法 

y=torch.rand(4,3)

print(x+y)

print(torch.add(x,y))

result=torch.empty(4,3)

torch.add(x,y,out=result)

print(result)

索引

print(x)

print(x[:,1])

改变tensor大小(共享内存)

y=x.view(16) 

z=x.view(-1,8) 

 如果不共享内存可以使用 clone 先复制,然后再view

自动求导

pytorch 在使用自动求导之前要先将 requires_grad 设置为TRUE

backward 调用反向传播求导

grad在反向传播过程中是累加的(accumulated),这意味着每一次运行反向传播,梯度都会累加之前的梯度,所以一般在反向传播之前需把梯度清零。

 

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4655853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存