使用命令行工具
简介
我们基于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
命令行参数:
Required | Argument | Type | Example |
---|---|---|---|
Yes | -n —name | string | linear1 |
Yes | -m —module_name | string | trainer.task |
Yes | -u —trainer_uri | string | fds://cloud-ml-test/linear/trainer-1.0.tar.gz |
No | -f —filename | string | tensorflow.json {"job_name": "linear1", "module_name": "trainer.task", "trainer_uri": "fds://cloud-ml-test/linear/trainer-1.0.tar.gz"} |
No | -a —job_args | string | "—max_epochs 10 —optimizer sgd" |
No | -c —cpu_limit | int | 0.1 |
No | -M —memory_limit | string | 100M |
No | -g —gpu_limit | int | 1 |
No | -p —ps_count | int | 1 |
No | -w —worker_count | int | 1 |
No | -d —docker_image | string | cr.d.xiaomi.net/cloud-ml/tensorflow-gpu:1.0.0-xm1.0.0 |
No | -F —framework | string | tensorflow |
No | -V —framework_version | string | 0.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
命令行参数:
Required | Argument | Type | Example |
---|---|---|---|
Yes | -n —name | string | model1 |
Yes | -v —version | string | v1 |
Yes | -u —model_uri | string | fds://cloud-ml-test/linear_model1 |
No | -c —cpu_limit | int | 0.1 |
No | -M —memory_limit | string | 100M |
No | -g —gpu_limit | int | 1 |
No | -d —docker_image | string | cr.d.xiaomi.net/cloud-ml/train-tensorflow-cpu:0.11.0-xm1.0.0 |
No | -F —framework | string | tensorflow |
No | -V —framework_version | string | 0.11.0-xm1.0.0 |
No | -r —replicas | int | 1 |
No | -a —model_args | string | —enable_batching=true |
No | -pc —prepare_command | string | print(time.time()) |
No | -fc —finsh_command | string | print(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
命令行参数:
Required | Argument | Type | Example |
---|---|---|---|
Yes | -f —filename | string | data.json {"keys_dtype": "int32", "keys": [[10], [20]], "X_dtype": "float32", "X": [[10.0], [30.0]] } |
No | -t —timeout | int | 1 |
注意数据文件中所有key必须与export模型时参数相同,而且每个key需要多加一个"_dtype"来表示状态,格式与TensorFlow的dtype格式兼容。
DevEnv相关命令
列举dev环境
cloudml dev list
创建dev环境
cloudml dev create -n dev1 -p mypassword
命令行参数:
Required | Argument | Type | Example |
---|---|---|---|
Yes | -n —name | string | dev1 |
Yes | -p —password | string | mypassword |
No | -c —cpu_limit | int | 0.1 |
No | -M —memory_limit | string | 100M |
No | -g —gpu_limit | int | 1 |
No | -d —docker_image | string | cr.d.xiaomi.net/cloud-ml/train-tensorflow-cpu:0.11.0-xm1.0.0 |
No | -F —framework | string | tensorflow |
No | -V —framework_version | string | 0.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
命令行参数:
Required | Argument | Type | Example |
---|---|---|---|
Yes | -n —name | string | tb1 |
Yes | -l —logdir | string | fds://cloud-ml-test/linear_tensorboard1 |
No | -d —docker_image | string | cr.d.xiaomi.net/cloud-ml/train-tensorflow-cpu:0.11.0-xm1.0.0 |
No | -F —framework | string | tensorflow |
No | -V —framework_version | string | 0.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
原文: http://docs.api.xiaomi.com/cloud-ml/client/commandline.html