Skip to content

Build a simple yet effective CNN to work as a sketch recognizer. Just like Google Quick-Draw Project.

License

Notifications You must be signed in to change notification settings

GamePlux/google_sketcher

This branch is 1 commit behind elleryqueenhomels/google_sketcher:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1183faf · Aug 5, 2018

History

12 Commits
Jul 27, 2018
Jul 27, 2018
Jul 26, 2018
Aug 5, 2018
Jul 26, 2018
Jul 29, 2018
Jul 26, 2018
Jul 26, 2018
Jul 29, 2018
Jul 29, 2018

Repository files navigation

Google Sketcher

This repo is dedicated to build a simple yet effective Convolutional Neural Network, train it over the Google Quick-Draw Dataset, and save it for further usage.

You can find a demo from here.

Description

The trained CNN can take any doodle image as input, and "guess" what the doodle describes within 345 categories.

  • CNN Architecture v1:
    cnn_architecture_v1

  • CNN Architecture v2:
    cnn_architecture_v2

  • Manual:

  1. run python3 main.py - The script will automatically download training dataset, prerpocess data, build the CNN, train the CNN, and save the model.
  2. run pip3 install tensorflowjs - The command will automatically install the latest version of TensorFlowJS into your machine.
  3. run bash convert.sh - The script will automatically convert the trained model into a TensorflowJS compatible model, so that we can use the trained model to do inference on a web application.

Trained Model

  • You can find my trained model in the model directory.
  • You can also download the trained model and the training log file in my AWS S3.
    model_v1
    model_v2

My Running Environment

Hardware

  • AWS EC2 - r4.16xlarge
  • CPU: Dual socket Intel® Xeon™ E5 Broadwell Processors (2.3 GHz) - vCPU x 64
  • Memory: 488GB DDR4

Operating System

  • Amazon Linux AMI 2018.03

Software

  • Python 3.6.3
  • NumPy 1.13.3
  • TensorFlow 1.8.0
  • Keras 2.1.6

References

Citation

  @misc{ye2018googlesketcher,
    author = {Wengao Ye},
    title = {Google Sketcher},
    year = {2018},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/elleryqueenhomels/google_sketcher}}
  }

About

Build a simple yet effective CNN to work as a sketch recognizer. Just like Google Quick-Draw Project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.0%
  • Shell 2.0%