For the past several months, we have been deep in the trenches with the ai8x-training tool and the training of various Convolutional Neural Network (CNN) architectures tailored explicitly for the MAX78000 and MAX78002 devices. Nevertheless, the ai8x training tool was more of a hindrance than a help.

Among the myriad challenges we encountered, the inability to make real-time adjustments, fine-tune models while freezing or unfreezing specific layers, and transfer custom weights proved to be significant pain points. These restrictions prevented efficient and flexible development.

But, we found a way to train the MAX78000 and MAX78002 devices right from your Jupyter notebook. With this approach, you’ll break free from the shackles of real-time debugging and fine-tuning woes, ensuring seamless interaction with your neural networks. Let’s dive into the nitty-gritty of this process and unlock the full potential of these devices.

This guide will walk you through training MAX7800x directly from a Jupyter notebook. The best part? You won’t need the ai8x-training tool for this process.

The example provided at https://github.com/InES-HPMM/MAX7800x-Jupyter-training/tree/main includes a simple classifier for the Fashion MNIST dataset.

Training for only 7 epochs + 1 QAT epoch will lead to an accuracy of 99% on the test set! And the model is directly ready for deployment on the MAX78000/MAX78002.

Enjoy!