gimseng / 99-ML-Learning-Projects

A list of 99 machine learning projects for anyone interested to learn from coding and building projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[EXE] Not Mutually Exclusive Computer Vision Classification

sarahyack opened this issue · comments

Learning Goals

  • How Forward and Backward propagation Works for Computer Vision
  • How to store Image Data in a useable format
  • Issues with naive softmax

Exercise Statement

Create a model to determine the difference between non-exclusive categories. For Example, the difference between a Macaw, a Bird, and anything Not a Bird (my own implementation). The primary model functions must be built from scratch (with numpy), however helper functions like splitting datasets, can use tf and/or keras.

Prerequisites

  • Understanding of how Forward and Backward Propagation works (Not the math necessarily, but implementation)
  • Understanding of Gradient Descent & Adam Optimizer
  • Knowledge of One-Hot-Encoding & Probability

Data source/summary:

What I did was I gathered 30 pictures each of animals in the three categories, converted them into machine-readable data using pickle, assigned labels to them using my file system (what folders they were in determined which category they were), and then combined the image arrays and the label arrays and converted them into a pickle file, which I used in my main model file. You can likely use any images from the web, the only prerequisite is that two of the categories must not be mutually exclusive.

Suggest/Propose Solutions

I have the solution and would be happy to create a pull request to include the exercise statement/solution, although my solution has multiple files that are interdependent so I would have to include the folder instead.

Further Links/Credits to Relevant Resources:

If you have a Coursera Account I would highly recommend taking the DeepLearning.ai Deep Learning Specialization courses (and some of their other courses for basic ml), as that's where I learned how to complete this project. Some helpful links:
Deep Neural Network with L-Layers
Solution to My Own Issue - Reddit