ArmNN
 22.02
QLstmQueueDescriptor Struct Reference

#include <WorkloadData.hpp>

Inheritance diagram for QLstmQueueDescriptor:
QueueDescriptorWithParameters< QLstmDescriptor > QueueDescriptor

Public Member Functions

 QLstmQueueDescriptor ()
 
void Validate (const WorkloadInfo &workloadInfo) const
 
- Public Member Functions inherited from QueueDescriptorWithParameters< QLstmDescriptor >
virtual ~QueueDescriptorWithParameters ()=default
 
- Public Member Functions inherited from QueueDescriptor
virtual ~QueueDescriptor ()=default
 
void ValidateInputsOutputs (const std::string &descName, unsigned int numExpectedIn, unsigned int numExpectedOut) const
 
template<typename T >
const T * GetAdditionalInformation () const
 

Public Attributes

const ConstTensorHandlem_InputToInputWeights
 
const ConstTensorHandlem_InputToForgetWeights
 
const ConstTensorHandlem_InputToCellWeights
 
const ConstTensorHandlem_InputToOutputWeights
 
const ConstTensorHandlem_RecurrentToInputWeights
 
const ConstTensorHandlem_RecurrentToForgetWeights
 
const ConstTensorHandlem_RecurrentToCellWeights
 
const ConstTensorHandlem_RecurrentToOutputWeights
 
const ConstTensorHandlem_CellToInputWeights
 
const ConstTensorHandlem_CellToForgetWeights
 
const ConstTensorHandlem_CellToOutputWeights
 
const ConstTensorHandlem_InputGateBias
 
const ConstTensorHandlem_ForgetGateBias
 
const ConstTensorHandlem_CellBias
 
const ConstTensorHandlem_OutputGateBias
 
const ConstTensorHandlem_ProjectionWeights
 
const ConstTensorHandlem_ProjectionBias
 
const ConstTensorHandlem_InputLayerNormWeights
 
const ConstTensorHandlem_ForgetLayerNormWeights
 
const ConstTensorHandlem_CellLayerNormWeights
 
const ConstTensorHandlem_OutputLayerNormWeights
 
- Public Attributes inherited from QueueDescriptorWithParameters< QLstmDescriptor >
QLstmDescriptor m_Parameters
 
- Public Attributes inherited from QueueDescriptor
std::vector< ITensorHandle * > m_Inputs
 
std::vector< ITensorHandle * > m_Outputs
 
void * m_AdditionalInfoObject
 

Additional Inherited Members

- Protected Member Functions inherited from QueueDescriptorWithParameters< QLstmDescriptor >
 QueueDescriptorWithParameters ()=default
 
 QueueDescriptorWithParameters (QueueDescriptorWithParameters const &)=default
 
QueueDescriptorWithParametersoperator= (QueueDescriptorWithParameters const &)=default
 
- Protected Member Functions inherited from QueueDescriptor
 QueueDescriptor ()
 
 QueueDescriptor (QueueDescriptor const &)=default
 
QueueDescriptoroperator= (QueueDescriptor const &)=default
 

Detailed Description

Definition at line 585 of file WorkloadData.hpp.

Constructor & Destructor Documentation

◆ QLstmQueueDescriptor()

Definition at line 587 of file WorkloadData.hpp.

