Chuyển đến nội dung

Quản Lý Mô Hình Ultralytics HUB-SDK

Chào mừng bạn đến với tài liệu Quản lý Mô hình Ultralytics HUB-SDK! Cho dù bạn mới bắt đầu quản lý các mô hình máy học 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 hướng dẫn vận hành cụ thể, bạn đã đến đúng nơi. Hướng dẫn này cung cấp một hành trình suôn sẻ 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ô hình theo Mã định danh Duy nhất của nó

Trong quy trình machine learning, việc truy cập một model cụ thể là một yêu cầu phổ biến. Với Ultralytics HUB-SDK, việc tìm nạp một model theo ID của nó rất đơn giản. Hàm này thiết lập một đối tượng model dựa trên mã định danh duy nhất được cung cấp, cho phép bạn truy cập đầy đủ vào các chi tiết và hoạt động của model.

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

Truy cập Dự án và Điều kiện tiên quyết về Bộ dữ liệu

Trước khi tạo hoặc huấn luyện một mô hình, điều quan trọng là phải đảm bảo cả project và một tập dữ liệu hiện diện. Đoạn mã sau đây giúp xác minh các thành phần này 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 quá trình huấn luyện mô hình là có lợi, nhưng nó không bắt buộc. Nếu thiếu một trong hai ID, dữ liệu đối tượng (project.data, dataset.data) sẽ trống.

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ô hình Mới với Cấu hình Tùy chỉnh

Đang tạo một mô hình mới việc điều chỉnh cho phù hợp với yêu cầu dự án của bạn trở nên đơn giản với chức năng này. Hãy chỉ định tên của mô hình và liên kết nó với dự án và bộ dữ liệu của bạn. Bạn có thể tùy chỉnh các cấu hình, chẳng hạn như cài đặt kích thước batch hoặc thiết bị. Lưu ý rằng projectIddatasetId Các tham số là tùy chọn nếu bạn chưa muốn liên kết mô hình với một dự án hoặc bộ dữ liệu nào.

from hub_sdk import HUBClient

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

data = {
    "meta": {"name": "sdk model"},  # Model name
    "projectId": project.id,  # Optional: Associate with an existing project
    "datasetId": dataset.id,  # Optional: 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 Metadata 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 metadata của một mô hình, chẳng hạn như đổi tên để rõ ràng hơn. 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 các lỗi thủ công và tiết kiệm thời gian.

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ột mô hình một cách an toàn

Việc xóa một mô hình là không thể đảo ngược, vì vậy hãy sử dụng chức năng này 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 đã 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, delete method 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 vĩnh viễn. Nếu bạn muốn thực hiện xóa cứng và xóa vĩnh viễn mô hình cùng với dữ liệu liên quan, hãy chuyển đối số hard=True như hình trên. Hãy thận trọng khi sử dụng tùy chọn xóa vĩnh viễn, vì nó không thể đảo ngược.

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

Ultralytics HUB-SDK sắp xếp hợp lý việc tìm nạp danh sách các mô hình, triển khai phân trang để điều hướng hiệu quả qua các bộ sưu tập có khả năng lớn. 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 khai.

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
print("Next page result:", model_list.results)

model_list.previous()  # Return to the previous page
print("Previous page result:", model_list.results)

Tải lên và Trực quan hóa Số liệu Huấn luyện

Để theo dõi và trực quan hóa các số liệu hiệu suất của mô hình trong suốt quá trình huấn luyện, hãy sử dụng chức năng này để tải lên các số liệu như loss và accuracy. Điều này cho phép theo dõi liên tục tiến trình huấn luyện 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

Việc xuất mô hình cho nhiều mục đích khác nhau, chẳng hạn như triển khai hoặc phân tích chuyên sâu, rất đơn giản. 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 định dạng TensorFlow hay PyTorch, SDK đều xử lý 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 Trọng số 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 artifacts được lưu trữ từ xa của mô hình của mình. Hàm này cung cấp URL để truy cập các tệp cụ thể, như trọng số 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)

Tải lên Điểm kiểm tra Mô hình (Model Checkpoint)

Tải lên một điểm kiểm tra mô hình rất đơn giản với phương thức upload_model function. Cho biết tầm quan trọng của điểm kiểm tra với is_best flag và epoch huấn luyện để 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

Kết luận

Ultralytics HUB-SDK cung cấp một tập hợp toàn diện các hoạt động để 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 các nỗ lực machine learning của mình. Nếu bạn có bất kỳ câu hỏi nào khác hoặc cần hỗ trợ, vui lòng liên hệ với cộng đồng hoặc nhóm hỗ trợ của chúng tôi. Chúc bạn mô hình hóa thành công! 🚀



📅 Đã tạo 1 năm trước ✏️ Đã cập nhật 1 tháng trước

Bình luận