深度学习和pytorch
张量:
在 p y t o r c h pytorch pytorch中张量可以是一个标量,一个向量,一个矩阵,甚至是更高维度的数组,所以 p y t o r c h pytorch pytorch中的 t e n s o r tensor tensor和 n u m p y numpy numpy中的数组( n d a r r a y ndarray ndarray)非常相似。
在使用中也经常将 p y t o r c h pytorch pytorch中的张量和 n u m p y numpy numpy库中的数组相互转化,在深度网络中,基于 p y t o r c h pytorch pytorch的相关计算都是在 t e n s o r tensor tensor的基础上完成的。
张量的数据类型:
在 t o r c h torch torch中默认的是数据类型是32浮点型( t o r c h . F l o a t T e n s o r torch.FloatTensor torch.FloatTensor),可以通过 t o r c h torch torch中的 s e t _ d e f a u l t _ t e n s o r _ t y p e ( ) set\_default\_tensor\_type() set_default_tensor_type()函数设置默认的数据类型,但是该函数只支持浮点数据类型。
张量数据类型的操作:
import torch # 导入需要的库
# 输出张量的数据类型
print("张量的数据类型:", torch.tensor([1., 2., 3., 4.]).dtype)
# 将张量设置为其他默认数据类型
torch.set_default_tensor_type(torch.DoubleTensor)
print("改变的数据类型:", torch.tensor([1., 2., 3., 4.]).dtype)
# 将浮点型转化为其他数据类型的方法如下
a = torch.tensor([1., 2., 3., 4.])
print("a.dtype:", a.dtype)
print("a.long()方法:", a.long().dtype)
print("a.int()方法:", a.int().dtype)
print("a.float()方法:", a.float().dtype)
# 恢复默认的数据类型32float
torch.set_default_tensor_type(torch.FloatTensor)
print("torch.dtype:", torch.tensor([1., 2., 3., 4.]).dtype)
# 获取默认的数据类型
print("获取默认的数据类型:", torch.get_default_dtype())