Bỏ để qua phần nội dung

Tài liệu tham khảo cho ultralytics/hub/__init__.py

Ghi

Tệp này có sẵn tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/hub/init.py. Nếu bạn phát hiện ra một vấn đề, vui lòng giúp khắc phục nó bằng cách đóng góp Yêu cầu 🛠️ kéo. Cảm ơn bạn 🙏 !



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

Đăng nhập vào Ultralytics API HUB sử dụng khóa API được cung cấp.

Phiên không được lưu trữ; một phiên mới được tạo khi cần bằng cách sử dụng SETTINGS đã lưu hoặc HUB_API_KEY biến môi trường nếu được xác thực thành công.

Thông số:

Tên Kiểu Sự miêu tả Mặc định
api_key str

Khóa API để sử dụng để xác thực. Nếu không được cung cấp, nó sẽ được truy xuất từ SETTINGS hoặc biến môi trường HUB_API_KEY.

None
save bool

Có nên lưu khóa API vào CÀI ĐẶT nếu xác thực thành công hay không.

True

Trở lại:

Kiểu Sự miêu tả
bool

True nếu xác thực thành công, False nếu không.

Mã nguồn trong 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.6")
    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}Get API key from {api_key_url} and then run 'yolo hub login API_KEY'")
        return False



ultralytics.hub.logout()

Đăng xuất khỏi Ultralytics HUB bằng cách xóa khóa API khỏi tệp cài đặt. Để đăng nhập lại, hãy sử dụng 'yolo đăng nhập hub'.

Ví dụ
from ultralytics import hub

hub.logout()
Mã nguồn trong 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='')

Đặt lại mô hình đã đào tạo về trạng thái chưa được đào tạo.

Mã nguồn trong 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()

Trả về danh sách các định dạng xuất được HUB hỗ trợ.

Mã nguồn trong 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')

Xuất mô hình sang tất cả các định dạng.

Mã nguồn trong 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')

Nhận từ điển mô hình đã xuất với URL tải xuống.

Mã nguồn trong 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)

Chức năng kiểm tra lỗi tệp Zip tập dữ liệu HUB trước khi tải lên. Nó kiểm tra một tập dữ liệu cho các lỗi trước khi nó được tải lên vào HUB. Ví dụ sử dụng được đưa ra dưới đây.

Thông số:

Tên Kiểu Sự miêu tả Mặc định
path str

Đường dẫn đến data.zip (với data.yaml bên trong data.zip).

bắt buộc
task str

Tác vụ tập dữ liệu. Các tùy chọn là 'phát hiện', 'phân đoạn', 'tạo dáng', 'phân loại', 'obb'.

bắt buộc
Ví dụ

Tải xuống *.zip tệp từ https://github.com/ultralytics/hub/tree/main/example_datasets tức là https://github.com/ultralytics/hub/raw/main/example_datasets/coco8.zip cho coco8.zip.

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
check_dataset('path/to/dota8.zip', task='obb')  # OBB dataset
check_dataset('path/to/imagenet10.zip', task='classify')  # classification dataset

Mã nguồn trong ultralytics/hub/__init__.py
def check_dataset(path: str, task: str) -> None:
    """
    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): Path to data.zip (with data.yaml inside data.zip).
        task (str): Dataset task. Options are 'detect', 'segment', 'pose', 'classify', 'obb'.

    Example:
        Download *.zip files from https://github.com/ultralytics/hub/tree/main/example_datasets
            i.e. https://github.com/ultralytics/hub/raw/main/example_datasets/coco8.zip for coco8.zip.
        ```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
        check_dataset('path/to/dota8.zip', task='obb')  # OBB dataset
        check_dataset('path/to/imagenet10.zip', task='classify')  # classification dataset
        ```
    """
    HUBDatasetStats(path=path, task=task).get_json()
    LOGGER.info(f"Checks completed correctly ✅. Upload this dataset to {HUB_WEB_ROOT}/datasets/.")





Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (5), Burhan-Q (1)