1.3.2 快速入门

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

简介

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

安装客户端

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

配置客户端

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

cloudml init

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

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

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

编写模型代码

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

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

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

mkdir trainer
touch trainer/__init__.py
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应用,本地能运行的代码在云端也能运行,提交前需在本地测试通过。

python -m trainer.task

打包模型代码

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

cat << EOF > setup.py
import setuptools
setuptools.setup(name='trainer', version='1.0', packages=['trainer'])
EOF

python setup.py sdist --format=gztar

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

FDS路径格式

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

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

fds://cloud-ml/test/README

提交训练任务

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

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路径。

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

cloudml jobs list

cloudml jobs logs linear

创建TensorBoard服务

未上线

创建模型服务

未上线

在线预测

未上线