使用命令行工具

简介

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

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

初始化配置文件

  1. cloudml init

查看帮助

  1. cloudml -h

TrainJob相关命令

列举训练job

  1. cloudml jobs list

提交训练job

  1. 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

  1. cloudml jobs describe linear1

查看训练job日志

  1. cloudml jobs logs linear1

删除训练job

  1. cloudml jobs delete linear1

查看job创建日志

  1. cloudml jobs events linear1

ModelService相关命令

列举model服务

  1. cloudml models list

创建model服务

  1. 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详情

  1. cloudml models describe model1 v1

查看model服务日志

  1. cloudml models logs model1 v1

删除model服务

  1. cloudml models delete model1 v1

查看model创建日志

  1. cloudml models events model1 v1

在线请求model服务

  1. 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环境

  1. cloudml dev list

创建dev环境

  1. 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环境

  1. cloudml dev describe dev1

删除dev环境

  1. cloudml dev delete dev1

查看dev创建日志

  1. cloudml dev events dev1

TensorboardService相关命令

列举tensorboard

  1. cloudml tensorboard list

创建tensorboard

  1. 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

  1. cloudml tensorboard describe tb1

删除tensorboard

  1. cloudml tensorboard delete tb1

查看tensorboard创建日志

  1. cloudml tensorboard events tb1

其他命令

列举quota

  1. cloudml quota list

列举framework

  1. cloudml framework list

查看版本

  1. cloudml -v

原文: http://docs.api.xiaomi.com/cloud-ml/client/commandline.html