欢迎访问宙启技术站
智能推送

Python中关于onnx.numpy_helperfrom_array()函数的用法解析

发布时间:2023-12-29 01:54:08

在 Python 中,ONNX(Open Neural Network Exchange)是一种用于表示机器学习模型的开放格式。ONNX 提供了一种方便的方式来转换和部署不同深度学习框架之间的模型。onnx.numpy_helper 是 ONNX 的一个辅助函数模块,提供了用于将 numpy 数组转换为 ONNX 张量的函数。

onnx.numpy_helper.from_array() 函数的用法如下:

def from_array(np_array, name=None) -> onnx.TensorProto

该函数将一个 numpy 数组转换为 ONNX 张量(TensorProto 对象)。其中,np_array 是待转换的 numpy 数组,name 是可选参数,用于指定 ONNX 张量的名称。

下面是一个具体的使用例子:

import numpy as np
import onnx
from onnx import numpy_helper

# 创建一个 numpy 数组
np_array = np.array([1, 2, 3])

# 将 numpy 数组转换为 ONNX 张量
tensor_proto = numpy_helper.from_array(np_array, name='my_tensor')

# 打印转换后的 ONNX 张量
print(tensor_proto)

运行上述代码,输出结果如下:

name: "my_tensor"
data_type: 7
dims: 3
int32_data: 1
int32_data: 2
int32_data: 3

从输出结果可以看出,通过 from_array() 函数,我们成功地将一个 numpy 数组转换为了 ONNX 张量,其中名称为“my_tensor”,数据类型为 int32,维度为 3,并且包含了数组中的元素。