Apollo  6.0
Open source self driving car software
Public Member Functions | Protected Member Functions | List of all members
apollo::perception::inference::RTNet Class Reference

#include <rt_net.h>

Inheritance diagram for apollo::perception::inference::RTNet:
Inheritance graph
Collaboration diagram for apollo::perception::inference::RTNet:
Collaboration graph

Public Member Functions

 RTNet (const std::string &net_file, const std::string &model_file, const std::vector< std::string > &outputs, const std::vector< std::string > &inputs)
 
 RTNet (const std::string &net_file, const std::string &model_file, const std::vector< std::string > &outputs, const std::vector< std::string > &inputs, nvinfer1::Int8EntropyCalibrator *calibrator)
 
 RTNet (const std::string &net_file, const std::string &model_file, const std::vector< std::string > &outputs, const std::vector< std::string > &inputs, const std::string &model_root)
 
virtual ~RTNet ()
 
bool Init (const std::map< std::string, std::vector< int >> &shapes) override
 
void Infer () override
 
std::shared_ptr< apollo::perception::base::Blob< float > > get_blob (const std::string &name) override
 
- Public Member Functions inherited from apollo::perception::inference::Inference
 Inference ()=default
 
virtual ~Inference ()=default
 
void set_max_batch_size (const int &batch_size)
 
void set_gpu_id (const int &gpu_id)
 

Protected Member Functions

bool addInput (const TensorDimsMap &tensor_dims_map, const std::map< std::string, std::vector< int >> &shapes, TensorMap *tensor_map)
 
bool shape (const std::string &name, std::vector< int > *res)
 
