MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / MaxPool

Class MaxPool

tensorflow/lite/toco/tflite/operator.cc:715–749  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

713};
714
715class MaxPool : public BuiltinOperator<MaxPoolOperator, ::tflite::Pool2DOptions,
716 ::tflite::BuiltinOptions_Pool2DOptions> {
717 public:
718 using BuiltinOperator::BuiltinOperator;
719 flatbuffers::Offset<TfLiteOptions> WriteOptions(
720 const TocoOperator& op,
721 flatbuffers::FlatBufferBuilder* builder) const override {
722 auto padding = Padding::Serialize(op.padding.type);
723 auto activation_function =
724 ActivationFunction::Serialize(op.fused_activation_function);
725 return ::tflite::CreatePool2DOptions(*builder, padding, op.stride_width,
726 op.stride_height, op.kwidth,
727 op.kheight, activation_function);
728 }
729
730 void ReadOptions(const TfLiteOptions& options,
731 TocoOperator* op) const override {
732 op->padding.type = Padding::Deserialize(options.padding());
733 op->stride_width = options.stride_w();
734 op->stride_height = options.stride_h();
735 op->kwidth = options.filter_width();
736 op->kheight = options.filter_height();
737 op->fused_activation_function =
738 ActivationFunction::Deserialize(options.fused_activation_function());
739 }
740
741 int GetVersion(const OperatorSignature& op_signature) const override {
742 const string& input_name = op_signature.op->inputs[0];
743 const Array& input_array = op_signature.model->GetArray(input_name);
744 if (input_array.data_type == ArrayDataType::kInt8) {
745 return 2;
746 }
747 return 1;
748 }
749};
750
751class Maximum : public SimpleOperator<TensorFlowMaximumOperator> {
752 public:

Callers 2

MaxEvalFloatFunction · 0.50
MaxEvalQuantizedUInt8Function · 0.50

Calls

no outgoing calls

Tested by

no test coverage detected