nndeploy C++ API  0.2.0
nndeploy C++ API
Public Member Functions | Protected Attributes | List of all members
nndeploy::net::TensorPool Class Referenceabstract

#include <tensor_pool.h>

Collaboration diagram for nndeploy::net::TensorPool:
[legend]

Public Member Functions

virtual base::Status allocate ()=0
 
virtual base::Status allocateOp (op::Op *op)=0
 
virtual base::Status allocateTensor (device::Tensor *tensor)=0
 
virtual base::Status deallocate ()=0
 
virtual base::Status deallocateOp (op::Op *op)=0
 
virtual base::Status deallocateTensor (device::Tensor *tensor, int op_index=-1)=0
 
virtual base::Status deinitOpIndexMap ()=0
 
virtual base::Status deinitTensorUsageRecordMap ()=0
 
virtual int64_t getMemorySize ()
 获取推理所需的内存大小 More...
 
virtual base::Status initOpIndexMap ()=0
 
virtual base::Status initTensorUsageRecordMap ()=0
 
virtual base::Status setIsExternal (bool is_external)
 
virtual base::Status setMemory (device::Buffer *buffer)
 设置推理所需的内存(推理内存由外部分配) More...
 
 TensorPool (device::Device *device, std::vector< TensorWrapper * > &tensor_repository, std::vector< OpWrapper * > &op_repository)
 
virtual ~TensorPool ()
 

Protected Attributes

base::IntVector config_ = base::IntVector()
 
device::Devicedevice_
 
bool is_external_ = false
 
std::vector< OpWrapper * > op_repository_
 
std::vector< TensorWrapper * > tensor_repository_
 

Detailed Description

Definition at line 70 of file tensor_pool.h.

Constructor & Destructor Documentation

◆ TensorPool()

nndeploy::net::TensorPool::TensorPool ( device::Device device,
std::vector< TensorWrapper * > &  tensor_repository,
std::vector< OpWrapper * > &  op_repository 
)

◆ ~TensorPool()

virtual nndeploy::net::TensorPool::~TensorPool ( )
virtual

Member Function Documentation

◆ allocate()

virtual base::Status nndeploy::net::TensorPool::allocate ( )
pure virtual

◆ allocateOp()

virtual base::Status nndeploy::net::TensorPool::allocateOp ( op::Op op)
pure virtual

◆ allocateTensor()

virtual base::Status nndeploy::net::TensorPool::allocateTensor ( device::Tensor tensor)
pure virtual

◆ deallocate()

virtual base::Status nndeploy::net::TensorPool::deallocate ( )
pure virtual

◆ deallocateOp()

virtual base::Status nndeploy::net::TensorPool::deallocateOp ( op::Op op)
pure virtual

◆ deallocateTensor()

virtual base::Status nndeploy::net::TensorPool::deallocateTensor ( device::Tensor tensor,
int  op_index = -1 
)
pure virtual

◆ deinitOpIndexMap()

virtual base::Status nndeploy::net::TensorPool::deinitOpIndexMap ( )
pure virtual

◆ deinitTensorUsageRecordMap()

virtual base::Status nndeploy::net::TensorPool::deinitTensorUsageRecordMap ( )
pure virtual

◆ getMemorySize()

virtual int64_t nndeploy::net::TensorPool::getMemorySize ( )
virtual

获取推理所需的内存大小

Returns
int64_t

◆ initOpIndexMap()

virtual base::Status nndeploy::net::TensorPool::initOpIndexMap ( )
pure virtual

◆ initTensorUsageRecordMap()

virtual base::Status nndeploy::net::TensorPool::initTensorUsageRecordMap ( )
pure virtual

◆ setIsExternal()

virtual base::Status nndeploy::net::TensorPool::setIsExternal ( bool  is_external)
virtual

◆ setMemory()

virtual base::Status nndeploy::net::TensorPool::setMemory ( device::Buffer buffer)
virtual

设置推理所需的内存(推理内存由外部分配)

Parameters
buffer
Returns
base::Status

Member Data Documentation

◆ config_

base::IntVector nndeploy::net::TensorPool::config_ = base::IntVector()
protected

Definition at line 108 of file tensor_pool.h.

◆ device_

device::Device* nndeploy::net::TensorPool::device_
protected

Definition at line 107 of file tensor_pool.h.

◆ is_external_

bool nndeploy::net::TensorPool::is_external_ = false
protected

Definition at line 111 of file tensor_pool.h.

◆ op_repository_

std::vector<OpWrapper *> nndeploy::net::TensorPool::op_repository_
protected

Definition at line 110 of file tensor_pool.h.

◆ tensor_repository_

std::vector<TensorWrapper *> nndeploy::net::TensorPool::tensor_repository_
protected

Definition at line 109 of file tensor_pool.h.


The documentation for this class was generated from the following file: