Coder Social home page Coder Social logo

hangyao / street_view_house_numbers Goto Github PK

View Code? Open in Web Editor NEW
72.0 10.0 22.0 361 KB

Explored CNNs with TensorFlow to create models for cropped single-digit and original multi-digit images from SVHN dataset.

License: MIT License

Jupyter Notebook 100.00%
svhn house-numbers convolutional-neural-networks natural-images

street_view_house_numbers's Introduction

Street View House Numbers

  • 1_preprocess_single.ipynb: preprocess cropped single-digit SVHN data.
  • 2_CNN_single.ipynb: build a convolutional neural network for cropped single-digit SVHN images.
  • 3_preprocess_multi.ipynb: preprocess original multi-digit SVHN data.
  • 4_CNN_multi.ipynb: build a convolutional neural network for original multi-digit SVHN images.

References

  1. Ian J. Goodfellow, Yaroslav Bulatov, Julian Ibarz, Sacha Arnoud, and Vinay Shet (2013). Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks. arXiv:1312.6082 [cs.CV]

  2. Pierre Sermanet, Soumith Chintala, and Yann LeCun (2012). Convolutional Neural Networks Applied to House Numbers Digit Classification. arXiv:1204.3968 [cs.CV]

  3. Yuval Netzer, Tao Wang, Adam Coates, Alessandro Bissacco, Bo Wu, and Andrew Y. Ng (2011). Reading Digits in Natural Images with Unsupervised Feature Learning. NIPS Workshop on Deep Learning and Unsupervised Feature Learning 2011. (Page|PDF)

  4. Mark Grundland, and Neil A. Dodgson (2007). Decolorize: Fast, contrast enhancing, color to grayscale conversion. Pattern Recognition, 40 (11). Page

Install

This project requires Python 2.7 and the following Python libraries installed:

You will also need to have software installed to run and execute an iPython Notebook

Code

Project codes are provided in the following notebook files:

  • 1_preprocess_single.ipynb
  • 2_CNN_single.ipynb
  • 3_preprocess_multi.ipynb
  • 4_CNN_multi.ipynb

Run

In a terminal or command window, navigate to the top-level project directory street_view_house_numbers/ (that contains this README) and run one of the following commands:

python 1_preprocess_single.ipynb
jupyter notebook 1_preprocess_single.ipynb
python 2_CNN_single.ipynb
jupyter notebook 2_CNN_single.ipynb

This will open the iPython Notebook software and project file in your browser.

Data

This project uses the The Street View House Numbers (SVHN) Dataset.

SVHN is a real-world image dataset for developing machine learning and object recognition algorithms with minimal requirement on data preprocessing and formatting. It can be seen as similar in flavor to MNIST (e.g., the images are of small cropped digits), but incorporates an order of magnitude more labeled data (over 600,000 digit images) and comes from a significantly harder, unsolved, real world problem (recognizing digits and numbers in natural scene images). SVHN is obtained from house numbers in Google Street View images.

License

The contents of this repository are covered under the MIT License.

street_view_house_numbers's People

Contributors

hangyao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

street_view_house_numbers's Issues

Training with 5 last digits

Hi, I was looking at the training models in the file 4_CNN_multi.ipynb and the accuracy functions are compared against the last 5 digits of each image, instead of the first 5 digits, which are the ones that contain the most information. Could you explain why is it done in this way? I believe is an error.

Failed to find any matching for CNN_1.ckpt

Hello @hangyao

Thanks for your code. When I try to implement, it gives me following error as shown in diagram. Could you please help me with this? I am unable to figure out. I already tried like this:

reader = tf.train.NewCheckpointReader("CNN_1.ckpt")

but it does not work.

image

Size

Hello! What is size of trained network? Can i use it on RPi3? Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.