All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tensorflow_metadata.proto.v0.derived_feature.proto Maven / Gradle / Ivy

The newest version!
// Copyright 2022 The TensorFlow Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// =============================================================================

syntax = "proto3";

package tensorflow.metadata.v0;

import "tensorflow_metadata/proto/v0/path.proto";

option cc_enable_arenas = true;
option java_package = "org.tensorflow.metadata.v0";
option java_multiple_files = true;

// DerivedFeatureSource tracks information about the source of a derived
// feature. Derived features are computed from ordinary features for the
// purposes of statistics collection and validation, but do not exist in the
// dataset.
// Experimental and subject to change.
// LINT.IfChange
message DerivedFeatureSource {
  // The name of the deriver that generated this feature.
  string deriver_name = 1;
  // An optional description of the transformation.
  string description = 2;
  // The constituent features that went into generating this derived feature.
  repeated Path source_path = 3;
  // A DerivedFeatureSource that is declaratively configured represents an
  // intent for downstream processing to generate a derived feature
  // (in the schema), or tracks that a feature was generated from such a
  // configuration (in statistics).
  bool declaratively_configured = 4;
  // Optional configuration for canned derivers.
  DerivedFeatureConfig config = 5;
}
// LINT.ThenChange(//tfx_bsl/cc/statistics/merge_util.cc)

// Stores configuration for a variety of canned feature derivers.
// TODO(b/227478330): Consider validating config in merge_util.cc.
message DerivedFeatureConfig {
  oneof type {
    AllowlistDeriver allowlist = 1;
    ArgmaxTopK argmax_top_k = 2;
    ReduceOp reduce_op = 3;
    SliceSql slice_sql = 4;
    ImageQualityDeriver image_quality = 5;
  }
}

message AllowlistDeriver {
  repeated bytes allowed_bytes_value = 1;
  bytes placeholder_value = 2;  // If unset, placeholders will be dropped.
}

message ArgmaxTopK {
  uint32 k = 1;
}

message ReduceOp {
  string op_name = 1;
}

enum SliceValueTypes {
  VALUE_TYPE_DEFAULT = 0;  // Default type is string
  VALUE_TYPE_INTEGER = 1;
  VALUE_TYPE_FLOAT = 2;
  VALUE_TYPE_UNSUPPORTED = 3;
}

message SliceSql {
  // Sql expression used to create a derived feature based on the extracted
  // slice keys. It must return result of STRUCT type.
  string expression = 1;

  // Value type of the derived feature. The default type is string.
  SliceValueTypes feature_value_type = 2;

  // Indicates whether to drop struct name in the generated output.
  bool drop_struct_name = 3;
}

message ImageQualityDeriver {
  string model_name = 1;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy