|
ONE - On-device Neural Engine
|

Public Member Functions | |
| None | __init__ (self, str nnpackage_path, str backends="train") |
| None | compile (self, Union[str, Optimizer] optimizer, Union[str, LossFunction] loss, List[Union[str, Metric]] metrics=[], int batch_size=16) |
| Dict[str, Union[float, List[float]]] | train (self, DataLoader data_loader, int epochs, float validation_split=0.0, Optional[str] checkpoint_path=None) |
| Dict[str, Any] | train_step (self, List[np.ndarray] inputs, List[np.ndarray] expecteds) |
| Dict[str, Any] | eval_step (self, List[np.ndarray] inputs, List[np.ndarray] expecteds) |
Public Member Functions inherited from onert.common.basesession.BaseSession | |
| __getattr__ (self, name) | |
| List[tensorinfo] | get_inputs_tensorinfo (self) |
| List[tensorinfo] | get_outputs_tensorinfo (self) |
| set_inputs (self, size, inputs_array=[]) | |
Data Fields | |
| optimizer | |
| loss | |
| metrics | |
| train_info | |
Data Fields inherited from onert.common.basesession.BaseSession | |
| session | |
| inputs | |
| outputs | |
Protected Member Functions | |
| None | _print_training_parameters (self) |
| Tuple[float, float, float] | _run_phase (self, Tuple[List[np.ndarray], List[np.ndarray]] data, bool train=True) |
| None | _check_batch_size (self, List[np.ndarray] data, int batch_size, str data_type="input") |
| Dict[str, Any] | _batch_step (self, List[np.ndarray] inputs, List[np.ndarray] expecteds, bool update_weights) |
Protected Member Functions inherited from onert.common.basesession.BaseSession | |
| _recreate_session (self, backend_session) | |
| _set_outputs (self, size) | |
Class for training and inference using nnfw_session.
Definition at line 18 of file session.py.
| None onert.experimental.train.session.TrainSession.__init__ | ( | self, | |
| str | nnpackage_path, | ||
| str | backends = "train" |
||
| ) |
Initialize the train session.
Args:
nnpackage_path (str): Path to the nnpackage file or directory.
backends (str): Backends to use, default is "train".
Reimplemented from onert.common.basesession.BaseSession.
Definition at line 22 of file session.py.
References onert.experimental.train.session.TrainSession.__init__(), onert_micro::OMTrainingContext.loss, nnfw_loss_info.loss, onert.experimental.train.session.TrainSession.loss, onert.experimental.train.session.TrainSession.metrics, onert_micro::OMTrainingContext.optimizer, onert.experimental.train.session.TrainSession.optimizer, onert::backend::acl_common::AclBackendContext< T_TensorBuilder, T_ConstantInitializer, T_KernelGenerator, T_Optimizer >.optimizer, onert::backend::train::BackendContext.optimizer(), validate_onnx2circle.OnnxRunner.session, onert::api::python::NNFW_SESSION.session, onert.common.basesession.BaseSession.session, and onert.experimental.train.session.TrainSession.train_info.
Referenced by onert.experimental.train.session.TrainSession.__init__().
|
protected |
Common logic for one batch: bind data, run, collect loss & metrics. Returns a dict with keys "loss", "metrics", "time_ms".
Definition at line 289 of file session.py.
References onert.experimental.train.session.TrainSession._check_batch_size(), onert.experimental.train.session.TrainSession.metrics, validate_onnx2circle.OnnxRunner.session, onert::api::python::NNFW_SESSION.session, onert.common.basesession.BaseSession.session, and onert.experimental.train.session.TrainSession.train_info.
Referenced by onert.experimental.train.session.TrainSession.eval_step(), and onert.experimental.train.session.TrainSession.train_step().
|
protected |
Validate that the batch size of the data matches the configured training batch size.
Args:
data (list of np.ndarray): The data to validate.
batch_size (int): The expected batch size.
data_type (str): 'input' or 'expected'.
Raises:
ValueError: If the batch size does not match the expected value.
Definition at line 228 of file session.py.
Referenced by onert.experimental.train.session.TrainSession._batch_step(), and onert.experimental.train.session.TrainSession._run_phase().
|
protected |
Print the training parameters in a formatted way.
Definition at line 95 of file session.py.
References onert_micro::OMTrainingContext.loss, nnfw_loss_info.loss, onert.experimental.train.session.TrainSession.loss, onert_micro::OMTrainingContext.optimizer, onert.experimental.train.session.TrainSession.optimizer, onert::backend::acl_common::AclBackendContext< T_TensorBuilder, T_ConstantInitializer, T_KernelGenerator, T_Optimizer >.optimizer, onert::backend::train::BackendContext.optimizer(), and onert.experimental.train.session.TrainSession.train_info.
|
protected |
Run a training or validation phase.
Args:
data: Data generator.
train (bool): Whether to update weights.
Returns:
(avg_loss, avg_io_ms, avg_train_ms)
Definition at line 163 of file session.py.
References onert.experimental.train.session.TrainSession._check_batch_size(), onert.experimental.train.session.TrainSession.metrics, validate_onnx2circle.OnnxRunner.session, onert::api::python::NNFW_SESSION.session, onert.common.basesession.BaseSession.session, and onert.experimental.train.session.TrainSession.train_info.
Referenced by onert.experimental.train.session.TrainSession.train().
| None onert.experimental.train.session.TrainSession.compile | ( | self, | |
| Union[str, Optimizer] | optimizer, | ||
| Union[str, LossFunction] | loss, | ||
| List[Union[str, Metric]] | metrics = [], |
||
| int | batch_size = 16 |
||
| ) |
Compile the session with optimizer, loss, and metrics.
Args:
optimizer (str or Optimizer): Optimizer instance or name.
loss (str or LossFunction): Loss instance or name.
metrics (list of str or Metric): Metrics to evaluate during training.
batch_size (int): Number of samples per batch.
Definition at line 43 of file session.py.
| Dict[str, Any] onert.experimental.train.session.TrainSession.eval_step | ( | self, | |
| List[np.ndarray] | inputs, | ||
| List[np.ndarray] | expecteds | ||
| ) |
Run one evaluation batch: forward only (no weight update).
Args:
inputs (list of np.ndarray): Inputs for this batch.
expecteds (list of np.ndarray): Ground‑truth outputs for this batch.
Returns:
dict: {
"loss": list of float losses,
"metrics": dict of metric_name -> value,
"eval_time": float (ms)
}
Definition at line 267 of file session.py.
References onert.experimental.train.session.TrainSession._batch_step(), onert_micro::OMTrainingContext.loss, nnfw_loss_info.loss, onert.experimental.train.session.TrainSession.loss, onert_micro::OMTrainingContext.optimizer, onert.experimental.train.session.TrainSession.optimizer, onert::backend::acl_common::AclBackendContext< T_TensorBuilder, T_ConstantInitializer, T_KernelGenerator, T_Optimizer >.optimizer, and onert::backend::train::BackendContext.optimizer().
| Dict[str, Union[float, List[float]]] onert.experimental.train.session.TrainSession.train | ( | self, | |
| DataLoader | data_loader, | ||
| int | epochs, | ||
| float | validation_split = 0.0, |
||
| Optional[str] | checkpoint_path = None |
||
| ) |
Train the model using the given data loader.
Args:
data_loader: Data loader providing input and expected data.
epochs (int): Number of epochs to train.
validation_split (float): Ratio of validation data. Default is 0.0.
checkpoint_path (str, optional): Path to save training checkpoints.
Returns:
dict: Timing and performance metrics.
Definition at line 113 of file session.py.
References onert.experimental.train.session.TrainSession._run_phase(), onert_micro::OMTrainingContext.loss, nnfw_loss_info.loss, onert.experimental.train.session.TrainSession.loss, onert.experimental.train.session.TrainSession.metrics, onert_micro::OMTrainingContext.optimizer, onert.experimental.train.session.TrainSession.optimizer, onert::backend::acl_common::AclBackendContext< T_TensorBuilder, T_ConstantInitializer, T_KernelGenerator, T_Optimizer >.optimizer, onert::backend::train::BackendContext.optimizer(), validate_onnx2circle.OnnxRunner.session, onert::api::python::NNFW_SESSION.session, and onert.common.basesession.BaseSession.session.
| Dict[str, Any] onert.experimental.train.session.TrainSession.train_step | ( | self, | |
| List[np.ndarray] | inputs, | ||
| List[np.ndarray] | expecteds | ||
| ) |
Train the model for a single batch.
Args:
inputs (list of np.ndarray): List of input arrays for the batch.
expecteds (list of np.ndarray): List of expected output arrays for the batch.
Returns:
dict: Loss and metrics values, and train_time in ms.
Definition at line 249 of file session.py.
References onert.experimental.train.session.TrainSession._batch_step(), onert_micro::OMTrainingContext.loss, nnfw_loss_info.loss, onert.experimental.train.session.TrainSession.loss, onert_micro::OMTrainingContext.optimizer, onert.experimental.train.session.TrainSession.optimizer, onert::backend::acl_common::AclBackendContext< T_TensorBuilder, T_ConstantInitializer, T_KernelGenerator, T_Optimizer >.optimizer, and onert::backend::train::BackendContext.optimizer().
| onert.experimental.train.session.TrainSession.loss |
Definition at line 59 of file session.py.
Referenced by onert.experimental.train.session.TrainSession.__init__(), onert.experimental.train.session.TrainSession._print_training_parameters(), onert.experimental.train.session.TrainSession.eval_step(), onert.experimental.train.session.TrainSession.train(), and onert.experimental.train.session.TrainSession.train_step().
| onert.experimental.train.session.TrainSession.metrics |
| onert.experimental.train.session.TrainSession.optimizer |
Definition at line 57 of file session.py.
Referenced by onert.experimental.train.session.TrainSession.__init__(), onert.experimental.train.session.TrainSession._print_training_parameters(), onert.experimental.train.session.TrainSession.eval_step(), onert.experimental.train.session.TrainSession.train(), and onert.experimental.train.session.TrainSession.train_step().
| onert.experimental.train.session.TrainSession.train_info |
Definition at line 84 of file session.py.
Referenced by onert.experimental.train.session.TrainSession.__init__(), onert.experimental.train.session.TrainSession._batch_step(), onert.experimental.train.session.TrainSession._print_training_parameters(), and onert.experimental.train.session.TrainSession._run_phase().