DEV Community

Joseph Maurer
Joseph Maurer

Posted on • Originally published at josephamaurer.Medium


Machine Learning on a Raspberry Pi with Python or Node.js

Source: Edge Impulse

Typically, when you think about having to train a model for machine learning you think about needing a vast amount of processing power needed to perform the necessary operations. But small microcontroller’s like Raspberry Pi’s are becoming really popular and common in the classroom. Being able to use such a small device for machine learning gets the technologies in the hands of more people that could potentially do amazing things with it. Until now there haven’t been any options that target the Raspberry Pi. Owners of a raspberry Pi 4 can now use their device to train their own customer models using Edge Impulse’s cloud development platform.

There are four new machine-learning SDKs (Software development kits) for Raspberry Pi including support for C++, Go, Node.js, and Python. The benefit of this that because of the wide array of languages supported, most users won’t have to learn a new language just to learn how to program a ML. While learning and working with a new SDK can be daunting at first, Edge Impulse have good documentation that can help you get started fast, and getting your project compete before you realize it.

One of the applications of this technology is computer vision by connection a webcam to the Raspberry Pi. This can be accomplished by two ways: the first is to connect the camera directly into one of the USB ports. If you’re anything like you tend to keep these ports free if possible, for other peripherals. The second option is that attach the camera through the GPIO header pins that are soldered to the board.

With the computer vision system, that an engineer’s demonstrates in this video, you can see that it is quite easy to get the system up and going. There looks to be a deploy process where you are building the ML pipeline through the web interface and then pushing the content to the Pi. In the video you can see that the machine vision system is capable of recognizing multiple objects through the web camera.

There are a variety of sensors that the SDK supports for collecting data including, accelerometers, magnetometers, motion sensors, humidity and temperature sensors. Really any sensor that provides a stream of data, you could input into the ML that you build.

The Raspberry Pi’s small form factor and affordability makes it a prime option for many engineering and DIY projects. Being able to apply the vast amount of use cases that machine learning is applicable to continues to make developing with a Pi the Jack of all trades.

Thank you for reading this far. If you enjoyed this post, please share, comment, and press that ♥️ !

Follow me on Twitter and DEV for more developer related content content!

Top comments (0)

Super Useful CSS Resources

A collection of 70 hand-picked, web-based tools which are actually useful.
Each will generate pure CSS without the need for JS or any external libraries.