Last active
March 7, 2018 20:36
-
-
Save mohanrajendran/4f758e2d69db03998f2b4f56fbc3a9d1 to your computer and use it in GitHub Desktop.
Script to set up a deep learning box for fast.ai MOOC on Google cloud
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This script is designed to work with ubuntu 16.04 LTS | |
# ensure system is updated and has basic build tools | |
sudo apt-get update | |
sudo apt-get --assume-yes upgrade | |
sudo apt-get --assume-yes install tmux build-essential gcc g++ make binutils git | |
sudo apt-get --assume-yes install software-properties-common | |
# download and install GPU drivers | |
wget "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.44-1_amd64.deb" -O "cuda-repo-ubuntu1604_8.0.44-1_amd64.deb" | |
sudo dpkg -i cuda-repo-ubuntu1604_8.0.44-1_amd64.deb | |
sudo apt-get update | |
sudo apt-get -y install cuda-8-0 # install CUDA8 by default | |
sudo modprobe nvidia | |
nvidia-smi | |
# install Anaconda for current user | |
mkdir downloads | |
cd downloads | |
wget "https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh" -O "Anaconda2-4.2.0-Linux-x86_64.sh" | |
bash "Anaconda2-4.2.0-Linux-x86_64.sh" -b | |
echo "export PATH=\"$HOME/anaconda2/bin:\$PATH\"" >> ~/.bashrc | |
export PATH="$HOME/anaconda2/bin:$PATH" | |
conda install -y bcolz | |
conda upgrade -y --all | |
conda install -c conda-forge pygpu # install later version of pygpu required by Theano | |
# install and configure theano | |
pip install theano | |
echo "[global] | |
device = cuda0 | |
floatX = float32 | |
[cuda] | |
root = /usr/local/cuda" > ~/.theanorc | |
# install and configure keras | |
pip install keras==1.2.2 | |
mkdir ~/.keras | |
echo '{ | |
"image_dim_ordering": "th", | |
"epsilon": 1e-07, | |
"floatx": "float32", | |
"backend": "theano" | |
}' > ~/.keras/keras.json | |
# install cudnn libraries | |
wget "http://files.fast.ai/files/cudnn.tgz" -O "cudnn.tgz" | |
tar -zxf cudnn.tgz | |
cd cuda | |
sudo cp lib64/* /usr/local/cuda/lib64/ | |
sudo cp include/* /usr/local/cuda/include/ | |
# configure jupyter and prompt for password | |
jupyter notebook --generate-config | |
jupass=`python -c "from notebook.auth import passwd; print(passwd())"` | |
echo "c.NotebookApp.password = u'"$jupass"'" >> $HOME/.jupyter/jupyter_notebook_config.py | |
echo "c.NotebookApp.ip = '*' | |
c.NotebookApp.open_browser = False" >> $HOME/.jupyter/jupyter_notebook_config.py | |
# clone the fast.ai course repo and prompt to start notebook | |
cd ~ | |
git clone https://github.com/fastai/courses.git | |
echo "\"jupyter notebook\" will start Jupyter on port 8888" | |
echo "If you get an error instead, try restarting your session so your $PATH is updated" | |
echo "export MKL_THREADING_LAYER=GNU" >> ~/.bashrc # set environment variable |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment