1、torch.empty()
torch.empty(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False) → Tensor
返回一个size大小的tensor,里面的数值是随机的,主要用到size,其它都是可选内容。
szie可以是列表,元组等。
2、torch.rand()
torch.rand(*size,out=None)
返回一个大小为size的张量,内部结果随机。
3、torch.zeros()
torch.zeros(*size,dtype = None)
返回一个形状为为size,类型为dtype,里面的每一个值都是0的tensor.
4、torch.tensor()
torch.tensor(x)
返回一个tensor,里边的值和x的值对应相等,x可以是一个列表,元组等。
5、x.new_ones()
y = x.new_ones(a,b,dtype = None)
其中x是任意一个tensor,返回的y是一个a*b的数据类型为dtype的值为1的tensor,x保持不变。
等价的函数是y = torch.ones(*size)
6、torch.rand_like()
x4 = torch.rand_like(x3,dtype = None)
返回一个维度和x3一样的tensor,其中里边的值是随机的。
7、tensor的加法
tensor的加法就是逐个元素相加。
x和y是两个tensor,以下结果相同
z = x+y;z = torch.add(x,y)
y.add_(x);等价于 y = x + y;
8、x.view
y = x.view(a,b)
返回一个a*b的tensor,其中x也是一个tensor,且含有a*b个元素值。
常用:y = x.view(-1) 返回一个一维的tensor,即只有一行。
x个y共享内存,改变x或者y的值同时也会改变y或者x的值。
如果想让x和y断开联系的话,可以先创造一个x的副本,然后在进行view。
即:y = x.clone().view(a,b)
9、x.item()
可以将只包含一个元素的tensor转化对应的标量。
10、tensor转numpy
b = x.numpy()
b是一个numpy数组,x是一个tensor,x和b共享内存。
11、numpy转tensor。
a是一个numpy数组,b = torch.form_numpy(a),可以把数组a转换为对应的tensor,同样也会共享内存。
12、检查cuda是否可用
torch.cuda.is_available()
device = torch.device(c)
x = x.to(device),就是把x送device并返回x。
|