Skip to content

unccv/deep_learning_for_computer_vision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deep Learning for Computer Vision

Deep Learning has recently changed the landscape of computer vision (and other fields), and is largely responsible for a 3rd wave of interest and excitment about artificial intellgence. In this module we'll cover the basics of deep learning for computer vision.

Lectures

Lecture Notebook/Slides Key Topics Additional Reading/Viewing
Introduction to Pytorch Notebook Why Pytorch?, Pytorch as "Numpy with GPU Support", simple neural network in Pytorch, automatic differentiation, nn.Module, PyTorch layers, PyTorch Optim, nn.Sequential Great Torch Intro by Jeremy Howard
Get results fast with fastai Open in Colab Open in Colab Open in Colab Jeremy Howard and the fastai philosophy, databunches, learners, classifiction fastai course
Deep Learning In Depth Part 1 Notebook Stochastic gradient descent, regression vs classification, one hot encoding, cost functions and maximum likelihood, cross entropy Ian Goodfellow's Deep Learning - Chapter 1, Section 6.2, and Section 8.1
Deep Learning In Depth Part 2 Notebook CNNs, pooling and strides, AlexNet walkthrough, ImageNet, transfer learning, adaptive pooling, dropout, data augmentation, a little historical perspective AlexNet Paper
GANs Notebook Ian Goodfellow invents GANs, the world's simplest GAN & nash equilibria, a dive into higher dimensions, DCGAN to the rescue, Visualizing GANs, GAN grow up (sortof), StyleGAN insanity, the unbelievably interesting world of GAN variants Goodfellow et al 2014, StyleGAN, CycleGAN

Setting Up Your Computing Environment

Installing the software you need to train deep learning models can be difficult. For the purposes of this workshop, we're offering 3 recommended methods of setting up your computing environment. Your level of experience and access to machines, should help you determine which appraoch is right for you.

Option Pros Cons Cost Instructions
1 Google Colab Virtually no setup required, start coding right away! GPUs not always available, limited session times, limited RAM Free! There's also a paid tier at $10/month Colab Setup
2 Your Own Linux GPU Machine No recurring cost, complete control over hardware. High up-front cost, takes time to configure. $1000+ fixed up front cost Linux Setup
3 Virtual Machine Highly configurable & flexible, pay for the performance level you need Can be difficult to configure, only terminal-based interface Starts ~$1/hour VM Setup

1. Setup Google Colab

Google colab is delightfully easy to setup. All you really need to is a google account. Clicking one of the "Open in Colab" links above should take you directly to that notebook in google colab, ready to run. The only configuration change you'll be required to make is changing your runtime type. Simply click the runtime menu dropdown at the top of your notebook, select "change runtime type", and select "GPU" as your hardware accelerator. You also can open any notebook available on github in colab.

2. Setup on Your Own GPU Machine Running Linux

After doing this for a while, my preferred configuration is training models on my own Linux GPU machine. This can require some up front investment, but if you're going to be training a lot of models, having your own machine really makes your life easier.

2.1 Install Anaconda Python

2.2 Clone this repository

git clone https://github.com/unccv/deep_learning_for_computer_vision

2.3 (Optional) Create conda environment

conda create -n unccv-dl python=3.7
conda activate unccv-dl

2.4 Install packages

cd deep_learning_for_computer_vision
pip install -r requirements.txt

2.5

Depending on your existing setup, you may need to install nvidia drivers and the [nvidia cuda toolkit](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html). 

2.6 Launch Jupyter

jupyter notebook

2.3 Setup a Virtual Machine

Virtual machines provide a nice highly configurable platform for data science tasks. I recommnend following the fastai server setup guide for the cloud platform of your choice.

About

Deep Learning Module for Computer Vision Course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published