Work with ML Training Jobs with Viam's ML Training API
The ML training API allows you to get information about and cancel ML training jobs taking place on the Viam app.
Support Notice
ML training client API methods are only available in the Python SDK.
Establish a connection
To use the Viam ML training client API, you first need to instantiate a ViamClient
and then instantiate an MLTrainingClient
.
See the following example for reference.
Select Include secret on the Code sample page of the CONNECT tab of the Viam app to obtain your API key and API key ID values.
import asyncio
from viam.rpc.dial import DialOptions, Credentials
from viam.app.viam_client import ViamClient
async def connect() -> ViamClient:
dial_options = DialOptions(
credentials=Credentials(
type="api-key",
# Replace "<API-KEY>" (including brackets) with your machine's API key
payload='<API-KEY>',
),
# Replace "<API-KEY-ID>" (including brackets) with your machine's
# API key ID
auth_entity='<API-KEY-ID>'
)
return await ViamClient.create_from_dial_options(dial_options)
async def main():
# Make a ViamClient
viam_client = await connect()
# Instantiate an MLTrainingClient to run ML training client API methods on
ml_training_client = viam_client.ml_training_client
viam_client.close()
if __name__ == '__main__':
asyncio.run(main())
Once you have instantiated an MLTrainingClient
, you can run the following API methods against the MLTrainingClient
object (named ml_training_client
in the examples).
API
The ML training client API supports the following methods:
Method Name | Description |
---|---|
GetTrainingJob | Get training job metadata by ID. |
ListTrainingJobs | Get training job metadata for all jobs within an organization. |
CancelTrainingJob | Cancel the specified training job. |
GetTrainingJob
Get training job metadata.
Parameters:
id
(str): ID of the training job you wish to get metadata from. Retrieve this value withListTrainingJobs()
.
Returns:
- (TrainingJobMetadata): Training job metadata, including status, last modified timestamp, id, and more.
job_metadata = await ml_training_client.get_training_job(
id="INSERT YOUR JOB ID")
For more information, see the Python SDK Docs.
ListTrainingJobs
Get training job metadata for all jobs within an organization.
Parameters:
org_id
(str): The ID of your organization to request training job metadata from. Retrieve this value with the fleet management API’sListOrganizations()
.training_status
(Optional[TrainingStatus.ValueType]): The status of training jobs you want to filter the list by. If you leave this unspecified, all training jobs for your organization are returned.
Returns:
- (List[TrainingJobMetadata]): A list of training job metadata, including status, last modified timestamp, id, and more.
jobs_metadata = await ml_training_client.list_training_jobs(
org_id="INSERT YOUR ORG ID")
first_job_id = jobs_metadata[1].id
For more information, see the Python SDK Docs.
CancelTrainingJob
Cancel the specified training job.
Parameters:
id
(str): ID of the training job you wish to get metadata from. Retrieve this value withListTrainingJobs()
.
Returns:
- None
Raises:
GRPCError
: If no training job exists with the given ID or cancellation was otherwise unsuccessful.
await ml_training_client.cancel_training_job(
id="INSERT YOUR JOB ID")
For more information, see the Python SDK Docs.
Have questions, or want to meet other people working on robots? Join our Community Discord.
If you notice any issues with the documentation, feel free to file an issue or edit this file.
Was this page helpful?
Glad to hear it! If you have any other feedback please let us know:
We're sorry about that. To help us improve, please tell us what we can do better:
Thank you!