1. 模型导入功能
将训练完成的模型导入至Netrans。目前可支持caffe、tensorflow、tflite、darknet、onnx、pytorch和keras 7种框架的模型导入。
1.1 import/caffe
请求说明
用于导入caffe框架的网络模型,将其转换成GWG模型。
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/import/caffe
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
proto |
是 |
string |
可选的值如下所示: -‘caffe’:默认值,表示标准caffe格式协议 -‘lstm_caffe’:表示LSTM层协议 |
示例代码
curl -i -k 'http://api.netrans.com/v1/model/import/caffe' --data'{"guid":"xxxx","proto":"caffe"}' -H 'Content-Type:application/json; charset=UTF-8'
返回说明
返回存放GWG模型文件路径的标识。
返回参数
返回结果
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
返回示例
{
"guid":"xxx"
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-1 |
The model file does not match the current option |
模型文件与当前选项不匹配 |
-2 |
The model file does not match the current option |
模型文件与当前选项不匹配 |
-3 |
No such file or directory |
模型文件路径不存在 |
1.2 import/tensorflow
请求说明
用于导入tensorflow框架的网络模型,将其转换成GWG模型。
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/import/tensorflow
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
inputs |
是 |
string |
指定网络的输入节点名称,若存在多个输入节点可用空格隔开,如‘input_point_1 input_point_2’ |
input-size-list |
是 |
string |
输入节点的输入tensor的大小,例如,‘224,224,3’代表输入数据大小为3通道,尺寸为224*224;若输入含有多个节点,则需要使用‘#’将每个节点的大小隔开,如‘3,224,224#3,299,299#12,1’ |
outputs |
是 |
string |
指定网络的输出节点名称,若存在多个输出节点可用空格隔开,如‘output_point_1 output_point_2’ |
mean-values |
是 |
string |
该参数该版本不需要。当模型是量化后的tensorflow模型时,指定‘--inputs’参数中每个输入的中值,若含有多个输入便使用逗号将值隔开,如‘128,128’ |
std-values |
是 |
string |
该参数该版本不需要。当模型是量化后的tensorflow模型时,指定‘--inputs’参数中每个输入的标准差,若含有多个输入便使用逗号将值隔开,如‘128,128’ |
示例代码
curl -i -k 'http://api.netrans.com/v1/model/import/tensorflow' --data'{ "guid":"xxxx","inputs":"mul_1","input-size-list":"300,300,3","outputs":"concat concat_1"}' -H 'Content-Type:application/json; charset=UTF-8'
返回说明
返回存放GWG模型文件路径的标识。
返回参数
返回结果
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
返回示例
{
"guid":"xxx"
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-2 |
The model file does not match the current option |
模型文件与当前选项不匹配 |
-3 |
No such file or directory |
模型文件路径不存在 |
-4 |
The model file does not match the current option |
模型文件与当前选项不匹配 |
1.3 import/tflite
请求说明
用于导入tensorflow Lite框架的网络模型,将其转换成GWG模型。
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/import/tflite
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
示例代码
curl -i -k 'http://api.netrans.com/v1/model/import/tflite' --data '{"guid":"xxxx"}' -H 'Content-Type:application/json; charset=UTF-8'
返回说明
返回存放GWG模型文件路径的标识。
返回参数
返回结果
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
返回示例
{
"guid":"xxx"
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-2 |
No such file or directory |
模型文件路径不存在 |
-5 |
The model file does not match the current option |
模型文件与当前选项不匹配 |
1.4 import/darknet
请求说明
用于导入darknet框架的网络模型,将其转换成GWG模型。
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/import/darknet
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
示例代码
curl -i -k 'http://api.netrans.com/v1/model/import/darknet' --data '{"guid":"xxxx"}' -H 'Content-Type:application/json; charset=UTF-8'
返回说明
返回存放GWG模型文件路径的标识。
返回参数
返回结果
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
返回示例
{
"guid":"xxx"
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-1 |
The model file does not match the current option |
模型文件与当前选项不匹配 |
-2 |
The model file does not match the current option |
模型文件与当前选项不匹配 |
-6 |
No such file or directory |
模型文件路径不存在 |
1.5 import/onnx
请求说明
用于导入onnx框架的网络模型,将其转换成GWG模型。
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/import/onnx
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
示例代码
curl -i -k 'http://api.netrans.com/v1/model/import/onnx' --data '{"guid":"xxxx"}' -H 'Content-Type:application/json; charset=UTF-8'
返回说明
返回存放GWG模型文件路径的标识。
返回参数
返回结果
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
返回示例
{
"guid":"xxx"
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-3 |
The model file does not match the current option |
模型文件路径不存在 |
-6 |
The model file does not match the current option |
模型文件与当前选项不匹配 |
-7 |
No such file or directory |
模型文件与当前选项不匹配 |
1.6 import/pytorch
请求说明
用于导入pytorch框架的网络模型,将其转换成GWG模型。
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/import/pytorch
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
input-size-list |
是 |
string |
输入节点的输入tensor的大小。例如,‘224,224,3’代表输入数据大小为3通道,尺寸为224*224;若输入含有多个节点,则需要使用‘#’将每个节点的大小隔开,如‘3,224,224#3,299,299#12,1’。 |
示例代码
curl -i -k 'http://api.netrans.com/v1/model/import/pytorch' --data '{"guid":"xxxx","input-size-list":"224,224,3"}' -H 'Content-Type:application/json; charset=UTF-8'
返回说明
返回存放GWG模型文件路径的标识。
返回参数
返回结果
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
返回示例
{
"guid":"xxx"
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-2 |
The value of parameter is not True |
输入参数错误 |
-6 |
The model file does not match the current option |
模型文件与当前选项不匹配 |
-8 |
The model file does not match the current option |
模型文件与当前选项不匹配 |
1.7 import/keras
请求说明
用于导入keras框架的网络模型,将其转换成GWG模型。
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/import/keras
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
input-size-list |
是 |
string |
输入节点的输入tensor的大小。例如,‘224,224,3’代表输入数据大小为3通道,尺寸为224*224;若输入含有多个节点,则需要使用‘#’将每个节点的大小隔开,如‘3,224,224#3,299,299#12,1’。 |
示例代码
curl -i -k 'http://api.netrans.com/v1/model/import/keras' --data '{"guid":"xxxx"}' -H 'Content-Type:application/json; charset=UTF-8'
返回说明
返回存放GWG模型文件路径的标识。
返回参数
返回结果
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
模型的唯一标识 |
返回示例
{
"guid":"xxx"
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-9 |
The value of parameter is not True |
输入参数错误 |
2. 模型量化功能
对导入的模型进行量化,初始输入模型暂时是未量化模型,下一版本可支持已量化模型。
model/quantized
请求说明
对网络数据进行量化,转换成其他的数据类型
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/quantized
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
需要量化模型的唯一标识 |
qtype |
是 |
string |
指定量化数据类型,可选值:int8’、‘int16’、‘uint8’ |
示例代码
curl -i -k 'http://api.netrans.com/v1/model/quantized' --data '{"guid","xxxx","qtype":"int16"}' -H 'Content-Type:application/json;charset=UTF-8'
返回说明
返回量化后模型文件的唯一标识guid。
返回参数
返回结果
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
量化后模型的唯一标识 |
返回示例
{
"guid":"xxx"
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-2 |
The type of quantization is error |
量化类型不匹配 |
-3 |
No such file or directory |
文件路径不存在 |
3. 模型推理功能
对导入的模型或导入-量化后的模型进行推理,推理结果打印至屏幕。
model/inference
请求说明
输入用于测试的图片或文件,对生成的GWG模型进行模型推理操作。
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/inference
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
输入需推理的GWG网络模型 |
images |
否 |
string |
用于推理的图片数据 |
dtype |
是 |
string |
|
示例代码
curl -i -k 'http://api.netrans.com/v1/model/inference' --data '{"guid":"xxxx"}' -H 'Content-Type:application/json; charset=UTF-8'
返回说明
返回参数
返回结果:success!
返回示例
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-2 |
The model file does not match the options |
量化类型不匹配 |
-3 |
No such file or directory |
文件路径不存在 |
4. 模型属性评估功能
列出网络模型的计算量、激活层等属性,以了解模型的参数规模。
model/measure
请求说明
输入用于测试的图片或文件,对生成的GWG模型进行模型推理操作。
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/measure
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
输入需评估的GWG网络模型 |
示例代码
curl -i -k 'http://api.netrans.com/measure' --data '{"guid":"xxxx"}' -H 'Content-Type:application/json; charset=UTF-8'
返回说明
返回参数
返回结果:无
返回示例
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-3 |
No such file or directory |
文件路径不存在 |
5. 模型导出功能
将GWG模型导出为基于ovxlib库的OpenVX工程,该工程用于仿真器或者硬件上运行。
model/export
请求说明
输入用于测试的图片或文件,对生成的GWG模型进行模型推理操作。
请求示例
HTTP方法:POST
请求URL: http://api.netrans.com/v1/model/export
URL参数:无
Header如下:
参数 |
值 |
Content-Type |
application/json |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
必选 |
类型 |
说明 |
guid |
是 |
string |
待导出模型的唯一标识 |
示例代码
curl -i -k 'http://api.netrans.com/v1/model/export' --data '{"guid":"xxxx"}' -H 'Content-Type:application/json; charset=UTF-8'
返回说明
返回参数
返回结果:无
返回示例
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
状态码
错误码 |
错误信息 |
描述 |
None |
Import Success |
导入成功 |
-3 |
No such file or directory |
文件路径不存在 |
-10 |
The model data is Error |
错误的模型数据 |