On Device training Report Keys
This page describes all the keys that are used in the on device training report. The report output is a json file that contains all the keys even if they are not used.
Report available keys
General information keys
version
(type: str): This field is used to keep track of the report version. Currently, this field is not used.date
(type: str) : Date and time of the generation of the report. Format : YY-MM-DD hh:mm:sstarget
(type: str): Target nametarget_id
(type: str): Unique ID of the targetversion_tag
(type: str): Version of the target used for the benchmark.train_engine
(type: str): Train engine used to run the model.model_file_name
(type: str): Name of the model used for the benchmark.benchmark_type
(type: str): This field contains the type of benchmark from which the measures from. (TYPE1 : random data, TYPE2 : dataset preprocessed, TYPE3: raw dataset).
Hardware specific keys
ram_size
(type: int): Size in bytes of the available RAM of the system.ram_peak_usage
(type: float): Percentage of the peak RAM usage.flash_size
(type int): Size in bytes of the available FLASH.flash_usage
(type: float): Percentage of the FLASH usage. Might not be relevant for Linux targets.load_cpu
(type: float): Percentage of the CPU usage.load_accelerator
(type: float): Percentage of the accelerator (GPU, NPU, …) usage.temperature
(type: float): Temperature of the system (?) in °C.ambiant_temperature
(type: float): Temperature in °C of the room where the system is.power_consumption
(type: float): Power consumption of the system in Watt.enery_efficiency
(type: float): Energy efficiency in Operation Per Watt (OPW).FLOPs
(type: float): Operations per seconds
Hardware agnostic keys
model_size
(type: int): Size in bytes of the model on the target (after any compression / optimization performed by the engine).nb_parameters_model
(type: int): Number of parameters of the model.loss_train
(type: json):min
: (type: float): min loss recordedmax
: (type: float): max loss recorded<element list>
(type: json): Each epoch resultsepoch_index
(type : int): Number of the training cycleloss
(type: float): New accuracy after trainingtime
(type: flaot): Time took for the training cycle
loss_test
(type: json):min
: (type: float): min loss recordedmax
: (type: float): max loss recorded<element list>
(type: json): Each epoch resultsepoch_index
(type : int): Number of the training cycleloss
(type: float): New accuracy after trainingtime
(type: flaot): Time took for the training cycle
odt_config
(type: json): This key contains the configuration used for the on device training.train_dataset
(type: json):nb_samples
(type: int): Number of samples in the train dataset.input
(type: json):shape
(type: list): Shape of the input data.dtype
(type: str): Data type of the input data.file_name
(type: str): Name of the train dataset file.
output
(type: json):shape
(type: list): Shape of the output data.dtype
(type: str): Data type of the output data.file_name
(type: str): Name of the train dataset labels file.
test_dataset
(type: json):nb_samples
(type: int): Number of samples in the test dataset.input
(type: json):shape
(type: list): Shape of the input data.dtype
(type: str): Data type of the input data.file_name
(type: str): Name of the test dataset file.
output
(type: json):shape
(type: list): Shape of the output data.dtype
(type: str): Data type of the output data.file_name
(type: str): Name of the test dataset labels file.
learning_parameters
(type: json): This key contains the learning parameters used for the training.epochs
(type: int): Number of epochs used for the training.batch_size
(type: int): Batch size used for the training.learning_rate
(type: float): Learning rate used for the training.optimizer
(type: str): Optimizer used for the training.loss_function
(type: str): Loss function used for the training.
Report generation
The generated report should contain all the previously described keys. If you do not have a value for a given key, replace the value of this key by the keyword null
. Example :
...
"ram_size": 4096,
"ram_peak": 0.7,
"flash_size": null,
...
🚫
Important: If the report does not contain all the keys, the report may not be accepted by the dAIEdge-VLab. You will then receive an error message on the website interface or via email.
Keys automatically overrided
The dAIEdge-VLab CI/CD automatically override some keys of the report generated by the Target. These keys are overrided to ensure their proper value.
Report key | Value overrided with |
---|---|
date |
Time at the execution of the report finalizer. |
target_id |
NA |
version_tag |
$VERSION_TAG |
target |
$TARGET |
inference_engine |
$RUNTIME |
benchmark_type |
$BENCHMARK_TYPE |
model_file_name |
$MODEL_FILENAME wihtout the time stamp |