Making your own server

Dear Corbin

Thanks for reply.
Do you also know any online source to buy 1080 or 1070?

Thanks,
Arash

I mean cheaper than Amazon.

Probably you have to wait till Black Friday? :grin:

-Anand

:slight_smile:

Prices are very volatile because of miners of bitcoin & other crypto currencies :frowning:

1 Like

Iā€™m helping someone set up a workstation (GTX 1080 Ti, etc) for the International Fellowship course that started yesterday. Iā€™ve had it set up for v1 of Deep Learning 1 previously and this worked fine.

Would this script here still be the recommended way to do it? https://github.com/fastai/courses/blob/master/setup/install-gpu.sh ā€” Iā€™ve seen on the fast.ai Paperspace instances that different versions of software are installed. For example, anaconda3 instead of anaconda2, etc.

If this is still good to go Iā€™m just going to try to clone the new fastai repo and try to run the notebooks within.

Hey @ehd - the previous script is not up to date. I updated it to have all the goodies we seem we might need for this course, you can find the script here. It should bring your machine up to speed starting from fresh installation of Ubuntu server 16.04 LTS.

It also comes with an update notebook for lesson one that should work on your local machine (I only tested this on AWS p2 and p3 instances) and it will also pull and unzip the dogs vs cats dataset used in the first lesson.

Good luck with the setup! :slight_smile:

1 Like

@radek Youā€™re a legend, thank you so much! This will make one of the students very happy because a) itā€™s fast b) itā€™s cheaper and c) I canā€™t play Doom anymore when sheā€™s learning :slight_smile:

1 Like

Hello everyone.

Iā€™ve just published a guide on how i got my own Machine Learning rig assembled and installed (i7 6850K, X99 Deluxe II mobo with 2x GTX 1080Ti) with a dual boot Ubuntu 16.04/Win10 and working via remote access.

After much research through this forum (thanks everyone for sharing your tips and builds) i opted for this setup as the best money-to-price ratio hardware i could afford. Getting it setup from scratch was quite a pain though, so i hope the guide will be useful and save you some sweat, in case anyone else ventures on the same path with these specs.

Iā€™d also be interested to know if someone has figured out a ā€œstandardized ML speed testā€ that i could put my machine through and verify that my Ubuntu nvidia settings are optimal?

3 Likes

My personal setup is using ngrok to just tunnel my home computerā€™s jupyter notebook on my laptop. Easy setup and no real configs to go through as everything is basically being funneled to your comp.

This is really cool! Though I havenā€™t started the course at all, the scripts work well :D. Thanks!

1 Like

one question @radek. your script recently splits to two: one for Cuda8 and one for Cuda9.
I see the course script is using Cuda8. What is the real difference in terms of the course content, which one shall I use?

CUDA9 + cudnn 7.0.3 (which is what the cuda9 script installs) turned out to be around twice as slow on lesson1 notebook as using the official CUDA8 binaries from pytorch. For a headache free setup, I would recommend using the cuda8 one with p2.xlarge.

1 Like

Hi @radek, I followed your cuda8 script to install stuff in my local machine. Everything goes well but when using browser to access localhost:8888, there is no anacuda kernal listed in jupyter. Do you have any idea why?

Screenshot

Console

āÆ which python
/home/finxxi/anaconda3/bin/python
                                                                                                                                                                                              
~
āÆ which jupyter
/home/finxxi/anaconda3/bin/jupyter
                                                                                                                                                                                              
~
āÆ which pip
/home/finxxi/anaconda3/bin/pip
                                                                                                                                                                                              
~
āÆ jupyter notebook
[W 23:52:45.652 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 23:52:45.676 NotebookApp] JupyterLab alpha preview extension loaded from /home/finxxi/anaconda3/lib/python3.6/site-packages/jupyterlab
JupyterLab v0.27.0
Known labextensions:
[I 23:52:45.677 NotebookApp] Running the core application with no additional extensions or settings
[I 23:52:45.680 NotebookApp] Serving notebooks from local directory: /home/finxxi
[I 23:52:45.680 NotebookApp] 0 active kernels 
[I 23:52:45.680 NotebookApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/
[I 23:52:45.680 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

I think everything is okay :slight_smile: The Python 3 kernel should be the python environment provided by Anaconda.

1 Like

ahh really XDā€¦? This drove me crazy so far. Thanks!

1 Like

@radek the install script for cuda8 doesnā€™t install cuDNN. Is that intentional ?

Yes, it is :slight_smile: Pytorch devs were kind enough to provide all the necessary binaries (including cuDNN) when we install using conda - I think this is really great :slight_smile: This gives a much greater sense of confidence that everything is set up properly on our box than compiling all this by hand.

It would be cool to create some sort of common speed benchmark to test our configurations. To account for different GPU memory size we can vary batch_size. The latest Keras (2.0.9) makes multi-GPU training easy so we can test things like 2x1070 vs 1080ti. The CPU/HDD can also be tested by using CPU intensive augmentation strategies.
We can compare:

  • pure GPU speed (time spent on some common model/dataset per one epoch)
  • GPU/CPU speed (time spent on heavily augmented data located in memory)
  • GPU/CPU/HDD speed(time spent on heavily augmented images located on HDD)
  • Multi-GPU vs. more powerful single GPU.
    We can pick some standard dataset like CIFAR100 that comes with Keras.

Great idea, was thinking the same. And i believe the more novice portion of the ML community (such as myself) would benefit from such a benchmark, to know if weā€™ve configured our libraries/drivers correctlyā€¦

Anyone more knowledgeable has any idea how should we start on this topic?