Just draw, and space for the model to predict . . . . . . . . . . . . . . . v0.1: It's super buggy. At least it could guess 1 and 8 pretty consistently =))) v0.2: Updated the painter v0.3: Augmented the data in the model so that it could detect actual data better v0.4: Just found that the image is upside down from the model's perspective, silly me =))). Now it's nice. v0.5: Use a stronger model with ~85k parameters (basically 3 times the old model). Augmented the data aggressively. Accuracy drops to ~84%, but it should be better. Added a stroke width slider. Using a smaller stroke width for smaller numbers is recommended Also. I also made the program mobile-friendly.
. . . . . . . . . . . So basically, just a handwritten digit classifier Trained with numpy (as an exercise for studying ML), using a standard feed-forward NN and a Softmax Regressor as the last layer Used the MNIST dataset v0.1: This is just a pretty small model (to fit the parameters into a Scratch project without it failing to be saved). Although it's pretty small, it got a 96.9% accuracy on MNIST test set (10k images) It's having problems dealing with numbers that don't look like those in MNIST. I will fix it later, but for now, it's pretty bad Update: in v0.4, I added the new model that is trained using augmented data. It only got 86.33% (which is expected, because it will definitely be harder for such a small model), but it works much better now =))) Update 2: In v0.5, I increased the number of parameters by 3 times. I also aggressively augmented the training data. Test accuracy dropped to 84.11%, but that's expected