CNN and feedforward NN model benchmarking in Julia on the MNIST dataset
Here are some convolutional neural network and feedforward fully-connected network models tested on the MNIST handwritten digit dataset. The models use the Flux machine learning package.
To create an environment for the repository, navigate to the repository directory, then in Julia:
using Pkg
Pkg.activate(".")
Pkg.instantiate()
Then, any of the models can be run normally. The models are:
Conv
, the base convolutional neural networkConvFuzz
, CNN with input fuzzingConvAdpt
, CNN with adaptive learning rateConvFull
, CNN with both input fuzzing and adaptive learning rateDense
, the base fully-connected feedforward neural networkDenseFuzz
, feedforward network with input fuzzingDenseAdpt
, feedforward network with adaptive learning rateDenseFull
, feedforward network with both input fuzzing and adaptive learning rate
Each model can be run by calling the correct script.
All models can be run by running the run.jl
script.
The gather_data.jl
script contains useful functions for collecting the output from .bson
files.
The models will run fine on the CPU.
They should also run on CUDA-capable GPUs.
To do this, use the CuArrays
package,
using CuArrays
then run the models normally.
There is a short paper detailing results here.