A project for visually impaired people to recognise the bills of Indian National Rupee using Deep Learning technology.
currency\
ten\
twenty\
fifty\
hundrad\
fivehundrad\
thousand\
dataset can be downloaded from here
Project sturcture based on CS230 Deep Learning
data/
train/
dev/
test/
experiments/
base_model/
params.json
...
learning_rate/
lr_0.1/
params.json
lr_0.01/
params.json
batch_norm/
params.json
model/
input_fn.py
model_fn.py
utils.py
training.py
evaluation.py
build_dataset.py
train.py
search_hyperparams.py
synthesize_results.py
evaluate.py
Here is each file or directory’s purpose:
data/
: contain all the data of the project, with an explicit train/dev/test split.experiments
: contains the different experiments (like base_model, learning_rate, batch_norm). Each directory (experiment) after training will contain multiple things:params.json
: the list of hyperparameters, in json formattrain.log
: the training log (everything print to the console)train_summaries
: train summaries for TensorBoardeval_summaries
: eval summaries for TensorBoardlast_weights
: weights saved from the 5 last epochesbest_weights
: best wieghts (based on dev accuracy)
model/
: module defining the model and function used in train or eval.input_fn.py
: where we define the input data pipelinemodel_fn.py
: creates the deep learning modelutils.py
: utilitu function for handling hyperparams / loggingtraining.py
: utility functions to train a modelevaluation.py
: utility functions to evaluate a model
build_dataset.py
: creates or trainsforms the dataset, built the split into train/dev/test in reproducible way.train.py
: train the model on input data, and evaluate each epoch on the dev setsearch_hyperparams.py
: runtrain.py
multiple times with different hyperparameterssynthesize_result.py
: expolre different experiments in a directory and display a nice table of the resultsevaluate.py
: evaluate the model on the test set (should be run once at the end of the projectapp/
: django project for interface
pip install -r requirement.txt
cd app
python manage.py runserver
- There is module called
app/classifier/predict.py
which builds the tensorflow CNN model based on your experments, preprocess the image and load the all weights saved in the checkpoints. To do that you need set model_dir path inapp/classifier.py/view.py
. - Model builder code is same as the
model/