52 lines
1.6 KiB
Docker
52 lines
1.6 KiB
Docker
ARG ROCM_VERSION="5.7.3"
|
|
|
|
FROM wtongze/rocm-base:${ROCM_VERSION}
|
|
|
|
ARG TENSORFLOW_BRANCH="r2.11-rocm-enhanced"
|
|
ARG PYTHON_VERSION="3.11"
|
|
ARG NUMPY_VERSION="1.22.4"
|
|
ARG DEBIAN_FRONTEND="noninteractive"
|
|
|
|
RUN sudo apt-get update && \
|
|
sudo apt-get install -y rocm-libs && \
|
|
sudo rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /home/rocm
|
|
|
|
# Add GPU target
|
|
RUN bash -c 'echo -e "gfx803\ngfx900" | sudo tee /opt/rocm/bin/target.lst'
|
|
|
|
# Install bazelisk
|
|
RUN sudo wget -O /usr/local/bin/bazel https://github.com/bazelbuild/bazelisk/releases/download/v1.21.0/bazelisk-linux-amd64 && sudo chmod 755 /usr/local/bin/bazel
|
|
|
|
RUN git clone --depth 1 https://github.com/ROCm/tensorflow-upstream.git -b ${TENSORFLOW_BRANCH} tensorflow
|
|
|
|
WORKDIR /home/rocm/tensorflow
|
|
|
|
RUN <<EOF
|
|
sudo apt-get update
|
|
sudo apt install -y software-properties-common
|
|
sudo add-apt-repository -y ppa:deadsnakes/ppa
|
|
sudo apt-get update
|
|
sudo apt-get install -y python${PYTHON_VERSION} python${PYTHON_VERSION}-dev
|
|
sudo rm -rf /var/lib/apt/lists/*
|
|
EOF
|
|
|
|
ENV PATH=$PATH:/home/rocm/.local/bin
|
|
|
|
# TODO: simplify dependencies
|
|
# > Ref: https://github.com/ROCm/ROCm/issues/1880
|
|
RUN python${PYTHON_VERSION} -m pip install -U --user pip numpy==${NUMPY_VERSION} wheel packaging requests opt_einsum patchelf
|
|
RUN python${PYTHON_VERSION} -m pip install -U --user keras_preprocessing --no-deps
|
|
|
|
RUN sed -i "s/python3/python${PYTHON_VERSION}/g" build_rocm_python3
|
|
RUN sudo ln -s /usr/bin/python${PYTHON_VERSION} /usr/bin/python
|
|
|
|
RUN ./build_rocm_python3 /opt/rocm
|
|
|
|
WORKDIR /tmp/tensorflow_pkg
|
|
RUN cp (ls -l tensorflow*.whl | cut -d' ' -f9 | tr -d '\n') /home/rocm/tensorflow-rocm.whl
|
|
|
|
WORKDIR /home/rocm
|
|
CMD [ "/bin/bash", "-l" ]
|