ONE - On-device Neural Engine
|
Class to gather executor set for trainable model NN package. More...
#include <TrainableExecutors.h>
Public Member Functions | |
TrainableExecutors (void)=default | |
Construct a new TrainableExecutors object. | |
TrainableExecutors (const TrainableExecutors &)=delete | |
TrainableExecutors (TrainableExecutors &&)=default | |
~TrainableExecutors ()=default | |
Destroy the TrainableExecutors object. | |
TrainableExecutors & | operator= (const TrainableExecutors &)=delete |
TrainableExecutors & | operator= (TrainableExecutors &&)=default |
void | emplace (const ir::ModelIndex &model_index, const ir::SubgraphIndex &subg_index, std::unique_ptr< IExecutor > exec) override |
Insert executor in executor set. | |
TrainableExecutor * | at (const ir::ModelIndex &model_index, const ir::SubgraphIndex &subg_index) const override |
Return executor of index. | |
TrainableExecutor * | entryExecutor () const |
uint32_t | inputSize () const override |
Return executor set's number of input. | |
uint32_t | outputSize () const override |
Return executor set's number of output. | |
const ir::OperandInfo & | inputInfo (const ir::IOIndex &index) const override |
Return NN package input tensor info. | |
const ir::OperandInfo & | outputInfo (const ir::IOIndex &index) const override |
Return NN package output tensor info. | |
void | execute (const ExecutionContext &ctx) override |
Execute NN package executor set. | |
void | train (const ExecutionContext &ctx, uint32_t training_step) |
Train. | |
float | getLoss (const ir::IOIndex &index) const |
void | iterateTrainableTensors (const std::function< void(const ir::OperandIndex &, const backend::train::ITrainableTensor *)> &fn) const |
![]() | |
virtual | ~IExecutors ()=default |
Virtual IExecutors destructor. | |
IExecutor * | entryExecutor () const |
Class to gather executor set for trainable model NN package.
Definition at line 30 of file TrainableExecutors.h.
|
default |
Construct a new TrainableExecutors object.
|
delete |
|
default |
|
default |
Destroy the TrainableExecutors object.
|
overridevirtual |
Return executor of index.
[in] | model_index | Model index |
[in] | subg_index | Subgraph index |
Implements onert::exec::IExecutors.
Definition at line 34 of file TrainableExecutors.cc.
Referenced by entryExecutor().
|
overridevirtual |
Insert executor in executor set.
[in] | model_index | Model index |
[in] | subg_index | Subgraph index |
[in] | exec | Executor to insert |
Implements onert::exec::IExecutors.
Definition at line 26 of file TrainableExecutors.cc.
|
inline |
Definition at line 56 of file TrainableExecutors.h.
References at().
Referenced by getLoss(), inputInfo(), inputSize(), iterateTrainableTensors(), outputInfo(), outputSize(), and train().
|
overridevirtual |
Execute NN package executor set.
[in] | ctx | Execution context |
Implements onert::exec::IExecutors.
Definition at line 54 of file TrainableExecutors.cc.
float onert::exec::train::TrainableExecutors::getLoss | ( | const ir::IOIndex & | index | ) | const |
Definition at line 122 of file TrainableExecutors.cc.
References entryExecutor(), and onert::exec::train::TrainableExecutor::getLoss().
Referenced by onert::exec::Execution::getLoss().
|
overridevirtual |
Return NN package input tensor info.
[in] | index | Input index |
Implements onert::exec::IExecutors.
Definition at line 44 of file TrainableExecutors.cc.
References entryExecutor(), and onert::exec::train::TrainableExecutor::inputInfo().
|
overridevirtual |
Return executor set's number of input.
Implements onert::exec::IExecutors.
Definition at line 40 of file TrainableExecutors.cc.
References entryExecutor(), and onert::exec::train::TrainableExecutor::inputSize().
void onert::exec::train::TrainableExecutors::iterateTrainableTensors | ( | const std::function< void(const ir::OperandIndex &, const backend::train::ITrainableTensor *)> & | fn | ) | const |
Definition at line 129 of file TrainableExecutors.cc.
References entryExecutor(), and onert::exec::train::TrainableExecutor::iterateTrainableTensors().
Referenced by onert::exec::Execution::iterateTrainableTensors().
|
delete |
|
default |
|
overridevirtual |
Return NN package output tensor info.
[in] | index | Output index |
Implements onert::exec::IExecutors.
Definition at line 49 of file TrainableExecutors.cc.
References entryExecutor(), and onert::exec::train::TrainableExecutor::outputInfo().
|
overridevirtual |
Return executor set's number of output.
Implements onert::exec::IExecutors.
Definition at line 42 of file TrainableExecutors.cc.
References entryExecutor(), and onert::exec::train::TrainableExecutor::outputSize().
void onert::exec::train::TrainableExecutors::train | ( | const ExecutionContext & | ctx, |
uint32_t | training_step | ||
) |
Train.
ctx | Execution context |
training_step | The number of iterations of an training process. In other words, the number of gradient update. |
Definition at line 68 of file TrainableExecutors.cc.
References onert::exec::train::TrainableExecutor::backward(), entryExecutor(), and onert::exec::ExecutionContext::options.
Referenced by onert::exec::Execution::train().