其他分享
首页 > 其他分享> > Pytroch中常用函数(一)

Pytroch中常用函数(一)

作者:互联网

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)  #c可以是'cpu'也可以是"cuda"
x = x.to(device),就是把x送device并返回x。

标签:tensor,常用,函数,dtype,torch,None,Pytroch,numpy,size
来源: https://blog.csdn.net/qq_44805233/article/details/120580449