Why Brain Builder SDK?
What is an SDK?
An SDK, or a Software Development Kit is a set of tools for an application developer. The main purpose of an SDK is to make it easier for that developer to access some resource they need for their app. This resource can be a piece of hardware, a programming language, an operating system, or like in the case of Neurala, a set of AI algorithms. Typical components of an SDK are documentation, example code, libraries, and a public API, or application programming interface to the libraries, which the developers use to access the features offered by the SDK.
What does this mean?
Imagine you are tasked with building a treehouse. Although it’s completely feasible to collect the wood raw materials needed by chopping down trees and refining the wood into planks, the final result can be achieved more efficiently by purchasing the materials at a store. SDKs are like prefabricated building materials. You won’t have a finished product right away, but the overall process is drastically faster and frictionless.
Accelerating AI: Neurala’s SDK
An SDK is customized to the environment or platform. Hence, Neurala’s Brain Builder SDK. Not only is our SDK customized for our platform, but it’s customized for implementing Neural Networks, Deep Neural Networks (DNNs) at the edge. More specifically, it’s the only way to implement our patented L-DNN technology, in addition to other vision AI DNNs like Detection, Tracking, and Segmentation. It’s not an effortless task to get deep learning systems to run on the edge, especially in constrained computational environments. Folks at Towards Data Science agree: “Despite the massive result improvements over older machine learning algorithms, DNNs are very demanding in terms of computation, and require training on massive datasets, taking large amounts of time.” Developers can use the Brain Builder SDK to connect Neural Networks to their edge device in a variety of environments, from a single ARM core to an array of powerful GPUs in a server. The Neurala engineering team has spent years of effort working on making this SDK more adept at handling deep learning at the edge. Using the SDK as the plumbing that allows the neural network to run on the hardware, the developer can implement with relative ease both the training and inference modes that allow them to classify, put bounding boxes around, follow or track, and trace or segment objects-of interest. This not only helps accelerate the development process, but it helps accelerate how fast the AI can process the imagery, cutting time to less than a tenth of a second in many cases. If real-time or near-real-time is a requirement for your AI system, it’s likely you’ll benefit from using the Brain Builder SDK.
At the end of the day, however, you can think of our SDK as yet another way Neurala makes implementing vision AI easier --- our goal is to make our platform and capabilities as extensible possible, nestling into existing workflows.