Missed TensorFlow Dev Summit? Check out the video playlist. Watch recordings


View source on GitHub

Sets the domain for the input feature in the schema.


If the input feature already has a domain, it is overwritten with the newly provided input domain. This method cannot be used to add a new global domain.


  • schema: A Schema protocol buffer.
  • feature_path: The name of the feature whose domain needs to be set. If a FeatureName is passed, a one-step FeaturePath will be constructed and used. For example, "my_feature" -> types.FeaturePath(["my_feature"])
  • domain: A domain protocol buffer (one of IntDomain, FloatDomain, StringDomain or BoolDomain) or the name of a global string domain present in the input schema. Example: python >>> from tensorflow_metadata.proto.v0 import schema_pb2 >>> import tensorflow_data_validation as tfdv >>> schema = schema_pb2.Schema() >>> schema.feature.add(name='feature') # Setting a int domain. >>> int_domain = schema_pb2.IntDomain(min=3, max=5) >>> tfdv.set_domain(schema, "feature", int_domain) # Setting a string domain. >>> str_domain = schema_pb2.StringDomain(value=['one', 'two', 'three']) >>> tfdv.set_domain(schema, "feature", str_domain)


  • TypeError: If the input schema or the domain is not of the expected type.
  • ValueError: If an invalid global string domain is provided as input.