pytorch基础知识
一、张量
1. 数据类型tensor
2. 张量操作
加法操作 :
import torch
# 方式1
y = torch.rand(4, 3)
print(x + y)
# 方式2
print(torch.add(x, y))
# 方式3 提供一个输出 tensor 作为参数
# 这里的 out 不需要和真实的运算结果保持维数一致,但是会有警告提示!
result = torch.empty(5, 3)
torch.add(x, y, out=result)
print(result)
# 方式4 in-place
y.add_(x)
print(y)
索引操作:
# 取第二列
print(x[:, 1])
#索引出来的结果与原数据共享内存,修改一个,另一个会跟着修改。如果不想修改,可以考虑使用copy()等方法
y = x[0,:]
y += 1#索引更改
print(y)
print(x[0, :]) # 源tensor也被改了
#改变大小:如果想改变一个 tensor 的大小或者形状
#可以使用 torch.view:
x = torch.randn(4, 4)
y = x.view(16)
z = x.view(-1, 8) # -1是指这一维的维数由其他维度决定
print(x.size(), y.size(), z.size())
#view仅仅是改变了对这个张量的观察⻆度,view()返回的新tensor与源tensor共享内存(其实是同一个tensor),也即更改其中的一个,另外一