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

tfx.components.infra_validator.component.InfraValidator

View source on GitHub

A TFX component to validate the model against the serving infrastructure.

Inherits From: BaseComponent

tfx.components.infra_validator.component.InfraValidator(
    model, serving_spec, validation_spec, examples=None, blessing=None,
    request_spec=None, instance_name=None
)

An infra validation is done by loading the model to the exactly same serving binary that is used in production, and additionaly sending some requests to the model server. Such requests can be specified from Examples artifact.

Example

infra_validator = InfraValidator(
    model=trainer.outputs['model'],
    examples=test_example_gen.outputs['examples'],
    serving_spec=ServingSpec(
        tensorflow_serving=TensorFlowServing(tags=['1.15.0']),
        local_docker=LocalDockerConfig()),
    validation_spec=ValidationSpec(
        max_loading_time_seconds=60),
    request_spec=RequestSpec(
        tensorflow_serving=TensorFlowServingRequestSpec(rpc_kind=CLASSIFY),
        max_examples=100)
)

Args:

  • model: A Channel of ModelExportPath type, usually produced by Trainer component. required
  • serving_spec: A ServingSpec configuration about serving binary and test platform config to launch model server for validation. required
  • validation_spec: A ValidationSpec configuration. required
  • examples: A Channel of ExamplesPath type, usually produced by ExampleGen component. If not specified, InfraValidator does not issue requests for validation.
  • blessing: Output Channel of InfraBlessingPath that contains the validation result.
  • request_spec: Optional RequestSpec configuration about making requests from examples input. If not specified, InfraValidator does not issue requests for validation.
  • instance_name: Optional name assigned to this specific instance of InfraValidator. Required only if multiple InfraValidator components are declared in the same pipeline.

Attributes:

  • component_id: DEPRECATED FUNCTION

  • component_type: DEPRECATED FUNCTION

  • downstream_nodes

  • exec_properties

  • id: Node id, unique across all TFX nodes in a pipeline.

    If instance name is available, node_id will be: . otherwise, node_id will be:

  • inputs

  • outputs

  • type

  • upstream_nodes

Child Classes

class DRIVER_CLASS

class SPEC_CLASS

Methods

add_downstream_node

View source

add_downstream_node(
    downstream_node
)

add_upstream_node

View source

add_upstream_node(
    upstream_node
)

from_json_dict

View source

@classmethod
from_json_dict(
    cls, dict_data
)

Convert from dictionary data to an object.

get_id

View source

@classmethod
get_id(
    cls, instance_name=None
)

Gets the id of a node.

This can be used during pipeline authoring time. For example: from tfx.components import Trainer

resolver = ResolverNode(..., model=Channel( type=Model, producer_component_id=Trainer.get_id('my_trainer')))

Args:

  • instance_name: (Optional) instance name of a node. If given, the instance name will be taken into consideration when generating the id.

Returns:

an id for the node.

to_json_dict

View source

to_json_dict()

Convert from an object to a JSON serializable dictionary.

Class Variables

  • EXECUTOR_SPEC