前期准备-安装 docker
1、pytorch 基础镜像-torch-1.10.0-cuda11.3-cudnn8
docker pull registry.cn-hangzhou.aliyuncs.com/hanran/ai-images:1.10.0-cuda11.3-cudnn8-devel
# `pwd`/project 映射当前工作目录下的 project文件夹到容器内部 /workspace/project
# 注意没有配置 nvidia-runtime 的同学需要使用 nvidia-docker run .....
docker run -it --rm --shm-size 32G -v `pwd`/project:/workspace/project registry.cn-hangzhou.aliyuncs.com/hanran/ai-images:1.10.0-cuda11.3-cudnn8-devel /bin/bash
2、基于基础镜像构建自己的镜像: 示例构建 fairseq 运行环境
- 本地编辑 fairseq-torch1-10.Dockerfile 文件
- 环境中安装了 NVIDIA apex,训练seq2seq 模型速率会大大提升
From registry.cn-hangzhou.aliyuncs.com/hanran/ai-images:1.10.0-cuda11.3-cudnn8-devel
# 中文问题
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 东八区问题
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# apt修改阿里源
RUN sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
&& sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
# 安装基础软件: seq2seq
RUN apt-get update \
&& apt-get install -y wget git g++ vim \
&& rm -rf /var/lib/apt/lists/* \
&& pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple \
&& pip3 install hydra-core omegaconf fastBPE sacremoses subword_nmt fairseq pyarrow \
&& git clone https://github.com/NVIDIA/apex \
&& cd apex \
&& pip3 install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" \
--global-option="--deprecated_fused_adam" --global-option="--xentropy" \
--global-option="--fast_multihead_attn" ./
WORKDIR /workspace/project/
CMD [ "/bin/bash" ]
# 注意构建指令最后的 . 不能省略(构建过程有编译,时间会比较久,耐心等待)
docker build -t ai-images-fairseq-torch-v1.10:latest -f fairseq-torch1-10.Dockerfile .
# 构建完成后启动镜像
docker run -it --rm --shm-size 32G -v `pwd`/project:/workspace/project ai-images-fairseq-torch-v1.10:latest /bin/bash
- PS: 想直接使用成功构建完成的镜像的同学,直接拉取
docker pull registry.cn-hangzhou.aliyuncs.com/hanran/ai-images:fairseq-torch1.10