A wee bit o' machine learning/computer vision in Ruby.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
data
lib
public
.gitignore
.rubocop.yml
.rubocop_todo.yml
Gemfile
Gemfile.lock
LICENSE
Procfile
README.md
Rakefile
package.json
server.rb
webpack.config.js

README.md

MNIST Ruby Demo

About

The MNIST Ruby demo is a Ruby application I built for a talk presented at RubyConf 2016 that classifies handwritten digits based on the MNIST dataset. Much is owed to Geoff Buesing, whose work I encountered during my research.

The front end is written using React + ES6, which is super overkill, but was fun to do.

Running Locally

You'll need the following to run this project:

Install dependencies:

λ git clone https://github.com/ericqweinstein/ruby-mnist
λ npm i && npm i -g webpack
λ bundle

Build:

λ webpack

Start:

λ ruby server.rb

The application already has the MNIST data in data/ and has been pre-trained, so you can start it immediately. If you'd like to do the training yourself:

λ ruby lib/neural_net.rb

You can see the application live here.

Contributing

  1. Branch (λ git checkout -b fancy-new-feature)
  2. Commit (λ git commit -m "Fanciness!")
  3. Push (λ git push origin fancy-new-feature)
  4. Ye Olde Pulle Request

License

MIT (see LICENSE).