torch包主要是用于多维张量的数据结构和用于张量的数学操作。除此之外,还提供了许多用于张量有效序列化和任意类型的工具,还有一些其他相关的工具。
torch还有一个cuda的版本,如果NVIDIA的算力>=3.0,就可以使用。
例子:
>>> torch.tensor([1.2, 3]).dtype # 初始化默认类型为float32
>>> torch.set_default_dtype(torch.float64)
>>> torch.tensor([1.2, 3]).dtype # 默认新的浮点类型float64
torch.float64
例子:
>>> torch.get_default_dtype() # 初始默认浮点类型float32
torch.float32
>>> torch.set_default_dtype(torch.float64)
>>> torch.get_default_dtype() # 现在默认改为float64
torch.float64
>>> torch.set_default_tensor_type(torch.FloatTensor) # 设置张量类型也会影响torch.FloatTensor
>>> torch.get_default_dtype() # 现在默认float32
torch.FloatTensor
torch.float32
>>> a = torch.randn(1, 2, 3, 4, 5)
>>> torch.numel(a)
120
>>> a = torch.zeros(4,4)
>>> torch.numel(a)
16
参数:
>>> torch.set_flush_denormal(True)
True
>>> torch.tensor([1e-323], dtype=torch.float64)
tensor([ 0.], dtype=torch.float64)
>>> torch.set_flush_denormal(False)
True
>>> torch.tensor([1e-323], dtype=torch.float64)
tensor(9.88131e-324 *
[ 1.0000], dtype=torch.float64)