Experimental: Describes a command-line program inside a container.

Inherits From: ExecutorSpec

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 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.


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='', command=[ 'python3', 'my_trainer', '--training_data_uri', InputUriPlaceholder('training_data'), '--model_uri', OutputUriPlaceholder('model'), '--num_training-steps', InputValuePlaceholder('num_training_steps'), ] )

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.



View source

Encodes ExecutorSpec into an IR proto for compiling.

This method will be used by DSL compiler to generate the corresponding IR.


View source

Convert from dictionary data to an object.


View source

Convert from an object to a JSON serializable dictionary.


View source

Return self==value.


View source

Return self!=value.