![]() |
Experimental: Describes a command-line program inside a container.
Inherits From: ExecutorSpec
tfx.dsl.component.experimental.executor_specs.TemplatedExecutorContainerSpec(
image: Text,
command: List[tfx.dsl.component.experimental.placeholders.CommandlineArgumentType
]
)
This class is similar to ExecutorContainerSpec, but uses structured placeholders instead of jinja templates for constructing container commands based on input and output artifact metadata. See placeholders.py for a list of supported placeholders. The spec includes the container image name and the command line (entrypoint plus arguments) for a program inside the container.
Example:
class MyTrainer(base_component.BaseComponent) class MyTrainerSpec(types.ComponentSpec): INPUTS = { 'training_data': component_spec.ChannelParameter(type=standard_artifacts.Dataset), } OUTPUTS = { 'model': component_spec.ChannelParameter(type=standard_artifacts.Model), } PARAMETERS = { 'num_training_steps': component_spec.ExecutionParameter(type=int), }
SPEC_CLASS = MyTrainerSpec EXECUTOR_SPEC = executor_specs.TemplatedExecutorContainerSpec( image='gcr.io/my-project/my-trainer', command=[ 'python3', 'my_trainer', '--training_data_uri', InputUriPlaceholder('training_data'), '--model_uri', OutputUriPlaceholder('model'), '--num_training-steps', InputValuePlaceholder('num_training_steps'), ] )
Attributes | |
---|---|
image
|
Container image name. |
command
|
Container entrypoint command-line. Not executed within a shell. The command-line can use placeholder objects that will be replaced at the compilation time. Note: Jinja templates are not supported. |
Methods
encode
encode(
component_spec: Optional[tfx.types.ComponentSpec
] = None
) -> message.Message
Encodes ExecutorSpec into an IR proto for compiling.
This method will be used by DSL compiler to generate the corresponding IR.
Args | |
---|---|
component_spec
|
Optional. The ComponentSpec to help with the encoding. |
Returns | |
---|---|
An executor spec proto. |
from_json_dict
@classmethod
from_json_dict( dict_data: Dict[Text, Any] ) -> Any
Convert from dictionary data to an object.
to_json_dict
to_json_dict() -> Dict[Text, Any]
Convert from an object to a JSON serializable dictionary.
__eq__
__eq__(
other
) -> bool
Return self==value.
__ne__
__ne__(
other
) -> bool
Return self!=value.