Apollo 11.0
自动驾驶开放平台
apollo::perception::inference::dfmb_psroi_align_op结构体 参考

#include <perception_inference_migraphx_plugins.h>

apollo::perception::inference::dfmb_psroi_align_op 的协作图:

Public 成员函数

std::string name () const
 
migraphx::shape compute_shape (const std::vector< migraphx::shape > &inputs) const
 
migraphx::argument compute (migraphx::context &gctx, const migraphx::shape &, const std::vector< migraphx::argument > &args) const
 
int output_alias (const std::vector< migraphx::shape > &shapes) const
 

静态 Public 成员函数

template<class Self , class F >
static auto reflect (Self &self, F f)
 

Public 属性

size_t batch_size
 
std::function< std::shared_ptr< DFMBPSROIAlignPlugin >()> get_plugin {}
 

详细描述

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

成员函数说明

◆ compute()

migraphx::argument apollo::perception::inference::dfmb_psroi_align_op::compute ( migraphx::context &  gctx,
const migraphx::shape &  ,
const std::vector< migraphx::argument > &  args 
) const
inline

在文件 perception_inference_migraphx_plugins.h 第 59 行定义.

62 {
63 CHECK_GE(static_cast<int>(args.size()), 3);
64 bool no_trans = args.size() < 4; // 2 imputs + output
65
66 auto bottom_data = args[0];
67 auto bottom_rois = args[1];
68 auto bottom_trans = no_trans ? migraphx::argument{} : args[2];
69 auto top_data = no_trans ? args[2] : args[3];
70
71 std::vector<const void*> inputs_data{
72 bottom_data.data(), bottom_rois.data(),
73 no_trans ? nullptr : bottom_trans.data()};
74
75 std::vector<void*> outputs_data{top_data.data()};
76
77 auto& ctx = migraphx::any_cast<migraphx::gpu::context>(gctx);
78
79 auto plugin = get_plugin();
80 plugin->enqueue(batch_size, inputs_data.data(), outputs_data.data(),
81 nullptr /*workspace*/, ctx.get_stream().get());
82 return top_data;
83 }
std::function< std::shared_ptr< DFMBPSROIAlignPlugin >()> get_plugin

◆ compute_shape()

migraphx::shape apollo::perception::inference::dfmb_psroi_align_op::compute_shape ( const std::vector< migraphx::shape > &  inputs) const
inline

在文件 perception_inference_migraphx_plugins.h 第 44 行定义.

45 {
46 migraphx::check_shapes{inputs, *this}.standard();
47
48 CHECK_EQ(static_cast<int>(batch_size), 1);
49
50 auto plugin = get_plugin();
51 auto out_dims = plugin->getOutputDimensions(0, nullptr, 0);
52
53 return migraphx::shape{
54 migraphx::shape::float_type,
55 {std::size_t(out_dims.d[0]), std::size_t(out_dims.d[1]),
56 std::size_t(out_dims.d[2]), std::size_t(out_dims.d[3])}};
57 }

◆ name()

std::string apollo::perception::inference::dfmb_psroi_align_op::name ( ) const
inline

在文件 perception_inference_migraphx_plugins.h 第 42 行定义.

42{ return "dfmb_psroi_align"; }

◆ output_alias()

int apollo::perception::inference::dfmb_psroi_align_op::output_alias ( const std::vector< migraphx::shape > &  shapes) const
inline

在文件 perception_inference_migraphx_plugins.h 第 85 行定义.

85 {
86 return shapes.size() - 1;
87 }

◆ reflect()

template<class Self , class F >
static auto apollo::perception::inference::dfmb_psroi_align_op::reflect ( Self &  self,
F  f 
)
inlinestatic

在文件 perception_inference_migraphx_plugins.h 第 38 行定义.

38 { // NOLINT
39 return migraphx::pack(f(self.batch_size, "batch_size"));
40 }
double f

类成员变量说明

◆ batch_size

size_t apollo::perception::inference::dfmb_psroi_align_op::batch_size

在文件 perception_inference_migraphx_plugins.h 第 35 行定义.

◆ get_plugin

std::function<std::shared_ptr<DFMBPSROIAlignPlugin>()> apollo::perception::inference::dfmb_psroi_align_op::get_plugin {}

在文件 perception_inference_migraphx_plugins.h 第 36 行定义.

36{};

该结构体的文档由以下文件生成: