Recurrent Neural Network operator.
Inference code generation for one-layer vanilla RNN. Supports forward, reverse and bidirectional RNNs. See the ONNX documentation for details about the supported RNN architectures.
Definition at line 22 of file ROperator_RNN.hxx.
Public Member Functions | |
ROperator_RNN () | |
Default constructor of ROperator_RNN. | |
ROperator_RNN (std::vector< float > activation_alpha, std::vector< float > activation_beta, std::vector< std::string > activations, float clip, std::string direction, size_t hidden_size, size_t layout, std::string nameX, std::string nameW, std::string nameR, std::string nameB, std::string nameSequence_lens, std::string nameInitial_h, std::string nameY, std::string nameY_h) | |
Constructor of ROperator_RNN from the attributes. | |
std::string | Generate (std::string OpName) |
Generates the inference code. | |
std::string | GenerateSessionMembersCode (std::string opName) |
void | Initialize (RModel &model) |
Initialize the model. | |
std::vector< std::vector< size_t > > | ShapeInference (std::vector< std::vector< size_t > > input) |
Infers the shape of the output tensors. | |
std::vector< ETensorType > | TypeInference (std::vector< ETensorType > input) |
Infers the type of the output tensors. | |
Public Member Functions inherited from TMVA::Experimental::SOFIE::ROperator | |
virtual | ~ROperator () |
virtual std::string | GenerateInitCode () |
virtual std::string | Header () |
Private Attributes | |
std::vector< float > | fAttrActivationAlpha |
Scaling values used by some activation functions. | |
std::vector< float > | fAttrActivationBeta |
Scaling values used by some activation functions. | |
std::vector< std::string > | fAttrActivations |
Activation functions. | |
float | fAttrClip |
Clip threshold. | |
std::string | fAttrDirection |
Direction of processing. | |
size_t | fAttrHiddenSize |
Number of the hidden layers. | |
size_t | fAttrLayout |
Data layout. | |
std::string | fNB |
Name of the bias. | |
std::string | fNInitial_h |
Name of the initial value of the hidden states. | |
std::string | fNR |
Name of the recurrence. | |
std::string | fNSequence_lens |
Name of the length of the sequences. | |
std::string | fNW |
Name of the weights. | |
std::string | fNX |
Name of the input. | |
std::string | fNY |
Name of the output. | |
std::string | fNY_h |
Name of the last sequence of the output. | |
std::vector< size_t > | fShapeB |
Shape of the bias. | |
std::vector< size_t > | fShapeInitial_h |
Shape of the initial value of the hidden states. | |
std::vector< size_t > | fShapeR |
Shape of the recurrence. | |
std::vector< size_t > | fShapeSequence_lens |
Shape of the length of the sequences. | |
std::vector< size_t > | fShapeW |
Shape of the weights. | |
std::vector< size_t > | fShapeX |
Shape of the input. | |
std::vector< size_t > | fShapeY |
Shape of the output. | |
std::vector< size_t > | fShapeY_h |
Shape of the last sequence of the output. | |
std::string | fType |
Type of the tensors. | |
Additional Inherited Members | |
Protected Attributes inherited from TMVA::Experimental::SOFIE::ROperator | |
bool | fUseSession = false |
flag to identify if using the session class | |
const std::string | SP = " " |
space used to correctly indent the generated C++ code | |
#include <TMVA/ROperator_RNN.hxx>
|
inline |
Default constructor of ROperator_RNN.
Definition at line 54 of file ROperator_RNN.hxx.
|
inline |
Constructor of ROperator_RNN from the attributes.
activation_alpha | scaling values used by some activation functions |
activation_beta | scaling values used by some activation functions |
activations | activation functions |
clip | clip threshold |
direction | direction of processing of the sequneces |
hidden_size | number of hidden layers |
layout | data layout |
nameX | name of the input tensor |
nameW | name of the weight tensor |
nameR | name of the recurrence tensor |
nameB | name of the bias tensor |
nameSequence_lens | name of the length of the sequences |
nameInitial_h | name of the initial value of the hidden states |
nameY | name of the output |
nameY_h | name of the last sequence of the output |
Definition at line 74 of file ROperator_RNN.hxx.
|
virtual |
Generates the inference code.
OpName | name of the operator |
Implements TMVA::Experimental::SOFIE::ROperator.
Definition at line 221 of file ROperator_RNN.icc.
|
virtual |
Reimplemented from TMVA::Experimental::SOFIE::ROperator.
Definition at line 190 of file ROperator_RNN.icc.
|
virtual |
Initialize the model.
model | Model |
Implements TMVA::Experimental::SOFIE::ROperator.
Definition at line 38 of file ROperator_RNN.icc.
|
virtual |
Infers the shape of the output tensors.
input | shape of the input tensors |
Implements TMVA::Experimental::SOFIE::ROperator.
Definition at line 16 of file ROperator_RNN.icc.
|
virtual |
Infers the type of the output tensors.
input | type of the input tensors |
Implements TMVA::Experimental::SOFIE::ROperator.
Definition at line 9 of file ROperator_RNN.icc.
|
private |
Scaling values used by some activation functions.
Definition at line 24 of file ROperator_RNN.hxx.
|
private |
Scaling values used by some activation functions.
Definition at line 25 of file ROperator_RNN.hxx.
|
private |
Activation functions.
Definition at line 26 of file ROperator_RNN.hxx.
|
private |
Clip threshold.
Definition at line 27 of file ROperator_RNN.hxx.
|
private |
Direction of processing.
Definition at line 28 of file ROperator_RNN.hxx.
|
private |
Number of the hidden layers.
Definition at line 29 of file ROperator_RNN.hxx.
|
private |
Data layout.
Definition at line 30 of file ROperator_RNN.hxx.
|
private |
Name of the bias.
Definition at line 35 of file ROperator_RNN.hxx.
|
private |
Name of the initial value of the hidden states.
Definition at line 37 of file ROperator_RNN.hxx.
|
private |
Name of the recurrence.
Definition at line 34 of file ROperator_RNN.hxx.
|
private |
Name of the length of the sequences.
Definition at line 36 of file ROperator_RNN.hxx.
|
private |
Name of the weights.
Definition at line 33 of file ROperator_RNN.hxx.
|
private |
Name of the input.
Definition at line 32 of file ROperator_RNN.hxx.
|
private |
Name of the output.
Definition at line 38 of file ROperator_RNN.hxx.
|
private |
Name of the last sequence of the output.
Definition at line 39 of file ROperator_RNN.hxx.
|
private |
Shape of the bias.
Definition at line 44 of file ROperator_RNN.hxx.
|
private |
Shape of the initial value of the hidden states.
Definition at line 46 of file ROperator_RNN.hxx.
|
private |
Shape of the recurrence.
Definition at line 43 of file ROperator_RNN.hxx.
|
private |
Shape of the length of the sequences.
Definition at line 45 of file ROperator_RNN.hxx.
|
private |
Shape of the weights.
Definition at line 42 of file ROperator_RNN.hxx.
|
private |
Shape of the input.
Definition at line 41 of file ROperator_RNN.hxx.
|
private |
Shape of the output.
Definition at line 47 of file ROperator_RNN.hxx.
|
private |
Shape of the last sequence of the output.
Definition at line 48 of file ROperator_RNN.hxx.
|
private |
Type of the tensors.
Definition at line 50 of file ROperator_RNN.hxx.