View source on GitHub

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

Convert from dictionary data to an object.


View source

Convert from an object to a JSON serializable dictionary.