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 |