{
  "$schema": "https://ambiqai.github.io/helia-ui/schema/reference-model-1.json",
  "generatedFrom": {
    "sourceCommit": "ca3db58f597215fb69e3381657a9a757cc57c671",
    "tool": "pyref",
    "version": "1.7.3"
  },
  "language": "python",
  "modules": [
    {
      "description": "",
      "name": "evb",
      "path": "sleepkit.backends.evb",
      "submodules": [],
      "summary": "",
      "symbols": [
        {
          "description": "RPC commands\n\nThese commands are used to send data to the EVB.",
          "examples": [],
          "id": "sleepkit.backends.evb.RpcCommands",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "Send model to EVB",
              "examples": [],
              "id": "sleepkit.backends.evb.RpcCommands.SEND_MODEL",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "SEND_MODEL",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "SEND_MODEL: int = 0",
              "source": {
                "line": 28,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L28"
              },
              "summary": ""
            },
            {
              "description": "Send input data to EVB",
              "examples": [],
              "id": "sleepkit.backends.evb.RpcCommands.SEND_INPUT",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "SEND_INPUT",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "SEND_INPUT: int = 1",
              "source": {
                "line": 29,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L29"
              },
              "summary": ""
            },
            {
              "description": "Fetch output data from EVB",
              "examples": [],
              "id": "sleepkit.backends.evb.RpcCommands.FETCH_OUTPUT",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "FETCH_OUTPUT",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "FETCH_OUTPUT: int = 2",
              "source": {
                "line": 30,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L30"
              },
              "summary": ""
            },
            {
              "description": "Fetch status from EVB",
              "examples": [],
              "id": "sleepkit.backends.evb.RpcCommands.FETCH_STATUS",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "FETCH_STATUS",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "FETCH_STATUS: int = 3",
              "source": {
                "line": 31,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L31"
              },
              "summary": ""
            },
            {
              "description": "Perform inference on",
              "examples": [],
              "id": "sleepkit.backends.evb.RpcCommands.PERFORM_INFERENCE",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "PERFORM_INFERENCE",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "PERFORM_INFERENCE: int = 4",
              "source": {
                "line": 32,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L32"
              },
              "summary": ""
            }
          ],
          "name": "RpcCommands",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "RpcCommands()",
          "source": {
            "line": 15,
            "path": "sleepkit/backends/evb.py",
            "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L15"
          },
          "summary": "RPC commands"
        },
        {
          "description": "EVB inference engine backend\n\nThis backend leverages Ambiq SoCs to run inference on the edge.\nThe model, inputs, and outputs are sent to the EVB using eRPC.\n\nBy default, the backend will scan serial ports looking for the EVB.\nTherefore, the EVB must be connected and running prior to using this backend.",
          "examples": [],
          "id": "sleepkit.backends.evb.EvbBackend",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "Open connection to EVB\n\nThe following steps are performed:\n1. Scan serial ports for EVB\n2. Connect to EVB\n3. Send model to EVB via eRPC",
              "examples": [],
              "id": "sleepkit.backends.evb.EvbBackend.open",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "open",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "open()",
              "source": {
                "line": 54,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L54"
              },
              "summary": "Open connection to EVB"
            },
            {
              "description": "Close connection to EVB\n\nThis method will close the connection to the EVB.",
              "examples": [],
              "id": "sleepkit.backends.evb.EvbBackend.close",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "close",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "close()",
              "source": {
                "line": 68,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L68"
              },
              "summary": "Close connection to EVB"
            },
            {
              "description": "Send model to EVB\n\nThis method sends the model to the EVB using eRPC. The TFLite flatbuffer will be read from disk\nand sent to the EVB.",
              "examples": [],
              "id": "sleepkit.backends.evb.EvbBackend.send_model",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "send_model",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "send_model()",
              "source": {
                "line": 128,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L128"
              },
              "summary": "Send model to EVB"
            },
            {
              "description": "Set inputs for inference\n\nThe inputs are flattened and sent to the EVB using eRPC.",
              "examples": [],
              "id": "sleepkit.backends.evb.EvbBackend.set_inputs",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "set_inputs",
              "params": [
                {
                  "description": "Inputs for inference",
                  "name": "inputs",
                  "type": "npt.NDArray"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "set_inputs(inputs: npt.NDArray)",
              "source": {
                "line": 141,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L141"
              },
              "summary": "Set inputs for inference"
            },
            {
              "description": "Perform inference\n\nThis method sends the inference command to the EVB and waits for the inference to complete.",
              "examples": [],
              "id": "sleepkit.backends.evb.EvbBackend.perform_inference",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "perform_inference",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "perform_inference()",
              "source": {
                "line": 152,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L152"
              },
              "summary": "Perform inference"
            },
            {
              "description": "Get outputs from inference\n\nThe outputs are fetched from the EVB and converted to a numpy array.",
              "examples": [],
              "id": "sleepkit.backends.evb.EvbBackend.get_outputs",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "get_outputs",
              "params": [],
              "raises": [],
              "returns": [
                {
                  "description": "npt.NDArray: Outputs from inference",
                  "type": "npt.NDArray"
                }
              ],
              "signature": "get_outputs() -> npt.NDArray",
              "source": {
                "line": 161,
                "path": "sleepkit/backends/evb.py",
                "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L161"
              },
              "summary": "Get outputs from inference"
            }
          ],
          "name": "EvbBackend",
          "params": [
            {
              "description": "Task parameters",
              "name": "params",
              "type": "HKTaskParams"
            }
          ],
          "raises": [],
          "returns": [],
          "signature": "EvbBackend(params: TaskParams) -> None",
          "source": {
            "line": 35,
            "path": "sleepkit/backends/evb.py",
            "url": "https://github.com/AmbiqAI/sleepkit/blob/ca3db58f597215fb69e3381657a9a757cc57c671/sleepkit/backends/evb.py#L35"
          },
          "summary": ""
        }
      ]
    }
  ],
  "name": "sleepkit"
}
