class d3m.primitive_interfaces.unsupervised_learning.UnsupervisedLearnerPrimitiveBase(*, hyperparams, random_seed=0, docker_containers=None, volumes=None, temporary_directory=None)[source]

Bases: d3m.primitive_interfaces.base.PrimitiveBase[[typing.Inputs, typing.Outputs, typing.Params], typing.Hyperparams]

A base class for primitives which have to be fitted before they can start producing (useful) outputs from inputs, but they are fitted only on input data.

fit_multi_produce(*, produce_methods, inputs, timeout=None, iterations=None)[source]

A method calling fit and after that multiple produce methods at once.

  • produce_methods (Sequence[str]) – A list of names of produce methods to call.

  • inputs (~Inputs) – The inputs given to set_training_data and all produce methods.

  • timeout (Optional[float]) – A maximum time this primitive should take to both fit the primitive and produce outputs for all produce methods listed in produce_methods argument, in seconds.

  • iterations (Optional[int]) – How many of internal iterations should the primitive do for both fitting and producing outputs of all produce methods.


A dict of values for each produce method wrapped inside MultiCallResult.

Return type


abstract set_training_data(*, inputs)[source]

Sets training data of this primitive.


inputs (~Inputs) – The inputs.

Return type


docker_containers: Dict[str, d3m.primitive_interfaces.base.DockerContainer][source]

A dict mapping Docker image keys from primitive’s metadata to (named) tuples containing container’s address under which the container is accessible by the primitive, and a dict mapping exposed ports to ports on that address.

hyperparams: Hyperparams[source]

Hyperparams passed to the constructor.

logger: ClassVar[logging.Logger][source]

Primitive’s logger. Available as a class attribute. This gets automatically set to primitive’s logger in metaclass.

metadata: ClassVar[d3m.metadata.base.PrimitiveMetadata][source]

Primitive’s metadata. Available as a class attribute. Primitive author should provide all fields which cannot be determined automatically inside the code. In this way metadata is close to the code and it is easier for consumers to make sure metadata they are using is really matching the code they are using. PrimitiveMetadata class updates itself with metadata about code and other things it can extract automatically.

random_seed: int[source]

Random seed passed to the constructor.

temporary_directory: Optional[str][source]

An absolute path to a temporary directory a primitive can use to store any files for the duration of the current pipeline run phase. Directory is automatically cleaned up after the current pipeline run phase finishes.

volumes: Dict[str, str][source]

A dict mapping volume keys from primitive’s metadata to file and directory paths where downloaded and extracted files are available to the primitive.