|
nndeploy C++ API
0.2.0
nndeploy C++ API
|
Classes | |
| struct | Chunk |
| class | Net |
| struct | Offset |
| struct | OpBreadth |
| class | Optimizer |
| class | OptPass |
| class | OptPassCreator |
| OptPass的创建类 More... | |
| class | OpWrapper |
| class | PipelineTensor |
| class | Runtime |
| class | RuntimeCreator |
| Runtime的创建类 More... | |
| class | TensorPool |
| class | TensorPoolCreator |
| TensorPool的创建类 More... | |
| struct | TensorUsageRecord |
| class | TensorWrapper |
| class | TypeOptPassCreator |
| OptPass的创建类模板 More... | |
| class | TypeOptPassRegister |
| OptPass的创建类的注册类模板 More... | |
| class | TypeRuntimeCreator |
| Runtime的创建类模板 More... | |
| class | TypeRuntimeRegister |
| Runtime的创建类的注册类模板 More... | |
| class | TypeTensorPoolCreator |
| TensorPool的创建类模板 More... | |
| class | TypeTensorPoolRegister |
| TensorPool的创建类的注册类模板 More... | |
Typedefs | |
| using | OpSet = std::unordered_set< ir::OpType > |
Functions | |
| bool | checkTensor (const std::vector< device::Tensor * > &src_tensors, const std::vector< device::Tensor * > &dst_tensors) |
| std::vector< OpWrapper * > | checkUnuseOp (std::vector< OpWrapper * > &op_repository) |
| std::vector< TensorWrapper * > | checkUnuseTensor (std::vector< OpWrapper * > &op_repository, std::vector< TensorWrapper * > &tensor_repository) |
| void | chunkPrint (const std::vector< std::shared_ptr< Chunk >> &chunks) |
| Net * | createNet (ir::ModelDesc *model_desc, base::DeviceType device_type, base::PrecisionType precision_type) |
| std::shared_ptr< OptPass > | createOptPass (base::DeviceType device_type, int level, OptPassType type) |
| Runtime * | createRuntime (const base::DeviceType &device_type, base::ParallelType parallel_type) |
| TensorPool * | createTensorPool (TensorPoolType type, device::Device *device, std::vector< TensorWrapper * > &tensor_repository, std::vector< OpWrapper * > &op_repository) |
| Create a TensorPool object. More... | |
| base::Status | dumpNet (std::vector< TensorWrapper * > &tensor_repository, std::vector< OpWrapper * > &op_repository, std::vector< device::Tensor * > &graph_inputs, std::vector< device::Tensor * > &graph_outputs, const std::string &name, std::ostream &oss) |
| std::vector< OpWrapper * > | findEndOps (std::vector< OpWrapper * > &op_repository) |
| std::vector< TensorWrapper * > | findEndTensors (std::vector< TensorWrapper * > &tensor_repository) |
| OpWrapper * | findOpWrapper (std::vector< OpWrapper * > &op_repository, const std::string &name) |
| OpWrapper * | findOpWrapper (std::vector< OpWrapper * > &op_repository, op::Op *node) |
| std::vector< OpWrapper * > | findStartOps (std::vector< OpWrapper * > &op_repository) |
| std::vector< TensorWrapper * > | findStartTensors (std::vector< TensorWrapper * > &tensor_repository) |
| TensorWrapper * | findTensorWrapper (std::vector< TensorWrapper * > &tensor_repository, const std::string &tensor_name) |
| TensorWrapper * | findTensorWrapper (std::vector< TensorWrapper * > &tensor_repository, device::Tensor *tensor) |
| std::map< base::DeviceTypeCode, std::map< int, std::map< OptPassType, std::shared_ptr< OptPassCreator > > > > & | getGlobalOptPassCreatorMap () |
| Get the Global OptPass Creator Map object. More... | |
| std::map< base::ParallelType, std::shared_ptr< RuntimeCreator > > & | getGlobalRuntimeCreatorMap () |
| Get the Global Runtime Creator Map object. More... | |
| std::map< TensorPoolType, std::shared_ptr< TensorPoolCreator > > & | getGlobalTensorPoolCreatorMap () |
| Get the Global TensorPool Creator Map object. More... | |
| op::Op * | getOp (std::vector< OpWrapper * > &op_repository, const std::string &name) |
| std::vector< int > | getOpOrderIndex (std::vector< OpWrapper * > &producers, std::vector< OpWrapper * > &consumers, std::vector< OpWrapper * > &op_repository) |
| device::Tensor * | getTensor (std::vector< TensorWrapper * > &tensor_repository, const std::string &tensor_name) |
| template<typename T > | |
| void | insertUnique (std::vector< T > &vec, const T &val) |
| 对vector插入不在vector中的元素,即类似集合的作用 More... | |
| bool | isInterval (std::array< int, 2 > &interval, std::vector< std::array< int, 2 >> &intervals) |
| std::string | optPassTypeToString (OptPassType type) |
| void | printNetInfo (const std::vector< OpWrapper * > &op_repository, const std::vector< TensorWrapper * > &tensor_repository) |
| base::Status | setColor (std::vector< OpWrapper * > &op_repository, base::NodeColorType color) |
| OptPassType | stringToOptPassType (const std::string &src) |
| TensorPoolType | stringToTensorPoolType (const std::string &src) |
| std::string | tensorPoolTypeToString (TensorPoolType type) |
| void | tensorUsageRecordPrint (const std::vector< std::shared_ptr< TensorUsageRecord >> &tensor_usage_records) |
| base::Status | topoSort (std::vector< OpWrapper * > &op_repository, base::TopoSortType topo_sort_type, std::vector< OpWrapper * > &topo_sort_node) |
| base::Status | topoSortBFS (std::vector< OpWrapper * > &op_repository, std::vector< OpWrapper * > &topo_sort_node) |
| base::Status | topoSortDFS (std::vector< OpWrapper * > &op_repository, std::vector< OpWrapper * > &topo_sort_node) |
| using nndeploy::net::OpSet = typedef std::unordered_set<ir::OpType> |
Definition at line 15 of file optimizer.h.
| enum nndeploy::net::OptPassType : int |
Definition at line 17 of file optimizer.h.
| enum nndeploy::net::TensorPoolType : int |
Definition at line 28 of file tensor_pool.h.
| bool nndeploy::net::checkTensor | ( | const std::vector< device::Tensor * > & | src_tensors, |
| const std::vector< device::Tensor * > & | dst_tensors | ||
| ) |
| std::vector<TensorWrapper *> nndeploy::net::checkUnuseTensor | ( | std::vector< OpWrapper * > & | op_repository, |
| std::vector< TensorWrapper * > & | tensor_repository | ||
| ) |
| void nndeploy::net::chunkPrint | ( | const std::vector< std::shared_ptr< Chunk >> & | chunks | ) |
| Net* nndeploy::net::createNet | ( | ir::ModelDesc * | model_desc, |
| base::DeviceType | device_type, | ||
| base::PrecisionType | precision_type | ||
| ) |
| std::shared_ptr<OptPass> nndeploy::net::createOptPass | ( | base::DeviceType | device_type, |
| int | level, | ||
| OptPassType | type | ||
| ) |
| Runtime* nndeploy::net::createRuntime | ( | const base::DeviceType & | device_type, |
| base::ParallelType | parallel_type | ||
| ) |
| TensorPool* nndeploy::net::createTensorPool | ( | TensorPoolType | type, |
| device::Device * | device, | ||
| std::vector< TensorWrapper * > & | tensor_repository, | ||
| std::vector< OpWrapper * > & | op_repository | ||
| ) |
Create a TensorPool object.
| type | |
| device | |
| tensor_repository | |
| op_repository |
| base::Status nndeploy::net::dumpNet | ( | std::vector< TensorWrapper * > & | tensor_repository, |
| std::vector< OpWrapper * > & | op_repository, | ||
| std::vector< device::Tensor * > & | graph_inputs, | ||
| std::vector< device::Tensor * > & | graph_outputs, | ||
| const std::string & | name, | ||
| std::ostream & | oss | ||
| ) |
| std::vector<TensorWrapper *> nndeploy::net::findEndTensors | ( | std::vector< TensorWrapper * > & | tensor_repository | ) |
| OpWrapper* nndeploy::net::findOpWrapper | ( | std::vector< OpWrapper * > & | op_repository, |
| const std::string & | name | ||
| ) |
| OpWrapper* nndeploy::net::findOpWrapper | ( | std::vector< OpWrapper * > & | op_repository, |
| op::Op * | node | ||
| ) |
| std::vector<TensorWrapper *> nndeploy::net::findStartTensors | ( | std::vector< TensorWrapper * > & | tensor_repository | ) |
| TensorWrapper* nndeploy::net::findTensorWrapper | ( | std::vector< TensorWrapper * > & | tensor_repository, |
| const std::string & | tensor_name | ||
| ) |
| TensorWrapper* nndeploy::net::findTensorWrapper | ( | std::vector< TensorWrapper * > & | tensor_repository, |
| device::Tensor * | tensor | ||
| ) |
| std::map<base::DeviceTypeCode, std::map<int, std::map<OptPassType, std::shared_ptr<OptPassCreator> > > >& nndeploy::net::getGlobalOptPassCreatorMap | ( | ) |
Get the Global OptPass Creator Map object.
设备类型 -> 优化等级 -> Pass类型
| std::map<base::ParallelType, std::shared_ptr<RuntimeCreator> >& nndeploy::net::getGlobalRuntimeCreatorMap | ( | ) |
Get the Global Runtime Creator Map object.
| std::map<TensorPoolType, std::shared_ptr<TensorPoolCreator> >& nndeploy::net::getGlobalTensorPoolCreatorMap | ( | ) |
Get the Global TensorPool Creator Map object.
| op::Op* nndeploy::net::getOp | ( | std::vector< OpWrapper * > & | op_repository, |
| const std::string & | name | ||
| ) |
| std::vector<int> nndeploy::net::getOpOrderIndex | ( | std::vector< OpWrapper * > & | producers, |
| std::vector< OpWrapper * > & | consumers, | ||
| std::vector< OpWrapper * > & | op_repository | ||
| ) |
| device::Tensor* nndeploy::net::getTensor | ( | std::vector< TensorWrapper * > & | tensor_repository, |
| const std::string & | tensor_name | ||
| ) |
| void nndeploy::net::insertUnique | ( | std::vector< T > & | vec, |
| const T & | val | ||
| ) |
| bool nndeploy::net::isInterval | ( | std::array< int, 2 > & | interval, |
| std::vector< std::array< int, 2 >> & | intervals | ||
| ) |
| std::string nndeploy::net::optPassTypeToString | ( | OptPassType | type | ) |
| void nndeploy::net::printNetInfo | ( | const std::vector< OpWrapper * > & | op_repository, |
| const std::vector< TensorWrapper * > & | tensor_repository | ||
| ) |
| base::Status nndeploy::net::setColor | ( | std::vector< OpWrapper * > & | op_repository, |
| base::NodeColorType | color | ||
| ) |
| OptPassType nndeploy::net::stringToOptPassType | ( | const std::string & | src | ) |
| TensorPoolType nndeploy::net::stringToTensorPoolType | ( | const std::string & | src | ) |
| std::string nndeploy::net::tensorPoolTypeToString | ( | TensorPoolType | type | ) |
| void nndeploy::net::tensorUsageRecordPrint | ( | const std::vector< std::shared_ptr< TensorUsageRecord >> & | tensor_usage_records | ) |
| base::Status nndeploy::net::topoSort | ( | std::vector< OpWrapper * > & | op_repository, |
| base::TopoSortType | topo_sort_type, | ||
| std::vector< OpWrapper * > & | topo_sort_node | ||
| ) |
| base::Status nndeploy::net::topoSortBFS | ( | std::vector< OpWrapper * > & | op_repository, |
| std::vector< OpWrapper * > & | topo_sort_node | ||
| ) |
| base::Status nndeploy::net::topoSortDFS | ( | std::vector< OpWrapper * > & | op_repository, |
| std::vector< OpWrapper * > & | topo_sort_node | ||
| ) |