Skip to content

A fork of tiny-dnn/tiny-dnn to develop enhancements for the upstream

License

Notifications You must be signed in to change notification settings

pliptor/tiny-dnn-lab

 
 

Repository files navigation

A fork of the C++ Deep Learning library tiny-dnn

tiny-dnn-lab plays with some of its examples and creates others

Linux/OSX
travis build

It works on Windows too.

If you are looking for tiny-dnn, please follow this link for the upstream project.

If you like C++ and want to play with deep learning, in my opinion, tiny-dnn is a good library for the following nice features:

  • No libraries or external packages required other than a C++ compiling setup. I could had it up and running in a few minutes.
  • Classical examples included (MNIST and CIFAR10), so it's easy to get started.
  • Easy to understand interface.
  • The upstream library project is active with good support as of this writing Mar 2017
  • Many others... follow the upstream project.

Immediate goal of this fork: improve MNIST classification performance in the upstream code

The challenge is to classify handwritten single digits like this

Digit 8

The advertized performance by the upstream is 98.8%. The current performace in this fork is 99.1%.

The figure below is an example of a plot for simulation results. It shows the number of correct digit classifications out of 10000 tests as the network gets trained.

Simulation (Number of correct digit classifications versus epoch)

The next challenge is classifying images (cifar10)

Here's snapshot generated when the network is being used to recognize a picture of a horse. horse layer

References

[1] Y. Bengio, Practical Recommendations for Gradient-Based Training of Deep Architectures. arXiv:1206.5533v2, 2012

[2] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86, 2278-2324.

other useful reference lists:

License

The BSD 3-Clause License (keeping upstream license)

Packages

No packages published

Languages

  • C++ 92.3%
  • Protocol Buffer 3.7%
  • CMake 3.7%
  • Other 0.3%