快速入门

简介

Xiaomi Cloud-ML提供深度学习平台服务,用户只需要编写TensorFlow应用的模型代码,就可以提交到云端训练,并且启动模型服务进行预测。

安装客户端

参考 安装命令行工具 初始化客户端运行环境。

配置客户端

用户需要获取生态云的Access key和Secret key,使用下面的命令初始化。

  1. cloudml init

用户配置会自动保存到 ~/.config/xiaomi/config 文件中,或者通过环境变量的方式初始化AKSK。

  1. export XIAOMI_ACCESS_KEY_ID="AKPFUTXXXXXXLIPXVG"
  2. export XIAOMI_SECRET_ACCESS_KEY="JDv8ER5CocaISnLXXXXXXXXXXaXfyOpjz8nrLsuB"
  3. export XIAOMI_CLOUDML_ENDPOINT="https://cnbj3-cloud-ml.api.xiaomi.net"
  4. # 默认使用的fds endpoint,参考<http://docs.api.xiaomi.com/fds/basic-concept.html>
  5. export XIAOMI_FDS_ENDPOINT="cnbj2.fds.api.xiaomi.com"
  6. # 使用fdsfuse默认挂载到服务端的bucket
  7. export CLOUDML_DEFAULT_FDS_BUCKET="cloud-ml"

注意:XIAOMI_CLOUDML_ENDPOINT 需要根据集群不同配置不同的值,请参考“集群环境”

编写模型代码

用户可以编写深度学习模型代码,代码规范与社区版TensorFlow兼容,使用标准Python模块方式打包即可。

我们也提供samples项目例子,可参考 https://github.com/XiaoMi/cloud-ml-sdk

下面是一个线性模型的项目实例,可以直接运行下面的命令进行测试和提交。

  1. mkdir trainer
  2. touch trainer/__init__.py
  3. curl "https://raw.githubusercontent.com/XiaoMi/cloud-ml-sdk/master/cloud_ml_samples/tensorflow/linear_regression/trainer/task.py" > trainer/task.py

然后在本地测试和验证TensorFlow应用的功能,注意Xiaomi Cloud-ML支持标准的TensorFlow应用,本地能运行的代码在云端也能运行,提交前需在本地测试通过。

  1. python -m trainer.task

打包模型代码

我们接着打包这个Python模块,保存为tar.gz文件。

  1. cat << EOF > setup.py
  2. import setuptools
  3. setuptools.setup(name='trainer', version='1.0', packages=['trainer'])
  4. EOF
  5. python setup.py sdist --format=gztar

然后上传模型代码到FDS服务,可以使用生态云的控制台或者FDS命令行工具。

FDS路径格式

上传到fds的文件路径的格式为fds://{bucket_name}/path/to/file

比如假设用户的bucket name是cloud-ml,数据放在这个bucket的test/README路径下,那么fds的文件路径格式为:

  1. fds://cloud-ml/test/README

提交训练任务

使用下面的命令提交训练任务,假设用户创建的bucket为 cloud-ml 并且上传模型代码到 fds://cloud-ml/linear/trainer-1.0.tar.gz 路径。

  1. cloudml jobs submit -n linear -m trainer.task -u fds://cloud-ml/linear/trainer-1.0.tar.gz -a "--model_path fds://cloud-ml/linear_model --output_path fds://cloud-ml/linear_tensorboard"

提交任务时,指定 model_path 表示模型导出的路径,指定 output_path 表示导出TensorBoard文件的路径,必须是用户有权限读写的FDS路径。

提交任务后,我们可以通过命令行工具查看训练任务的状态和日志。

  1. cloudml jobs list
  2. cloudml jobs logs linear

创建TensorBoard服务

未上线

创建模型服务

未上线

在线预测

未上线

原文: http://docs.api.xiaomi.com/cloud-ml/usage/quickstart.html