2 #ifndef _NNDEPLOY_OP_EXPR_H_
3 #define _NNDEPLOY_OP_EXPR_H_
24 Expr(
const std::string &name);
28 Expr(std::shared_ptr<ir::ValueDesc> value_desc);
29 Expr(std::shared_ptr<ir::OpDesc> op_desc);
30 Expr(std::shared_ptr<ir::ModelDesc> model_desc);
59 std::shared_ptr<Expr> expr);
62 ir::ModelDesc *model_desc, std::shared_ptr<ir::ModelDesc> model_block);
66 std::shared_ptr<ir::ConvParam> param,
const std::string &weight,
67 const std::string &bias =
"", std::string op_name =
"",
68 std::string output_name =
"");
71 std::shared_ptr<Expr> input,
72 std::string op_name =
"",
73 std::string output_name =
"");
76 std::shared_ptr<Expr> input,
77 std::string op_name =
"",
78 std::string output_name =
"");
83 std::shared_ptr<ir::SoftmaxParam> param, std::string op_name =
"",
84 std::string output_name =
"");
89 std::shared_ptr<ir::BatchNormalizationParam> param,
90 const std::string &scale,
const std::string &bias,
const std::string &mean,
91 const std::string &var, std::string op_name =
"",
92 std::string output_name =
"");
96 std::shared_ptr<Expr> input_0,
97 std::shared_ptr<Expr> input_1,
98 std::string op_name =
"",
99 std::string output_name =
"");
104 std::shared_ptr<ir::GemmParam> param,
const std::string &weight,
105 const std::string &bias =
"", std::string op_name =
"",
106 std::string output_name =
"");
111 std::shared_ptr<ir::FlattenParam> param, std::string op_name =
"",
112 std::string output_name =
"");
117 std::shared_ptr<ir::MaxPoolParam> param, std::string op_name =
"",
118 std::string output_name =
"");
123 std::string op_name =
"", std::string output_name =
"");
130 std::string op_name, std::string output_name);
Expr(std::shared_ptr< ir::OpDesc > op_desc)
Expr(const std::string &name)
std::shared_ptr< ir::ValueDesc > value_desc_
Expr(std::shared_ptr< ir::ModelDesc > model_desc)
std::shared_ptr< ir::ModelDesc > model_desc_
Expr(const std::string &name, base::DataType data_type, base::IntVector shape)
std::shared_ptr< ir::OpDesc > op_desc_
Expr(const std::string &name, base::DataType data_type)
std::vector< std::string > getOutputName()
Expr(std::shared_ptr< ir::ValueDesc > value_desc)
#define NNDEPLOY_CC_API
api
std::vector< int > IntVector
DataType dataTypeOf< float >()
std::shared_ptr< Expr > makeRelu(ir::ModelDesc *model_desc, std::shared_ptr< Expr > input, std::string op_name="", std::string output_name="")
std::shared_ptr< Expr > makeFlatten(ir::ModelDesc *model_desc, std::shared_ptr< Expr > input, std::shared_ptr< ir::FlattenParam > param, std::string op_name="", std::string output_name="")
ExprType stringToExprType(const std::string &src)
std::shared_ptr< Expr > makeBatchNorm(ir::ModelDesc *model_desc, std::shared_ptr< Expr > input, std::shared_ptr< ir::BatchNormalizationParam > param, const std::string &scale, const std::string &bias, const std::string &mean, const std::string &var, std::string op_name="", std::string output_name="")
std::shared_ptr< Expr > makeConstant(ir::ModelDesc *model_desc, std::string name)
std::shared_ptr< Expr > makeGlobalAveragePool(ir::ModelDesc *model_desc, std::shared_ptr< Expr > input, std::string op_name="", std::string output_name="")
std::shared_ptr< Expr > makeMaxPool(ir::ModelDesc *model_desc, std::shared_ptr< Expr > input, std::shared_ptr< ir::MaxPoolParam > param, std::string op_name="", std::string output_name="")
std::shared_ptr< Expr > makeGemm(ir::ModelDesc *model_desc, std::shared_ptr< Expr > input, std::shared_ptr< ir::GemmParam > param, const std::string &weight, const std::string &bias="", std::string op_name="", std::string output_name="")
std::string exprTypeToString(ExprType type)
std::shared_ptr< Expr > makeConv(ir::ModelDesc *model_desc, std::shared_ptr< Expr > input, std::shared_ptr< ir::ConvParam > param, const std::string &weight, const std::string &bias="", std::string op_name="", std::string output_name="")
base::Status shape(device::Tensor *input, std::shared_ptr< ir::ShapeParam > param, device::Tensor *output)
std::shared_ptr< Expr > makeSoftmax(ir::ModelDesc *model_desc, std::shared_ptr< Expr > input, std::shared_ptr< ir::SoftmaxParam > param, std::string op_name="", std::string output_name="")
std::shared_ptr< Expr > makeBlock(ir::ModelDesc *model_desc, std::shared_ptr< ir::ModelDesc > model_block)
std::shared_ptr< Expr > makeSigmoid(ir::ModelDesc *model_desc, std::shared_ptr< Expr > input, std::string op_name="", std::string output_name="")
std::shared_ptr< Expr > makeAdd(ir::ModelDesc *model_desc, std::shared_ptr< Expr > input_0, std::shared_ptr< Expr > input_1, std::string op_name="", std::string output_name="")
void makeOutput(ir::ModelDesc *model_desc, std::shared_ptr< Expr > expr)
std::shared_ptr< Expr > makeEmbedding(ir::ModelDesc *model_desc, std::shared_ptr< Expr > indices, std::string op_name, std::string output_name)
std::shared_ptr< Expr > makeInput(ir::ModelDesc *model_desc, std::string name, base::DataType data_type=base::dataTypeOf< float >(), base::IntVector shape=base::IntVector())
一系列创建函数