588  : m_InputToInputWeights(nullptr)
589  , m_InputToForgetWeights(nullptr)
590  , m_InputToCellWeights(nullptr)
591  , m_InputToOutputWeights(nullptr)
592  , m_RecurrentToInputWeights(nullptr)
593  , m_RecurrentToForgetWeights(nullptr)
594  , m_RecurrentToCellWeights(nullptr)
595  , m_RecurrentToOutputWeights(nullptr)
596  , m_CellToInputWeights(nullptr)
597  , m_CellToForgetWeights(nullptr)
598  , m_CellToOutputWeights(nullptr)
599  , m_InputGateBias(nullptr)
600  , m_ForgetGateBias(nullptr)
601  , m_CellBias(nullptr)
602  , m_OutputGateBias(nullptr)
603  , m_ProjectionWeights(nullptr)
604  , m_ProjectionBias(nullptr)
605  , m_InputLayerNormWeights(nullptr)
606  , m_ForgetLayerNormWeights(nullptr)
607  , m_CellLayerNormWeights(nullptr)
608  , m_OutputLayerNormWeights(nullptr)
609  {
610  }
const ConstTensorHandle * m_CellLayerNormWeights
const ConstTensorHandle * m_ProjectionWeights
const ConstTensorHandle * m_ForgetGateBias
const ConstTensorHandle * m_InputToOutputWeights
const ConstTensorHandle * m_InputToInputWeights
const ConstTensorHandle * m_CellToOutputWeights
const ConstTensorHandle * m_CellToInputWeights
const ConstTensorHandle * m_ForgetLayerNormWeights
const ConstTensorHandle * m_InputToForgetWeights
const ConstTensorHandle * m_CellBias
const ConstTensorHandle * m_InputLayerNormWeights
const ConstTensorHandle * m_InputToCellWeights
const ConstTensorHandle * m_CellToForgetWeights
const ConstTensorHandle * m_ProjectionBias
const ConstTensorHandle * m_RecurrentToCellWeights
const ConstTensorHandle * m_InputGateBias
const ConstTensorHandle * m_OutputGateBias
const ConstTensorHandle * m_OutputLayerNormWeights
const ConstTensorHandle * m_RecurrentToOutputWeights
const ConstTensorHandle * m_RecurrentToInputWeights
const ConstTensorHandle * m_RecurrentToForgetWeights

Member Function Documentation

◆ Validate()

void Validate ( const WorkloadInfo workloadInfo) const

Definition at line 3071 of file WorkloadData.cpp.

References WorkloadInfo::m_InputTensorInfos, WorkloadInfo::m_OutputTensorInfos, armnn::QAsymmS8, armnn::QSymmS16, armnn::QSymmS8, and armnn::Signed32.

