Skip to content

A mini three-layer universal neural network that can be used to identify MNIST data sets.

Notifications You must be signed in to change notification settings

JerzyZhao/julia-mnist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Julia-MNIST

A mini three-layer neural network implemented by a pure Julia standard library. It's very simple, the core code is about 50 lines.

Julia provides a more complete scientific computing infrastructure at the grammatical level than Python. This micro-project is purely through the Julia standard library, without a third-party package, to build a common three-layer neural network.

Using the classic MNIST data set, the accuracy is 97.49 with a simple multi-cycle training. This result is already above the benchmark level given by MNIST official website, but even more surprisingly, this is only implemented through Julia.

Running

Make sure that the following tools are installed:

  • Julia 1.0
  • IJulia(If not, you can do so by entering ] in REPL, and then entering the add IJulia installation。)

About Data Sets

Data Dowoload

  • mnist_train_100.csv:Consists of 100 training data;
  • mnist_test_10.csv:Consists of 10 test data;

The above two data can be used as the simplest test.

  • mnist_train.csv:Consists of 60000 training data;
  • mnist_test.csv:Consists of 10000 test data;

The first item of each data is the correct result, followed by the 784 (28 * 28) item is the image data.

w6_d.jpg and w7_d.jpg were hand-painted by me, and the processing became the MNIST image format. Used only as recreation.

About

A mini three-layer universal neural network that can be used to identify MNIST data sets.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published