Skip to content

jarmstrong2/handwritingnet

Repository files navigation

Hand Writing RNN

This RNN is a reconstruction of Alex Graves' work presented in his paper: http://arxiv.org/abs/1308.0850

alt tag

Dataset

Data was provided by the IAM On-Line Handwriting Database http://www.fki.inf.unibe.ch/databases/iam-on-line-handwriting-database

alt tag

Model

The model is precisely the same as the one presented in the paper above. Essentially, this is an RNN with three LSTM layers, a windowing layer that learns attention for each character in the input string, and a mixture of Gaussians criterion layer.

To train the model:

th driver.lua -inputSize INPUT_DIMENSION -hiddenSize LSTM_UNIT_SIZE 
-lr LEARNING_RATE -maxlen MAXIMUM_NUMBER_OF_TIMESTEPS 
-batchSize BATCH_SIZE_OF_DATA -numPasses NUMBER_OF_PASSES
-valData PATH_TO_VALIDATION_DATA -trainData PATH_TO_TRAINING_DATA

Explore driver.lua for command options. Including specifying a validation and training set. Currently toy.t7 is provided, but a larger training set can be created by downloading the IAM handwriting database and following the directions in Graves' paper: http://www.fki.inf.unibe.ch/databases/iam-on-line-handwriting-database

Results

  • Each multicolored line represents a new pen stroke.
th testNet.lua -string 'How are you today'

alt tag

th testNet.lua -string 'Testing testing'

alt tag

th testNet.lua -string 'this is awesome'

alt tag

  • Below is the attention plot which represents by how many timesteps the model will focus on a certain character in the string 'this is awesome' (moving in a left to right direction along each character in the string)

alt tag

About

RNN for producing text to handwriting image

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages