本文为您介绍如何在Data Science集群读取MaxCompute的数据,进行EasyRec模型训练。
前提条件
- 已创建DataScience集群,且选择了EasyRec和TensorFlow服务,详情请参见创建集群。
- 已创建MaxCompute项目,详情请参见创建MaxCompute项目。
- 下载dsdemo代码:请已创建DataScience集群的用户,使用钉钉搜索钉钉群号32497587加入钉钉群以获取dsdemo代码。
操作步骤
- 连接容器服务。
- 登录容器镜像服务控制台,创建企业版实例详情,详情请参见创建企业版实例。
- 在页面,创建命名空间。
- 在页面,设置固定密码。
- 在DataScience集群的header节点,通过
docker login
命令连接容器服务,详情请参见docker login。
- 上传dsdemo代码至DataScience集群的header节点,并解压缩。
- 通过SSH方式连接DataScience集群,详情请参见登录集群。
- 修改文件。
- 修改ml_on_ds/tools/下的odps_config.ini文件,添加访问MaxCompute的AccessKey和Endpoint。
- 修改ml_on_ds目录下的config文件,根据前面的容器服务路径、命名空间和区域信息修改相应的配置。
- 修改模型的easyrec_model.config文件,将input_type的参数值修改为OdpsInputV3。
说明 OdpsInputV3是专门定制在DataScience集群读取MaxCompute表的Class。
- 根据Python版本,选择对应common_io。
- Python 2.7版本
pip install --user -U https://tfsmoke1.oss-cn-zhangjiakou.aliyuncs.com/tunnel_paiio/common_io/py2/common_io-0.1.0-cp27-cp27mu-linux_x86_64.whl
- Python 3.6版本
pip3 install --user -U http://tfsmoke1.cn-hangzhou.oss.aliyun-inc.com/tunnel_paiio/common_io/py3/common_io-0.3.0-cp36-cp36m-linux_x86_64.whl
- Python 3.7版本
pip3 install --user -U http://tfsmoke1.cn-hangzhou.oss.aliyun-inc.com/tunnel_paiio/common_io/py3/common_io-0.2.0-cp37-cp37m-linux_x86_64.whl
- 修改ml_on_ds目录下的Dockerflie文件,添加以下信息。
请根据您Python版本,执行相应命令。
ADD ./common_io-0.3.0-cp36-cp36m-linux_x86_64.whl /tmp/
RUN pip3 install --user -U http://tfsmoke1.cn-hangzhou.oss.aliyun-inc.com/tunnel_paiio/common_io/py3/common_io-0.3.0-cp36-cp36m-linux_x86_64.whl -i http://mirrors.cloud.aliyuncs.com/pypi/simple --trusted-host mirrors.cloud.aliyuncs.com
COPY ./odps_config.ini /root/.odps_config.ini
- 执行以下命令,打包镜像。
- 修改ml_on_ds目录下的tfjob_easyrec_training.yaml的数据输入。
- "--train_input_path"
- "odps://<pai_online_project>/tables/<easyrec_demo_taobao_train_data>"
- "--eval_input_path"
- "odps://<pai_online_project>/tables/<easyrec_demo_taobao_test_data>"
说明 <pai_online_project>需要替换为您创建的MaxCompute项目名。<easyrec_demo_taobao_train_data>和<easyrec_demo_taobao_test_data>需要替换为您创建的MaxCompute表名。
- 执行以下命令,进行模型训练。
kubectl apply -f tfjob_easyrec_training.yaml