Code Monkey home page Code Monkey logo

handwritingrecognition-cnn's Introduction

Hand Writing Recognition Using Convolutional Neural Networks

0

Introduction

This CNN-based model for recognition of hand written digits attains a validation accuracy of 99.2% after training for 12 epochs. Its trained on the MNIST dataset on Kaggle.

1 ##Usage The model architecture and weights are saved in the files model_architecture.json and model_weights.h5. Note that these weights are compatible only with the Tensorflow backed.

To train the model run train.py. The file test.py generates a file predictions.csv which contains the predicted labels to the images in the test set. This file can be used for submission at Kaggle. display_random.py displays 25 random images from the test set along with their predicted labels.

2

Requirements

Dataset

  • The model is trained on the MNIST dataset downloaded from Kaggle.

  • The file train.csv contains pixel intensity values as flattened vectors for 42000 images and their corresponding labels. Similarly, test.csv has pixel intensity values for 28000 unlabelled images.

The Model

handwritingrecognition-cnn's People

Contributors

ayushoriginal 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  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

handwritingrecognition-cnn's Issues

Error on running train.py

Using TensorFlow backend. train.py:41: UserWarning: Update your Conv2Dcall to the Keras 2 API:Conv2D(filters=32, input_shape=(1, 28, 28..., padding="same", kernel_size=(5, 5))model.add(Convolution2D(nb_filter=32,nb_row=5,nb_col=5,border_mode='same',input_shape=(1,28,28))) train.py:43: UserWarning: Update yourMaxPooling2Dcall to the Keras 2 API:MaxPooling2D(padding="same", pool_size=(2, 2))model.add(MaxPooling2D(pool_size=(2,2),border_mode='same')) train.py:44: UserWarning: Update yourConv2Dcall to the Keras 2 API:Conv2D(filters=64, input_shape=(32, 14, 1..., padding="same", kernel_size=(5, 5))model.add(Convolution2D(nb_filter=64,nb_row=5,nb_col=5,border_mode='same',input_shape=(32,14,14))) train.py:46: UserWarning: Update yourMaxPooling2Dcall to the Keras 2 API:MaxPooling2D(padding="same", pool_size=(2, 2))`
model.add(MaxPooling2D(pool_size=(2,2),border_mode='same'))
Traceback (most recent call last):
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/common_shapes.py", line 686, in _call_cpp_shape_fn_impl
input_tensors_as_shapes, status)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 473, in exit
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimension 2 in both shapes must be equal, but are 28 and 32. Shapes are [5,5,28,32] and [5,5,32,1]. for 'Assign' (op: 'Assign') with input shapes: [5,5,28,32], [5,5,32,1].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "train.py", line 55, in
model.load_weights('model_weights.h5')
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/keras/models.py", line 737, in load_weights
topology.load_weights_from_hdf5_group(f, layers)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/keras/engine/topology.py", line 3166, in load_weights_from_hdf5_group
K.batch_set_value(weight_value_tuples)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 2365, in batch_set_value
assign_op = x.assign(assign_placeholder)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/ops/variables.py", line 594, in assign
return state_ops.assign(self._variable, value, use_locking=use_locking)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/ops/state_ops.py", line 276, in assign
validate_shape=validate_shape)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/ops/gen_state_ops.py", line 59, in assign
use_locking=use_locking, name=name)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3162, in create_op
compute_device=compute_device)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3208, in _create_op_helper
set_shapes_for_outputs(op)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 2427, in set_shapes_for_outputs
return _set_shapes_for_outputs(op)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 2400, in _set_shapes_for_outputs
shapes = shape_func(op)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 2330, in call_with_requiring
return call_cpp_shape_fn(op, require_shape_fn=True)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/common_shapes.py", line 627, in call_cpp_shape_fn
require_shape_fn)
File "/data/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/common_shapes.py", line 691, in _call_cpp_shape_fn_impl
raise ValueError(err.message)
ValueError: Dimension 2 in both shapes must be equal, but are 28 and 32. Shapes are [5,5,28,32] and [5,5,32,1]. for 'Assign' (op: 'Assign') with input shapes: [5,5,28,32], [5,5,32,1].
`
This is the error i got while running train.py. Can someone please help me to fix it?

Error

I am relatively new to python and i am getting this error:
Traceback (most recent call last):
File "train.py", line 37, in
(X_train,y_train),(X_val,y_val) = get_mnist_data()
File "train.py", line 16, in get_mnist_data
labels = data[[0]].values.ravel()
File "/home/ishnit/.local/lib/python2.7/site-packages/pandas/core/frame.py", line 1958, in getitem
return self._getitem_array(key)
File "/home/ishnit/.local/lib/python2.7/site-packages/pandas/core/frame.py", line 2002, in _getitem_array
indexer = self.loc._convert_to_indexer(key, axis=1)
File "/home/ishnit/.local/lib/python2.7/site-packages/pandas/core/indexing.py", line 1231, in _convert_to_indexer
raise KeyError('%s not in index' % objarr[mask])
KeyError: '[0] not in index'

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.