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.
- run
python3 main.py
- The script will automatically download training dataset, prerpocess data, build the CNN, train the CNN, and save the model. - run
pip3 install tensorflowjs
- The command will automatically install the latest version of TensorFlowJS into your machine. - 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
- Google Quick-Draw Dataset
- Zaid Alyafeai's Tutorial
Citation
@misc{ye2018googlesketcher,
author = {Wengao Ye},
title = {Google Sketcher},
year = {2018},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/elleryqueenhomels/google_sketcher}}
}