ML Community Day is November 9! Join us for updates from TensorFlow, JAX, and more Learn more


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 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) ```


<!-- Tabular view -->
 <table class="responsive fixed orange">
<colgroup><col width="214px"><col></colgroup>
<tr><th colspan="2"><h2 class="add-link">Raises</h2></th></tr>

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