feature article
Subscribe Now

Machine Learning at the Push of a Button

Automated Tool Generates ML Code for IoT Devices

“Physician, heal thyself” – Luke 4:23

My Thermos bottle keeps hot drinks hot and cold drinks cold. How does it know? 

An electrical engineer would probably design a Thermos with a toggle switch (“HOT” and “COLD”), or a big temperature dial, or – if you work in Cupertino – an LCD display, touchpad, RTOS, and proprietary cable interface. Thankfully, real vacuum flasks take care of themselves with no user input at all. They just work. 

It would sure be nice if new AI-enabled IoT devices could do the same thing. Instead of learning all about AI and ML (and the differences between the two), and learning how to code neural nets, and how to train them, and what type of data they require, and how to provision the hardware, etc., it’d be great if they just… somehow… knew what to do. Now that would be real machine learning. 

Guess what? A small French company thinks it has developed that very trick. It uses machine learning to teach machine learning. To machines. Without a lot of user input. It takes the mystery, mastery, and mythology out of ML, while allowing engineers and programmers to create smart devices with little or no training.  

The company is Cartesiam and the product is called NanoEdge AI Studio. It’s a software-only tool that cranks out learning and inference code for ARM Cortex-M–based devices, sort of like an IDE for ML. The user interface is pretty to look at and has only a few virtual knobs and dials that you get to twist. All the rest is automatic. Under the right circumstances, it’s even free. 

Cartesiam’s thesis is that ML is hard, and that developing embedded AI requires special skills that most of us don’t have. You could hire a qualified data scientist to analyze your system and develop a good model, but such specialists are hard to find and expensive when they’re available. Plus, your new hire will probably need a year or so to complete their analysis – and that’s before you start coding or even know what sort of hardware you’ll need. 

Instead, Cartesiam figures that most smart IoT devices have certain things in common and don’t need their own full-time, dedicated data scientist to figure things out, just like you don’t need a compiler expert to write C code or a physicist to draw a schematic. Let the tool do the work. 

The company uses preventive motor maintenance as an example. Say you want to predict when a motor will wear out and fail. You could simply schedule replacement every few thousand hours (the equivalent of a regular 5000-mile oil change in your car), or you could be smart and instrument the motor and try to sense impending failures. But what sensors would you use, and how exactly would they detect a failure? What does a motor failure look like, anyway? 

With NanoEdge AI Studio, you give it some samples of good data and some samples of bad data, and let it learn the difference. It then builds a model based on your criteria and emits code that you link into your system. Done. 

You get to tweak the knobs for MCU type, RAM size, and type of sensor.  In this case, a vibration sensor/accelerometer would be appropriate, and the data samples can be gathered in real-time or canned; it doesn’t matter. You can also dial-in the level of accuracy and the level of confidence in the model. These last two trade off precision for memory footprint.  

NanoEdge Studio includes a software simulator, so you can test out your code without burning any ROMs or downloading to a prototype board. That should make it quicker to test out various inference models to get the right balance. Cartesiam says it can produce more than 500 million different ML libraries, so it’s not simply a cut-and-paste tool. 

As another example, Cartesiam described one customer designing a safety alarm for swimming pools. They spent days tossing small children into variously shaped pools to collect data, and then several months analyzing the data to tease out the distinguishing characteristics of a “good” splash versus one that should trigger the alarm. NanoEdge AI Studio accomplished the latter task in minutes and was just as accurate. Yet another customer uses it to detect when a vacuum cleaner bag needs emptying. Such is the world of smart device design. 

The overarching theme here is that users don’t have to know much of anything about machine learning, neural nets, inference, and other arcana. Just throw data at it and let the tool figure it out. Like any EDA tool, it trades abstraction for productivity. 

In today’s environment, that’s a good tradeoff. Experienced data scientists are few and far between. Moreover, you probably won’t need his/her talents long-term. When the project is complete and you’ve got your detailed model, what then? 

NanoEdge AI Studio is free to try but deploying actual code in production costs money. Cartesiam describes the royalty as “tens of cents to a few dollars,” depending on volume. Sounds cheaper than hiring an ML specialist. 

One thought on “Machine Learning at the Push of a Button”

Leave a Reply

featured blogs
Sep 30, 2022
When I wrote my book 'Bebop to the Boolean Boogie,' it was certainly not my intention to lead 6-year-old boys astray....
Sep 30, 2022
Wow, September has flown by. It's already the last Friday of the month, the last day of the month in fact, and so time for a monthly update. Kaufman Award The 2022 Kaufman Award honors Giovanni (Nanni) De Micheli of École Polytechnique Fédérale de Lausanne...
Sep 29, 2022
We explain how silicon photonics uses CMOS manufacturing to create photonic integrated circuits (PICs), solid state LiDAR sensors, integrated lasers, and more. The post What You Need to Know About Silicon Photonics appeared first on From Silicon To Software....

featured video

PCIe Gen5 x16 Running on the Achronix VectorPath Accelerator Card

Sponsored by Achronix

In this demo, Achronix engineers show the VectorPath Accelerator Card successfully linking up to a PCIe Gen5 x16 host and write data to and read data from GDDR6 memory. The VectorPath accelerator card featuring the Speedster7t FPGA is one of the first FPGAs that can natively support this interface within its PCIe subsystem. Speedster7t FPGAs offer a revolutionary new architecture that Achronix developed to address the highest performance data acceleration challenges.

Click here for more information about the VectorPath Accelerator Card

featured paper

Algorithm Verification with FPGAs and ASICs

Sponsored by MathWorks

Developing new FPGA and ASIC designs involves implementing new algorithms, which presents challenges for verification for algorithm developers, hardware designers, and verification engineers. This eBook explores different aspects of hardware design verification and how you can use MATLAB and Simulink to reduce development effort and improve the quality of end products.

Click here to read more

featured chalk talk

Current Sense Amplifiers: What Are They Good For?

Sponsored by Mouser Electronics and Analog Devices

Not sure what current sense amplifiers are and why you would need them? In this episode of Chalk Talk, Amelia Dalton chats with Seema Venkatesh from Analog Devices about the what, why, and how of current sense amplifiers. They take a closer look at why these high precision current sense amplifiers can be a critical addition to your system and how the MAX40080 current sense amplifiers can solve a variety of design challenges in your next design. 

Click here for more information about Maxim Integrated MAX40080 Current-Sense Amplifiers