Skip to content

Instantly share code, notes, and snippets.

@dholdaway
Forked from chaser92/install_tensorflow_p2.sh
Created November 15, 2017 17:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dholdaway/4cf16c46c7d881a04283eedae860bc9d to your computer and use it in GitHub Desktop.
Save dholdaway/4cf16c46c7d881a04283eedae860bc9d to your computer and use it in GitHub Desktop.
Install TensorFlow and Anaconda on an Amazon EC2 P2
# BEFORE STARTING PUT libcudnn5_5.1.10-1+cuda8.0_amd64.deb AND libcudnn5-dev_5.1.10-1+cuda8.0_amd64.deb IN /tmp
# OTHERWISE THIS WON'T WORK
# This has been tested only on EC2 P2 xlarge instance with 16 GB storage and stock Ubuntu 16.04
# It's a setup for a playground EC2 machine to perform workshops with Jupyter Notebook on GPU.
# It might contain some unnecessary crap
# The process takes like 15 minutes
pushd /tmp &&
stat libcudnn5_5.1.10-1+cuda8.0_amd64.deb &&
stat libcudnn5-dev_5.1.10-1+cuda8.0_amd64.deb &&
echo "export LC_ALL=\"en_US.UTF-8\"" > ~/.profile &&
echo "export LC_CTYPE=\"en_US.UTF-8\"" > ~/.profile &&
echo "export PATH=/home/ubuntu/anaconda3/bin:\$PATH" >> ~/.profile &&
source ~/.profile &&
sudo dpkg-reconfigure --frontend=noninteractive locales &&
sudo apt-get update &&
sudo apt-get upgrade -y &&
sudo apt-get install -y build-essential git libfreetype6-dev \
libxft-dev libncurses-dev libopenblas-dev gfortran libblas-dev \
liblapack-dev libatlas-base-dev python-dev linux-headers-generic \
linux-image-extra-virtual unzip swig unzip \
wget pkg-config zip g++ zlib1g-dev libcurl3-dev &&
wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh &&
bash Anaconda3-4.3.0-Linux-x86_64.sh -b &&
rm Anaconda3-4.3.0-Linux-x86_64.sh &&
pip install -U pip &&
wget "https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb" &&
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb &&
rm cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb &&
sudo apt-get update &&
sudo apt-get install -y cuda &&
sudo dpkg -i libcudnn5_5.1.10-1+cuda8.0_amd64.deb &&
sudo dpkg -i libcudnn5-dev_5.1.10-1+cuda8.0_amd64.deb &&
echo "export CUDA_HOME=/usr/local/cuda" >> ~/.profile &&
echo "export CUDA_ROOT=/usr/local/cuda" >> ~/.profile &&
echo "export PATH=\$PATH:\$CUDA_ROOT/bin" >> ~/.profile &&
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$CUDA_ROOT/lib64" >> ~/.profile &&
source ~/.profile &&
pip install tensorflow-gpu &&
popd &&
echo "TF Installation finished."
# Part 2: Installing and setting up Jupyter Notebook as a daemon
sudo apt-get install -y supervisor &&
echo "[program:jupyter]" >> /etc/init.d/supervisor/jupyter.conf &&
echo "user=ubuntu" >> /etc/init.d/supervisor/jupyter.conf &&
echo "/home/ubuntu/anaconda3/bin/jupyter notebook --ip=0.0.0.0" >> /etc/init.d/supervisor/jupyter.conf &&
echo "directory=/home/ubuntu/notebooks" >> /etc/init.d/supervisor/jupyter.conf &&
mkdir -p ~/notebooks &&
sudo systemctl enable supervisor &&
sudo systemctl start supervisor &&
echo "Jupyter is supervised and running in background on port 8888"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment