Zum Inhalt springen

Referenz fĂŒr ultralytics/hub/__init__.py

Hinweis

Diese Datei ist verfĂŒgbar unter https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/ hub/init.py. Wenn du ein Problem entdeckst, hilf bitte mit, es zu beheben, indem du einen Pull Request đŸ› ïž einreichst. Vielen Dank 🙏!



ultralytics.hub.login(api_key=None, save=True)

Melde dich bei der Ultralytics HUB API mit dem angegebenen API-SchlĂŒssel an.

Die Sitzung wird nicht gespeichert; eine neue Sitzung wird bei Bedarf mit den gespeicherten EINSTELLUNGEN oder der HUB_API_KEY Umgebungsvariable erstellt, wenn die Authentifizierung erfolgreich war.

Parameter:

Name Typ Beschreibung Standard
api_key str

API-SchlĂŒssel, der fĂŒr die Authentifizierung verwendet wird. Wenn er nicht angegeben wird, wird er aus der Umgebungsvariablen SETTINGS oder HUB_API_KEY abgefragt.

None
save bool

Ob der API-SchlĂŒssel in den EINSTELLUNGEN gespeichert werden soll, wenn die Authentifizierung erfolgreich ist.

True

Retouren:

Typ Beschreibung
bool

True, wenn die Authentifizierung erfolgreich ist, sonst False.

Quellcode in ultralytics/hub/__init__.py
def login(api_key: str = None, save=True) -> bool:
    """
    Log in to the Ultralytics HUB API using the provided API key.

    The session is not stored; a new session is created when needed using the saved SETTINGS or the HUB_API_KEY
    environment variable if successfully authenticated.

    Args:
        api_key (str, optional): API key to use for authentication.
            If not provided, it will be retrieved from SETTINGS or HUB_API_KEY environment variable.
        save (bool, optional): Whether to save the API key to SETTINGS if authentication is successful.

    Returns:
        (bool): True if authentication is successful, False otherwise.
    """
    checks.check_requirements("hub-sdk>=0.0.2")
    from hub_sdk import HUBClient

    api_key_url = f"{HUB_WEB_ROOT}/settings?tab=api+keys"  # set the redirect URL
    saved_key = SETTINGS.get("api_key")
    active_key = api_key or saved_key
    credentials = {"api_key": active_key} if active_key and active_key != "" else None  # set credentials

    client = HUBClient(credentials)  # initialize HUBClient

    if client.authenticated:
        # Successfully authenticated with HUB

        if save and client.api_key != saved_key:
            SETTINGS.update({"api_key": client.api_key})  # update settings with valid API key

        # Set message based on whether key was provided or retrieved from settings
        log_message = (
            "New authentication successful ✅" if client.api_key == api_key or not credentials else "Authenticated ✅"
        )
        LOGGER.info(f"{PREFIX}{log_message}")

        return True
    else:
        # Failed to authenticate with HUB
        LOGGER.info(f"{PREFIX}Retrieve API key from {api_key_url}")
        return False



ultralytics.hub.logout()

Melde dich bei Ultralytics HUB ab, indem du den API-SchlĂŒssel aus der Einstellungsdatei entfernst. Um dich wieder anzumelden, benutze 'yolo hub login'.

Beispiel
from ultralytics import hub

hub.logout()
Quellcode in ultralytics/hub/__init__.py
def logout():
    """
    Log out of Ultralytics HUB by removing the API key from the settings file. To log in again, use 'yolo hub login'.

    Example:
        ```python
        from ultralytics import hub

        hub.logout()
        ```
    """
    SETTINGS["api_key"] = ""
    SETTINGS.save()
    LOGGER.info(f"{PREFIX}logged out ✅. To log in again, use 'yolo hub login'.")



ultralytics.hub.reset_model(model_id='')

Setzt ein trainiertes Modell auf einen untrainierten Zustand zurĂŒck.

Quellcode in ultralytics/hub/__init__.py
def reset_model(model_id=""):
    """Reset a trained model to an untrained state."""
    r = requests.post(f"{HUB_API_ROOT}/model-reset", json={"modelId": model_id}, headers={"x-api-key": Auth().api_key})
    if r.status_code == 200:
        LOGGER.info(f"{PREFIX}Model reset successfully")
        return
    LOGGER.warning(f"{PREFIX}Model reset failure {r.status_code} {r.reason}")



