Skip to content

Commit a8fc19f

Browse files
jeroldchenstorypku
authored andcommitted
Perception: update TensorRT permute layer & support Cuda11
1 parent fc06583 commit a8fc19f

File tree

5 files changed

+13
-12
lines changed

5 files changed

+13
-12
lines changed

modules/perception/inference/tensorrt/rt_net.cc

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -369,14 +369,18 @@ void RTNet::addPermuteLayer(const LayerParameter &layer_param,
369369
nvinfer1::INetworkDefinition *net,
370370
TensorMap *tensor_map,
371371
TensorModifyMap *tensor_modify_map) {
372-
nvinfer1::IPluginLayer *permuteLayer;
373-
nvinfer1::plugin::Quadruple permuteOrder;
374-
CHECK_EQ(layer_param.permute_param().order_size(), 4);
375-
for (int i = 0; i < 4; i++) {
376-
permuteOrder.data[i] = layer_param.permute_param().order(i);
377-
}
378-
nvinfer1::IPlugin *mplugin = createSSDPermutePlugin(permuteOrder);
379-
permuteLayer = net->addPlugin(inputs, nbInputs, *mplugin);
372+
CHECK_LE(layer_param.permute_param().order_size(), nvinfer1::Dims::MAX_DIMS);
373+
nvinfer1::IShuffleLayer *permuteLayer = net->addShuffle(*inputs[0]);
374+
nvinfer1::Permutation permutation;
375+
376+
// For loading Caffe's permute param,
377+
// e.g. Caffe: [0, 2, 1, 3] -> TensorRT: [1, 0, 2], omitting 1st dim N.
378+
ACHECK(layer_param.permute_param().order(0) == 0);
379+
for (int i = 1; i < layer_param.permute_param().order_size(); ++i) {
380+
int order = layer_param.permute_param().order(i);
381+
permutation.order[i - 1] = order - 1;
382+
}
383+
permuteLayer->setFirstTranspose(permutation);
380384

381385
permuteLayer->setName(layer_param.name().c_str());
382386
ConstructMap(layer_param, permuteLayer, tensor_map, tensor_modify_map);

modules/perception/lidar/lib/tracker/multi_lidar_fusion/BUILD

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ cc_library(
2424
"//modules/perception/lidar/lib/tracker/common:mlf_track_data_with_track_pool_types",
2525
"//modules/perception/lidar/lib/tracker/multi_lidar_fusion:mlf_track_object_matcher",
2626
"//modules/perception/lidar/lib/tracker/multi_lidar_fusion:mlf_tracker",
27-
"//modules/perception/lidar/lib/tracker/semantic_map:perception_evaluator_manager",
2827
"//modules/perception/onboard/msg_serializer",
2928
"//modules/prediction/container/obstacles:obstacles_container",
3029
"//modules/prediction/container/pose:pose_container",

modules/perception/lidar/lib/tracker/multi_lidar_fusion/mlf_engine.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ bool MlfEngine::Init(const MultiTargetTrackerInitOptions& options) {
7373
tracker_.reset(new MlfTracker);
7474
MlfTrackerInitOptions tracker_init_options;
7575
ACHECK(tracker_->Init(tracker_init_options));
76-
evaluator_.Init();
7776
return true;
7877
}
7978

modules/perception/lidar/lib/tracker/multi_lidar_fusion/mlf_engine.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#include "modules/perception/lidar/lib/interface/base_multi_target_tracker.h"
2424
#include "modules/perception/lidar/lib/tracker/multi_lidar_fusion/mlf_track_object_matcher.h"
2525
#include "modules/perception/lidar/lib/tracker/multi_lidar_fusion/mlf_tracker.h"
26-
#include "modules/perception/lidar/lib/tracker/semantic_map/evaluator_manager.h"
2726
#include "modules/perception/onboard/msg_serializer/msg_serializer.h"
2827
#include "modules/perception/proto/perception_obstacle.pb.h"
2928
#include "modules/prediction/container/obstacles/obstacles_container.h"
@@ -120,7 +119,7 @@ class MlfEngine : public BaseMultiTargetTracker {
120119
apollo::prediction::PoseContainer pose_container_;
121120
apollo::perception::onboard::MsgSerializer serializer_;
122121
bool use_semantic_map_ = false;
123-
apollo::perception::EvaluatorManager evaluator_;
122+
// apollo::perception::EvaluatorManager evaluator_;
124123
};
125124

126125
} // namespace lidar

0 commit comments

Comments
 (0)