New UbiOps features June 2023

UbiOps release news – version 2.24.0

On the 1st of June 2023 we released new functionality and made improvements to our UbiOps SaaS platform. On this page we will walk you through the changes with some examples of how to use the new functionality

Python client library version for this release: 3.15.0
CLI version for this release: 2.15.0

✔️ Train your AI & ML models in UbiOps

The training functionality that we released as a beta in the last release, is now available in full. We added features in the WebApp to duplicate a run, to cancel a run, and to compare different runs with each other.

To run training code on UbiOps you need to add a train function. Below you can find a basic structure for this function where you can add your training code:

def train(training_data, parameters, context):

    print("This training job is now running")
    # This is the place where you can put your training code
    # Something like: 
    # data = training_data
    # model.fit(data)
    # some evaluation code etc.

    return {
        "artifact": "path/to/artefact.joblib",
        "metadata": {"some_value" : 25},
        "metrics": {"accuracy": 0.83},
        "additional_output_files": []
    }

The training_data parameter contains the file path to whatever training data file you uploaded. Parameters is a dictionary that contains any parameters you want to pass. Context provides some context variable like the id of the run.

Training UbiOps

When you’ve made multiple runs, you can use the selection checkboxes in the Experiment page to start a comparison. Alternatively you can also just navigate to the “Evaluation” tab on the training page and add them manually.

Training Evaluation UbiOps

✔️Create and manage code environments

The environment that your code runs in can now be managed separately from your code. You can create environments, that consist of a programming language and dependency specifications (i.e. a requirements.txt), and use them across different deployment versions or experiments. This way environments can now be reused between different deployment versions or experiments.

This can greatly reduce your build times if you often use the same dependencies and allows you to standardize the run environment of your deployments and helps you streamline your development and deployment process. We added an environment management page to the WebApp where you can create new environments or view and adjust existing environments. It is still possible to create deployments in the way you are used to, with a deployment package that includes both code and dependency files. In that case an environment is automatically created for you in the background.

environments UbiOps

✔️Local testing of your code with the UbiOps CLI

The utility functions we added to the client library in the last release are now also available in the CLI. This means that you can now also test your deployments locally on the command line. We added the ubiops run_local command for instance, which runs your deployment code locally, simulating how UbiOps would run it. This can be helpful to catch errors. When using this command you can use the –dir option to specify where your deployment.py resides and you can pass dummy data either directly with the –data command or by reading from a JSON file with –json_file. For example:

ubiops run_local -dir /path/to/deployment --data "{\"param1\": 1, \"param2\": \"two\"}"

For more info see the documentation of the CLI.

✔️Support for any S3 compatible storage buckets

We added the option to connect with any S3 compatible object storage bucket. Before it was only possible to connect with Azure, GCP, or AWS buckets, but now you can connect with other S3 compatible platforms such as MinIO, Openstack Swift or Ceph.

S3 _ Bucket form UbiOps

Do you need more information? Head over to our documentation, or schedule a call with us. 

Demo UbiOps

Latest news

Turn your AI & ML models into powerful services with UbiOps