/Is-Hotdog

Based on the TV series Silicon Valley, a fully tutorialized Convolutional Neural Network (CNN) that can determine whether or not there is a hotdog in the image entered.

Primary LanguageJupyter Notebook

🌭 Is-Hotdog 🌭

Based on Jin Yang's app "Not Hotdog" on the TV series Silicon Valley, a REST API that can determine whether or not there is a hotdog in the image entered.

image

Episode clip

Table of Contents

  1. Release Notes
  2. Demo
  3. Purpose
  4. Roadmap
  5. Built With
  6. How to Launch Project

A full video demo was prepared and can be viewed in this zip file however due to the size limitiations, we will be going through a step-by-step video demo below

We run the API in through the browser which should open up to a page that looks like this:

Is-Hotdog Landing Page

We then run our API with our first test image (a hotdog):

Is.Hotdog.Demo.pt1.mov

After uploading our image of a 🌭, we see that our model has a ~90% confidence rate that it looked at an image of a hotdog.

Next, we run our API with the second test image (a not-hotdog):

Is.Hotdog.Demo.pt2.mov

We uploaded an image of Pad Thai (aka not a hotdog), we see that our model was ~21% sure that the image was a hotdog which also means ~79% confident that it was not looking at a hotdog.

Lastly, I decided to include one last trick image (a kinda-hotdog):

Is.Hotdog.Demo.pt3.mov

The model was completely confused as it was split down the middle with a ~56% confidence rate that it was looking at a hotdog.

Release Notes

v1.0.0 (Oct 15 2021)

  • 🎉 first release!

I wanted to practice what I've learned in the Data Science field by

  • Recreating the Not Hotdog app from Silicon Valley.

  • Creating a Convolutional Neural Network model that can take and analyze any given image to check for a specific object within that image.

  • Allow Users to add their own testing images through FastAPI.

In the future, I hope to develop this project so that:

  • Users can take a picture on their phone and immediately run the api call.

  • Users can access the API through Heroku or other cloud platform services.

  • The API can be more accurate in assessing what is or isn't a hotdog.

  • Python
  • Tensorflow
  • Keras

Currently the project can only be run locally.

Here is the command to install the dependencies locally:

$ python3 -m venv env  
$ source env/bin/activate 
(env) $ python -m pip install -r requirements.txt

And then run the app using uvicorn in the Command Line:

(env) $ uvicorn app.main:app --reload  

Then head over to http://localhost:8000/docs or http://localhost:8000/redoc in the browser.