欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

pytorch中张量的创建和常用方法

时间:2023-04-24
1、张量(Tensor)函数的创建方法

张量的最基本的创建方法和Numpy中创建Array的格式是一致的,都是 创建函数(序列) 的格式,张量的创建函数:torch.tensor()
t1 = torch.tensor([1, 2]) 通过列表来创建张量
t2= torch.tensor((1, 2)) 通过元组来创建张量
t3 = np.array([1, 2]) 通过numpy库中array函数来创建数组
t = torch.tensor(t3) 通过上面创建的数组来创建张量,此处的t和下面程序中的t一致。
张量的返回类型:torch.tensor([1, 2])

2、张量的类型

张量和数组类似,都拥有dtype方法,可返回张量类型。
type()函数可以查看数据的类型,但不能具体查看张量的数值,这就需要 .dtype()方法 通过上面创建的数组来创建张量
t3.dtype 返回值为 dtype( ‘int32’ )
t.dtype 返回值为 torch.int64
pytorch中默认张量类型是torch.float32

3、张量的类型转化

3.1 张量类型的隐式转化
其和numpy中的array相同,当张量各元素属于不同类型时,系统会自动进行隐式转化。

#浮点型和整数型的隐式转化torch.tensor([1.1, 2]).dtype结果为:torch.float32#布尔型和数值型的隐式转化torch.tensor([True, 2.0])结果为:tensor([1., 2.])

3.2 张量类型的转化方法
当然,还可以通过使用.float()、.int()等方法对张量类型进行转化。但是并不会改变张量的原始类型,因为只是调用的张量的方法。

t = torch.tensor(np.array([1, 2]))print(t)结果为:tensor([1, 2])#转化为默认浮点型(32位)t.float()结果为:tensor([1., 2.])#转化为双精度浮点型t.double()结果为:tensor([1., 2.], dtype=torch.float64)#但是并不会改变张量的原始类型t.dtype结果为:torch.int64#转化为16位整数型t.short()结果为:tensor([1, 2], dtype=torch.int16)

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。