void ConstructMap (const LayerParameter &layer_param, nvinfer1::ILayer *layer, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void parse_with_api (const std::map< std::string, std::vector< int >> &shapes)
 
void addLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, WeightMap *weight_map, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addConvLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, WeightMap *weight_map, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addDeconvLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, WeightMap *weight_map, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addActiveLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addConcatLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addPoolingLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addSliceLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addInnerproductLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, WeightMap *weight_map, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addScaleLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, WeightMap *weight_map, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addBatchnormLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, WeightMap *weight_map, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addSoftmaxLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addEltwiseLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addArgmaxLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addPermuteLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addReshapeLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addPaddingLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addDFMBPSROIAlignLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addRCNNProposalLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
void addRPNProposalSSDLayer (const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, nvinfer1::INetworkDefinition *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
 
bool checkInt8 (const std::string &gpu_name, nvinfer1::IInt8Calibrator *calibrator)
 
void mergeBN (int index, LayerParameter *layer_param)
 
nvinfer1::Weights loadLayerWeights (const float *data, int size)
 
nvinfer1::Weights loadLayerWeights (float data, int size)
 
bool loadWeights (const std::string &model_file, WeightMap *weight_map)
 
void init_blob (std::vector< std::string > *names)
 

Additional Inherited Members

- Protected Attributes inherited from apollo::perception::inference::Inference
int max_batch_size_ = 1
 
int gpu_id_ = 0
 

Constructor & Destructor Documentation

◆ RTNet() [1/3]

apollo::perception::inference::RTNet::RTNet ( const std::string &  net_file,
const std::string &  model_file,
const std::vector< std::string > &  outputs,
const std::vector< std::string > &  inputs 
)

◆ RTNet() [2/3]

apollo::perception::inference::RTNet::RTNet ( const std::string &  net_file,
const std::string &  model_file,
const std::vector< std::string > &  outputs,
const std::vector< std::string > &  inputs,
nvinfer1::Int8EntropyCalibrator calibrator 
)

◆ RTNet() [3/3]

apollo::perception::inference::RTNet::RTNet ( const std::string &  net_file,
const std::string &  model_file,
const std::vector< std::string > &  outputs,
const std::vector< std::string > &  inputs,
const std::string &  model_root 
)

◆ ~RTNet()

virtual apollo::perception::inference::RTNet::~RTNet ( )
virtual

Member Function Documentation

◆ addActiveLayer()

void apollo::perception::inference::RTNet::addActiveLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
int  nbInputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addArgmaxLayer()

void apollo::perception::inference::RTNet::addArgmaxLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
int  nbInputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addBatchnormLayer()

void apollo::perception::inference::RTNet::addBatchnormLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
WeightMap weight_map,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addConcatLayer()

void apollo::perception::inference::RTNet::addConcatLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
int  nbInputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addConvLayer()

void apollo::perception::inference::RTNet::addConvLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
WeightMap weight_map,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addDeconvLayer()

void apollo::perception::inference::RTNet::addDeconvLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
WeightMap weight_map,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addDFMBPSROIAlignLayer()

void apollo::perception::inference::RTNet::addDFMBPSROIAlignLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
int  nbInputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addEltwiseLayer()

void apollo::perception::inference::RTNet::addEltwiseLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addInnerproductLayer()

void apollo::perception::inference::RTNet::addInnerproductLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
WeightMap weight_map,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addInput()

bool apollo::perception::inference::RTNet::addInput ( const TensorDimsMap tensor_dims_map,
const std::map< std::string, std::vector< int >> &  shapes,
TensorMap tensor_map 
)
protected

◆ addLayer()

void apollo::perception::inference::RTNet::addLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
int  nbInputs,
WeightMap weight_map,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addPaddingLayer()

void apollo::perception::inference::RTNet::addPaddingLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addPermuteLayer()

void apollo::perception::inference::RTNet::addPermuteLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
int  nbInputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addPoolingLayer()

void apollo::perception::inference::RTNet::addPoolingLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addRCNNProposalLayer()

void apollo::perception::inference::RTNet::addRCNNProposalLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
int  nbInputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addReshapeLayer()

void apollo::perception::inference::RTNet::addReshapeLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addRPNProposalSSDLayer()

void apollo::perception::inference::RTNet::addRPNProposalSSDLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
int  nbInputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addScaleLayer()

void apollo::perception::inference::RTNet::addScaleLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
WeightMap weight_map,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addSliceLayer()

void apollo::perception::inference::RTNet::addSliceLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
int  nbInputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ addSoftmaxLayer()

void apollo::perception::inference::RTNet::addSoftmaxLayer ( const LayerParameter &  layer_param,
nvinfer1::ITensor *const *  inputs,
int  nbInputs,
nvinfer1::INetworkDefinition *  net,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ checkInt8()

bool apollo::perception::inference::RTNet::checkInt8 ( const std::string &  gpu_name,
nvinfer1::IInt8Calibrator *  calibrator 
)
protected

◆ ConstructMap()

void apollo::perception::inference::RTNet::ConstructMap ( const LayerParameter &  layer_param,
nvinfer1::ILayer *  layer,
TensorMap tensor_map,
TensorModifyMap tensor_modify_map 
)
protected

◆ get_blob()

std::shared_ptr<apollo::perception::base::Blob<float> > apollo::perception::inference::RTNet::get_blob ( const std::string &  name)
overridevirtual

◆ Infer()

void apollo::perception::inference::RTNet::Infer ( )
overridevirtual

◆ Init()

bool apollo::perception::inference::RTNet::Init ( const std::map< std::string, std::vector< int >> &  shapes)
overridevirtual

◆ init_blob()

void apollo::perception::inference::RTNet::init_blob ( std::vector< std::string > *  names)
protected

◆ loadLayerWeights() [1/2]

nvinfer1::Weights apollo::perception::inference::RTNet::loadLayerWeights ( const float *  data,
int  size 
)
protected

◆ loadLayerWeights() [2/2]

nvinfer1::Weights apollo::perception::inference::RTNet::loadLayerWeights ( float  data,
int  size 
)
protected

◆ loadWeights()

bool apollo::perception::inference::RTNet::loadWeights ( const std::string &  model_file,
WeightMap weight_map 
)
protected

◆ mergeBN()

void apollo::perception::inference::RTNet::mergeBN ( int  index,
LayerParameter *  layer_param 
)
protected

◆ parse_with_api()

void apollo::perception::inference::RTNet::parse_with_api ( const std::map< std::string, std::vector< int >> &  shapes)
protected

◆ shape()

bool apollo::perception::inference::RTNet::shape ( const std::string &  name,
std::vector< int > *  res 
)
protected

The documentation for this class was generated from the following file: