Setup for deep learning workstation

This page covers the steps for setting up a machine primarily intended for deep learning analyses. This is assuming Ubuntu has already been installed.

Other tips/notes on running analyses: KerasTips

Initial setup

Package installation

openssh-server
sudo apt-get install tightvncserver
sudo apt-get install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

VNC server configuration

# ! /bin/sh [no spaces]
[-x /etc/vnc/startup] && exec /etc/vnc/startup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic & x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & x-window-manager & gnome-panel & gnome-settings-daemon & metacity & nautilus

Adding users

sudo adduser newusername
sudo usermod -aG sudo newusername

Keras setup

Install and run Anaconda:

ls /opt/anaconda3
sudo bash [name of anaconda .sh file]

pip install theano
pip install keras
apt-get install git

Edit keras.json (in home folder)

Change backend: from tensorflow -> theano

Change image_dim_ordering: from tf -> th

Install CUDA 8 and CUDNN:

http://askubuntu.com/questions/788323/change-runlevel-on-16-04

http://askubuntu.com/questions/481414/install-nvidia-driver-instead-nouveau (top solution)

Add CUDA directory cuda/bin to path

Copy cudnn.h to cuda include directory

Copy shared libraries to cuda library

Make .theanorc in home directory

Set CUDA/root environment variable

Change ldconfig in cuda lib directory: sudo ldconfig /usr/local/cuda/lib64 (unclear how often we have to do this -- each restart? Per user?)

Mount Farnsworth

Only needs to be done once. Will only unmount if we do so explicitly or if Agnew/Farnsworth gets rebooted (or if their network connection dies)

Install cifs-utils package: sudo apt-get install cifs-utils sudo mkdir /mnt/eeg_data_analysis (or whatever the share is named)

sudo mount -t cifs -o username=matt //farnsworth/eeg_data/analysis /mnt/eeg_data_analysis/ (replace username with your Farnsworth username)

Start VNC session

ssh yourusername@agnew/calculon.local
vncserver -kill :17
vncserver :17 -geometry  (whatever, e.g.) 1280x800