Models

Classes and methods for working with Gretel Models

class gretel_client.projects.models.Model(project: None, model_config: Union[str, pathlib.Path, dict, None] = None, model_id: Optional[str] = None)

Represents a Gretel Model. This class can be used to train new models or run and lookup existing ones.

property artifact_types

Returns a list of artifact types associated with the model.

property billing_details

Get billing details for the current Job

cancel()

Cancels the active job

property container_image

Return the container image for the job

create_record_handler_obj(data_source: Optional[str] = None, params: Optional[dict] = None)gretel_client.projects.records.RecordHandler

Creates a new record handler for the model.

Parameters

data_source

A data source to upload to the record handler. params: Any custom params for the record handler. These params

are specific to the upstream model.

property data_source

Retrieves the configured data source from the model config.

If the model config has a local data_source we’ll try and resolve that path relative to the location of the model config.

delete() → Optional[dict]

Deletes the remote model.

property errors

Return any errors associated with the model.

property external_data_source

Returns True if the data source is external to Gretel Cloud. If the data source is a Gretel Artifact, returns False.

Retrieves a signed S3 link that will download the specified artifact type.

Parameters

artifact_type – Artifact type to download

get_artifacts() → Iterator[Tuple[str, str]]

List artifact links for all known artifact types.

get_record_handlers() → Iterator[gretel_client.projects.records.RecordHandler]

Returns a list of record handlers associated with the model.

property instance_type

Returns CPU or GPU based on the model being trained.

property is_cloud_model

Returns True if the model was created to run in Gretel’s Cloud. False otherwise.

property logs

Returns run logs for the job.

property model_config

Returns the model config used to create the model.

property model_type

Returns the type of model. Eg synthetics, transforms or classify.

property name

Get the name of the model. If no name is specified, a random name will be selected when the model is submitted to the backend.

Getter

Returns the model name

Setter

Sets the model name

peek_report(report_path: Optional[str] = None) → Optional[dict]

Return a summary of the job results

Parameters

report_path – If a report_path is passed, that report will be used for the summary. If no report path is passed, the function will check for a cloud report artifact.

poll_logs_status(wait: int = - 1, callback: Optional[Callable] = None) → Iterator[gretel_client.projects.jobs.LogStatus]

Returns an iterator that may be used to tail the logs of a running Model

Parameters
  • wait – The time in seconds to wait before closing the iterator. If wait is -1 (WAIT_UNTIL_DONE), the iterator will run until the model has reached a “completed” or “error” state.

  • callback – This function will be executed on every polling loop. A callback is useful for checking some external state that is working on a Job.

property print_obj

Returns a printable object representation of the job

property runner_mode

Returns the runner_mode of the job. May be one of manual or cloud.

property status

The status of the job. Is one of gretel_client.projects.jobs.Status

submit_cloud() → gretel_client.projects.jobs.Job

Submit this model to be scheduled for runing in Gretel Cloud.

Returns

The response from the Gretel API.

submit_manual() → gretel_client.projects.jobs.Job

Submit this Job to the Gretel Cloud API, which will create the job metadata but no runner will be started. The Model instance can now be passed into a dedicated runner.

Returns

The response from the Gretel API.

property traceback

Returns the traceback associated with any job errors.

upload_data_source(_validate: bool = True) → Optional[str]

Resolves and uploads the data source specified in the model config.

If the data source is already a Gretel artifact, the artifact will not be uploaded.

Returns

A Gretel artifact key

validate_data_source()

Test that the attached data source is a valid Csv or Json file. If the data source is a Gretel cloud artifact data validation will be skipped.

Raises