انتقل إلى المحتوى

مرجع ل ultralytics/hub/__init__.py

ملاحظه

هذا الملف متاح في https://github.com/ultralytics/ultralytics/ نقطة / الرئيسية /ultralytics/hub/البداية.py. إذا اكتشفت مشكلة ، فيرجى المساعدة في إصلاحها من خلال المساهمة في طلب 🛠️ سحب. شكرا لك 🙏!



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

قم بتسجيل الدخول إلى Ultralytics HUB API باستخدام مفتاح API المقدم.

لا يتم تخزين الجلسة. يتم إنشاء جلسة جديدة عند الحاجة باستخدام الإعدادات المحفوظة أو HUB_API_KEY متغير البيئة إذا تمت مصادقته بنجاح.

البارامترات:

اسم نوع وصف افتراضي
api_key str

مفتاح API لاستخدامه للمصادقة. إذا لم يتم توفيره ، استرداده من الإعدادات أو HUBمتغير البيئة _API_KEY.

None
save bool

ما إذا كنت تريد حفظ مفتاح API في الإعدادات في حالة نجاح المصادقة.

True

ارجاع:

نوع وصف
bool

صحيح إذا نجحت المصادقة ، خطأ خلاف ذلك.

شفرة المصدر في ultralytics/hub/__init__.py
11 12 13 14 15 16 17 18 1920 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 3637383940 4142 4344 45464748495051 52
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()

تسجيل الخروج من Ultralytics HUB عن طريق إزالة مفتاح API من ملف الإعدادات. لتسجيل الدخول مرة أخرى، استخدم "yolo hub تسجيل الدخول'.

مثل
from ultralytics import hub

hub.logout()
شفرة المصدر في 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='')

إعادة تعيين نموذج مدرب إلى حالة غير مدربة.

شفرة المصدر في 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()

إرجاع قائمة ب HUB-تنسيقات التصدير المدعومة.

شفرة المصدر في 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')

تصدير نموذج إلى جميع التنسيقات.

شفرة المصدر في 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')

احصل على قاموس نموذج تم تصديره مع عنوان URL للتنزيل.

شفرة المصدر في ultralytics/hub/__init__.py
 97 98 99 100 101 102 103 104 105 106
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')

وظيفة للتحقق من الأخطاء HUB مجموعة البيانات ملف مضغوط قبل التحميل. يتحقق من مجموعة البيانات بحثا عن الأخطاء قبل تحميلها إلى HUB. وترد أمثلة الاستخدام أدناه.

البارامترات:

اسم نوع وصف افتراضي
path str

المسار إلى البيانات.zip (مع data.yaml داخل data.zip). الإعدادات الافتراضية إلى ''.

''
task str

مهمة مجموعة البيانات. الخيارات هي "كشف" ، "شريحة" ، "وضع" ، "تصنيف". الإعدادات الافتراضية هي "اكتشاف".

'detect'
مثل
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
شفرة المصدر في ultralytics/hub/__init__.py
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123124 125 126 127 128
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/.")





تم إنشاء 2023-11-12, اخر تحديث 2023-11-25
المؤلفون: جلين جوشر (3)