in tensorflow_data_validation/anomalies/schema.cc [84:118]
std::set<tensorflow::metadata::v0::FeatureType> AllowedFeatureTypes(
Feature::DomainInfoCase domain_info_case) {
switch (domain_info_case) {
case Feature::kDomain:
return {tensorflow::metadata::v0::BYTES};
case Feature::kBoolDomain:
return {tensorflow::metadata::v0::INT, tensorflow::metadata::v0::BYTES,
tensorflow::metadata::v0::FLOAT};
case Feature::kIntDomain:
return {tensorflow::metadata::v0::INT, tensorflow::metadata::v0::BYTES};
case Feature::kFloatDomain:
return {tensorflow::metadata::v0::FLOAT, tensorflow::metadata::v0::BYTES};
case Feature::kStringDomain:
return {tensorflow::metadata::v0::BYTES};
case Feature::kStructDomain:
return {tensorflow::metadata::v0::STRUCT};
case Feature::kNaturalLanguageDomain:
return {tensorflow::metadata::v0::BYTES, tensorflow::metadata::v0::INT};
case Feature::kImageDomain:
return {tensorflow::metadata::v0::BYTES};
case Feature::kMidDomain:
return {tensorflow::metadata::v0::BYTES};
case Feature::kUrlDomain:
return {tensorflow::metadata::v0::BYTES};
case Feature::kTimeDomain:
// Consider also supporting time as floats.
return {tensorflow::metadata::v0::INT, tensorflow::metadata::v0::BYTES};
case Feature::DOMAIN_INFO_NOT_SET:
ABSL_FALLTHROUGH_INTENDED;
default:
return {tensorflow::metadata::v0::INT, tensorflow::metadata::v0::FLOAT,
tensorflow::metadata::v0::BYTES,
tensorflow::metadata::v0::STRUCT};
}
}