nndeploy C++ API  0.2.0
nndeploy C++ API
Classes | Enumerations | Functions
nndeploy::ir Namespace Reference

Classes

class  AveragePoolParam
 
class  BatchNormalizationParam
 
class  CastParam
 
class  ConcatParam
 
class  ConstantOfShapeParam
 
class  ConvParam
 
class  DefaultInterpret
 
class  DequantizeLinearParam
 
class  EmbeddingParam
 
class  FlattenParam
 
class  GatherParam
 
class  GemmParam
 
class  Interpret
 
class  InterpretCreator
 解释器的创建类 More...
 
class  LayerNormalizationParam
 
class  MatMulParam
 
class  MaxPoolParam
 
class  ModelDesc
 参照onnx的格式,描述模型的结构 More...
 
class  OpDesc
 参照并扩充了onnx的格式,描述算子的基本信息 More...
 
class  OpParam
 
class  OpParamCreator
 算子参数的创建类 More...
 
class  QLinearConvParam
 
class  QuantizeLinearParam
 
class  ReduceMaxParam
 
class  ReduceMeanParam
 
class  ReduceMinParam
 
class  ReduceSumParam
 
class  ReshapeParam
 
class  ResizeParam
 
class  RMSNormParam
 
class  ShapeParam
 
class  SoftmaxParam
 
class  SplitParam
 
class  TransposeParam
 
class  TypeInterpretCreator
 解释器的创建类模板 More...
 
class  TypeInterpretRegister
 解释器的创建类的注册类模板 More...
 
class  TypeOpParamCreator
 算子参数的创建类模板 More...
 
class  TypeOpParamRegister
 算子参数的创建类的注册类模板 More...
 
class  UnsqueezeParam
 
class  ValueDesc
 参照onnx的格式,描述模型或者算子输入输出 More...
 

Enumerations

enum  OpType : int {
  kOpTypeNet = 0x0000 , kOpTypeAbs , kOpTypeAdd , kOpTypeAcos ,
  kOpTypeAdam , kOpTypeAnd , kOpTypeArgMax , kOpTypeArgMin ,
  kOpTypeAsin , kOpTypeAtan , kOpTypeAveragePool , kOpTypeBatchNormalization ,
  kOpTypeCast , kOpTypeCeil , kOpTypeClip , kOpTypeConcat ,
  kOpTypeConstant , kOpTypeConv , kOpTypeCos , kOpTypeCosh ,
  kOpTypeConstantOfShape , kOpTypeDepthToSpace , kOpTypeDequantizeLinear , kOpTypeDet ,
  kOpTypeDiv , kOpTypeDropout , kOpTypeEinsum , kOpTypeElu ,
  kOpTypeEqual , kOpTypeErf , kOpTypeExp , kOpTypeExpand ,
  kOpTypeFlatten , kOpTypeFloor , kOpTypeGather , kOpTypeGelu ,
  kOpTypeGemm , kOpTypeGlobalAveragePool , kOpTypeGlobalLpPool , kOpTypeGlobalMaxPool ,
  kOpTypeGreater , kOpTypeHardSigmoid , kOpTypeIdentity , kOpTypeIf ,
  kOpTypeImageScaler , kOpTypeInstanceNormalization , kOpTypeIsInf , kOpTypeIsNaN ,
  kOpTypeLRN , kOpTypeLSTM , kOpTypeLeakyRelu , kOpTypeLess ,
  kOpTypeLog , kOpTypeLogSoftmax , kOpTypeLoop , kOpTypeLpNormalization ,
  kOpTypeLpPool , kOpTypeMatMul , kOpTypeMatMulInteger , kOpTypeMax ,
  kOpTypeMaxPool , kOpTypeMaxRoiPool , kOpTypeMaxUnpool , kOpTypeMean ,
  kOpTypeMin , kOpTypeMod , kOpTypeMomentum , kOpTypeMul ,
  kOpTypeMuls , kOpTypeMultinomial , kOpTypeNeg , kOpTypeNegLogSoftmax ,
  kOpTypeNonMaxSuppression , kOpTypeNonZero , kOpTypeNot , kOpTypeOneHot ,
  kOpTypeOnesLike , kOpTypeOr , kOpTypePad , kOpTypePow ,
  kOpTypePRelu , kOpTypeQLinearConv , kOpTypeQLinearMatMul , kOpTypeQuantizeLinear ,
  kOpTypeRNN , kOpTypeRandomNormal , kOpTypeRandomNormalLike , kOpTypeRandomUniform ,
  kOpTypeRandomUniformLike , kOpTypeRange , kOpTypeReciprocal , kOpTypeReduceL1 ,
  kOpTypeReduceL2 , kOpTypeReduceLogSum , kOpTypeReduceLogSumExp , kOpTypeReduceMax ,
  kOpTypeReduceMean , kOpTypeReduceMin , kOpTypeReduceProd , kOpTypeReduceSum ,
  kOpTypeReduceSumSquare , kOpTypeRelu , kOpTypeReshape , kOpTypeResize ,
  kOpTypeReverseSequence , kOpTypeRoiAlign , kOpTypeRound , kOpTypeScale ,
  kOpTypeScan , kOpTypeScatter , kOpTypeSelu , kOpTypeSilu ,
  kOpTypeSequenceAt , kOpTypeSequenceConstruct , kOpTypeSequenceEmpty , kOpTypeSequenceErase ,
  kOpTypeSequenceInsert , kOpTypeSequenceLength , kOpTypeShape , kOpTypeShrink ,
  kOpTypeSigmoid , kOpTypeSign , kOpTypeSin , kOpTypeSinh ,
  kOpTypeSize , kOpTypeSlice , kOpTypeSoftmax , kOpTypeSoftplus ,
  kOpTypeSoftsign , kOpTypeSpaceToDepth , kOpTypeSplit , kOpTypeSqrt ,
  kOpTypeSqueeze , kOpTypeSub , kOpTypeSum , kOpTypeSwiGLU ,
  kOpTypeTan , kOpTypeTanh , kOpTypeTfIdf , kOpTypeThresholdedRelu ,
  kOpTypeTile , kOpTypeTopK , kOpTypeTranspose , kOpTypeUnsqueeze ,
  kOpTypeUpsample , kOpTypeWhere , kOpTypeXor , kOpTypeRMSNorm ,
  kOpTypeEmbedding , kOpTypeLayerNormalization , kOpTypeNone
}
 算子类型 算子分类 More...
 

