Generating a Knowledge Pack
A Knowledge Pack takes the event detection model you generated in the pipeline and transforms it into a binary or library file that can be run on your hardware device at the edge. Once the Knowledge Pack is on your hardware device, it starts outputting classification IDs that correspond to your events of interest.
A Knowledge Pack can be generated through the Download Model page
SensiML Knowledge Packs are not locked to any specific hardware platform. This feature allows you to choose the platform where you will deploy your Knowledge Pack. Some fields (Processor, Float Options, Compiler) get default values that depend on the selected HW platform.
Arm/GCC Compilers produces binaries with options in regards to floating-point operations:
-mfloat-abi=softFull software floating-point. The compiler will not generate any FPU instructions and the
-mfpu=option is ignored. Function calls are generated by passing floating-point arguments in integer registers.
Soft FP -
-mfloat-abi=softfpHardware floating-point using the soft floating-point ABI. The compiler will generate FPU instructions according to the -mfpu= option. Function calls are generated by passing floating-point arguments in integer registers. This means
softfpmay be intermixed.
Hard FP -
-mfloat-abi=hardFull hardware floating-point. The compiler will generate FPU instructions according to the
-mfpu=option. Function calls are generated by passing floating-point arguments in FPU registers. This means hard and softfp cannot be intermixed; neither can hard and soft.
We provide three formats to interface with your model when you generate a Knowledge Pack. The available format options depend on the device or compiler that you are using. See details about each of the three formats below.
Generates application firmware that is ready to flash to your device. Includes the application, Knowledge Pack, sensor configuration/drivers, and classification output for the target device.
Generates a library and header files with function APIs that can be linked into your application firmware. See the links below for useful information on the Library format.
Knowledge Pack Functions : Describes the available Knowledge Pack APIs in a Knowledge Pack Library
Building a Knowledge Pack Library : Tutorial for linking Knowlede Pack APIs into your application firmware
Generates a Makefile and the C/C++ source code files for the Knowledge Pack APIs. See the SensiML Embedded SDK Documentation for more information on the Source format.
Source is only available to specific subscription plans. See more details at https://sensiml.com/plans/
Application - Application is the example application for supported platforms that allows an example binary to be built for testing.
Output - Output corresponds to how your events get broadcasted from the hardware device and how you want to connect to your device. There are three main outputs: Bluetooth-LE, Serial, and Wi-Fi (TCP/IP).
When building a Knowledge Pack there is a debug option that will log extra information like feature vectors, debug messages, and error messages over a serial connection to help you debug the events of interest on a device. To enable this, set Debug to True in the Advanced Settings when you download your Knowledge Pack.
After flashing your device with a Knowledge Pack, debug information can be viewed by connecting to the virtual COM port in a terminal application.