756 {
758
759 if (layer_param.type() == "Convolution") {
760 addConvLayer(layer_param, inputs, weight_map, net, tensor_map,
761 tensor_modify_map);
762 } else if (layer_param.type() == "Deconvolution") {
764 tensor_modify_map);
765 } else if (layer_param.type() == "Sigmoid" || layer_param.type() == "TanH" ||
766 layer_param.type() == "ReLU") {
768 tensor_modify_map);
769 } else if (layer_param.type() == "Concat") {
771 tensor_modify_map);
772 } else if (layer_param.type() == "Slice") {
773 addSliceLayer(layer_param, inputs, nbInputs, net, tensor_map,
774 tensor_modify_map);
775 } else if (layer_param.type() == "Reshape") {
776 addReshapeLayer(layer_param, inputs, net, tensor_map, tensor_modify_map);
777 } else if (layer_param.type() == "Padding") {
778 addPaddingLayer(layer_param, inputs, net, tensor_map, tensor_modify_map);
779 } else if (layer_param.type() == "Pooling") {
780 addPoolingLayer(layer_param, inputs, net, tensor_map, tensor_modify_map);
781 } else if (layer_param.type() == "Permute") {
783 tensor_modify_map);
784 } else if (layer_param.type() == "InnerProduct") {
786 tensor_modify_map);
787 } else if (layer_param.type() == "BatchNorm") {
789 tensor_modify_map);
790 } else if (layer_param.type() == "Scale") {
791 addScaleLayer(layer_param, inputs, weight_map, net, tensor_map,
792 tensor_modify_map);
793 } else if (layer_param.type() == "Softmax") {
795 tensor_modify_map);
796 } else if (layer_param.type() == "Eltwise") {
797 addEltwiseLayer(layer_param, inputs, net, tensor_map, tensor_modify_map);
798 } else if (layer_param.type() == "ArgMax") {
800 tensor_modify_map);
801 } else if (layer_param.type() == "Dropout") {
802 AINFO <<
"skip dropout";
803 } else if (layer_param.type() == "Power") {
804 addScaleLayer(layer_param, inputs, weight_map, net, tensor_map,
805 tensor_modify_map);
806 } else if (layer_param.type() == "Silence") {
807 addSilenceLayer(layer_param, inputs, net, tensor_map, tensor_modify_map);
808 } else if (layer_param.type() == "DFMBPSROIAlign") {
810 tensor_modify_map);
811 } else if (layer_param.type() == "RCNNProposal") {
813 tensor_modify_map);
814 } else if (layer_param.type() == "RPNProposalSSD") {
816 tensor_modify_map);
817 } else {
818 AWARN <<
"unknown layer type:" << layer_param.type();
819 }
820}
void addReshapeLayer(const LayerParameter &layer_param, Tensor const *inputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addInnerproductLayer(const LayerParameter &layer_param, Tensor const *inputs, WeightMap *weight_map, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addConcatLayer(const LayerParameter &layer_param, Tensor const *inputs, int nbInputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addScaleLayer(const LayerParameter &layer_param, Tensor const *inputs, WeightMap *weight_map, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addConvLayer(const LayerParameter &layer_param, Tensor const *inputs, WeightMap *weight_map, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addSilenceLayer(const LayerParameter &layer_param, Tensor const *inputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addDeconvLayer(const LayerParameter &layer_param, Tensor const *inputs, WeightMap *weight_map, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addDFMBPSROIAlignLayer(const LayerParameter &layer_param, Tensor const *inputs, int nbInputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addArgmaxLayer(const LayerParameter &layer_param, Tensor const *inputs, int nbInputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addBatchnormLayer(const LayerParameter &layer_param, Tensor const *inputs, WeightMap *weight_map, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addEltwiseLayer(const LayerParameter &layer_param, Tensor const *inputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addSliceLayer(const LayerParameter &layer_param, Tensor const *inputs, int nbInputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addRPNProposalSSDLayer(const LayerParameter &layer_param, Tensor const *inputs, int nbInputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addSoftmaxLayer(const LayerParameter &layer_param, Tensor const *inputs, int nbInputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addRCNNProposalLayer(const LayerParameter &layer_param, Tensor const *inputs, int nbInputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addPaddingLayer(const LayerParameter &layer_param, Tensor const *inputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addPoolingLayer(const LayerParameter &layer_param, Tensor const *inputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addActiveLayer(const LayerParameter &layer_param, Tensor const *inputs, int nbInputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)
void addPermuteLayer(const LayerParameter &layer_param, Tensor const *inputs, int nbInputs, migraphx::module *net, TensorMap *tensor_map, TensorModifyMap *tensor_modify_map)