ultralytics.hub.export_fmts_hub()

Gibt eine Liste der HUB-unterstĂŒtzten Exportformate zurĂŒck.

Quellcode in ultralytics/hub/__init__.py
def export_fmts_hub():
    """Returns a list of HUB-supported export formats."""
    from ultralytics.engine.exporter import export_formats

    return list(export_formats()["Argument"][1:]) + ["ultralytics_tflite", "ultralytics_coreml"]



ultralytics.hub.export_model(model_id='', format='torchscript')

Exportiere ein Modell in alle Formate.

Quellcode in ultralytics/hub/__init__.py
def export_model(model_id="", format="torchscript"):
    """Export a model to all formats."""
    assert format in export_fmts_hub(), f"Unsupported export format '{format}', valid formats are {export_fmts_hub()}"
    r = requests.post(
        f"{HUB_API_ROOT}/v1/models/{model_id}/export", json={"format": format}, headers={"x-api-key": Auth().api_key}
    )
    assert r.status_code == 200, f"{PREFIX}{format} export failure {r.status_code} {r.reason}"
    LOGGER.info(f"{PREFIX}{format} export started ✅")



ultralytics.hub.get_export(model_id='', format='torchscript')

Erhalte ein exportiertes Modellwörterbuch mit Download-URL.

Quellcode in ultralytics/hub/__init__.py
def get_export(model_id="", format="torchscript"):
    """Get an exported model dictionary with download URL."""
    assert format in export_fmts_hub(), f"Unsupported export format '{format}', valid formats are {export_fmts_hub()}"
    r = requests.post(
        f"{HUB_API_ROOT}/get-export",
        json={"apiKey": Auth().api_key, "modelId": model_id, "format": format},
        headers={"x-api-key": Auth().api_key},
    )
    assert r.status_code == 200, f"{PREFIX}{format} get_export failure {r.status_code} {r.reason}"
    return r.json()



ultralytics.hub.check_dataset(path='', task='detect')

Funktion zur FehlerprĂŒfung der HUB Datensatz-Zip-Datei vor dem Hochladen. Sie prĂŒft einen Datensatz auf Fehler, bevor er auf hochgeladen wird. auf HUB hochgeladen wird. Nachfolgend findest du Anwendungsbeispiele.

Parameter:

Name Typ Beschreibung Standard
path str

Pfad zu data.zip (mit data.yaml in data.zip). Der Standardwert ist ''.

''
task str

Datensatz Aufgabe. Die Optionen sind "erkennen", "segmentieren", "posieren" und "klassifizieren". Die Voreinstellung ist "erkennen".

'detect'
Beispiel
from ultralytics.hub import check_dataset

check_dataset('path/to/coco8.zip', task='detect')  # detect dataset
check_dataset('path/to/coco8-seg.zip', task='segment')  # segment dataset
check_dataset('path/to/coco8-pose.zip', task='pose')  # pose dataset
Quellcode in ultralytics/hub/__init__.py
def check_dataset(path="", task="detect"):
    """
    Function for error-checking HUB dataset Zip file before upload. It checks a dataset for errors before it is uploaded
    to the HUB. Usage examples are given below.

    Args:
        path (str, optional): Path to data.zip (with data.yaml inside data.zip). Defaults to ''.
        task (str, optional): Dataset task. Options are 'detect', 'segment', 'pose', 'classify'. Defaults to 'detect'.

    Example:
        ```python
        from ultralytics.hub import check_dataset

        check_dataset('path/to/coco8.zip', task='detect')  # detect dataset
        check_dataset('path/to/coco8-seg.zip', task='segment')  # segment dataset
        check_dataset('path/to/coco8-pose.zip', task='pose')  # pose dataset
        ```
    """
    HUBDatasetStats(path=path, task=task).get_json()
    LOGGER.info(f"Checks completed correctly ✅. Upload this dataset to {HUB_WEB_ROOT}/datasets/.")





Erstellt am 2023-11-12, Aktualisiert am 2023-11-25
Autoren: glenn-jocher (3)