Udacity - Artificial Intelligence Nanodegree - nd889
Foundations of AI - Term 1
Projects and Labs
- Solve a Sudoku with AI
- Build a Game-Playing Agent
- Lab: Teaching Pac-Man to Search
- Lab: Simulated Annealing
- Lab: Constraint Satisfaction N-Queens
- Implement a Planning Search
- Build a Sign Language Recognizer
Deep Learning and Applications - Term 2
Projects and Labs
- CNN: Dog Breed Classifier
- RNN: Apple Stock & Sherlock Holmes
- Lab: Affectiva SDK - Mimic Me!
- 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