Edge Impulse is a platform focused on deploying ML models to low-power edge devices and embedded systems. It supports both vision and other models like audio, time-series, and signal processing. Edge Impulse is uniquely good at working withmicrocontrollers and has SDKs for single-board computers and mobile devices.
The design focus on TinyML makes it less suited for high-resource, general-purpose tasks like video processing and running modern, state-of-the-art ML models. It also requires some familiarity with embedded systems. It typically requires custom coding your application logic to run on the embedded board.
Chose Edge Impulse if: you're working on an IoT or wearable device that's not capable of running more powerful models, framework, and logic.
In the olden days, most people rolled their own servers to expose their ML models to client applications. In fact, Roboflow Inference's HTTP interface and REST API are built on FastAPI.
In this day and age, it's certainly still possible to start from scratch, but you'll be reinventing the wheel and will run into a lot of footguns others have already solved along the way. It's usually better and faster to use one of the existing ML-focused servers.
Choose FastAPI or Flask if: your main goal is learning the intricacies ofmaking an inference server.
Inference turns any computer or edge device into a command center for your computer vision projects.