3072 {
3073  const std::string descriptorName{"QLstmQueueDescriptor"};
3074 
3075  // Validate number of inputs/outputs
3076  ValidateNumInputs(workloadInfo, descriptorName, 3);
3077  ValidateNumOutputs(workloadInfo, descriptorName, 3);
3078 
3079  // Input/output tensor info
3080  auto inputInfo = workloadInfo.m_InputTensorInfos[0];
3081  auto outputStateInInfo = workloadInfo.m_InputTensorInfos[1];
3082  auto cellStateInInfo = workloadInfo.m_InputTensorInfos[2];
3083 
3084  auto outputStateOutInfo = workloadInfo.m_OutputTensorInfos[0];
3085  auto cellStateOutInfo = workloadInfo.m_OutputTensorInfos[1];
3086  auto outputInfo = workloadInfo.m_OutputTensorInfos[2];
3087 
3088  // Supported types for various tensors in QLSTM
3089  std::vector<DataType> inputOutputSupportedTypes =
3090  {
3092  };
3093 
3094  std::vector<DataType> cellStateSupportedTypes =
3095  {
3097  };
3098 
3099  std::vector<DataType> weightsSupportedTypes =
3100  {
3102  };
3103 
3104  std::vector<DataType> layerNormPeepholeWeightsSupportedTypes =
3105  {
3107  };
3108 
3109  std::vector<DataType> biasSupportedTypes =
3110  {
3112  };
3113 
3114  // Validate types of input/output tensors
3115  ValidateDataTypes(inputInfo, inputOutputSupportedTypes, descriptorName);
3116  ValidateDataTypes(outputStateInInfo, inputOutputSupportedTypes, descriptorName);
3117  ValidateDataTypes(cellStateInInfo, cellStateSupportedTypes, descriptorName);
3118 
3119  ValidateDataTypes(outputStateOutInfo, inputOutputSupportedTypes, descriptorName);
3120  ValidateDataTypes(cellStateOutInfo, cellStateSupportedTypes, descriptorName);
3121  ValidateDataTypes(outputInfo, inputOutputSupportedTypes, descriptorName);
3122 
3123  // Validate matching types of input/output tensors
3124  ValidateTensorDataTypesMatch(inputInfo, outputStateInInfo, descriptorName, "input", "outputStateIn");
3125  ValidateTensorDataTypesMatch(outputStateInInfo, outputStateOutInfo, descriptorName,
3126  "outputStateIn", "outputStateOut");
3127  ValidateTensorDataTypesMatch(cellStateInInfo, cellStateOutInfo, descriptorName, "cellStateIn", "cellStateOut");
3128 
3129  // Infer number of batches, number of units, input size and output size from tensor dimensions
3130  const uint32_t numBatches = inputInfo.GetShape()[0];
3131  const uint32_t inputSize = inputInfo.GetShape()[1];
3132  const uint32_t outputSize = outputStateInInfo.GetShape()[1];
3133  const uint32_t numUnits = cellStateInInfo.GetShape()[1];
3134 
3135  // Validate number of dimensions and number of elements for input/output tensors
3136  ValidateTensorNumDimNumElem(inputInfo, 2, (numBatches * inputSize), descriptorName + " input");
3137  ValidateTensorNumDimNumElem(outputStateInInfo, 2, (numBatches * outputSize), descriptorName + " outputStateIn");
3138  ValidateTensorNumDimNumElem(cellStateInInfo, 2, (numBatches * numUnits), descriptorName + " cellStateIn");
3139 
3140  ValidateTensorNumDimNumElem(outputStateOutInfo, 2, (numBatches * outputSize), descriptorName + " outputStateOut");
3141  ValidateTensorNumDimNumElem(cellStateOutInfo, 2, (numBatches * numUnits), descriptorName + " cellStateOut");
3142  ValidateTensorNumDimNumElem(outputInfo, 2, (numBatches * outputSize), descriptorName + " output");
3143 
3144  // Validate number of dimensions and number of elements for MANDATORY weight tensors
3145  ValidatePointer(m_InputToForgetWeights, descriptorName, "InputToForgetWeights");
3146  auto inputToForgetWeightsInfo = m_InputToForgetWeights->GetTensorInfo();
3147  ValidateTensorNumDimNumElem(inputToForgetWeightsInfo, 2, (numUnits * inputSize), " InputToForgetWeights");
3148 
3149  ValidatePointer(m_InputToCellWeights, descriptorName, "InputToCellWeights");
3150  auto inputToCellWeightsInfo = m_InputToCellWeights->GetTensorInfo();
3151  ValidateTensorNumDimNumElem(inputToCellWeightsInfo, 2, (numUnits * inputSize), " InputToCellWeights");
3152 
3153  ValidatePointer(m_InputToOutputWeights, descriptorName, "InputToOutputWeights");
3154  auto inputToOutputWeightsInfo = m_InputToOutputWeights->GetTensorInfo();
3155  ValidateTensorNumDimNumElem(inputToOutputWeightsInfo, 2, (numUnits * inputSize), " InputToOutputWeights");
3156 
3157  ValidatePointer(m_RecurrentToForgetWeights, descriptorName, "RecurrentToForgetWeights");
3158  auto recurrentToForgetWeightsInfo = m_RecurrentToForgetWeights->GetTensorInfo();
3159  ValidateTensorNumDimNumElem(recurrentToForgetWeightsInfo, 2, (numUnits * outputSize),
3160  " RecurrentToForgetWeights");
3161 
3162  ValidatePointer(m_RecurrentToCellWeights, descriptorName, "RecurrentToCellWeights");
3163  auto recurrentToCellWeightsInfo = m_RecurrentToCellWeights->GetTensorInfo();
3164  ValidateTensorNumDimNumElem(recurrentToCellWeightsInfo, 2, (numUnits * outputSize), " RecurrentToCellWeights");
3165 
3166  ValidatePointer(m_RecurrentToOutputWeights, descriptorName, "RecurrentToOutputWeights");
3167  auto recurrentToOutputWeightsInfo = m_RecurrentToOutputWeights->GetTensorInfo();
3168  ValidateTensorNumDimNumElem(recurrentToOutputWeightsInfo, 2, (numUnits * outputSize), " RecurrentToCellWeights");
3169 
3170  // Validate data types for MANDATORY weights tensors (all should match each other)
3171  ValidateDataTypes(inputToForgetWeightsInfo, weightsSupportedTypes, descriptorName);
3172 
3173  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, inputToCellWeightsInfo, descriptorName,
3174  "inputToForgetWeights", "inputToCellWeights");
3175  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, inputToOutputWeightsInfo, descriptorName,
3176  "inputToForgetWeights", "inputToOutputWeights");
3177 
3178  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, recurrentToForgetWeightsInfo, descriptorName,
3179  "inputToForgetWeights", "recurrentToForgeteights");
3180  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, recurrentToCellWeightsInfo, descriptorName,
3181  "inputToForgetWeights", "recurrentToCellWeights");
3182  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, recurrentToOutputWeightsInfo, descriptorName,
3183  "inputToForgetWeights", "recurrentToOutputWeights");
3184 
3185  // Validate number of dimensions and number of elements for MANDATORY bias tensors
3186  ValidatePointer(m_ForgetGateBias, descriptorName, "ForgetGateBias");
3187  auto forgetGateBiasInfo = m_ForgetGateBias->GetTensorInfo();
3188  ValidateTensorNumDimNumElem(forgetGateBiasInfo, 1, numUnits, " ForgetGateBias");
3189 
3190  ValidatePointer(m_CellBias, descriptorName, "CellBias");
3191  auto cellBiasInfo = m_CellBias->GetTensorInfo();
3192  ValidateTensorNumDimNumElem(cellBiasInfo, 1, numUnits, " CellBias");
3193 
3194  ValidatePointer(m_OutputGateBias, descriptorName, "OutputGateBias");
3195  auto outputGateBiasInfo = m_OutputGateBias->GetTensorInfo();
3196  ValidateTensorNumDimNumElem(outputGateBiasInfo, 1, numUnits, " OutputGateBias");
3197 
3198  // Validate data types for MANDATORY bias tensors
3199  ValidateDataTypes(forgetGateBiasInfo, biasSupportedTypes, descriptorName);
3200 
3201  ValidateTensorDataTypesMatch(forgetGateBiasInfo, cellBiasInfo, descriptorName,
3202  "forgetGateBias", "cellBias");
3203  ValidateTensorDataTypesMatch(forgetGateBiasInfo, outputGateBiasInfo, descriptorName,
3204  "forgetGateBias", "outputGateBias");
3205 
3206  // Validate OPTIONAL params: CIFG (inputToInputWeights, recurrentToInputWeights, inputGateBias)
3207  const bool allCifgParamsPresentOrNot = ((m_InputToInputWeights && m_RecurrentToInputWeights && m_InputGateBias &&
3211 
3212  if (!allCifgParamsPresentOrNot)
3213  {
3214  throw InvalidArgumentException(descriptorName +
3215  ": InputToInputWeights, RecurrentToInputWeights and InputGateBias must either all be present "
3216  "(CIFG disabled) or not be present at all (CIFG enabled). m_Parameters.m_CifgEnabled should be "
3217  "set appropriately.");
3218  }
3219 
3221  {
3222  // Validate number of dimensions and number of elements
3223  auto inputToInputWeightsInfo = m_InputToInputWeights->GetTensorInfo();
3224  ValidateTensorNumDimNumElem(inputToInputWeightsInfo, 2, (numUnits * inputSize), " InputToInputWeights");
3225 
3226  auto recurrentToInputWeightsInfo = m_RecurrentToInputWeights->GetTensorInfo();
3227  ValidateTensorNumDimNumElem(recurrentToInputWeightsInfo, 2, (numUnits * outputSize),
3228  " RecurrentToInputWeights");
3229 
3230  auto inputGateBiasInfo = m_InputGateBias->GetTensorInfo();
3231  ValidateTensorNumDimNumElem(inputGateBiasInfo, 1, numUnits, " InputGateBias");
3232 
3233  // Validate data types
3234  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, inputToInputWeightsInfo, descriptorName,
3235  "inputToForgetWeights", "inputToInputWeights");
3236  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, recurrentToInputWeightsInfo, descriptorName,
3237  "inputToForgetWeights", "recurrentToInputWeights");
3238  ValidateTensorDataTypesMatch(forgetGateBiasInfo, inputGateBiasInfo, descriptorName,
3239  "forgetGateBias", "inputGateBias");
3240  }
3241 
3242  // Validate OPTIONAL params: Peephole (cellToInputWeights, cellToForgetWeights, cellToOutputWeights)
3243  bool allPeepholeWeightsPresentOrNot =
3248 
3249  if (!allPeepholeWeightsPresentOrNot)
3250  {
3251  throw InvalidArgumentException(descriptorName +
3252  ": CellToInputWeights, CellToForgetWeights and CellToOutputWeights should all be present (Peephole "
3253  "enabled) or not be present at all (Peephole disabled). CellToInputWeights should only be present "
3254  "when Peephole is enabled and CIFG is disabled. m_Parameters.m_PeepholeEnabled should be set "
3255  "appropriately.");
3256  }
3257 
3259  {
3260  auto cellToForgetWeightsInfo = m_CellToForgetWeights->GetTensorInfo();
3261  ValidateTensorNumDimNumElem(cellToForgetWeightsInfo, 1, numUnits, " cellToForgetWeights");
3262  ValidateDataTypes(cellToForgetWeightsInfo, layerNormPeepholeWeightsSupportedTypes, descriptorName);
3263 
3264  auto cellToOutputWeightsInfo = m_CellToOutputWeights->GetTensorInfo();
3265  ValidateTensorNumDimNumElem(cellToOutputWeightsInfo, 1, numUnits, " cellToOutputWeights");
3266  ValidateTensorDataTypesMatch(cellToForgetWeightsInfo, cellToOutputWeightsInfo, descriptorName,
3267  "cellToForgetWeight", "cellToOutputWeights");
3268 
3270  {
3271  auto cellToInputWeightsInfo = m_CellToInputWeights->GetTensorInfo();
3272  ValidateTensorNumDimNumElem(cellToInputWeightsInfo, 1, numUnits, " cellToInputWeights");
3273  ValidateTensorDataTypesMatch(cellToForgetWeightsInfo, cellToInputWeightsInfo, descriptorName,
3274  "cellToForgetWeights", "cellToInputWeights");
3275  }
3276  }
3277 
3278  // Validate OPTIONAL params: Layer Norm Weights
3279  bool allLayerNormWeightsPresentOrNot =
3284 
3285  if (!allLayerNormWeightsPresentOrNot)
3286  {
3287  throw InvalidArgumentException(descriptorName +
3288  ": InputLayerNormWeights, ForgetLayerNormWeights, m_OutputLayerNormWeights "
3289  "and CellLayerNormWeights should all be present (Layer Norm enabled) or not "
3290  "be present at all (Layer Norm disabled). InputLayerNormWeights should "
3291  "only be present when Layer Norm is enabled and CIFG is disabled. "
3292  "m_Parameters.m_LayerNormEnabled should be set appropriately.");
3293  }
3294 
3296  {
3297  auto forgetLayerNormWeightsInfo = m_ForgetLayerNormWeights->GetTensorInfo();
3298  ValidateTensorNumDimNumElem(forgetLayerNormWeightsInfo, 1, numUnits, " forgetLayerNormWeights");
3299  ValidateDataTypes(forgetLayerNormWeightsInfo, layerNormPeepholeWeightsSupportedTypes, descriptorName);
3300 
3301  auto cellLayerNormWeightsInfo = m_CellLayerNormWeights->GetTensorInfo();
3302  ValidateTensorNumDimNumElem(cellLayerNormWeightsInfo, 1, numUnits, " cellLayerNormWeights");
3303  ValidateTensorDataTypesMatch(forgetLayerNormWeightsInfo, cellLayerNormWeightsInfo, descriptorName,
3304  "forgetLayerNormWeights", "cellLayerNormWeights");
3305 
3306  auto outputLayerNormWeightsInfo = m_OutputLayerNormWeights->GetTensorInfo();
3307  ValidateTensorNumDimNumElem(outputLayerNormWeightsInfo, 1, numUnits, " outputLayerNormWeights");
3308  ValidateTensorDataTypesMatch(forgetLayerNormWeightsInfo, outputLayerNormWeightsInfo, descriptorName,
3309  "forgetLayerNormWeights", "outputLayerNormWeights");
3310 
3312  {
3313  auto inputLayerNormWeightsInfo = m_InputLayerNormWeights->GetTensorInfo();
3314  ValidateTensorNumDimNumElem(inputLayerNormWeightsInfo, 1, numUnits, " inputLayerNormWeights");
3315  ValidateTensorDataTypesMatch(forgetLayerNormWeightsInfo, inputLayerNormWeightsInfo, descriptorName,
3316  "forgetLayerNormWeights", "inputLayerNormWeights");
3317  }
3318  }
3319 
3320  // Validate OPTIONAL params: Projection (projectionWeights, projectionBias)
3321  bool correctProjectionTensorsPresent =
3325 
3326  if (!correctProjectionTensorsPresent)
3327  {
3328  throw InvalidArgumentException(descriptorName +
3329  ": If projection is enabled, ProjectionWeights should be present and "
3330  "ProjectionBias is optional. If projection is disabled, neither "
3331  "ProjectionWeights nor ProjectionBias should be present.");
3332  }
3333 
3335  {
3336  auto projectionWeightsInfo = m_ProjectionWeights->GetTensorInfo();
3337  ValidateTensorNumDimNumElem(projectionWeightsInfo, 2, (numUnits * outputSize), "ProjectionWeights");
3338  ValidateDataTypes(projectionWeightsInfo, weightsSupportedTypes, descriptorName);
3339 
3340  if (m_ProjectionBias)
3341  {
3342  auto projectionBiasInfo = m_ProjectionBias->GetTensorInfo();
3343  ValidateTensorNumDimNumElem(projectionBiasInfo, 1, outputSize, "ProjectionBias");
3344  ValidateDataTypes(projectionBiasInfo, biasSupportedTypes, descriptorName);
3345  }
3346 
3347  }
3348  else if ((outputInfo.GetQuantizationScale() != m_Parameters.m_HiddenStateScale) &&
3349  outputInfo.GetQuantizationOffset() != m_Parameters.m_HiddenStateZeroPoint) {
3350  throw InvalidArgumentException(descriptorName +
3351  ": If projection is disabled, output quantization info (scale, offset) "
3352  "should match HiddenStateScale and HiddenStateZeroPoint.");
3353  }
3354 
3355 }
const ConstTensorHandle * m_CellLayerNormWeights
const ConstTensorHandle * m_ProjectionWeights
const ConstTensorHandle * m_ForgetGateBias
const ConstTensorHandle * m_InputToOutputWeights
bool m_PeepholeEnabled
Enable/disable peephole.
float m_HiddenStateScale
Hidden State quantization scale.
const ConstTensorHandle * m_InputToInputWeights
const ConstTensorHandle * m_CellToOutputWeights
const ConstTensorHandle * m_CellToInputWeights
const ConstTensorHandle * m_ForgetLayerNormWeights
const TensorInfo & GetTensorInfo() const
std::vector< TensorInfo > m_InputTensorInfos
bool m_LayerNormEnabled
Enable/disable layer normalization.
const ConstTensorHandle * m_InputToForgetWeights
const ConstTensorHandle * m_CellBias
std::vector< TensorInfo > m_OutputTensorInfos
const ConstTensorHandle * m_InputLayerNormWeights
const ConstTensorHandle * m_InputToCellWeights
const ConstTensorHandle * m_CellToForgetWeights
const ConstTensorHandle * m_ProjectionBias
const ConstTensorHandle * m_RecurrentToCellWeights
bool m_ProjectionEnabled
Enable/disable the projection layer.
const ConstTensorHandle * m_InputGateBias
const ConstTensorHandle * m_OutputGateBias
const ConstTensorHandle * m_OutputLayerNormWeights
const ConstTensorHandle * m_RecurrentToOutputWeights
const ConstTensorHandle * m_RecurrentToInputWeights
bool m_CifgEnabled
Enable/disable CIFG (coupled input & forget gate).
const ConstTensorHandle * m_RecurrentToForgetWeights
int32_t m_HiddenStateZeroPoint
Hidden State zero point.

