ModelPackage Class
Represents a packaging of one or more models and their dependencies into either a Docker image or Dockerfile.
A ModelPackage object is returned from the package method of the Model
class. The generate_dockerfile
parameter of the package method determines if a Docker image or
Dockerfile is created.
Initialize package created with model(s) and dependencies.
- Inheritance
-
builtins.objectModelPackage
Constructor
ModelPackage(workspace, operation_id, environment)
Parameters
Name | Description |
---|---|
workspace
Required
|
The workspace in which the package exists. |
operation_id
Required
|
ID of the package creation operation. |
environment
Required
|
Environment in which the model is being packaged. |
workspace
Required
|
The workspace in which the package exists. |
operation_id
Required
|
ID of the package creation operation. |
environment
Required
|
Environment in which the model is being packaged. |
Remarks
To build a Docker image that encapsulates your model and its dependencies, you can use the model packaging option. The output image will be pushed to your workspace's ACR.
You must include an Environment object in your inference configuration to use the Model package method.
package = Model.package(ws, [model], inference_config)
package.wait_for_creation(show_output=True) # Or show_output=False to hide the Docker build logs.
package.pull()
Instead of a fully-built image, you can instead generate a Dockerfile and download all the assets needed to build an image on top of your Environment.
package = Model.package(ws, [model], inference_config, generate_dockerfile=True)
package.wait_for_creation(show_output=True)
package.save("./local_context_dir")
Variables
Name | Description |
---|---|
azureml.core.model.ModelPackage.workspace
|
The workspace in which the package is created. |
Methods
get_container_registry |
Return a ContainerRegistry object indicating where the image or base image (Dockerfile packages) is stored. |
get_logs |
Retrieve the package creation logs. |
pull |
Pull the package output to the local machine. This can only be used with a Docker image package. |
save |
Save the package output to a local directory. This can only be used with a Dockerfile package. |
serialize |
Convert this ModelPackage into a JSON-serializable dictionary for display by the CLI. |
update_creation_state |
Refresh the current state of the in-memory object. This method performs an in-place update of the properties of the object based on the current state of the corresponding cloud object. This is primarily used for manual polling of creation state. |
wait_for_creation |
Wait for the package to finish creating. This method waits for package creation to reach a terminal state. Will throw a WebserviceException if it reaches a non-successful terminal state. |
get_container_registry
Return a ContainerRegistry object indicating where the image or base image (Dockerfile packages) is stored.
get_container_registry()
Returns
Type | Description |
---|---|
The address and login credentials for the container registry. |
get_logs
Retrieve the package creation logs.
get_logs(decode=True, offset=0)
Parameters
Name | Description |
---|---|
decode
|
Indicates whether to decode the raw log bytes to a string. Default value: True
|
offset
|
The byte offset from which to start reading the logs. Default value: 0
|
Returns
Type | Description |
---|---|
The package creation logs. |
Exceptions
Type | Description |
---|---|
pull
Pull the package output to the local machine.
This can only be used with a Docker image package.
pull()
Exceptions
Type | Description |
---|---|
save
Save the package output to a local directory.
This can only be used with a Dockerfile package.
save(output_directory)
Parameters
Name | Description |
---|---|
output_directory
Required
|
The local directory that will be created to contain the contents of the package. |
Exceptions
Type | Description |
---|---|
serialize
Convert this ModelPackage into a JSON-serializable dictionary for display by the CLI.
serialize()
Returns
Type | Description |
---|---|
The JSON representation of this ModelPackage. |
update_creation_state
Refresh the current state of the in-memory object.
This method performs an in-place update of the properties of the object based on the current state of the corresponding cloud object. This is primarily used for manual polling of creation state.
update_creation_state()
Exceptions
Type | Description |
---|---|
wait_for_creation
Wait for the package to finish creating.
This method waits for package creation to reach a terminal state. Will throw a WebserviceException if it reaches a non-successful terminal state.
wait_for_creation(show_output=False)
Parameters
Name | Description |
---|---|
show_output
|
Indicates whether to print more verbose output. Default value: False
|
Exceptions
Type | Description |
---|---|