Neural network shown on original mac screen, handwritten 2 on left and predictions on right

Original Mac Limitations Can’t Stop You From Running AI Models

Modern retrocomputing tricks often push old hardware and systems further than any of the back-in-the-day developers could have ever dreamed. How about a neural network on an original Mac? [KenDesigns] does just this with a classic handwritten digit identification network running with an entire custom SDK!

Getting such a piece of hardware running what is effectively multiple decades of machine learning is as hard as most could imagine. (The MNIST dataset used wasn’t even put together until the 90s.) Due to floating-point limitations on the original Mac, there are a variety of issues with attempting to run machine learning models. One of the several hoops to jump through required quantization of the model. This also allows the model to be squeezed into the limited RAM of the Mac.

Impressively, one of the most important features of [KenDesigns] setup is the custom SDK, allowing for the lack of macOS. This allows for incredibly nitty-gritty adjustments, but also requires an entire custom installation. Not all for nothing, though, as after some training manipulation, the model runs with some clear proficiency.

If you want to see it go, check out the video embedded below. Or if you just want to run it on your ancient Mac, you’ll find a disk image here. Emulators have even been tested to work for those without the original hardware. Newer hardware traditionally proves to be easier and more compact to use than these older toys; however, it doesn’t make it any less impressive to run a neural network on a calculator!

Continue reading “Original Mac Limitations Can’t Stop You From Running AI Models”

MNIST Clock Uses Famous Training Database

When training neural networks to recognise things, what you need is a big pile of training data. You then need a subsequent pile of testing data to verify that the network is working as you’d expect. In the field of handwriting recognition, the MNIST database is commonly used to train networks on handwritten numerals. After [Evan Pu] mentioned it would be fun to use this data to create a clock, [Dheera Venkatraman] got down to work.

The original sketch which inspired the build.

The MNIST database contains 60,000 training images, and 10,000 test images. [Dheera] selected an ESP32 to run the project, which packs 4MB of flash storage – more than enough to store the testing database at 196 bytes per numeral. This also gives the project network connectivity, allowing the clock to use Network Time Protocol to stay synchronised – thus eliminating the need for an external RTC. Digits are displayed on four separate e-ink displays, which fits well with the hand-drawn aesthetic. It also means the clock doesn’t unduly light up the room at night.

It’s a fun project that will likely draw a knowing chuckle from those working in the field of handwriting recognition. We’d love to have one on our desk, too. If you’re thinking of attempting a build yourself, check out our recent contest for more inspiration!