阿波罗怎么在预测模块中添加新的评估器

  介绍

这篇文章将为大家详细讲解有关阿波罗怎么在预测模块中添加新的评估器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

简介

<强>评估器使用预训练的<>强深度学习模型生成特征(来自障碍物和自车的原始信息)以获得<强>模型输出

新增评估器的步骤

请参照以下步骤新增一个名为<强> NewEvaluator 的评估器:

<李>

在原型中新增一个文件

<李>

以继承评估者类的方式定义一个新类NewEvaluator

<李>

实现NewEvaluator类

<李>

更新预测配置文件

<李>

更新评估管理器

定义一个继承评估者的新类

在模块/预测/评估者/车辆文件夹下创建文件new_evaluator.h

文件内容如下:

 # include “模块/预测/评估者/evaluator.h"
  
  namespace  apollo  {
  namespace  prediction  {
  
  class  NewEvaluator : public  Evaluator  {
  公众:
  NewEvaluator ();
  virtual  ~ NewEvaluator ();
  void 评估(障碍*,obstacle_ptr),覆盖;//,Other  useful  functions 以及字段。
  };
  
  },,//namespace 预测
  },,//,namespace 阿波罗

实现新定义的类NewEvaluator

在<强>相同文件夹下创建一个名为new_evaluator.cc的文件,实现新定义的类。新类的实现方法如下所示:

 # include “模块/预测/评估者/汽车/new_evaluator.h"
  
  namespace  apollo  {
  namespace  prediction  {
  
  NewEvaluator: NewEvaluator (), {//实现
  }
  
  NewEvaluator:: ~ NewEvaluator (), {//实现
  }
  
  NewEvaluator:评估(障碍*,obstacle_ptr) (), {//Extract 特性//,Compute  new_output  by  applying  pre-trained 模型
  }//Other 功能
  
  },,//namespace 预测
  },,//,namespace 阿波罗

在原型中新增一个评估器

在文件prediction_conf.proto中增加一个类型来表示新增的评估器,如下所示:

 enum  EvaluatorType  {
  时间=MLP_EVALUATOR  0;
  时间=NEW_EVALUATOR  1;
  }

更新预测配置文件

在配置文件模块/预测/conf/prediction_conf.pb.txt中,更新evaluator_typ域,具体如下所示:

 obstacle_conf  {
  obstacle_type:车辆
  obstacle_status: ON_LANE
  evaluator_type: NEW_EVALUATOR
  predictor_type: NEW_PREDICTOR
  }

更新评估配置器

按照下面的代码示例更新函数CreateEvluator (…):

 case  ObstacleConf: NEW_EVALUATOR:, {
  evaluator_ptr.reset才能(new  NewEvaluator ());
  打破才能;
  }

按照下面的代码示例更新函数RegisterEvaluators ():

 RegisterEvaluator (ObstacleConf:: NEW_EVALUATOR); 

完成上述步骤之后,即表示<强>创建了新的评估器

增加新属性

如果您想增加新的属性,请参照以下说明:

在原型文件中新增一个域

假设新的评估输出结果为new_output并且其类型为int32。

如果输出直接与<强>障碍物相关,请参考以下代码在模块/预测/原型/feature.proto文件中增加新的域:

 message  Feature  {//,Other  existing 特性
  时间=optional  int32  new_output  1000;
  }

如果输出与<强>车道序列相关,请参考以下代码在模块/预测/原型/lane_graph.proto文件中增加新的域:

 message  LaneSequence  {//,Other  existing 特性
  时间=optional  int32  new_output  1000;
  }

关于“阿波罗怎么在预测模块中添加新的评估器”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

阿波罗怎么在预测模块中添加新的评估器