PyTorch的torch.arange在CPU、GPU、NPU上支持哪些数据类型和格式?

2026-04-30 15:411阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计583个文字,预计阅读时间需要3分钟。

PyTorch的torch.arange在CPU、GPU、NPU上支持哪些数据类型和格式?

目录+正文+一、torch.arange() 和 torch.range() 的用法+二、torch.arange 支持的数据类型格式+三、CPU(Central Processing Unit)+GPU(Graphics Processing Unit)+NPU(Neural Network Processor)

目录
  • 正文
  • 一、 torch.arange() 和 torch.range() 的用法
  • 二、 torch.arange 支持的数据类型格式

正文

CPU(Central Processing Unit):中央处理器 GPU(Graphics Processing Unit):图形处理器 NPU(Neural Network Processing Unit):神经网络处理器,是基于神经网络算法与加速的新型处理器总称。

一、 torch.arange() 和 torch.range() 的用法

pytorch官网介绍:

torch.arange(start,end,step) 用于产生一个从start开始,到end结束(注意不包括end),步长为step的Tensor, 并且可以设置 Tensor 的 device 和 dtype

torch.arange 与 torch.range 功能及其相似,不同之处在于 torch.range(start,end,step) 生成的 Tensor, 包括 end

如:

a=torch.arange(1, 7, 2) b=torch.range(1, 7, 2) print(a) print(b)

输出:

tensor([1, 3, 5]) tensor([1., 3., 5., 7.])

但是建议使用 torch.arange ,因为 torch.range 即将被pytorch 移除:

PyTorch的torch.arange在CPU、GPU、NPU上支持哪些数据类型和格式?

二、 torch.arange 支持的数据类型格式

只考虑 float 类型

cpu 不支持 float16,支持 float32 和 float64 cpu 支持 float16 、float32 和 float64 npu 不支持 float16 和 float64 ,只支持 float32

事实上 npu 基本不支持所有的 64位类型,包括 int64 和 float64,与算子无关。当然cpu 是支持 16位数据类型的,只是 torch.arange 不支持而已。

验证代码如下:

import torch # CPU a=torch.arange(1, 10, 2,device="cpu",dtype=torch.float16) # 不可以 a=torch.arange(1, 10, 2,device="cpu",dtype=torch.float32) # 可以 a=torch.arange(1, 10, 2,device="cpu",dtype=torch.float64) # 可以 # GPU a=torch.arange(1, 10, 2, device="cuda:0",dtype=torch.float16) # 可以 a=torch.arange(1, 10, 2, device="cuda:0",dtype=torch.float32) # 可以 a=torch.arange(1, 10, 2, device="cuda:0",dtype=torch.float64) # 可以 # NPU a=torch.arange(1, 10, 2, device="npu:0",dtype=torch.float16) # 不可以 a=torch.arange(1, 10, 2, device="npu:0",dtype=torch.float32) # 可以 a=torch.arange(1, 10, 2, device="npu:0",dtype=torch.float64) # 不可以 print(a)

以上就是pytorch算子torch.arange在CPU GPU NPU中支持数据类型格式的详细内容,更多关于pytorch算子支持数据类型格式的资料请关注自由互联其它相关文章!

本文共计583个文字,预计阅读时间需要3分钟。

PyTorch的torch.arange在CPU、GPU、NPU上支持哪些数据类型和格式?

目录+正文+一、torch.arange() 和 torch.range() 的用法+二、torch.arange 支持的数据类型格式+三、CPU(Central Processing Unit)+GPU(Graphics Processing Unit)+NPU(Neural Network Processor)

目录
  • 正文
  • 一、 torch.arange() 和 torch.range() 的用法
  • 二、 torch.arange 支持的数据类型格式

正文

CPU(Central Processing Unit):中央处理器 GPU(Graphics Processing Unit):图形处理器 NPU(Neural Network Processing Unit):神经网络处理器,是基于神经网络算法与加速的新型处理器总称。

一、 torch.arange() 和 torch.range() 的用法

pytorch官网介绍:

torch.arange(start,end,step) 用于产生一个从start开始,到end结束(注意不包括end),步长为step的Tensor, 并且可以设置 Tensor 的 device 和 dtype

torch.arange 与 torch.range 功能及其相似,不同之处在于 torch.range(start,end,step) 生成的 Tensor, 包括 end

如:

a=torch.arange(1, 7, 2) b=torch.range(1, 7, 2) print(a) print(b)

输出:

tensor([1, 3, 5]) tensor([1., 3., 5., 7.])

但是建议使用 torch.arange ,因为 torch.range 即将被pytorch 移除:

PyTorch的torch.arange在CPU、GPU、NPU上支持哪些数据类型和格式?

二、 torch.arange 支持的数据类型格式

只考虑 float 类型

cpu 不支持 float16,支持 float32 和 float64 cpu 支持 float16 、float32 和 float64 npu 不支持 float16 和 float64 ,只支持 float32

事实上 npu 基本不支持所有的 64位类型,包括 int64 和 float64,与算子无关。当然cpu 是支持 16位数据类型的,只是 torch.arange 不支持而已。

验证代码如下:

import torch # CPU a=torch.arange(1, 10, 2,device="cpu",dtype=torch.float16) # 不可以 a=torch.arange(1, 10, 2,device="cpu",dtype=torch.float32) # 可以 a=torch.arange(1, 10, 2,device="cpu",dtype=torch.float64) # 可以 # GPU a=torch.arange(1, 10, 2, device="cuda:0",dtype=torch.float16) # 可以 a=torch.arange(1, 10, 2, device="cuda:0",dtype=torch.float32) # 可以 a=torch.arange(1, 10, 2, device="cuda:0",dtype=torch.float64) # 可以 # NPU a=torch.arange(1, 10, 2, device="npu:0",dtype=torch.float16) # 不可以 a=torch.arange(1, 10, 2, device="npu:0",dtype=torch.float32) # 可以 a=torch.arange(1, 10, 2, device="npu:0",dtype=torch.float64) # 不可以 print(a)

以上就是pytorch算子torch.arange在CPU GPU NPU中支持数据类型格式的详细内容,更多关于pytorch算子支持数据类型格式的资料请关注自由互联其它相关文章!