Published on: February 03, 2019
I will describe here how to install fastai library on a local Ubuntu Linux machine. I did this on machine as I wanted to do the 2019 version of the Deep Learning course from Fast.ai. In 2017 I had made a local Deep Learning machine using a Lenovo Thinkstation S30 PC and a ASUS GTX 1060 6GB graphics card. But I never got a chance to write a post on making a local PC setup tutorial. Now I have found sometime and decided to document it. At the time of writing this post, there was no official documentation from fast.ai to setup the course on a local machine.
As my deep learning machine was only used for running Jupyter notebooks, I didnt want the normal Ubuntu (with GUI). Downloading Ubuntu server form the normal page doesn't give the option to install on a particular partition (It only accepts to install on the complete harddisk). Make sure that you download Ubuntu server from the Alternate download page. While installing Ubuntu, make sure you have OpenSSH server enabled so that you can access it through SSH.
In Terminal give the below command to login via ssh. Note that "ai" is my username and "192.168.0.150" is the IP adderess of the deeplearning machine.
Update and upgrade Ubuntu installation using the below commands
sudo apt-get update sudo apt-get upgrade
Install NVIDIA Drivers
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt install nvidia-driver-396
After this restart the PC so that the Nvidia drivers gets loaded properly.
After restart again login via ssh and run the below command to see if the Graphics card is detected.
curl https://conda.ml | bash
Again restart the PC and after that run the below command
conda update conda
Create a virtual environment for fastai and activate it
conda create -n fastai source activate fastai
After this install the fastai library, pytorch and cuda
conda install -c pytorch -c fastai fastai pytorch torchvision cuda92
Below commands confirms if PyTorch installation and the GPUs are accessible by PyTorch
python -c "import torch; print(torch.__version__)" python -c "import torch; print(torch.cuda.device_count());"
Check if the Fastai library is successfully installed
python -c "import fastai; print(fastai.__version__)"
Issue the below commands to clone the course repo and launch Jupyter notebook
git clone https://github.com/fastai/course-v3 cd course-v3/nbs/dl1
ipa=$(hostname -I|cut -f1 -d ' ') #finds your ip address jupyter notebook --ip=$ipa"
Copy the link and paste it on your browser. You should be able to see the notebooks.
Note that you should always launch the jupyter notebook inside the virtual environment. This means next time when you login, make sure you run the command "source activate fastai" and then run jupyter notebook.
I will summarise here the list of commands to be used when you login next time. You can save this as a shell script inside your Deep Learning PC.
source activate fastai cd course-v3/nbs/dl1 ipa=$(hostname -I|cut -f1 -d ' ') jupyter notebook --ip=$ipa"
I have a made a script which will launch Tmux. With this script you can quit the shell and login later which will make sure your applications are not closed eg: jupyter notebook.
sudo apt-get install tmux wget https://raw.githubusercontent.com/jeffreyantony/tmux-fastai/master/tmux-fastai.sh chmod a+x tmux-fastai.sh ./tmux-fastai.sh
This same script can be used to launch the virtual environment and Jupyter notebook everytime.