Pytorch

本文详细介绍了张量在PyTorch中的基础概念,包括0-5维张量的应用、numpy与tensor的转换,以及随机初始化、全0矩阵创建、数据构造、张量操作、加法运算、索引、内存调整、自动求导和梯度管理。通过实例演示,读者将掌握如何在实际项目中运用这些技巧。
摘要由CSDN通过智能技术生成

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),这意味着每一次运行反向传播,梯度都会累加之前的梯度,所以一般在反向传播之前需把梯度清零。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值