Pytorch1.0关于Tensor的自我总结

关于Tensor和Numpy

PyTorch的官方介绍是一个拥有强力GPU加速的张量和动态构建网络的库,其主要构建是张量,所以可以把PyTorch当做Numpy来用,Pytorch的很多操作好比Numpy都是类似的,但是其能够在GPU上运行,所以有着比Numpy快很多倍的速度。

使用下述代码可以将numpy ndarray转换到tensor数据类型

import numpy as np
import torch

# 创建一个numpy ndarray size=10*20
a = np,random.randn(10,20)

# 我们可以使用两种方式将numpy的ndarray转换到tensor上
pytorch_tensor1 = torch.Tensor(a)
pytorch_tensor2 = torch.from_numpy(a)

同样,我们也可以将tensor转换到ndarray

# 此方法只对位于CPU上的tensor有效
numpy_ndarray = pytorch_tensor.numpy()
#如果位于GPU上,需要采用如下代码
numpy_ndarray = pytorch_tensor.cpu().numpy()

Tensor放到GPU上
pytorch中的tensor相对于numpy的最大区别就是可以将Tensor放在GPU上进行计算,这样可以极大地加快运算速度。

# 第一种方式是定义cuda数据类型
gpu_tensor = torch.randn(10,20).type(torch.cuda.FloatTensor)

# 第二种方式更简单,推荐使用
gpu_tensor = torch.randn(10,20).cuda(0) # 将tensor放到第一个GPU上
gpu_tensor = torch.randn(10,20).cuda(1) # 将tensor放到第二个GPU上

使用第一种方式将tensor放到GPU上的时候会将数据类型转换成定义的类型,而是用第二种方式能够直接将tensor放到GPU上,类型跟之前保持一致
推荐在定义tensor的时候就明确数据类型,然后直接使用第二种方法将tensor放到GPU上

Tensor的一些属性

print(pytorch_tensor1.shape)
#获取张量的尺寸
# 得到tensor的数据类型
print(pytorch_tensor1.type())
print(pytorch_tensor1.d
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值