python中的torch库是干什么的,什么是TORCH
PyTorch这几年火了。与TensorFlow相比,PyTorch对Python初学者更友好,也更容易使用。
众所周知,numpy作为Python中数据分析的专业第三方库,速度比Python附带的数学库要快。同样,PyTorch也有一个类似numpy的库,叫做Tensor。张量称自己为神经网络的数字。
numpy和张量的比较
比较项目
数字
张量
相同积分
您可以为切片、改变维度、数学运算等定义多维数组。
您可以为切片、改变维度、数学运算等定义多维数组。
差异
1.生成的数组类型为numpy.ndarray;
2.将ndarray放入CPU进行操作;
3.导入方法是将numpy作为NP导入,然后用NP排序。数组([1,2]);
4.numpy中没有x.type()的用法,只能使用type () x)。
1.生成的序列类型是火炬。张量;
2.将张量放入GPU进行加速运算(如果有GPU的话);
3.导入方法是torch,后面跟着torch.tensor ([1,2])或者torch.tensor ([1,2])进行排序;
4.要在张量中查看数组类型,可以同时使用type(x)和x.type)。不过更推荐x.type()。具体原因请参考以下内容。
例如,以下所有代码都在Jupyter Notebook上运行并通过:
numpy:
将numpy作为np导入
x=NP.array ([ 1,2 ]))).
写#告诉你,在Jupyter笔记本中,根据是否有print())功能,打印输出的效果是不一样的~
(x #数组([ 1,2])))))))))))))652)))
打印(x ) # [1] 2
类型(x ) #numpy.ndarray
打印(类型)x) #
#注意:numpy没有x.type()的用法。Type)) x)只能用!
张量:
导入跟踪#请注意,这是导入跟踪,而不是导入传感器!
x=torch.tensor ([ 1,2 ])))))))).
(x #张量([ 1,2 ] ) ) ) ) ) ) ) ) ) ) ) ) 652)))
Print (x) # tensor ([1,2]),请注意这和numpy不一样!
(x)型#火炬。张量
打印(类型)x) #
X.type(#Torch.longtensor),注意:你不能用numpy写这个。报告错误。
print(x . type))# torch . long tenser,注意:numpy里不能这么写。报告错误。
Numpy和Tensor在使用上还有其他区别。因为不是文中的重点,我就不详细描述了。以后可能会更新~
二。torch.tensor和torch.tensor的区别
细心的读者可能会注意到,在张量中有两种创建数组的方法:torch.tensor [1,2]和torch.tensor [1,2]。那么,这两种方式有什么区别呢?
)1) torch.tensor根据数据猜测数据类型,而torch.tensor torch.empty(随机生成垃圾排列。见例题)和torch.tensor然而,torch。导入数据时,张量使用全局默认浮点张量(dtype)。
(2)火炬。张量)1)返回固定值1,Torch。张量)1)返回第一大小的张量,它是一个初始化的随机值。
导入跟踪#请注意,这是导入跟踪,而不是导入传感器!
x=torch.tensor ([ 1,2 ])))))))).
(x #张量([ 1,2 ] ) ) ) ) ) ) ) ) ) ) ) ) 652)))
Print (x) # tensor ([1,2]),请注意这和numpy不一样!
(x)型#火炬。张量
打印(类型)x) #
X.type(#Torch.longtensor),注意:你不能用numpy写这个。报告错误。
print(x . type))# torch . long tenser,注意:numpy里不能这么写。报告错误。
y=torch.tensor ([ 1,2 ]).
y #张量([1.2。])是因为火炬。张量使用全局缺省数据类型)floattensor。
Print(y) #tensor([1.2。])是因为火炬。张量使用全局缺省数据类型(floatte)
nsor)
(y)型#火炬。张量
打印(类型(y)) #
Y.type() # 火炬。 FloatTensor ,注意:这里和上面不一样!张量-长张量,张量-浮点张量!
print(y . type())# torch . float tensor,注意:这里和上面不一样!张量-长张量,张量-浮点张量!
z=torch.empty([1,2])
Z #随机运行两次,结果不同:张量([0。 0.]]),张量([[1.4013e-45,0.0000e00]])
Print(z) #随机运行两次,结果不同:Tensor ([[0。 0.]]),张量([[1.4013e-45,0.0000e00]])
(z)型#火炬。张量
打印(类型(z)) #
Z.type() # 火炬。 FloatTensor ,注意:empty()默认为torch。用浮子代替火炬。龙腾传感器
Print (z.type ()) # torch。FloatTensor,注意:empty()默认为torch.floattensor而不是torch。龙腾传感器
#torch.tensor(1)的比较,torch。张量(1)和torch.empty(1):
t1=torch .张量(1)
t2=火炬。张量(1)
t3=torch.empty(1)
t1 #张量(1)
打印(t1)#张量(1)
(t1)型#火炬。张量
打印(类型(t1)) #
t1.type() # 火炬。龙腾索
print(t1.type()) #torch。龙腾传感器
T2 #随机运行两次,得到不同的结果:张量([2.8026E-45]),张量([0 .])
Print(t2) #随机运行两次,得到不同的结果:张量([2.8026E-45]),张量([0 .])
(t2)型#火炬。张量
打印(类型(t2)) #
t2.type() # 火炬。“漂浮者”
print(t2.type()) #torch。漂浮者
T3 #随机运行两次,结果不同:张量([0。]),张量([1.4013e-45])
Print(t3) #随机运行两次,得到不同的结果:张量([0。]),张量([1.4013e-45])
(t3)型#火炬。张量
打印(类型(t3)) #
t3.type() # 火炬。“漂浮者”
print(t3.type()) #torch。漂浮者
如上所述,对于张量,更推荐使用x.type()来查看数据类型。因为x.type()的输出结果是torch。“龙感”或“火炬”。“FloatTensor”,您可以看到两个数组之间的差异。但是,如果采用类型(x ),所有输出结果都是torch。张量,不能反映类型差异。
PyTorch是一个神奇的工具,其中张量比numpy丰富得多。可以在实践中总结,逐步完善~
关于torch.tensor和torch的区别这篇文章到此为止。皮托赫张量。有关torch.tensor和torch的更多信息。PyTorch中的张量,请搜索脚本之家之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持剧本之家!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。