Activity

anchith

Shipped this project!

Hours: 3.02
Cookies: 🍪 34
Multiplier: 9.3 cookies/hr

I updated the project to try and fix some of the problems or complaints from the previous ship! The biggest change was the change to the MNIST format and some new features like shuffling the data. There’s a new readme and instruction which I think will help people use the app well.

anchith

I finished the new readme & Instructions slides which took way too long.
Then i packaged everything up again to ship!
I updated the flavortown project stuff and m gonna ship

Attachment
0
anchith

I worked on shifting to MNIST.
I updated the training logic to shuffle the training data first. Before, it used to first train all the zeros, then ones, twos… and nines at the last. With MNIST having thousands of training samples per digit, the network would ‘forget’ everything it had learned apart from what it learned near the end so it classified almost everything as a nine. Now it shuffles everything and it works better.

MNIST has like 60,000 images so i didnt even bother trying to upload all of that to github.

After that i trained it on the entire data for 64 epochs which took FOREVER!
I also made some graphics for the readme ig

Attachment
0
anchith

I shipped my project and received my payout!
The feedback showed some issues like .jar problems and a bad readme.
Also, the app has a bad accuracy now which I will try to fix.
The obvious solution is to train the model with MNIST, but MNIST images are 28x28 and my app works on 32x32 images. So, i downscaled everything to 28x28 which broke all of my previous training samples temporarily. I will replace it with the MNIST dataset in PNG format which i found in some github repo:
https://github.com/rasbt/mnist-pngs/tree/main
And i made a small slideshow to help users open the .jar file.

Attachment
0
anchith

Shipped this project!

Hours: 7.25
Cookies: 🍪 156
Multiplier: 21.48 cookies/hr

I built the classic Handwritten Digit Recognition AI example which is kind of like the hello world of AI. It has been taught for years but I have never built such a thing from scratch. It was quite challenging because I had very less time to build it. The training part was also difficult because it involved reading/writing files in java, which i have not done much of till now. I learnt a lot and am happy with how it turned out.

anchith

(probably) Last devlog before shipping
I added some tools to made adding training samples easier and faster. In the gui, there is a spinner to select which number you have drawn, and a button to save your image as a training sample in the correct folder. Each file is saved with the timestamp so that they do not overlap. With this i added a lot more training samples of each number.
Also i made the brush thing better. Before, it used to just set the pixel your mouse was on to white. Now, it has a better brush system with thickness and strength.

Attachment
0
anchith

I made a panel in the GUI to see the live output as you draw. It shows the confidence values of each number (sigmoid the activations) as a bar graph kind of, as well as the actual predicted answer.
I also changed the structure of the network in the backend. I think i’m close to shipping

Attachment
0
anchith

I finally got the github repo working despite some dubious ownership error?
Training the model every time you run it is stupid so i seperated the training code into another class called Train, so first you train the model which writes the weights of the trained model into a file. Then the file is read by the main thing and initialises the model with those weights.
I also worked on a readme

Attachment
0
anchith

I made the minimum viable product (barely). This project is a thing where you draw a number and AI will try to guess it. The interface for now has only a 32x32 pixel canvas for drawing and a reset button and the AI output is given in the terminal. Later i will improve this. For the AI im using my own AI library and training it using a bunch of labeled images of numbers. At the moment i only have 1 image for each number but i will add more later this is only for testing.

Attachment
0