onnx模型输出之elem_type对应类型说明

前言

onnx_model = onnx.load("modify.onnx")
graph = onnx_model.graph
graph.output
#输出如下:
[name: "add_result_0"
type {
  tensor_type {
    elem_type: 1
    shape {
      dim {
      }
    }
  }
}
]

以上代码能打印出一个onnx模型格式定义的标准输出,包含输出的名字,输出的tensor的数据类型,即elem_type,如果想修改输出,就得弄清楚有哪些类型,这里以数字对应各种类型,在网上查了一圈没搜到说明,于是于此记录以帮助后来人。

数据类型(elem_type)

共有16种,不包括double,不知道为什么。

elem_type: 1 --> float32
elem_type: 2 --> uint8
elem_type: 3 --> int8
elem_type: 4 --> uint16
elem_type: 5 --> int16
elem_type: 6 --> int32
elem_type: 7 --> int64
elem_type: 8 --> string
elem_type: 9 --> boolean
elem_type: 10 --> float16
elem_type: 11 --> float64
elem_type: 12 --> uint32
elem_type: 14 --> uint64
elem_type: 15 --> complex128
elem_type: 16 --> bfloat16

其余的数字全为undefined,使用相关模型会直接报错。

你可能感兴趣的:(机器学习,深度学习,人工智能)