Functions

InterpretcreateInterpret (base::ModelType type, ir::ModelDesc *model_desc=nullptr, bool is_external=false)
 Create a Interpret object. More...
 
std::shared_ptr< InterpretcreateInterpretSharedPtr (base::ModelType type, ir::ModelDesc *model_desc=nullptr, bool is_external=false)
 
std::shared_ptr< base::ParamcreateOpParam (OpType op_type)
 Create a base::Param object. More...
 
std::map< base::ModelType, std::shared_ptr< InterpretCreator > > & getGlobalInterpretCreatorMap ()
 Get the Global Interpret Creator Map object. More...
 
std::map< OpType, std::shared_ptr< OpParamCreator > > & getGlobalOpParamCreatorMap ()
 Get the Global base::Param Creator Map object. More...
 
std::string opTypeToString (OpType op_type)
 
OpType stringToOpType (const std::string &op_type_name)
 

Enumeration Type Documentation

◆ OpType

算子类型 算子分类

unary

activation

math

binary - broadcast and elementwise

reduce

computation intensive

conv

matmul

shape

concat

split

normalization

pooling

deeplink的分类

  1. Convolution类
  2. Pooling类
  3. Pad类
  4. Loss类
  5. Norm类
  6. Activation类
  7. Dropout类
  8. Optimizer类
  9. Communication类
  10. Interpolate类
  1. BLAS类
  2. Linalg类
  3. Permute类,对真实内存做数据重排,典型算子为roll、concat等

相比Permute类算子,其没有对真实内存数据做操作和移动,

只是指针信息或者Copy,包括reshape和Indexing等

  1. View/Copy类,
  2. Advanced Indexing类
  3. Distribution类
  4. Sort类
