更新时间:2021-12-17 GMT+08:00
分享

模型包元数据

metadata.json是描述模型包的元数据文件,遵循NAIE模型包规范,并根据联邦的要求进行扩展,主要包括如图1所示两部分内容。

图1 元数据描述

算法包元数据描述文件metadata.json采用标准JSON格式。

metadata.json文件格式示例:

{
	"basicinfo":{
		"name": "minist_model",
		"model_file_type" : [ {
			"env_name" : "TensorFlow",
			"file_type" : "others",
			"name" : "minist/model"
		  } ],
		"description": "handwriting recognition model package"
	},
	"methods": [
		{
			"name": "init",
			"entry": "retrain/init.py:init",
			"type": "others"
		},
		{
			"name": "main",
			"entry": "retrain/main.py:main",
			"type": "retrain"
		},
		{
			"name": "main",
			"entry": "retrain/main.py:main",
			"type": "predict"
		}
	]
}

元数据中各字段的含义和定义如表1所示。

表中基数为1表示该字段为必填项,为0表示该字段为非必填字段。

表1 basicInfo表示模型包基本信息

名称

类型

基数

描述

name

string

0

模型包名称。

合法性约束如下:

1)合法字符集:a~z、A~Z、0~9、以及 _-

2)以字母开头

3)长度不超过32位

model_file_type

string

1

模型文件类型描述见表2

description

string

0

模型描述信息

表2 model_file_type表示模型包内的文件类型

名称

类型

基数

描述

name

string

0

模型包文件目录名称

file_type

string

1

模型文件类型。

当前联邦学习部署服务支持的模型文件类型有:

  • tf-ck:TensorFlow checkpoint格式模型文件
  • caffe:Caffe格式的模型文件
  • pytorch: PyTorch格式的模型文件
  • others: 其它类型
  • None:无模型文件

当前训练平台生成的模型包暂不支持tf-ck, caffe, pytorch三种模型类型,对于这三种类型训练平台统一表示为others。

当model_file_type非None时,联邦Server以模型包中的模型作为初始模型,否则需要重新训练生成初始模型。

env_name

string

0

模型包中的模型文件支持在哪些env上执行。

表3 methods表示联邦模型包对外发布的方法信息

名称

类型

基数

描述

name

string

0

方法名称

entry

string

1

方法入口,由两部分组成{filepath}:{funName}

filepath: 入口文件路径,为文件在模型包内的相对路径。如“retrain/init.py”

funName:文件中的具体函数名。非必须,如果python文件中包含main启动方法则可缺省funName。

示例:”retrain/init.py:init_model”

说明:

当路径时包含目录时,请以”/”而不是”\”做为路径分隔符。

type

string

1

方法类型。对于联邦模型包,取值包括:others, retrain和predict分别表示模型初始化,训练以及评估方法。

metadata.json文件中的所有信息,包含字段名、有效枚举值、路径等,都是区分大小写的。

分享:

    相关文档

    相关产品

close