元数据

除了可扩展性文档中列出的核心元数据建议外,还有额外的实验性元数据,用于提供模型输入和输出的信息。

此元数据适用于给定类别的所有输入和输出张量。我们定义的第一个此类类别是:Image

动机

引入这种机制的动机是允许模型作者向模型消费者传达足够的信息,以便他们能够使用该模型。

对于图像,有许多提供有效图像数据的选项。然而,使用图像的模型是根据特定的一组选项进行训练的,这些选项必须在推理过程中使用。

此提案的目标是提供足够的元数据,以便模型消费者在运行模型之前可以执行自己的特征化处理,并提供兼容的输入,或检索输出并了解其格式。

图像类别定义

对于此模型中使用类型标记声明为IMAGE的每个张量,您应该提供元数据以帮助模型消费者。请注意,使用此机制提供的任何元数据对于所有具有相应标记的类型都是全局的。

键和值不区分大小写。

具体来说,我们在此定义以下图像元数据集

描述

Image.BitmapPixelFormat

字符串

指定像素数据的格式。每个枚举值定义了通道顺序和位深。可能的值有

  • Gray8:1 通道图像,像素数据为 8 bpp 灰度。
  • Rgb8:3 通道图像,通道顺序为 RGB,像素数据为 8bpp(无 Alpha 通道)
  • Bgr8:3 通道图像,通道顺序为 BGR,像素数据为 8bpp(无 Alpha 通道)
  • Rgba8:4 通道图像,通道顺序为 RGBA,像素数据为 8bpp(直接 Alpha 通道)
  • Bgra8:4 通道图像,通道顺序为 BGRA,像素数据为 8bpp(直接 Alpha 通道)

Image.ColorSpaceGamma

字符串

指定使用的 gamma 颜色空间。可能的值有

  • Linear:线性颜色空间,gamma == 1.0
  • SRGB:sRGB 颜色空间,gamma == 2.2

Image.NominalPixelRange

字符串

指定存储像素值的范围。可能的值有

  • NominalRange_0_255:适用于 8bpp 样本的 [0...255]
  • Normalized_0_1:[0...1] 像素数据已归一化存储
  • Normalized_1_1:[-1...1] 像素数据已归一化存储
  • NominalRange_16_235:适用于 8bpp 样本的 [16...235]