Managing outdated software specifications or frameworks

Use these guidelines when you are updating assets that refer to outdated software specifications or frameworks.

In some cases, asset update is seamless. In other cases, you must retrain or redeploy the assets. For general guidelines, refer to Managing assets that refer to discontinued software specifications or Migrating assets that refer to discontinued framework versions.

For specific steps, refer to these sections:

Managing assets that refer to discontinued software specifications

Migrating assets that refer to discontinued framework versions

Updating software specifications

You can update software specifications that use the UI or API. For details, refer to these sections:

Updating software specifications from the UI

  1. From the deployment space, click the model (make sure it does not have any active deployments.)
  2. Click the i symbol to check model details.
  3. Use the dropdown menu to update the software specification.

Refer to the example image:

Updating software specifications through the UI

Updating software specifications that use the API

You can update a software specification by using the API Patch command:

For software_spec field, type /software_spec. For value field, use either the ID or the name of the new software specification.

Refer to this example:

curl -X PATCH '<deployment endpoint url>/ml/v4/models/6f01d512-fe0f-41cd-9a52-1e200c525c84?space_id=f2ddb8ce-7b10-4846-9ab0-62454a449802&project_id=<project_id>&version=<YYYY-MM-DD>' \n--data-raw '[
   {
      "op":"replace",
      "path":"/software_spec",
      "value":{
         "id":"6f01d512-fe0f-41cd-9a52-1e200c525c84"   // or "name":"tensorflow_rt22.1-py3.9"
      }
   }
]'

For more information on patching by using the API, refer to Updating an asset by using the Patch API command.

Updating a machine learning model

Follow these steps to update a model built with a deprecated framework.

Option 1: Save the model with a compatible framework

  1. Download the model by using either the Watson Machine Learning REST API or the Watson Machine Learning Python client library.
    Example:
    client.repository.download(<model-id>, filename="xyz.tar.gz")
    
  2. Edit model metadata with the model type and version that is supported in the current release. For details on supported model types and software specifications, refer to Software specifications and hardware specifications for deployments.
    Example:
    model_metadata = {
       client.repository.ModelMetaNames.NAME: "example model",
       client.repository.ModelMetaNames.DESCRIPTION: "example description",
       client.repository.ModelMetaNames.TYPE: "<new model type>",
       client.repository.ModelMetaNames.SOFTWARE_SPEC_UID:
       client.software_specifications.get_uid_by_name("<new software specification name>")
    }
    
  3. Save the model to the Watson Machine Learning repository.
    Example:
    model_details = client.repository.store_model(model="xyz.tar.gz", meta_props=model_metadata)
    
  4. Deploy the model.
  5. Score the model to generate predictions.

If deployment or scoring fails, the model is not compatible with the new version that was used for saving the model. In this case, use Option 2.

Option 2: Retrain the model with a compatible framework

  1. Retrain the model with a model type and version that is supported in the current version.
  2. Save the model with the supported model type and version.
  3. Deploy and score the model.

It is also possible to update a model by using the API. For more information on patching assets by using the API, refer to Updating an asset by using the Patch API command.

Updating a Python function

Follow these steps to update a Python function built with a deprecated framework.

Option 1: Save the Python function with a compatible runtime or software specification

  1. Download the Python function by using either the Watson Machine Learning REST API or the Watson Machine Learning Python client library.
  2. Save the Python function with a supported runtime or software specification version. For details on supported software specifications, refer to Software specifications and hardware specifications for deployments.
  3. Deploy the Python function.
  4. Score the Python function to generate predictions.

If your Python function fails during scoring, the function is not compatible with the new runtime or software specification version that was used for saving the Python function. In this case, use Option 2.

Option 2: Modify the function code and save it with a compatible runtime or software specification

It is also possible to update a function by using the API. For more information on patching by using the API, refer to Updating an asset by using the Patch API command.

Parent topic: Managing frameworks and software specifications