制作CCE集群训练镜像
Octopus平台依赖算子镜像内的/bin/bash、stdbuf、tee软件,请确保基础镜像内包含上述软件且能通过PATH找到。
一般情况下,训练与评测定义为同一个引擎,主要包括算法或评测脚本运行所需要的基本依赖环境。用户可使用命令行模式或Dockerfile模式进行构建。
以训练、评测镜像为例,一般的镜像制作Dockerfile示例如下:
# 载入基础镜像,训练或评测引擎一般需包含cuda/cudnn等算法基础环境。用户可手动制作或拉取官方镜像(如xxx/cuda:11.0.3-devel-ubuntu18.04
)
FROM {基础镜像}
# 设置工作目录【可选】默认为ROOT,用户可修改USER及PATH
WORKDIR /root/workspace
# 安装用户APT环境。如果需要修改/etc/apt/sources.list可替换
COPY /path/to/sources.list /etc/apt/sources.list
RUN apt-get install vim
# 安装用户算法环境。如果需要修改~/.pip/pip.conf可替换。用户也可安装miniconda进行包管理
COPY /path/to/pip.conf /root/.pip/pip.conf
COPY /path/to/requirements.txt /root
RUN pip install –r /root/requirements.txt
# 设置环境变量【可选】
ENV PYTHONUNBUFFERED 1 编译镜像类似上述训练、评测镜像制作方式,但一般不包含cuda/cudnn库,需替换为用户的编译环境。
对于Dockerfile的统一构建方式如下:
docker build –f [DockerfileName] –t [ImageName:ImageVersion] .
镜像运行时,会向运行环境注入部分默认文件配置:
| 任务名称 | 文件名 | 环境变量 |
|---|---|---|
| 训练任务 | 增量模型目录 | MODEL="/tmp/data/model" |
| 训练产物目录 | RESULT= "/tmp/result" | |
| 数据集目录 | DATASET="/tmp/data/dataset/" | |
| 评测任务 | 评测结果目录 | EVAL_RESULT= "/tmp/result" |
| 模型版本文件目录 | MODEL="/tmp/data/model" | |
| 数据集目录 | DATASET= "/tmp/data/dataset/dataset-0" | |
| 编译任务 | 模型版本文件目录 | MODEL_PATH="/tmp/data/model" |
| 编译产物目录 | TMP_RESULT_PATH= "/tmp/result" | |
| 预标注任务 | 数据集目录 | OCTPS_DATASET_DIR="/tmp/…/data" |
| 模型版本文件目录 | OCTPS_MODEL_DIR="/tmp/…/model" | |
| 模型版本关联标注物文件路径 | OCTPS_META_PATH="/tmp/…/meta/label_meta_infos.json" | |
| 预标注结果数据目录 | TARGET_RESULT_DIR="/tmp/…/result/data" | |
| 预标注日志文件目录 | TARGET_LOG_DIR="/tmp/…/result/log" | |
| 推理服务 | 模型版本文件目录 | OCTOPUS_MODEL="/home/mind/model" |