Member Data Documentation

◆ m_CellBias

const ConstTensorHandle* m_CellBias

Definition at line 625 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_CellLayerNormWeights

const ConstTensorHandle* m_CellLayerNormWeights

Definition at line 631 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_CellToForgetWeights

const ConstTensorHandle* m_CellToForgetWeights

Definition at line 621 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_CellToInputWeights

const ConstTensorHandle* m_CellToInputWeights

Definition at line 620 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_CellToOutputWeights

const ConstTensorHandle* m_CellToOutputWeights

Definition at line 622 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_ForgetGateBias

const ConstTensorHandle* m_ForgetGateBias

Definition at line 624 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_ForgetLayerNormWeights

const ConstTensorHandle* m_ForgetLayerNormWeights

Definition at line 630 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_InputGateBias

const ConstTensorHandle* m_InputGateBias

Definition at line 623 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_InputLayerNormWeights

const ConstTensorHandle* m_InputLayerNormWeights

Definition at line 629 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_InputToCellWeights

const ConstTensorHandle* m_InputToCellWeights

Definition at line 614 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_InputToForgetWeights

const ConstTensorHandle* m_InputToForgetWeights

Definition at line 613 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_InputToInputWeights

const ConstTensorHandle* m_InputToInputWeights

Definition at line 612 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_InputToOutputWeights

const ConstTensorHandle* m_InputToOutputWeights

Definition at line 615 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_OutputGateBias

const ConstTensorHandle* m_OutputGateBias

Definition at line 626 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_OutputLayerNormWeights

const ConstTensorHandle* m_OutputLayerNormWeights

Definition at line 632 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_ProjectionBias

const ConstTensorHandle* m_ProjectionBias

Definition at line 628 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_ProjectionWeights

const ConstTensorHandle* m_ProjectionWeights

Definition at line 627 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_RecurrentToCellWeights

const ConstTensorHandle* m_RecurrentToCellWeights

Definition at line 618 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_RecurrentToForgetWeights

const ConstTensorHandle* m_RecurrentToForgetWeights

Definition at line 617 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_RecurrentToInputWeights

const ConstTensorHandle* m_RecurrentToInputWeights

Definition at line 616 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().

◆ m_RecurrentToOutputWeights

const ConstTensorHandle* m_RecurrentToOutputWeights

Definition at line 619 of file WorkloadData.hpp.

Referenced by QLstmLayer::CreateWorkload().


The documentation for this struct was generated from the following files: