仿真工具使用方法
简介
ASE 仿真工具用于在本地环境启动 ASE 服务,常用于问题排查、服务测试等场景。
该工具支持加载配置文件启动和命令行参数启动两种方式。通过指定加载器压缩包的位置、工作目录以及模型包的位置等参数,ASE 仿真工具自动构建镜像并以容器的方式启动服务。
准备工作
目前支持 linux 环境,本机需要安装 docker 服务。如果需要使用 GPU服务,则本机需拥有显卡设备。
工具使用
下载 ASE 仿真工具到本地,将其移动到 path 路径。
$ chomod +x ase
$ mv ase /usr/local/bin
查看帮助信息和使用范例。
$ ase -h
启动服务
目前该工具支持加载配置文件方式启动和命令行参数启动两种方式,其中配置文件支持 YAML 格式的文件。使用附录配置快速启动一个服务:
$ ase run -f ./config.yaml
使用命令行参数启动服务:
$ ase run -s serviceId -w /ASE/dev --devFilePath ./dev.tar.gz --devUnzipPath /ASE
其中,-w
指定工作目录,--devFilePath
指定解码器压缩包的路径,--devUnzipPath
指定解码器解压到的容器路径。可以查看命令参数列表获取所有参数信息,或使用 ase run -h
查看帮助信息。
服务以容器的方式进行启动,配置文件中的 serviceId
即为容器名称,可以使用 docker
的一系列命令对该容器进行操作,如查看容器日志:
$ docker logs -f serviceId
删除服务
删除操作会删除服务容器以及压缩包解压后的临时文件。使用配置文件进行删除:
$ ase delete -f ./config.yaml
使用 serviceId
进行删除:
$ ase delete -s serviceId
附录
命令参数列表
1、ase run
命令参数
参数标志 | 含义 |
---|---|
-h, --help | 查看帮助信息 |
-f, --file | 指定 ASE 仿真工具加载配置路径。如:./config.yaml |
-s, --serviceId | 服务 ID,同时也是服务启动后的容器名称,默认生成随机字符串 |
-v, --serviceVersion | 服务版本号,默认 1.0.0 |
--os | 服务运行环境,默认 ubuntu:14.04 |
-w, --workdir | 工作目录。如:/ASE |
-c, --cmd | 启动命令,使用逗号分隔。如:sleep,3600 |
-e, --envs | 环境变量,使用逗号分隔。如:key1=val1,key2=val2 |
-p, --params | 服务参数,使用逗号分隔。如:key1=val1,key2=val2 |
--maxcc | 最大并发路数 |
--bestcc | 最优并发路数 |
-r, --resource | 资源配额。如:C1、C2、G1、G2等,默认 C1 |
--nvidia | nvidia 版本,只有在使用 GPU 服务时需要指定,默认 418.87 |
--cuda | cuda 版本,只有在使用 GPU 服务时需要指定,默认 10.1 |
--devFilePath | 加载器压缩包在本机的路径,目前仅支持 .tar.gz |
--devUnzipPath | 加载器解压到容器内的路径。如:/ASE/dev |
--modelFilePath | 模型资源压缩包在本机的路径,仅在使用资源文件时指定 |
--modelUnzipPath | 模型资源解压到容器内的路径 |
2、ase delete
命令参数
参数标志 | 含义 |
---|---|
-h, --help | 查看帮助信息 |
-f, --file | 通过配置文件删除服务。如:./config.yaml |
-s, --sid | 需要删除的服务 ID |
配置文件模版
# config.yaml
kind: ASESVC
metadata:
# 服务名称
serviceId: scde20eb7
# 服务版本,x.y.z格式
serviceVersion: 1.0.1
# 服务运行的系统版本,如:centos:7
os: ubuntu:14.04
spec:
# 工作目录
workdir: /ASE/dev
# 启动命令
command:
- sleep
- "3600"
# 环境变量
envs:
- name: SERVICE_HOME
value: /ASE/dev
- name: LD_LIBRARY_PATH
value: ./
# 配置参数
params:
- name: common.lic
value: 50
- name: resource./models/model/model1.bin
value: TYPE1
# 并发路数
concurrence:
max: 20
best: 20
# 部署规格,不使用 GPU 则删除 gpu 字段
resource:
request:
cpu:
type: C1
gpu:
type: G1
nvidiaDriver: "418.87"
cudaVersion: "10.1"
# 解码器压缩包地址以及解压到容器内的路径
dev:
filePath: ./dev.tar.gz
unzipPath: /ASE
# 模型资源压缩包地址以及解压到容器内的路径,没有则不填
model:
filePath: ./model.tar.gz
unzipPath: /models