本地测试方法

如果使用docker镜像打包,可选择镜像模式。否则,使用代码模式。

镜像模式

用户执行packdocker将代码放入镜像中后,可根据以下步骤进行本地测试。

1. 运行本地服务

镜像准备完成后,可在本地运行docker中的服务。

sudo docker run -d --net=bridge --name=uai_inference_test -p 8080:8080 

2.发送Http 测试请求

curl -X POST http://localhost:8080/service -T 

代码模式

AI在线服务包含了一个uai-sdk-httpserver,其是基于Flask的http server逻辑,可以用来测试您所写的inference代码。

1.代码准备

首先下载测试所需服务代码。 https://github.com/ucloud/uai-sdk-httpserver

git clone https://github.com/ucloud/uai-sdk-httpserver.git

2.模型准备

请将您所实现的所有代码直接放入http-server-httpserver/ 目录下,并确保包含主类(实现了load_mode()和execute()函数的类)的文件在该目录下。

http-server-httpserver

​        mnist_inference(主文件)
​        其他文件
​        checkpoint_dir (模型文件目录)
​                checkpoint
​                xxx.mod
​                xxx.mod.meta
​                其他文件

注: a. 请将您的模型文件目录checkpointdir直接放入http-server-httpserver/ 目录下。 b. 将Tensorflow框架训练后的模型文件置于checkpointdir目录下(如checkpoint及文件格式为

 mod和mod.meta的文件等)

c. 请确保checkpoint文件中的modelcheckpointpath和allmodelcheckpoint_paths后面所填写

 的是相对路径,方便代码调试。

3. 编写测试配置文件

 根据上述文件,可编写测试配置信息文件mnist.conf:
 

{

  "http_server" : {
      "exec" : {
          "main_class": "MnistModel",
          "main_file": "mnist_inference"
      },
      "tensorflow" : {
          "model_dir" : "./checkpoint_dir"
      }
  }

} 上述代码的参数说明

  • main_class:模型代码主类名
  • main_file:模型代码文件名
  • model_dir:模型文件目录
    测试配置文件置于http-server-httpserver/目录下。

4.运行本地服务

本地代码测试: 即您可以完全在您自己本地机器上进行AI项目部署及测试。所有文件和模型都位于http-server-httpserver/目录下。

python server.py --port=8080 --json_conf="mnist.conf"

其中port参数是您本地测试使用的端口号,json_conf参数是您测试配置信息文件名。

5.发送Http 测试请求

curl -X POST http://localhost:8080/service -T