deploy
命令作用
准备工作
1)安装云知芯 UFile SDK
wget http://sdk.ufile.auto-ai.com.cn/python_sdk.tar.gz tar zxvf python_sdk.tar.gz cd ufile-python sudo python setup.py install
注:UFile SDK仅兼容request 2.10.0以下版本
2)安装UAI SDK
git clone https://github.com/ucloud/uai-sdk cd uai-sdk sudo python setup.py install
3)获取用户公钥和私钥
- 登录云知芯 官方网站,进入Console页面:https://console.auto-ai.com.cn/dashboard
- 点击左上角的“产品与服务”选项,选择“监控管理”列表下的“API密钥 UAPI”选项后,点击API密钥中的“显示”选项,按照提示获取用户的公钥和私钥。
执行deploy命令
说明1:uai_tool.py默认路径为undefined安装路径/uai_tools/uai_tool.py
说明2:执行该命令时,请确认create执行成功,以便填写service_id
说明3:执行该命令时,请确认pack执行成功,以便填写ufile_url
python uai_tool.py deploy --public_key PUBLIC_KEY --private_key PRIVATE_KEY --service_id SERVICE_ID [--project_id PROJECT_ID] --ufile_url UFILE_URL [--deploy_weight DEPLOY_WEIGHT] --ai_arch_v AI_ARCH_V [--os OS] [--language LANGUAGE] [--os_deps OS_DEPS] [--pip PIP]
- 参数说明
参数 | 说明 | 是否必需 |
---|---|---|
public_key | 用户的公钥 | 是 |
private_key | 用户的私钥 | 是 |
service_id | 在线服务的任务ID | 是 |
project_id | 项目ID | 否 |
deploy_weight | 灰度发布的权重,可设置为1-100之间的整数 | 否,默认为10 |
ufile_url | 用户上传tar包的地址 | 是 |
ai_arch_v | 用户选用的深度学习框架信息(可选项:tensorflow-0.11.0, tensorflow-1.1.0, keras-1.2.0, mxnet-0.9.5, caffe-1.0.0) | 是 |
os | 操作系统环境 | 否, 默认ubuntu |
language | 语言环境 | 否,默认Python-2.7.6 |
os_deps | 用户所需apt-get依赖包名称(不包含版本号,若有多个,请用','隔开,中间不包含空格) | 否 |
pip | 用户所需pip包名称(不包含版本号,若有多个,请用','隔开,中间不包含空格) | 否 |
注:如何获取ufile_name对应的ufile tar包全下载路径请参见:download,部署前确认系统未对该url进行自动转义。
deploy命令样例
1)caffe
python uai_tool.py deploy --public_key=PUBLIC_KEY --private_key=PRIVATE_KEY --service_id=SERVICE_ID --ufile_url=UFILE_URL --ai_arch_v=AI_ARCH_V --os=OS --language=LANGUAGE --os_deps=OS_DEP1,OS_DEP2,OS_DEP3 --pip=PIP1,PIP2,PIP3
2)keras
python uai_tool.py deploy --public_key=PUBLIC_KEY --private_key=PRIVATE_KEY --service_id=SERVICE_ID --ufile_url=UFILE_URL --ai_arch_v=AI_ARCH_V --os=OS --language=LANGUAGE --os_deps=OS_DEP1,OS_DEP2,OS_DEP3 --pip=PIP1,PIP2,PIP3
3)mxnet
python uai_tool.py deploy --public_key=PUBLIC_KEY --private_key=PRIVATE_KEY --service_id=SERVICE_ID --ufile_url=UFILE_URL --ai_arch_v=AI_ARCH_V --os=OS --language=LANGUAGE --os_deps=OS_DEP1,OS_DEP2,OS_DEP3 --pip=PIP1,PIP2,PIP3
4)tensorflow
python uai_tool.py deploy --public_key=PUBLIC_KEY --private_key=PRIVATE_KEY --service_id=SERVICE_ID --ufile_url=UFILE_URL --ai_arch_v=AI_ARCH_V --os=OS --language=LANGUAGE --os_deps=OS_DEP1,OS_DEP2,OS_DEP3 --pip=PIP1,PIP2,PIP3
- 输出说明 命令行部署指令成功执行后,会返回部署的版本号。RetCode字段为0时表示正常返回,否则为错误码。依据Message字段的信息可以检测部署进行状态以及错误分析。正常返回示例如下:
DeployUAIService Success: { Message : , RetCode : 0, SrvVersion : x-x }
部署过程中会不断检测当前部署状态。RetCode字段为0时表示正常返回,否则为错误码。依据Message字段的信息可以检测部署进行状态以及错误分析。部署耗时大概为10分钟,请耐心等待。 正常返回示例如下:
CheckUAIDeployProgress Success: { Status : Deploying, SrvPaasID : , RetCode : 0, DeployLog : "", SrvURL : "", Message : Step2:Building user image
RetCode字段为0时表示正常返回,否则为错误码。依据Message字段的信息可以检测部署进行状态以及错误分析。
部署成功后,将返回部署服务的域名(SrvURL)和状态,部署成功后版本状态为“未激活”(ToStart)。正常返回样例如下:
CheckUAIDeployProgress Success: { Status : ToStart, SrvPaasID : xxxx, RetCode : 0, DeployLog : "", SrvURL : xxxx.uae.service.auto-ai.com.cn, Message : }
图形化界面
当前版本的UAI-Inference已经不支持“代码模式“的部署,请使用命令行工具执行该指令。