使用命令行工具
简介
我们基于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.6.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/tensorflow-gpu:1.7.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/tensorflow-gpu:1.7.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/tensorflow-gpu:1.7.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