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

#include <runtime.h>

Inheritance diagram for nndeploy::net::Runtime:
[legend]
Collaboration diagram for nndeploy::net::Runtime:
[legend]

Public Member Functions

virtual base::Status copyToInputTensor (device::Tensor *tensor)=0
 将输入tensor复制到输入tensor More...
 
virtual base::Status deinit ()=0
 
virtual int64_t getMemorySize ()
 获取推理所需的内存大小 More...
 
virtual device::TensorgetOutputTensorAfterRun (const std::string &name, base::DeviceType device_type, bool is_copy, base::DataFormat data_format)=0
 获取推理后的输出tensor More...
 
device::StreamgetStream ()
 
virtual base::Status init (std::vector< TensorWrapper * > &tensor_repository, std::vector< OpWrapper * > &op_repository, std::vector< device::Tensor * > &input_tensors, std::vector< device::Tensor * > &output_tensors, bool is_dynamic_shape, base::ShapeMap max_shape, TensorPoolType tensor_pool_type=kTensorPool1DSharedObjectTypeGreedyBySizeImprove, bool is_external_tensor_pool_memory=false)=0
 
virtual base::Status postRun ()=0
 
virtual base::Status preRun ()=0
 
virtual base::Status reshape (base::ShapeMap &shape_map)=0
 
virtual base::Status run ()=0
 
 Runtime (const base::DeviceType &device_type)
 
virtual base::Status setMemory (device::Buffer *buffer)
 设置推理所需的内存(推理内存由外部分配) More...
 
void setStream (device::Stream *stream)
 
base::Status setWorkers (int worker_num, std::vector< base::DeviceType > device_types=std::vector< base::DeviceType >())
 
base::Status synchronize ()
 
virtual ~Runtime ()
 
- Public Member Functions inherited from nndeploy::base::NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (NonCopyable &&)=delete
 

Protected Attributes

base::DeviceType device_type_
 
std::vector< base::DeviceTypedevice_types_
 
std::vector< device::Tensor * > input_tensors_
 
bool is_dynamic_shape_ = false
 
bool is_external_stream_ = false
 op的stream note: 当stream为外部传入时,is_external_stream_为true More...
 
bool is_external_tensor_pool_memory_ = false
 
bool is_pure_dynamic_shape_ = false
 
base::ShapeMap max_shape_ = base::ShapeMap()
 
std::vector< OpWrapper * > op_repository_
 
std::vector< device::Tensor * > output_tensors_
 
device::Streamstream_ = nullptr
 
TensorPooltensor_pool_
 
TensorPoolType tensor_pool_type_
 
std::vector< TensorWrapper * > tensor_repository_
 
int worker_num_ = 1
 

Detailed Description

Definition at line 63 of file runtime.h.

Constructor & Destructor Documentation

◆ Runtime()

nndeploy::net::Runtime::Runtime ( const base::DeviceType device_type)
inline

Definition at line 65 of file runtime.h.

◆ ~Runtime()

virtual nndeploy::net::Runtime::~Runtime ( )
inlinevirtual

Definition at line 66 of file runtime.h.

Here is the call graph for this function:

Member Function Documentation

◆ copyToInputTensor()

virtual base::Status nndeploy::net::Runtime::copyToInputTensor ( device::Tensor tensor)
pure virtual

将输入tensor复制到输入tensor

Parameters
tensor
Returns
base::Status

◆ deinit()

virtual base::Status nndeploy::net::Runtime::deinit ( )
pure virtual

◆ getMemorySize()

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

获取推理所需的内存大小

Returns
int64_t

◆ getOutputTensorAfterRun()

virtual device::Tensor* nndeploy::net::Runtime::getOutputTensorAfterRun ( const std::string &  name,
base::DeviceType  device_type,
bool  is_copy,
base::DataFormat  data_format 
)
pure virtual

获取推理后的输出tensor

Parameters
name
device_type
is_copy
data_format
Returns
device::Tensor*

◆ getStream()

device::Stream* nndeploy::net::Runtime::getStream ( )

◆ init()

virtual base::Status nndeploy::net::Runtime::init ( std::vector< TensorWrapper * > &  tensor_repository,
std::vector< OpWrapper * > &  op_repository,
std::vector< device::Tensor * > &  input_tensors,
std::vector< device::Tensor * > &  output_tensors,
bool  is_dynamic_shape,
base::ShapeMap  max_shape,
TensorPoolType  tensor_pool_type = kTensorPool1DSharedObjectTypeGreedyBySizeImprove,
bool  is_external_tensor_pool_memory = false 
)
pure virtual

◆ postRun()

virtual base::Status nndeploy::net::Runtime::postRun ( )
pure virtual

◆ preRun()

virtual base::Status nndeploy::net::Runtime::preRun ( )
pure virtual

◆ reshape()

virtual base::Status nndeploy::net::Runtime::reshape ( base::ShapeMap shape_map)
pure virtual

◆ run()

virtual base::Status nndeploy::net::Runtime::run ( )
pure virtual

◆ setMemory()

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

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

Parameters
buffer
Returns
base::Status

◆ setStream()

void nndeploy::net::Runtime::setStream ( device::Stream stream)

◆ setWorkers()

base::Status nndeploy::net::Runtime::setWorkers ( int  worker_num,
std::vector< base::DeviceType device_types = std::vector< base::DeviceType >() 
)

◆ synchronize()

base::Status nndeploy::net::Runtime::synchronize ( )

Member Data Documentation

◆ device_type_

base::DeviceType nndeploy::net::Runtime::device_type_
protected

Definition at line 134 of file runtime.h.

◆ device_types_

std::vector<base::DeviceType> nndeploy::net::Runtime::device_types_
protected

Definition at line 153 of file runtime.h.

◆ input_tensors_

std::vector<device::Tensor *> nndeploy::net::Runtime::input_tensors_
protected

Definition at line 150 of file runtime.h.

◆ is_dynamic_shape_

bool nndeploy::net::Runtime::is_dynamic_shape_ = false
protected

Definition at line 145 of file runtime.h.

◆ is_external_stream_

bool nndeploy::net::Runtime::is_external_stream_ = false
protected

op的stream note: 当stream为外部传入时,is_external_stream_为true

Definition at line 139 of file runtime.h.

◆ is_external_tensor_pool_memory_

bool nndeploy::net::Runtime::is_external_tensor_pool_memory_ = false
protected

Definition at line 143 of file runtime.h.

◆ is_pure_dynamic_shape_

bool nndeploy::net::Runtime::is_pure_dynamic_shape_ = false
protected

Definition at line 147 of file runtime.h.

◆ max_shape_

base::ShapeMap nndeploy::net::Runtime::max_shape_ = base::ShapeMap()
protected

Definition at line 146 of file runtime.h.

◆ op_repository_

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

Definition at line 149 of file runtime.h.

◆ output_tensors_

std::vector<device::Tensor *> nndeploy::net::Runtime::output_tensors_
protected

Definition at line 151 of file runtime.h.

◆ stream_

device::Stream* nndeploy::net::Runtime::stream_ = nullptr
protected

Definition at line 140 of file runtime.h.

◆ tensor_pool_

TensorPool* nndeploy::net::Runtime::tensor_pool_
protected

Definition at line 144 of file runtime.h.

◆ tensor_pool_type_

TensorPoolType nndeploy::net::Runtime::tensor_pool_type_
protected
Initial value:

Definition at line 141 of file runtime.h.

◆ tensor_repository_

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

Definition at line 148 of file runtime.h.

◆ worker_num_

int nndeploy::net::Runtime::worker_num_ = 1
protected

Definition at line 152 of file runtime.h.


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