Apollo 11.0
自动驾驶开放平台
apollo::perception::inference::DFMBPSROIAlignPlugin类 参考

#include <dfmb_psroi_align_plugin.h>

类 apollo::perception::inference::DFMBPSROIAlignPlugin 继承关系图:
apollo::perception::inference::DFMBPSROIAlignPlugin 的协作图:

Public 成员函数

 DFMBPSROIAlignPlugin (const DFMBPSROIAlignParameter &dfmb_psroi_align_parameter, Dims *in_dims, int nbInputs)
 
virtual ~DFMBPSROIAlignPlugin ()
 
int initialize () override
 
void terminate () override
 
int getNbOutputs () const override
 
Dims getOutputDimensions (int index, const Dims *inputs, int nbInputDims) override
 
void configure (const Dims *inputDims, int nbInputs, const Dims *outputDims, int nbOutputs, int maxBatchSize) override
 
size_t getWorkspaceSize (int maxBatchSize) const override
 
int enqueue (int batchSize, const void *const *inputs, void **outputs, void *workspace, cudaStream_t stream) override
 
size_t getSerializationSize () override
 
void serialize (void *buffer) override
 
- Public 成员函数 继承自 IPlugin
virtual Dims getOutputDimensions (int32_t index, const Dims *inputs, int32_t nbInputDims)=0
 
virtual void configure (const Dims *inputDims, int32_t nbInputs, const Dims *outputDims, int32_t nbOutputs, int32_t maxBatchSize)=0
 
virtual size_t getWorkspaceSize (int32_t maxBatchSize) const =0
 
virtual int32_t enqueue (int32_t batchSize, const void *const *inputs, void **outputs, void *workspace, cudaStream_t stream)=0
 
virtual ~IPlugin ()
 

详细描述

在文件 dfmb_psroi_align_plugin.h 第 32 行定义.

构造及析构函数说明

◆ DFMBPSROIAlignPlugin()

apollo::perception::inference::DFMBPSROIAlignPlugin::DFMBPSROIAlignPlugin ( const DFMBPSROIAlignParameter &  dfmb_psroi_align_parameter,
Dims *  in_dims,
int  nbInputs 
)
inline

在文件 dfmb_psroi_align_plugin.h 第 34 行定义.

36 {
37 heat_map_a_ = dfmb_psroi_align_parameter.heat_map_a();
38 output_channel_ = dfmb_psroi_align_parameter.output_dim();
39 group_height_ = dfmb_psroi_align_parameter.group_height();
40 group_width_ = dfmb_psroi_align_parameter.group_width();
41 pooled_height_ = dfmb_psroi_align_parameter.pooled_height();
42 pooled_width_ = dfmb_psroi_align_parameter.pooled_width();
43 pad_ratio_ = dfmb_psroi_align_parameter.pad_ratio();
44 sample_per_part_ = dfmb_psroi_align_parameter.sample_per_part();
45
46 trans_std_ = dfmb_psroi_align_parameter.trans_std();
47 part_height_ = dfmb_psroi_align_parameter.part_height();
48 part_width_ = dfmb_psroi_align_parameter.part_width();
49 heat_map_b_ = dfmb_psroi_align_parameter.heat_map_b();
50 no_trans_ = (nbInputs < 3);
51 num_classes_ = no_trans_ ? 1 : in_dims[2].d[1];
52
53 CHECK_GT(heat_map_a_, 0);
54 CHECK_GE(heat_map_b_, 0);
55 CHECK_GE(pad_ratio_, 0);
56 CHECK_GT(output_channel_, 0);
57 CHECK_GT(sample_per_part_, 0);
58 CHECK_GT(group_height_, 0);
59 CHECK_GT(group_width_, 0);
60 CHECK_GT(pooled_height_, 0);
61 CHECK_GT(pooled_width_, 0);
62 CHECK_GE(part_height_, 0);
63 CHECK_GE(part_width_, 0);
64
65 channels_ = in_dims[0].d[0];
66 height_ = in_dims[0].d[1];
67 width_ = in_dims[0].d[2];
68 output_dims_ =
69 Dims4(in_dims[1].d[0], output_channel_, pooled_height_, pooled_width_);
70 output_size_ =
71 in_dims[1].d[0] * output_channel_ * pooled_height_ * pooled_width_;
72
73 CHECK_EQ(channels_, output_channel_ * group_height_ * group_width_);
74 CHECK_EQ(in_dims[1].d[1], 5);
75 if (!no_trans_) {
76 CHECK_EQ(in_dims[2].d[1] % 2, 0);
77 int num_classes = in_dims[2].d[1] / 2;
78 CHECK_EQ(output_channel_ % num_classes, 0);
79 CHECK_EQ(part_height_, in_dims[2].d[2]);
80 CHECK_EQ(part_width_, in_dims[2].d[3]);
81 }
82 }
Definition plugin.h:31
int32_t d[MAX_DIMS]
Definition plugin.h:28

