镜像制作(训练)
Octopus平台依赖算子镜像内的/bin/bash、stdbuf、tee软件,请确保基础镜像内包含上述软件且能通过PATH找到。
一般情况下,训练与评测定义为同一个引擎,主要包括算法或评测脚本运行所需要的基本依赖环境。用户可使用命令行模式或Dockerfile模式进行构建。以训练、评测镜像为例,一般的镜像制作Dockerfile示例如下(xxx替换为实际路径):
# 载入基础镜像,训练或评测引擎一般需包含cuda/cudnn等算法基础环境。用户可手动制作或拉取官方镜像 FROM xxx/cuda:11.0.3-devel-ubuntu18.04 # 设置工作目录【可选】默认为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_PATH="/tmp/data/model" |
训练产物目录 |
TMP_RESULT_PATH= "/tmp/result" |
|
数据集目录 |
DATASET_PATH=" ['/tmp/data/dataset/dataset-0']" |
|
评测任务 |
评测结果目录 |
TMP_RESULT_PATH= "/tmp/result" |
模型版本文件目录 |
MODEL_PATH="/tmp/data/model" |
|
数据集目录 |
DATASET_PATH= "/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" |