A collection of projects for obtaining the MNIST dataset images, preprocessing, model training, model providing and model consuming. Primarily developed as a comprehensive example.
Some of the projects require the following to be built:
- .NET 5.0
- Python 3.x
- TypeScript ^3.8.0
- NodeJs
Most MNSIT examples are not particularly useful in the sense that they don't cover all of the steps mentioned above. Some might conveniently get the data from tf.data.Dataset, some might not show how to consume the model outside of a Python script, etc. - which are important activities.
The solution consists of a few projects.
- MNIST.Console - ML.NET Model Builder way of training the model
- MNIST.IdxToImages - .NET Console app for extracting images from the original dataset
- MNIST.ModelTraining - Python 3.8 script that uses tf.keras for training the CNN
- MNIST.WebApi - .NET web API project that serves the trained model
- MNIST.ReactClient - .NET web app that uses NodeJs underneath to serve the React front end app for consuming the trained model from the MNIST.WebApi project
Use Docker, your IDE or some other way to multi-launch projects together (front end and back end projects simultaneously).