没有合适的资源?快使用搜索试试~ 我知道了~
首页PyTorch中torch.tensor与torch.Tensor的区别详解
PyTorch最近几年可谓大火。相比于TensorFlow,PyTorch对于Python初学者更为友好,更易上手。 众所周知,numpy作为Python中数据分析的专业第三方库,比Python自带的Math库速度更快。同样的,在PyTorch中,有一个类似于numpy的库,称为Tensor。Tensor自称为神经网络界的numpy。 一、numpy和Tensor二者对比 对比项 numpy Tensor 相同点 可以定义多维数组,进行切片、改变维度、数学运算等 可以定义多维数组,进行切片、改变维度、数学运算等 不同点 1、产生的数组类型为numpy.ndar
资源详情
资源评论
资源推荐

PyTorch中中torch.tensor与与torch.Tensor的区别详解的区别详解
PyTorch最近几年可谓大火。相比于TensorFlow,PyTorch对于Python初学者更为友好,更易上手。
众所周知,numpy作为Python中数据分析的专业第三方库,比Python自带的Math库速度更快。同样的,在PyTorch中,
有一个类似于numpy的库,称为Tensor。Tensor自称为神经网络界的numpy。
一、一、numpy和和Tensor二者对比二者对比
对
比
项
numpy Tensor
相
同
点
可以定义多维数组,进行切片、改变维度、
数学运算等
可以定义多维数组,进行切片、改变维度、数学运算等
不
同
点
1、产生的数组类型为numpy.ndarray;
2、会将ndarray放入CPU中进行运算;
3、导入方式为import numpy as np,后续通
过np.array([1,2])建立数组;
4、numpy中没有x.type()的用法,只能使用
type(x)。
1、产生的数组类型为torch.Tensor;
2、会将tensor放入GPU中进行加速运算(如果有GPU);
3、导入方式为import torch,后续通过torch.tensor([1,2])或
torch.Tensor([1,2])建立数组;
4、Tensor中查看数组类型既可以使用type(x),也可以使用x.type()。但是
更加推荐采用x.type(),具体原因详见下文。
举例(以下代码均在Jupyter Notebook上运行且通过):
numpy:
import numpy as np
x = np.array([1,2])
#之所以这么写,是为了告诉大家,在Jupyter Notebook中,是否带有print()函数打印出来的效果是不一样的~
x #array([1, 2])
print(x) #[1 2] type(x) #numpy.ndarray
print(type(x)) #<class 'numpy.ndarray'>
#注意:numpy中没有x.type()的用法,只能使用type(x)!!!
Tensor:
import torch #注意,这里是import torch,不是import Tensor!!!
x = torch.tensor([1,2])
x #tensor([1, 2])
print(x) #tensor([1, 2]),注意,这里与numpy就不一样了!
type(x) #torch.Tensor
print(type(x)) #<class 'torch.Tensor'>
x.type() #'torch.LongTensor',注意:numpy中不可以这么写,会报错!!!
print(x.type()) #torch.LongTensor,注意:numpy中不可以这么写,会报错!!!
numpy与Tensor在使用上还有其他差别。由于不是本文的重点,故暂不详述。后续可能会更新~
二、二、torch.tensor与与torch.Tensor的区别的区别
细心的读者可能注意到了,通过Tensor建立数组有torch.tensor([1,2])或torch.Tensor([1,2])两种方式。那么,这两种方式
有什么区别呢?
(1)torch.tensor是从数据中推断数据类型,而torch.Tensor是torch.empty(会随机产生垃圾数组,详见实例)和
torch.tensor之间的一种混合。但是,当传入数据时,torch.Tensor使用全局默认dtype(FloatTensor);
(2)torch.tensor(1)返回一个固定值1,而torch.Tensor(1)返回一个大小为1的张量,它是初始化的随机值。
import torch #注意,这里是import torch,不是import Tensor!!!
x = torch.tensor([1,2])
x #tensor([1, 2])
print(x) #tensor([1, 2]),注意,这里与numpy就不一样了!
type(x) #torch.Tensor
print(type(x)) #<class 'torch.Tensor'>


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0