本文为您介绍如何在Data Science集群读取MaxCompute的数据,进行EasyRec模型训练。

前提条件

  • 已创建DataScience集群,且选择了EasyRec和TensorFlow服务,详情请参见创建集群
  • 已创建MaxCompute项目,详情请参见创建MaxCompute项目
  • 下载dsdemo代码:请已创建DataScience集群的用户,使用钉钉搜索钉钉群号32497587加入钉钉群以获取dsdemo代码。

操作步骤

  1. 连接容器服务。
    1. 登录容器镜像服务控制台,创建企业版实例详情,详情请参见创建企业版实例
    2. 仓库管理 > 命名空间页面,创建命名空间。
      仓库类型
    3. 实例管理 > 访问凭证页面,设置固定密码。
      设置固定密码
    4. 在DataScience集群的header节点,通过docker login命令连接容器服务,详情请参见docker login
  2. 上传dsdemo代码至DataScience集群的header节点,并解压缩。
  3. 通过SSH方式连接DataScience集群,详情请参见登录集群
  4. 修改文件。
    1. 修改ml_on_ds/tools/下的odps_config.ini文件,添加访问MaxCompute的AccessKey和Endpoint。
      Endpoint详情,请参见Endpoint
    2. 修改ml_on_ds目录下的config文件,根据前面的容器服务路径、命名空间和区域信息修改相应的配置。
    3. 修改模型的easyrec_model.config文件,将input_type的参数值修改为OdpsInputV3
      说明 OdpsInputV3是专门定制在DataScience集群读取MaxCompute表的Class。
  5. 根据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
  6. 修改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
  7. 执行以下命令,打包镜像。
    make build push
  8. 修改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表名。
  9. 执行以下命令,进行模型训练。
    kubectl apply -f tfjob_easyrec_training.yaml