nd889 icon indicating copy to clipboard operation
nd889 copied to clipboard

Udacity Artificial Intelligence Nanodegree

Build Status @madhavajay

Udacity - Artificial Intelligence Nanodegree - nd889

AIND

Foundations of AI - Term 1

Projects and Labs

  1. Solve a Sudoku with AI
  2. Build a Game-Playing Agent
  3. Lab: Teaching Pac-Man to Search
  4. Lab: Simulated Annealing
  5. Lab: Constraint Satisfaction N-Queens
  6. Implement a Planning Search
  7. Build a Sign Language Recognizer

Deep Learning and Applications - Term 2

Projects and Labs

  1. CNN: Dog Breed Classifier
  2. RNN: Apple Stock & Sherlock Holmes
  3. Lab: Affectiva SDK - Mimic Me!
  4. CNN: Facial Keypoint Detection

Setup

This code uses the following:

  • python 3.6
  • pylint & PEP 8 - Style Guide
  • mypy & PEP 484 - Type Hints
  • pipenv & PEP 508 - Dependency spec
  • pytest - Tests

Install pipenv:

$ pip install pipenv

Change to project directory:

$ cd nd889

Initialize pipenv in python3 mode:

$ pipenv --three

Start pipenv shell

$ pipenv shell -c

Install project dependancies:

$ pipenv install

OpenCV 3:
OpenCV 3 needs to be compiled with a bunch of extra stuff to access things like the webcam. If you want to skip this stuff you can simply run:

$ pipenv install opencv-python

Install Full Compiled OpenCV 3:

$ brew install opencv3 --with-contrib --with-python3 --without-python

Link OpenCV 3 to system site-packages:

$ echo /usr/local/opt/opencv3/lib/python3.6/site-packages >> /usr/local/lib/python3.6/site-packages/opencv3.pth

Check the virtualenv path:

(nd889) $ pipenv --venv

Link OpenCV to pipenv virtualenv:

$ ln -s /usr/local/opt/opencv3/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so ~/.local/share/virtualenvs/nd889/lib/python3.6/cv2.so

Tests

Run tests:

(nd889) $ pytest