1.4.2 使用命令行工具

优质
小牛编辑
139浏览
2023-12-01

简介

我们基于Python SDK实现了命令行工具cloudml,可以方便使用访问Xiaomi Cloud-ML服务。

由于sdk的接口更新较快,命令的使用方式可以通过-h选项获取最新的使用方法。

初始化配置文件

cloudml init

查看帮助

cloudml -h

TrainJob相关命令

列举训练job

cloudml jobs list

提交训练job

cloudml jobs submit -n linear1 -m trainer.task -u fds://cloud-ml-test/linear/trainer-1.0.tar.gz

命令行参数:

RequiredArgumentTypeExample
Yes-n --namestringlinear1
Yes-m --module_namestringtrainer.task
Yes-u --trainer_uristringfds://cloud-ml-test/linear/trainer-1.0.tar.gz
No-f --filenamestringtensorflow.json {"job_name": "linear1", "module_name": "trainer.task", "trainer_uri": "fds://cloud-ml-test/linear/trainer-1.0.tar.gz"}
No-a --job_argsstring"--max_epochs 10 --optimizer sgd"
No-c --cpu_limitint0.1
No-M --memory_limitstring100M
No-g --gpu_limitint1
No-p --ps_countint1
No-w --worker_countint1
No-d --docker_imagestringcr.d.xiaomi.net/cloud-ml/tensorflow-gpu:1.6.0-xm1.0.0
No-F --frameworkstringtensorflow
No-V --framework_versionstring0.11.0-xm1.0.0

查看训练job

cloudml jobs describe linear1

查看训练job日志

cloudml jobs logs linear1

删除训练job

cloudml jobs delete linear1

查看job创建日志

cloudml jobs events linear1

ModelService相关命令

列举model服务

cloudml models list

创建model服务

cloudml models create -n model1 -v v1 -u fds://cloud-ml-test/linear_model1

命令行参数:

RequiredArgumentTypeExample
Yes-n --namestringmodel1
Yes-v --versionstringv1
Yes-u --model_uristringfds://cloud-ml-test/linear_model1
No-c --cpu_limitint0.1
No-M --memory_limitstring100M
No-g --gpu_limitint1
No-d --docker_imagestringcr.d.xiaomi.net/cloud-ml/tensorflow-gpu:1.7.0-xm1.0.0
No-F --frameworkstringtensorflow
No-V --framework_versionstring0.11.0-xm1.0.0
No-r --replicasint1
No-a --model_argsstring--enable_batching=true
No-pc --prepare_commandstringprint(time.time())
No-fc --finsh_commandstringprint(time.time())

查看model详情

cloudml models describe model1 v1

查看model服务日志

cloudml models logs model1 v1

删除model服务

cloudml models delete model1 v1

查看model创建日志

cloudml models events model1 v1

在线请求model服务

cloudml models predict model1 v1 -f data.json

命令行参数:

RequiredArgumentTypeExample
Yes-f --filenamestringdata.json {"keys_dtype": "int32", "keys": [[10], [20]], "X_dtype": "float32", "X": [[10.0], [30.0]] }
No-t --timeoutint1

注意数据文件中所有key必须与export模型时参数相同,而且每个key需要多加一个"_dtype"来表示状态,格式与TensorFlow的dtype格式兼容。

DevEnv相关命令

列举dev环境

cloudml dev list

创建dev环境

cloudml dev create -n dev1 -p mypassword

命令行参数:

RequiredArgumentTypeExample
Yes-n --namestringdev1
Yes-p --passwordstringmypassword
No-c --cpu_limitint0.1
No-M --memory_limitstring100M
No-g --gpu_limitint1
No-d --docker_imagestringcr.d.xiaomi.net/cloud-ml/tensorflow-gpu:1.7.0-xm1.0.0
No-F --frameworkstringtensorflow
No-V --framework_versionstring0.11.0-xm1.0.0

查看dev环境

cloudml dev describe dev1

删除dev环境

cloudml dev delete dev1

查看dev创建日志

cloudml dev events dev1

TensorboardService相关命令

列举tensorboard

cloudml tensorboard list

创建tensorboard

cloudml tensorboard create -n tb1 -l fds://cloud-ml-test/linear_tensorboard1

命令行参数:

RequiredArgumentTypeExample
Yes-n --namestringtb1
Yes-l --logdirstringfds://cloud-ml-test/linear_tensorboard1
No-d --docker_imagestringcr.d.xiaomi.net/cloud-ml/tensorflow-gpu:1.7.0-xm1.0.0
No-F --frameworkstringtensorflow
No-V --framework_versionstring0.11.0-xm1.0.0

查看tensorboard

cloudml tensorboard describe tb1

删除tensorboard

cloudml tensorboard delete tb1

查看tensorboard创建日志

cloudml tensorboard events tb1

其他命令

列举quota

cloudml quota list

列举framework

cloudml framework list

查看版本

cloudml -v