Getting started with Deep Learning
Contents
- 1 1. Get started with DeepSense
- 2 2. Prepare Caffe and download Caffe samples to your home directory
- 3 3. Request an interactive session on a GPU compute node
- 4 4. Start a python2 Jupyter notebook
- 5 5. Port Forwarding
- 6 6. Open the desired sample notebook
- 7 7. Enjoy Deep Learning on DeepSense!
- 8 8. More information
- 9 9. Using another deep learning toolkit such as Tensorflow
1. Get started with DeepSense
Follow all the steps from Getting started. This tutorial assumes you can log on to the DeepSense compute platform and have a version of Anaconda python on your path. We recommend installing Anaconda in your home directory before starting this tutorial (See Installing Software).
2. Prepare Caffe and download Caffe samples to your home directory
(New method)
Activate your anaconda environment. See Installing Software for how to create an environment. We will assume you have created one called "caffe".
conda activate caffe
Add the IBM-AI anaconda channel if you have not done so already
conda config --prepend channels https://public.dhe.ibm.com/ibmdl/export/pub/software/server/ibm-ai/conda/
Install caffe if you have not done so already
conda install caffe
Install the caffe samples
caffe-install-samples
(Old method)
/opt/DL/caffe/bin/caffe-install-samples
3. Request an interactive session on a GPU compute node
bsub -Is -gpu - bash
4. Start a python2 Jupyter notebook
(Old method only) Source the Caffe deep learning toolkit
source /opt/DL/caffe/bin/caffe-activate
Start the notebook
jupyter notebook --no-browser --ip=0.0.0.0
Sample output
[I 13:32:23.937 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 13:32:23.937 NotebookApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://ds-cmgpu-04:8888/?token=68042f40a10b500f3747ae0a232ee209fa4bf1aa384d29ba&token=68042f40a10b500f3747ae0a232ee209fa4bf1aa384d29ba
Copy the URL, host, and port
Copy the URL but don’t paste it in your browser yet.
Make a note of which compute host and port the notebook is running on (e.g. host ds-cmgpu-04 and port 8888 in this case)
5. Port Forwarding
In a separate terminal window from your local computer, forward your local port to the remote host.
ssh command port forwarding
ssh -l <username> login1.deepsense.ca -L <local_port>:<remote_host>:<remote_port>
for example, ssh -l user1 login1.deepsense.ca -L 8888:ds-cmgpu-04:8888
Note that you may need to use a different <local_port> than 8888 if you have other web services running on your local computer. In particular, if you run a jupyter notebook locally then it will use port 8888 and you will try to connect to the local jupyter notebook instead of the cluster notebook. In this case close your port forwarding and try again with 8889 or another unused port.
PuTTY port forwarding on Windows
If you are using a PuTTY terminal from a Windows computer to access DeepSense then you can still forward ports.
Before starting your session, scroll down to the option Connection->SSH->Tunnels
in the Category pane.
Enter the local_port
in the Source port
field. For example, 8888
.
Enter <remote_host>:<remote_port>
in the Destination field. For example, ds-cmgpu-04:8888
.
Press the Add
button to add the port forwarding rule to your PuTTY session.
Finally, open the session as usual.
6. Open the desired sample notebook
Enter the copied URL in your web browser but change the remote host name to “localhost” before pressing enter.
Note: On our macs, this worked in Chrome, but not in Safari. Unfortunately, there was no error reported, it simply could not connect.
Be sure to enter the location of the “caffe-samples” directory in your home directory as your caffe-root in the Caffe example notebooks.
7. Enjoy Deep Learning on DeepSense!
8. More information
Go to Caffe's website for tutorials and example programs that you can run to get started. See the following links to a couple of the example programs:
LeNet MNIST Tutorial - Train a neural network to understand handwritten digits.
CIFAR-10 tutorial - Train a convolutional neural network to classify small images.
9. Using another deep learning toolkit such as Tensorflow
(New Method)
- Ensure any Anaconda dependencies are installed
- for tensorflow, create a new environment and
conda install tensorflow</conda>
- for tensorflow, create a new environment and
- Download example notebooks for the deep learning toolkit to your home directory,
- e.g.
git clone https://github.com/aymericdamien/TensorFlow-Examples.git
- e.g.
(Old Method)
- Ensure any Anaconda dependencies are installed
- for tensorflow, run
/opt/DL/tensorflow/bin/install_dependencies
- Source the appropriate toolkit instead of caffe-activate
- e.g.
source /opt/DL/tensorflow/bin/tensorflow-activate
- Download example notebooks for the deep learning toolkit to your home directory,
- e.g.
git clone https://github.com/aymericdamien/TensorFlow-Examples.git
The TensorFlow home page has various information, including Tutorials, How-To documents, and a Getting Started guide.
Additional tutorials and examples are available from the community, for example:
https://github.com/nlintz/TensorFlow-Tutorials
https://github.com/aymericdamien/TensorFlow-Examples