642 {
643 if (layer_param.type() == "Convolution") {
644 addConvLayer(layer_param, inputs, weight_map, net, tensor_map,
645 tensor_modify_map);
646 } else if (layer_param.type() == "Deconvolution") {
648 tensor_modify_map);
649 } else if (layer_param.type() == "Sigmoid" || layer_param.type() == "TanH" ||
650 layer_param.type() == "ReLU") {
652 tensor_modify_map);
653 } else if (layer_param.type() == "Concat") {
655 tensor_modify_map);
656 } else if (layer_param.type() == "Slice") {
657 addSliceLayer(layer_param, inputs, nbInputs, net, tensor_map,
658 tensor_modify_map);
659 } else if (layer_param.type() == "Reshape") {
660 addReshapeLayer(layer_param, inputs, net, tensor_map, tensor_modify_map);
661 } else if (layer_param.type() == "Padding") {
662 addPaddingLayer(layer_param, inputs, net, tensor_map, tensor_modify_map);
663 } else if (layer_param.type() == "Pooling") {
664 addPoolingLayer(layer_param, inputs, net, tensor_map, tensor_modify_map);
665 } else if (layer_param.type() == "Permute") {
667 tensor_modify_map);
668 } else if (layer_param.type() == "InnerProduct") {
670 tensor_modify_map);
671 } else if (layer_param.type() == "BatchNorm") {
673 tensor_modify_map);
674 } else if (layer_param.type() == "Scale") {
675 addScaleLayer(layer_param, inputs, weight_map, net, tensor_map,
676 tensor_modify_map);
677 } else if (layer_param.type() == "Softmax") {
679 tensor_modify_map);
680 } else if (layer_param.type() == "Eltwise") {
681 addEltwiseLayer(layer_param, inputs, net, tensor_map, tensor_modify_map);
682 } else if (layer_param.type() == "ArgMax") {
684 tensor_modify_map);
685 } else if (layer_param.type() == "Dropout") {
686 AINFO <<
"skip dropout";
687 } else if (layer_param.type() == "Power") {
688 addScaleLayer(layer_param, inputs, weight_map, net, tensor_map,
689 tensor_modify_map);
690 } else if (layer_param.type() == "DFMBPSROIAlign") {
692 tensor_modify_map);
693 } else if (layer_param.type() == "RCNNProposal") {
695 tensor_modify_map);
696 } else if (layer_param.type() == "RPNProposalSSD") {
698 tensor_modify_map);
699 } else {
700 AWARN <<
"unknown layer type:" << layer_param.type();
701 }
702}
void addScaleLayer(const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, WeightMap *weight_map, 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 addSoftmaxLayer(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 addConcatLayer(const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, 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 addConvLayer(const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, WeightMap *weight_map, 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)
void addArgmaxLayer(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 addActiveLayer(const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, int nbInputs, 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 addBatchnormLayer(const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, WeightMap *weight_map, 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 addPaddingLayer(const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, 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 addPoolingLayer(const LayerParameter &layer_param, nvinfer1::ITensor *const *inputs, 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)