chromium/third_party/mediapipe/src/mediapipe/modules/palm_detection/palm_detection_model_loader.pbtxt

# MediaPipe graph to load a selected palm detection TF Lite model.

type: "PalmDetectionModelLoader"

# Complexity of the palm detection model: 0 or 1. Accuracy as well as inference
# latency generally go up with the model complexity. If unspecified, functions
# as set to 1. (int)
input_side_packet: "MODEL_COMPLEXITY:model_complexity"

# TF Lite model represented as a FlatBuffer.
# (std::unique_ptr<tflite::FlatBufferModel, std::function<void(tflite::FlatBufferModel*)>>)
output_side_packet: "MODEL:model"

# Determines path to the desired pose landmark model file.
node {
  calculator: "SwitchContainer"
  input_side_packet: "SELECT:model_complexity"
  output_side_packet: "PACKET:model_path"
  options: {
    [mediapipe.SwitchContainerOptions.ext] {
      select: 1
      contained_node: {
        calculator: "ConstantSidePacketCalculator"
        options: {
          [mediapipe.ConstantSidePacketCalculatorOptions.ext]: {
            packet {
              string_value: "mediapipe/modules/palm_detection/palm_detection_lite.tflite"
            }
          }
        }
      }
      contained_node: {
        calculator: "ConstantSidePacketCalculator"
        options: {
          [mediapipe.ConstantSidePacketCalculatorOptions.ext]: {
            packet {
              string_value: "mediapipe/modules/palm_detection/palm_detection_full.tflite"
            }
          }
        }
      }
    }
  }
}

# Loads the file in the specified path into a blob.
node {
  calculator: "LocalFileContentsCalculator"
  input_side_packet: "FILE_PATH:model_path"
  output_side_packet: "CONTENTS:model_blob"
  options: {
    [mediapipe.LocalFileContentsCalculatorOptions.ext]: {
      text_mode: false
    }
  }
}

# Converts the input blob into a TF Lite model.
node {
  calculator: "TfLiteModelCalculator"
  input_side_packet: "MODEL_BLOB:model_blob"
  output_side_packet: "MODEL:model"
}