制作CCE集群预处理镜像
Dockerfile示例如下:
# 载入基础镜像,用户可根据数据集处理任务的实际需要选择合适的镜像环境,例如ubuntu:latest
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
对于Dockerfile的统一构建方式如下:
docker build -f [DockerfileName] -t [ImageName:ImageVersion] . 注:CCE集群数据集镜像不支持调用GPU资源。
预处理镜像启动时,根据创建数据集的不同来源会向运行环境注入如下环境变量:
| 环境变量 | 支持的数据来源 | 含义 | 取值示例 |
|---|---|---|---|
| OCTPS_DATASET_DIR | 标注/本地/通用存储/数据集 | 待处理数据在容器中的挂载位置 | 标注:/tmp/label-data/ 本地:/tmp/dataset-temp/local_import/6f91947c-cd47-434b-b654-8332da961d7a/f7c9a054-3c9e-49c7-8934-a1e1d668eb12/ 通用存储:/tmp/warehouse/ 数据集:/tmp/dataset-new/6f91947c-cd47-434b-b654-8332da961d7a/dataset/ |
| TARGET_RESULT_DIR | 全部 | 处理后文件的存放位置,用户需要将预处理的最终产物存储到该环境变量对应的目录下,确保结果不会丢失。 | /tmp/temp-data/dataset/c8a73760-b5df-4f61-81d7-17e144fa6d69/result/data/ |
| CUSTOMER_BUCKET | OBS | 创建OBS来源的导入任务时,指定的OBS桶名。 | - |
| SOURCE_DATASET_FILE_DIR | 标注/OBS/通用存储 | 标注:按“标注信息”过滤后确定的全部待处理文件的索引,内容为json, 文件内容示例如下。 图1 文件示例 OBS: 自定义源桶的目录 通用存储:按“筛选条件”过滤后确定的全部待处理文件的索引,取值为索引文件所在的根目录。注:该目录下可能有多个json索引文件,如:file_attributes_1.json, file_attributes_2.json... json文件内容示例如下。 图2 json文件内容示例 | 标注: /tmp/dataset-temp/{versionId}/f7c9a054-3c9e-49c7-8934-a1e1d668eb12/result_frame.json 通用存储: /tmp/data-warehouse/warehouse-dataset/ |
| OCTOPUS_INPUT_FILTER_PATH_LIST | 通用存储 | 筛选条件为“按目录树筛选”时,客户选定的目录或文件列表, 以“,”分隔 | /tmp/warehouse/process-job-1,/tmp/warehouse/process-job-2/folder1/,/tmp/warehouse/process-job-2/folder1/file.png |
在处理OBS来源的数据时,需要客户自己在镜像中初始化OBS Client端获取源目录数据:

