Reference for hub_sdk/modules/models.py
Note
This file is available at https://github.com/ultralytics/hub-sdk/blob/main/hub_sdk/modules/models.py. If you spot a problem please help fix it by contributing a Pull Request 🛠️. Thank you 🙏!
hub_sdk.modules.models.Models
Bases: CRUDClient
A class representing a client for interacting with Models through CRUD operations.
This class extends the CRUDClient class and provides specific methods for working with Models, including creating, retrieving, updating, and deleting model resources, as well as uploading model weights and metrics.
Attributes:
Name | Type | Description |
---|---|---|
base_endpoint |
str
|
The base endpoint URL for the API, set to "models". |
hub_client |
ModelUpload
|
An instance of ModelUpload used for interacting with model uploads. |
id |
str | None
|
The unique identifier of the model, if available. |
data |
Dict
|
A dictionary to store model data. |
metrics |
List[Dict] | None
|
Model metrics data, populated after retrieval. |
Note
The 'id' attribute is set during initialization and can be used to uniquely identify a model. The 'data' attribute is used to store model data fetched from the API.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model_id
|
str
|
The unique identifier of the model. |
None
|
headers
|
Dict[str, Any]
|
Headers to be included in API requests. |
None
|
Source code in hub_sdk/modules/models.py
create_model
Create a new model with the provided data and set the model ID for the current instance.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model_data
|
Dict
|
A dictionary containing the data for creating the model. |
required |
Source code in hub_sdk/modules/models.py
delete
Delete the model resource represented by this instance.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
hard
|
bool
|
If True, perform a hard (permanent) delete. |
False
|
Note
The 'hard' parameter determines whether to perform a soft delete (default) or a hard delete. In a soft delete, the model might be marked as deleted but retained in the system. In a hard delete, the model is permanently removed from the system.
Returns:
Type | Description |
---|---|
Optional[Response]
|
Response object from the delete request, or None if delete fails. |
Source code in hub_sdk/modules/models.py
export
Export model to specified format via Ultralytics HUB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
format
|
str
|
Export format. Supported formats are available at https://docs.ultralytics.com/modes/export/#export-formats |
required |
Returns:
Type | Description |
---|---|
Optional[Response]
|
Response object from the export request, or None if export fails. |
Source code in hub_sdk/modules/models.py
get_architecture
Get the architecture name of the model.
Returns:
Type | Description |
---|---|
Optional[str]
|
The architecture configuration path or None if not available. |
get_data
Retrieve data for the current model instance.
Fetches model data from the API if a valid model ID has been set and stores it in the instance. Logs appropriate error messages if the retrieval fails at any step.
Source code in hub_sdk/modules/models.py
get_dataset_url
Get the dataset URL associated with the model.
Returns:
Type | Description |
---|---|
Optional[str]
|
The URL of the dataset or None if not available. |
get_metrics
Get metrics of the model.
Returns:
Type | Description |
---|---|
Optional[List[Dict[str, Any]]]
|
The list of metrics objects, or None if retrieval fails. |
Source code in hub_sdk/modules/models.py
get_weights_url
Get the URL of the model weights.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
weight
|
str
|
Type of weights to retrieve, either "best" or "last". |
'best'
|
Returns:
Type | Description |
---|---|
Optional[str]
|
The URL of the specified weights or None if not available. |
Source code in hub_sdk/modules/models.py
has_best_weights
is_custom
is_pretrained
is_resumable
Check if the model training can be resumed based on the presence of last weights.
is_trained
predict
Run prediction using the model via Ultralytics HUB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
image
|
str
|
The path to the image file. |
required |
config
|
Dict[str, Any]
|
A configuration dictionary for the prediction. |
required |
Returns:
Type | Description |
---|---|
Optional[Response]
|
Response object from the predict request, or None if prediction fails. |
Source code in hub_sdk/modules/models.py
start_heartbeat
Start sending heartbeat signals to a remote hub server.
This method initiates the sending of heartbeat signals to a hub server to indicate the continued availability and health of the client.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
interval
|
int
|
The time interval, in seconds, between consecutive heartbeats. |
60
|
Note
Heartbeats are essential for maintaining a connection with the hub server and ensuring that the client remains active and responsive.
Source code in hub_sdk/modules/models.py
stop_heartbeat
Stop sending heartbeat signals to a remote hub server.
This method terminates the sending of heartbeat signals to the hub server, effectively signaling that the client is no longer available or active.
Note
Stopping heartbeats should be done carefully, as it may result in the hub server considering the client as disconnected or unavailable.
Source code in hub_sdk/modules/models.py
update
Update the model resource represented by this instance.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data
|
Dict
|
The updated data for the model resource. |
required |
Returns:
Type | Description |
---|---|
Optional[Response]
|
Response object from the update request, or None if update fails. |
Source code in hub_sdk/modules/models.py
upload_metrics
Upload model metrics to Ultralytics HUB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
metrics
|
Dict
|
Dictionary containing model metrics data. |
required |
Returns:
Type | Description |
---|---|
Optional[Response]
|
Response object from the upload metrics request, or None if it fails. |
Source code in hub_sdk/modules/models.py
upload_model
upload_model(
epoch: int,
weights: str,
is_best: bool = False,
map: float = 0.0,
final: bool = False,
) -> Optional[Response]
Upload a model checkpoint to Ultralytics HUB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
epoch
|
int
|
The current training epoch. |
required |
weights
|
str
|
Path to the model weights file. |
required |
is_best
|
bool
|
Indicates if the current model is the best one so far. |
False
|
map
|
float
|
Mean average precision of the model. |
0.0
|
final
|
bool
|
Indicates if the model is the final model after training. |
False
|
Returns:
Type | Description |
---|---|
Optional[Response]
|
Response object from the upload request, or None if upload fails. |
Source code in hub_sdk/modules/models.py
hub_sdk.modules.models.ModelList
Bases: PaginatedList
Provides a paginated list interface for managing and querying models from the Ultralytics HUB API.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
page_size
|
int
|
The number of items to request per page. |
None
|
public
|
bool
|
Whether the items should be publicly accessible. |
None
|
headers
|
Dict
|
Headers to be included in API requests. |
None
|