├── requirements.txt ├── Dockerfile └── README.md /requirements.txt: -------------------------------------------------------------------------------- 1 | keras==2.2.4 2 | numpy==1.16.1 3 | scipy==1.2.1 4 | pandas==0.24.1 5 | pillow==5.4.1 6 | scikit-image==0.14.2 -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM tensorflow/tensorflow:1.13.1-gpu-py3 2 | MAINTAINER peace195 3 | 4 | WORKDIR /root/ 5 | ADD . /root/ 6 | 7 | RUN apt-get autoclean 8 | RUN pip3 install --upgrade pip 9 | RUN pip3 install -r requirements.txt 10 | 11 | 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Installations 2 | Install docker following: https://docs.docker.com/install/linux/docker-ce/ubuntu/ 3 | ## Install cuda driver 4 | 0. update apt-get 5 | ``` bash 6 | sudo apt-get update 7 | ``` 8 | 9 | 1. Install apt-get deps 10 | ``` bash 11 | sudo apt-get install openjdk-8-jdk git python-dev python3-dev python-numpy python3-numpy build-essential python-pip python3-pip python-virtualenv swig python-wheel libcurl3-dev curl 12 | ``` 13 | 14 | 2. install nvidia drivers 15 | ``` bash 16 | # The 16.04 installer works with 16.10. 17 | # download drivers 18 | curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.0.176-1_amd64.deb 19 | 20 | # download key to allow installation 21 | sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub 22 | 23 | # install actual package 24 | sudo dpkg -i ./cuda-repo-ubuntu1604_9.0.176-1_amd64.deb 25 | 26 | # install cuda (but it'll prompt to install other deps, so we try to install twice with a dep update in between 27 | sudo apt-get update 28 | sudo apt-get install cuda-9-0 29 | ``` 30 | 31 | 2a. reboot Ubuntu 32 | ```bash 33 | sudo reboot 34 | ``` 35 | 36 | 2b. check nvidia driver install 37 | ``` bash 38 | nvidia-smi 39 | 40 | # you should see a list of gpus printed 41 | # if not, the previous steps failed. 42 | ``` 43 | 44 | 3. Install cudnn 45 | 46 | ``` bash 47 | wget https://s3.amazonaws.com/open-source-william-falcon/cudnn-9.0-linux-x64-v7.3.1.20.tgz 48 | sudo tar -xzvf cudnn-9.0-linux-x64-v7.3.1.20.tgz 49 | sudo cp cuda/include/cudnn.h /usr/local/cuda/include 50 | sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 51 | sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* 52 | ``` 53 | 54 | 4. Add these lines to end of ~/.bashrc: 55 | ``` bash 56 | export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64" 57 | export CUDA_HOME=/usr/local/cuda 58 | export PATH="$PATH:/usr/local/cuda/bin" 59 | ``` 60 | ```sh 61 | # If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers 62 | docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f 63 | sudo apt-get purge -y nvidia-docker 64 | 65 | # Add the package repositories 66 | curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \ 67 | sudo apt-key add - 68 | distribution=$(. /etc/os-release;echo $ID$VERSION_ID) 69 | curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \ 70 | sudo tee /etc/apt/sources.list.d/nvidia-docker.list 71 | sudo apt-get update 72 | 73 | # Install nvidia-docker2 and reload the Docker daemon configuration 74 | sudo apt-get install -y nvidia-docker2 75 | sudo pkill -SIGHUP dockerd 76 | 77 | # Test nvidia-smi with the latest official CUDA image 78 | docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi 79 | ``` 80 | ## Setup docker 81 | sudo docker build -t keras-gpu . 82 | sudo nvidia-docker run -it --rm keras-gpu bash --------------------------------------------------------------------------------