input_side_packet: "desired_segment_size" input_side_packet: "record_index" input_side_packet: "tfrecord_path" output_side_packet: "yt8m_id" output_stream: "annotation_summary" node { calculator: "StringToInt32Calculator" input_side_packet: "record_index" output_side_packet: "record_index_int" } node { calculator: "StringToInt32Calculator" input_side_packet: "desired_segment_size" output_side_packet: "desired_segment_size_int" } node { calculator: "TFRecordReaderCalculator" input_side_packet: "TFRECORD_PATH:tfrecord_path" input_side_packet: "RECORD_INDEX:record_index_int" output_side_packet: "SEQUENCE_EXAMPLE:yt8m_sequence_example" } node { calculator: "UnpackYt8mSequenceExampleCalculator" input_side_packet: "YT8M_SEQUENCE_EXAMPLE:yt8m_sequence_example" input_side_packet: "DESIRED_SEGMENT_SIZE:desired_segment_size_int" output_side_packet: "YT8M_ID:yt8m_id" output_side_packet: "SEGMENT_SIZE:segment_size" output_side_packet: "LAPPED_TENSOR_BUFFER_CALCULATOR_OPTIONS:lapped_tensor_buffer_calculator_options" output_stream: "QUANTIZED_RGB_FEATURE:quantized_rgb_feature" output_stream: "QUANTIZED_AUDIO_FEATURE:quantized_audio_feature" } node { calculator: "DequantizeByteArrayCalculator" input_stream: "ENCODED:quantized_rgb_feature" output_stream: "FLOAT_VECTOR:rgb_feature_vector" node_options: { [type.googleapis.com/mediapipe.DequantizeByteArrayCalculatorOptions]: { max_quantized_value: 2 min_quantized_value: -2 } } } node { calculator: "DequantizeByteArrayCalculator" input_stream: "ENCODED:quantized_audio_feature" output_stream: "FLOAT_VECTOR:audio_feature_vector" node_options: { [type.googleapis.com/mediapipe.DequantizeByteArrayCalculatorOptions]: { max_quantized_value: 2 min_quantized_value: -2 } } } node { calculator: "ConcatenateFloatVectorCalculator" input_stream: "rgb_feature_vector" input_stream: "audio_feature_vector" output_stream: "feature_vector" } node { calculator: "VectorFloatToTensorCalculator" input_stream: "feature_vector" output_stream: "feature_tensor" } node { calculator: "LappedTensorBufferCalculator" input_stream: "feature_tensor" input_side_packet: "CALCULATOR_OPTIONS:lapped_tensor_buffer_calculator_options" output_stream: "lapped_feature_tensor" } node { calculator: "SidePacketToStreamCalculator" input_side_packet: "segment_size" output_stream: "AT_ZERO:segment_size_int_stream" } node { calculator: "VectorIntToTensorCalculator" input_stream: "SINGLE_INT:segment_size_int_stream" output_stream: "TENSOR_OUT:segment_size_tensor" } node { calculator: "PacketClonerCalculator" input_stream: "segment_size_tensor" input_stream: "lapped_feature_tensor" output_stream: "synced_segment_size_tensor" } node { calculator: "TensorFlowSessionFromSavedModelCalculator" output_side_packet: "SESSION:session" node_options: { [type.googleapis.com/mediapipe.TensorFlowSessionFromSavedModelCalculatorOptions]: { saved_model_path: "/tmp/mediapipe/saved_model" } } } node: { calculator: "TensorFlowInferenceCalculator" input_side_packet: "SESSION:session" input_stream: "NUM_FRAMES:synced_segment_size_tensor" input_stream: "RGB_AND_AUDIO:lapped_feature_tensor" output_stream: "PREDICTIONS:prediction_tensor" node_options: { [type.googleapis.com/mediapipe.TensorFlowInferenceCalculatorOptions]: { batch_size: 32 } } } node { calculator: "TensorToVectorFloatCalculator" input_stream: "prediction_tensor" output_stream: "prediction_vector" } node { calculator: "TopKScoresCalculator" input_stream: "SCORES:prediction_vector" output_stream: "SUMMARY:annotation_summary" node_options: { [type.googleapis.com/mediapipe.TopKScoresCalculatorOptions]: { top_k: 9 label_map_path: "mediapipe/graphs/youtube8m/label_map.txt" } } }