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

Ultralytics Hướng dẫn hoạt động quản lý mô hình HUB-SDK

Chào mừng bạn đến với Ultralytics Tài liệu quản lý mô hình HUB-SDK! Cho dù bạn chỉ mới bắt đầu với việc quản lý các mô hình học máy hay bạn là một nhà khoa học dữ liệu dày dạn kinh nghiệm đang tìm kiếm các hướng dẫn vận hành cụ thể, bạn đã đến đúng nơi. Hãy bắt tay vào một hành trình suôn sẻ thông qua các tính năng của HUB-SDK, đảm bảo bạn có được bí quyết để quản lý hiệu quả các mô hình của mình.

Truy xuất một mô hình bằng mã định danh duy nhất của nó

Trong quy trình công việc học máy, bạn thường cần truy cập vào một mô hình cụ thể. Với Ultralytics HUB-SDK, tìm nạp mô hình bằng ID của nó thật dễ dàng. Chức năng thiết yếu này thiết lập một đối tượng mô hình dựa trên mã định danh duy nhất được cung cấp, cấp cho bạn toàn quyền truy cập vào các chi tiết và hoạt động của mô hình.

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

model = client.model("<Model ID>")
print(model.data)  # Outputs the model's metadata and configuration

Điều kiện tiên quyết của Access Project và Dataset

Trước khi tạo hoặc đào tạo mô hình, việc đảm bảo sự hiện diện của cả dự án và tập dữ liệu là rất quan trọng. Đoạn mã đơn giản này giúp bạn xác minh các thành phần này có sẵn bằng cách khởi tạo các đối tượng của chúng. Mặc dù việc sử dụng một dự án và bộ dữ liệu để tổ chức đào tạo mô hình là có lợi, nhưng điều quan trọng cần lưu ý là nó không bắt buộc. Nếu một trong hai ID bị thiếu, dữ liệu đối tượng (project.data, dataset.data) will be empty.

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

project = client.project("<Project ID>")
dataset = client.dataset("<Dataset ID>")

Tạo một mô hình mới với cấu hình tùy chỉnh

Tạo một mô hình mới phù hợp với yêu cầu dự án của bạn được thực hiện đơn giản với chức năng tiện lợi này. Chỉ định tên của mô hình và liên kết nó với dự án và tập dữ liệu của bạn. Bạn cũng có thể tùy chỉnh cấu hình để phù hợp với nhu cầu của mình, chẳng hạn như đặt kích thước lô hoặc thiết bị, trong số những cấu hình khác. Lưu ý rằng projectIddatasetId Tham số là tùy chọn nếu bạn chưa sẵn sàng liên kết mô hình với dự án hoặc tập dữ liệu.

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

data = {
    "meta": {"name": "sdk model"},  # Give your model a recognizable name
    "projectId": project.id,  # Associate with an existing project
    "datasetId": dataset.id,  # Associate with an existing dataset
    "config": {  # Define hyperparameters and settings
        "batchSize": "-1",
        "cache": "ram",
        "device": "name",
        "epochs": "5",
        "imageSize": "640",
        "patience": "5",  # Stop training if validation doesn't improve
    },
}
model = client.model()
model.create_model(data)  # Creates the model with your specified details

Cập nhật siêu dữ liệu hoặc cấu hình của mô hình hiện có

Khi các dự án phát triển, bạn có thể cần cập nhật siêu dữ liệu của mô hình, chẳng hạn như đổi tên mô hình cho rõ ràng. SDK cung cấp một phương pháp để làm mới các chi tiết này một cách dễ dàng, giảm thiểu lỗi thủ công và giúp bạn tiết kiệm thời gian quý báu.

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

model = client.model("<Model ID>")
model.update({"meta": {"name": "Updated Model Name"}})  # Renames the specified model

Xóa mô hình một cách an toàn

Xóa một mô hình là không thể đảo ngược, vì vậy chức năng này nên được sử dụng một cách thận trọng. Khi bạn chắc chắn muốn xóa một mô hình khỏi hệ thống, lệnh sau sẽ xóa vĩnh viễn mô hình được chỉ định, cùng với tất cả dữ liệu liên quan của nó.

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

model = client.model("<Model ID>")
model.delete(hard=True)  # Permanently deletes the specified model

