這篇文章給大家分享的是有關(guān)Apollo之怎么在預(yù)測(cè)模塊中添加新評(píng)估器的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì),品牌網(wǎng)站設(shè)計(jì),廣告投放等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,10余年的網(wǎng)站開(kāi)發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破1000多家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.
簡(jiǎn)介
評(píng)估器通過(guò)應(yīng)用預(yù)訓(xùn)練的深度學(xué)習(xí)模型生成特征(來(lái)自障礙物和當(dāng)前車輛的原始信息)以獲得模型輸出。
添加評(píng)估器的步驟
請(qǐng)按照下面的步驟添加名稱為NewEvaluator
的評(píng)估器:
在proto中添加一個(gè)字段
聲明一個(gè)從
Evaluator
類繼承的類NewEvaluator
實(shí)現(xiàn)類
NewEvaluator
更新預(yù)測(cè)配置
更新評(píng)估器管理
下面讓我們用上面的方法來(lái)添加新的評(píng)估器。
一、聲明一個(gè)從Evaluator
類繼承的類
NewEvaluator
modules/prediction/evaluator/vehicle
目錄下新建文件new_evaluator.h
。聲明如下:
#include "modules/prediction/evaluator/evaluator.h" namespace apollo { namespace prediction { class NewEvaluator : public Evaluator { public: NewEvaluator(); virtual ~NewEvaluator(); void Evaluate(Obstacle* obstacle_ptr) override; // Other useful functions and fields. }; } // namespace prediction } // namespace apollo
二、實(shí)現(xiàn)類 NewEvaluator
在new_evaluator.h
所在目錄下新建文件new_evaluator.cc
。實(shí)現(xiàn)如下:
#include "modules/prediction/evaluator/vehicle/new_evaluator.h" namespace apollo { namespace prediction { NewEvaluator::NewEvaluator() { // Implement } NewEvaluator::~NewEvaluator() { // Implement } NewEvaluator::Evaluate(Obstacle* obstacle_ptr)() { // Extract features // Compute new_output by applying pre-trained model } // Other functions } // namespace prediction } // namespace apollo
三、在proto中添加新評(píng)估器
在prediction_conf.proto
中添加新評(píng)估器類型:
enum EvaluatorType { MLP_EVALUATOR = 0; NEW_EVALUATOR = 1; }
四、更新prediction_conf文件
在modules/prediction/conf/prediction_conf.pb.txt
中,按照如下方式更新字段evaluator_type
:
obstacle_conf { obstacle_type: VEHICLE obstacle_status: ON_LANE evaluator_type: NEW_EVALUATOR predictor_type: NEW_PREDICTOR }
五、更新評(píng)估器管理
按照如下方式更新CreateEvluator( ... ):
case ObstacleConf::NEW_EVALUATOR: { evaluator_ptr.reset(new NewEvaluator()); break; }
按照如下方式更新RegisterEvaluators():
RegisterEvaluator(ObstacleConf::NEW_EVALUATOR);
完成上述步驟后,新評(píng)估器便創(chuàng)建成功了。
添加新特性
如果你想添加新特性,請(qǐng)按照如下的步驟進(jìn)行操作:
在proto中添加一個(gè)字段
假設(shè)新的評(píng)估結(jié)果名稱是new_output
且類型是int32
。如果輸出直接與障礙物相關(guān),可以將它添加到modules/prediction/proto/feature.proto
中,如下所示:
message Feature { // Other existing features optional int32 new_output = 1000; }
如果輸出與車道相關(guān),請(qǐng)將其添加到modules/prediction/proto/lane_graph.proto
中,如下所示:
message LaneSequence { // Other existing features optional int32 new_output = 1000; }
感謝各位的閱讀!關(guān)于“Apollo之怎么在預(yù)測(cè)模塊中添加新評(píng)估器”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!