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),这意味着每一次运行反向传播,梯度都会累加之前的梯度,所以一般在反向传播之前需把梯度清零。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)