Enumerator
kOpTypeNet 
kOpTypeAbs 
kOpTypeAdd 
kOpTypeAcos 
kOpTypeAdam 
kOpTypeAnd 
kOpTypeArgMax 
kOpTypeArgMin 
kOpTypeAsin 
kOpTypeAtan 
kOpTypeAveragePool 
kOpTypeBatchNormalization 
kOpTypeCast 
kOpTypeCeil 
kOpTypeClip 
kOpTypeConcat 
kOpTypeConstant 
kOpTypeConv 
kOpTypeCos 
kOpTypeCosh 
kOpTypeConstantOfShape 
kOpTypeDepthToSpace 
kOpTypeDequantizeLinear 
kOpTypeDet 
kOpTypeDiv 
kOpTypeDropout 
kOpTypeEinsum 
kOpTypeElu 
kOpTypeEqual 
kOpTypeErf 
kOpTypeExp 
kOpTypeExpand 
kOpTypeFlatten 
kOpTypeFloor 
kOpTypeGather 
kOpTypeGelu 
kOpTypeGemm 
kOpTypeGlobalAveragePool 
kOpTypeGlobalLpPool 
kOpTypeGlobalMaxPool 
kOpTypeGreater 
kOpTypeHardSigmoid 
kOpTypeIdentity 
kOpTypeIf 
kOpTypeImageScaler 
kOpTypeInstanceNormalization 
kOpTypeIsInf 
kOpTypeIsNaN 
kOpTypeLRN 
kOpTypeLSTM 
kOpTypeLeakyRelu 
kOpTypeLess 
kOpTypeLog 
kOpTypeLogSoftmax 
kOpTypeLoop 
kOpTypeLpNormalization 
kOpTypeLpPool 
kOpTypeMatMul 
kOpTypeMatMulInteger 
kOpTypeMax 
kOpTypeMaxPool 
kOpTypeMaxRoiPool 
kOpTypeMaxUnpool 
kOpTypeMean 
kOpTypeMin 
kOpTypeMod 
kOpTypeMomentum 
kOpTypeMul 
kOpTypeMuls 
kOpTypeMultinomial 
kOpTypeNeg 
kOpTypeNegLogSoftmax 
kOpTypeNonMaxSuppression 
kOpTypeNonZero 
kOpTypeNot 
kOpTypeOneHot 
kOpTypeOnesLike 
kOpTypeOr 
kOpTypePad 
kOpTypePow 
kOpTypePRelu 
kOpTypeQLinearConv 
kOpTypeQLinearMatMul 
kOpTypeQuantizeLinear 
kOpTypeRNN 
kOpTypeRandomNormal 
kOpTypeRandomNormalLike 
kOpTypeRandomUniform 
kOpTypeRandomUniformLike 
kOpTypeRange 
kOpTypeReciprocal 
kOpTypeReduceL1 
kOpTypeReduceL2 
kOpTypeReduceLogSum 
kOpTypeReduceLogSumExp 
kOpTypeReduceMax 
kOpTypeReduceMean 
kOpTypeReduceMin 
kOpTypeReduceProd 
kOpTypeReduceSum 
kOpTypeReduceSumSquare 
kOpTypeRelu 
kOpTypeReshape 
kOpTypeResize 
kOpTypeReverseSequence 
kOpTypeRoiAlign 
kOpTypeRound 
kOpTypeScale 
kOpTypeScan 
kOpTypeScatter 
kOpTypeSelu 
kOpTypeSilu 
kOpTypeSequenceAt 
kOpTypeSequenceConstruct 
kOpTypeSequenceEmpty 
kOpTypeSequenceErase 
kOpTypeSequenceInsert 
kOpTypeSequenceLength 
kOpTypeShape 
kOpTypeShrink 
kOpTypeSigmoid 
kOpTypeSign 
kOpTypeSin 
kOpTypeSinh 
kOpTypeSize 
kOpTypeSlice 
kOpTypeSoftmax 
kOpTypeSoftplus 
kOpTypeSoftsign 
kOpTypeSpaceToDepth 
kOpTypeSplit 
kOpTypeSqrt 
kOpTypeSqueeze 
kOpTypeSub 
kOpTypeSum 
kOpTypeSwiGLU 
kOpTypeTan 
kOpTypeTanh 
kOpTypeTfIdf 
kOpTypeThresholdedRelu 
kOpTypeTile 
kOpTypeTopK 
kOpTypeTranspose 
kOpTypeUnsqueeze 
kOpTypeUpsample 
kOpTypeWhere 
kOpTypeXor 
kOpTypeRMSNorm 
kOpTypeEmbedding 
kOpTypeLayerNormalization 
kOpTypeNone 

Definition at line 65 of file op_param.h.

Function Documentation

◆ createInterpret()

Interpret* nndeploy::ir::createInterpret ( base::ModelType  type,
ir::ModelDesc model_desc = nullptr,
bool  is_external = false 
)

Create a Interpret object.

Parameters
type
Returns
Interpret*

◆ createInterpretSharedPtr()

std::shared_ptr<Interpret> nndeploy::ir::createInterpretSharedPtr ( base::ModelType  type,
ir::ModelDesc model_desc = nullptr,
bool  is_external = false 
)

◆ createOpParam()

std::shared_ptr<base::Param> nndeploy::ir::createOpParam ( OpType  op_type)

Create a base::Param object.

Parameters
type
Returns
std::shared_ptr<base::Param>

◆ getGlobalInterpretCreatorMap()

std::map<base::ModelType, std::shared_ptr<InterpretCreator> >& nndeploy::ir::getGlobalInterpretCreatorMap ( )

Get the Global Interpret Creator Map object.

Returns
std::map<base::ModelType, std::shared_ptr<InterpretCreator>>&

◆ getGlobalOpParamCreatorMap()

std::map<OpType, std::shared_ptr<OpParamCreator> >& nndeploy::ir::getGlobalOpParamCreatorMap ( )

Get the Global base::Param Creator Map object.

Returns
std::map<OpType, std::shared_ptr<OpParamCreator>>&

◆ opTypeToString()

std::string nndeploy::ir::opTypeToString ( OpType  op_type)

◆ stringToOpType()

OpType nndeploy::ir::stringToOpType ( const std::string &  op_type_name)