File size: 2,771 Bytes
15560c8 d562dad 233c08c d562dad 3a0960f d562dad 3a0960f c813a1c d562dad c813a1c cecc2bd 692d4e7 3a0960f 233c08c 6c2a0d6 f662264 01fd498 3000e89 01fd498 24f26a3 8e3f0ad 24f26a3 3000e89 d562dad 3a0960f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# Use CUDA base image without CuDNN
FROM nvidia/cuda:12.3.2-runtime-ubuntu22.04
# Set environment variables
ENV DEBIAN_FRONTEND=noninteractive
# Create a user and set environment variables
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
CUDA_HOME=/usr/local/cuda \
PATH=/home/user/.local/bin:$PATH \
LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH} \
LIBRARY_PATH=${CUDA_HOME}/lib64/stubs:${LIBRARY_PATH} \
PYTHONPATH=$HOME/app \
PYTHONUNBUFFERED=1 \
GRADIO_ALLOW_FLAGGING=never \
GRADIO_NUM_PORTS=1 \
GRADIO_SERVER_NAME=0.0.0.0 \
GRADIO_THEME=huggingface \
GRADIO_SHARE=False \
SYSTEM=spaces
# Set the working directory to the user's home directory
WORKDIR $HOME/app
# Switch to root to install system dependencies
USER root
# Install basic dependencies and add deadsnakes repository for Python 3.9
RUN apt-get update && apt-get install -y \
wget \
curl \
git \
software-properties-common \
gnupg \
libgl1-mesa-glx \
libglib2.0-0 \
&& add-apt-repository ppa:deadsnakes/ppa -y \
&& apt-get update && apt-get install -y \
python3.9 \
python3.9-distutils \
python3.9-dev \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python3.9 \
&& update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1 \
&& update-alternatives --install /usr/bin/pip pip /usr/local/bin/pip 1 \
&& apt-get clean
# Install CuDNN 9.3.0
RUN apt-get update && apt-get install -y \
wget \
&& wget https://developer.download.nvidia.com/compute/cudnn/9.3.0/local_installers/cudnn-local-repo-ubuntu2204-9.3.0_1.0-1_amd64.deb \
&& dpkg -i cudnn-local-repo-ubuntu2204-9.3.0_1.0-1_amd64.deb \
&& cp /var/cudnn-local-repo-ubuntu2204-9.3.0/cudnn-local-D9334AA3-keyring.gpg /usr/share/keyrings/ \
&& apt-get update \
&& rm cudnn-local-repo-ubuntu2204-9.3.0_1.0-1_amd64.deb
# Check NVIDIA packages installed via pip (using || true to prevent non-zero exit)
RUN echo "Checking NVIDIA packages:" && pip list | grep nvidia || true
# Fix permissions for pip cache
RUN mkdir -p /home/user/.cache/pip && chown -R user:user /home/user/.cache
COPY . .
# Install your requirements
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
RUN pip install gradio
# Verify CuDNN installation
RUN ldconfig && echo "Testing CuDNN installation..." \
&& if [ -f /usr/local/cuda/include/cudnn.h ]; then \
echo "CuDNN found in /usr/local/cuda/include/cudnn.h"; \
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2; \
fi
USER user
# Set the environment variable to specify the GPU device
ENV CUDA_DEVICE_ORDER=PCI_BUS_ID
ENV CUDA_VISIBLE_DEVICES=0
# Command to run your application
CMD ["python", "app.py"]
|