Source code for mltk.core.tflite_micro.tflite_micro_model_details

from typing import List
from mltk.utils.string_formatting import  format_units

from .tflite_micro_memory_plan import TfliteMicroMemoryPlan


[docs]class TfliteMicroModelDetails: """TF-Lite Micro Model Details"""
[docs] def __init__(self, wrapper_details:dict): self._details:dict = wrapper_details self._memory_plan:TfliteMicroMemoryPlan = None
@property def name(self) -> str: """Name of model""" return self._details['name'] @property def version(self)-> int: """Version of model""" return self._details['version'] @property def date(self)-> str: """Date of model in ISO8601 format""" return self._details['date'] @property def description(self)-> str: """Description of model""" return self._details['description'] @property def classes(self) -> List[str]: """List of class labels""" return self._details['classes'] @property def hash(self)-> str: """Unique hash of model data""" return self._details['hash'] @property def accelerator(self)-> str: """Accelerater kernels loaded into TFLM interpreter""" return self._details['accelerator'] @property def runtime_memory_size(self)-> int: """Total amount of RAM required at runtime to run model""" return self._details['runtime_memory_size'] @property def memory_plan(self) -> TfliteMicroMemoryPlan: """The generated tensor buffer layout used for this model""" return self._memory_plan def __str__(self): s = '' s += f"Name: {self.name}\n" s += f"Version: {self.version}\n" s += f"Date: {self.date}\n" s += f"Description: {self.description}\n" s += f"Hash: {self.hash}\n" s += f"Accelerator: {self.accelerator}\n" s += f"Classes: {', '.join(self.classes)}\n" s += f"Total runtime memory: {format_units(self.runtime_memory_size)}Bytes\n" return s