◆ ~DFMBPSROIAlignPlugin()

virtual apollo::perception::inference::DFMBPSROIAlignPlugin::~DFMBPSROIAlignPlugin ( )
inlinevirtual

在文件 dfmb_psroi_align_plugin.h 第 84 行定义.

84{}

成员函数说明

◆ configure()

void apollo::perception::inference::DFMBPSROIAlignPlugin::configure ( const Dims *  inputDims,
int  nbInputs,
const Dims *  outputDims,
int  nbOutputs,
int  maxBatchSize 
)
inlineoverride

在文件 dfmb_psroi_align_plugin.h 第 96 行定义.

97 {}

◆ enqueue()

int apollo::perception::inference::DFMBPSROIAlignPlugin::enqueue ( int  batchSize,
const void *const *  inputs,
void **  outputs,
void *  workspace,
cudaStream_t  stream 
)
override

◆ getNbOutputs()

int apollo::perception::inference::DFMBPSROIAlignPlugin::getNbOutputs ( ) const
inlineoverridevirtual

实现了 IPlugin.

在文件 dfmb_psroi_align_plugin.h 第 88 行定义.

88{ return 1; }

◆ getOutputDimensions()

Dims apollo::perception::inference::DFMBPSROIAlignPlugin::getOutputDimensions ( int  index,
const Dims *  inputs,
int  nbInputDims 
)
inlineoverride

在文件 dfmb_psroi_align_plugin.h 第 90 行定义.

91 {
92 // TODO(chenjiahao): complete input dims assertion
93 return output_dims_;
94 }

◆ getSerializationSize()

size_t apollo::perception::inference::DFMBPSROIAlignPlugin::getSerializationSize ( )
inlineoverridevirtual

实现了 IPlugin.

在文件 dfmb_psroi_align_plugin.h 第 104 行定义.

104{ return 0; }

◆ getWorkspaceSize()

size_t apollo::perception::inference::DFMBPSROIAlignPlugin::getWorkspaceSize ( int  maxBatchSize) const
inlineoverride

在文件 dfmb_psroi_align_plugin.h 第 99 行定义.

99{ return 0; }

◆ initialize()

int apollo::perception::inference::DFMBPSROIAlignPlugin::initialize ( )
inlineoverridevirtual

实现了 IPlugin.

在文件 dfmb_psroi_align_plugin.h 第 86 行定义.

86{ return 0; }

◆ serialize()

void apollo::perception::inference::DFMBPSROIAlignPlugin::serialize ( void *  buffer)
inlineoverridevirtual

实现了 IPlugin.

在文件 dfmb_psroi_align_plugin.h 第 106 行定义.

106 {
107 char *d = reinterpret_cast<char *>(buffer), *a = d;
108 size_t size = getSerializationSize();
109 CHECK_EQ(d, a + size);
110 }

◆ terminate()

void apollo::perception::inference::DFMBPSROIAlignPlugin::terminate ( )
inlineoverridevirtual

实现了 IPlugin.

在文件 dfmb_psroi_align_plugin.h 第 87 行定义.

87{}

该类的文档由以下文件生成: