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.

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

Home folder: Edit keras.json and change tensorflow to theano

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)