Code Monkey home page Code Monkey logo

mnist-wgan's Introduction

MNIST-WGAN

Overview
This project generates hand-written digits from the MNIST dataset using WGAN architecture. While debugged, a few lingering issues may remain, if you encounter any please submit them and they will be resolved. The sources and features of the project can be found in the wiki.
Use
Before use, one should verify that the network architecture is as-desired. This may be done with the GUI to the right of the number display. The "Default" button resets the network to hard-coded values which I have verified function. The "Reset" button sets the ACTIVE network to whatever architecture is displayed. Also, resetting ONLY DOES SO FOR THE DISPLAYED NETWORK, which may be unintuitive. In order to change which network is displayed, use the "Critic [1] or Generator [0]" checkbox.
To begin training the network, press the "Train" button, after which you may use the "Clear" button to reset the average error and average percent correct value textboxes. To halt training, press the "Train" button again at which point your network will be saved.
Documentation
The back-end can be kind-of confusing, but it's fairly well-written and documented. While the front-end is less clear, it's mostly just form-fitting CSV lists to generate whatever architecture is desired. I find it easier to modify the default values (lines 395-447) and reset the network from there, but this isn't really necessary (it just saves a bit of time). The GUI is probably easier if you don't plan to spend lots of time modifying this to suit your purposes.
Modification
In order to use the project on an alternative dataset, one must replace the MNIST files, then rewrite IO.FindNextNumber (and corresponding file paths) to read the desired file. Nothing else stops this from being done. It would certainly be easier than doing this from-scratch again.
Future plans
There's still some improvements I could make to the project (like letting the front-end assign no activation function to a layer). However, I've been working on this for so long that I feel like letting this rest as-is for a while.

Example

A 1

mnist-wgan's People

Contributors

qdm097 avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

gernot-iser

mnist-wgan's Issues

Network failing to descend

Basic descent function is nonfunctional. I've added in a test method to have the network operate as a traditional CNN, but even this fails, even when operating stochastically.

Sumlayer Error

Residual errors are being calculated AFTER errors are backpropagated.

So many NaNs

All of the layer types appear to function in isolation (including batchnorm layers), but when I try to stack them bad things happen (NaNs). Need to find and resolve the underlying bug.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.