Theo mặc định, phương thức xóa thực hiện xóa mềm, đánh dấu mô hình là không hoạt động mà không xóa nó vĩnh viễn. Nếu bạn muốn thực hiện xóa cứng và xóa mô hình cùng với dữ liệu liên quan của nó vĩnh viễn, bạn có thể truyền đối số hard=True như thể hiện trong ví dụ trên. Hãy thận trọng khi sử dụng tùy chọn xóa cứng, vì nó không thể đảo ngược và dẫn đến việc loại bỏ hoàn toàn mô hình được chỉ định khỏi hệ thống.

Liệt kê tất cả các mô hình của bạn với phân trang

Ultralytics HUB-SDK hợp lý hóa nhiệm vụ tìm nạp danh sách các mô hình, đồng thời triển khai phân trang để điều hướng hiệu quả qua các bộ sưu tập mô hình lớn tiềm năng. Bằng cách tùy chỉnh các đối số như page_size, bạn có thể điều chỉnh đầu ra theo nhu cầu của mình, bao gồm khả năng xem cả dự án riêng tư và công cộng.

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

model_list = client.model_list(page_size=10)  # Fetches the first page with 10 models
print("Current result:", model_list.results)  # Displays the current page's models

model_list.next()  # Move to the next page of results
print("Next page result:", model_list.results)  # Displays the next page's models

model_list.previous()  # Return to the previous page of results
print("Previous page result:", model_list.results)  # Displays the previous page's models

Tải lên và trực quan hóa các chỉ số đào tạo

Để theo dõi và trực quan hóa các chỉ số hiệu suất của mô hình trong suốt quá trình đào tạo, hãy sử dụng chức năng này để tải lên các chỉ số như tổn thất và độ chính xác. Điều này cho phép theo dõi liên tục tiến trình đào tạo và đơn giản hóa giai đoạn phân tích.

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

model = client.model("<Model ID>")

# Define your metrics structure. Keys are steps, and values are JSON strings of metrics.
data = {
    1: '{"loss/1": 0.5, "accuracy/1": 0.85}',
    2: '{"loss/2": 0.4, "accuracy/2": 0.88}',
    3: '{"loss/3": 0.3, "accuracy/3": 0.90}',
}

model.upload_metrics(data)  # Uploads the specified metrics to the model

Xuất mô hình của bạn để triển khai hoặc phân tích

Xuất các mô hình cho các mục đích khác nhau như triển khai hoặc phân tích chuyên sâu chưa bao giờ dễ dàng hơn thế. Chỉ định định dạng bạn yêu cầu và chức năng này sẽ chuẩn bị mô hình cho phù hợp. Cho dù bạn cần một Tensorflow hoặc a PyTorch định dạng, SDK xử lý nó liền mạch.

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

model = client.model("<Model ID>")
model.export(format="pyTorch")  # Exports the model as a PyTorch file

Truy xuất URL có trọng lượng trực tiếp

Đôi khi, bạn có thể yêu cầu truy cập trực tiếp vào các thành phần lạ được lưu trữ từ xa của mô hình. Chức năng tiện lợi này cung cấp URL để truy cập các tệp cụ thể như trọng lượng mô hình hoạt động tốt nhất của bạn.

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

model = client.model("<Model ID>")
weight_url = model.get_weights_url("best")  # or "last"
print("Weight URL link:", weight_url)  # Prints out the weight url link

Tải lên Điểm kiểm tra mẫu

Tải lên một điểm kiểm tra mô hình được thực hiện đơn giản với upload_model chức năng. Đơn giản chỉ cần chỉ ra tầm quan trọng của trạm kiểm soát với is_best cờ và thời đại đào tạo cho rõ ràng.

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}
client = HUBClient(credentials)

model = client.model("<Model ID>")
model.upload_model(is_best=True, epoch=5, weights="<Weight File>")  # Uploads the specified model checkpoint

Cho hay Ultralytics HUB-SDK cung cấp một bộ hoạt động toàn diện để quản lý mô hình hiệu quả, cho phép bạn tập trung vào việc đạt được kết quả tốt nhất trong nỗ lực học máy của mình. Nếu bạn có thêm bất kỳ câu hỏi nào hoặc cần hỗ trợ, vui lòng liên hệ với cộng đồng chào đón hoặc nhóm hỗ trợ của chúng tôi. Chúc bạn làm người mẫu vui vẻ! 🚀


Ý kiến