Bỏ qua nội dung

Ultralytics Quản lý mô hình HUB-SDK

Chào mừng đến với Ultralytics Tài liệu quản lý mô hình HUB-SDK! Cho dù bạn mới bắt đầu quản lý các mô hình học máy hay 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 rồi. Hướng dẫn này cung cấp 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.

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

Trong quy trình làm việc học máy, việc truy cập vào một mô hình cụ thể là một yêu cầu phổ biến. Với Ultralytics HUB-SDK, việc lấy một mô hình theo ID của nó rất đơn giản. Hàm 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 quyền truy cập đầy đủ 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 Dự án và Bộ dữ liệu Access

Trước khi tạo hoặc đào tạo một mô hình, điều quan trọng là phải đảm bảo rằng cả dự án và một tập dữ liệu có mặt. Đoạn mã sau 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à tập dữ liệu để tổ chức đào tạo mô hình là có lợi, nhưng 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ộ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 được điều chỉnh theo yêu cầu dự án của bạn thật đơn giản với chức năng này. Chỉ định tên 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, chẳng hạn như thiết lập kích thước lô 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 sẵn sàng liên kết mô hình với một 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"},  # 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 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 để rõ ràng hơn. SDK cung cấp 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à 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ô 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.

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 phương pháp 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 mô hình cùng với dữ liệu liên quan vĩnh viễn, hãy truyền đối số hard=True như minh họa ở 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ể khôi phục được.

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 việc tìm nạp danh sách các mô hình, thực hiện 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ể tùy 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 đào tạo

Để theo dõi và trực quan hóa số liệu 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 số liệu như mất má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 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 theo đó. Cho dù bạn cần TensorFlow hoặc PyTorch định dạng, SDK sẽ xử lý nó một cách 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

Lấy URL Trọng số Trực tiếp

Thỉnh thoảng, bạn có thể cần truy cập trực tiếp vào các hiện vật được lưu trữ từ xa của mô hình . Chức năng 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 một điểm kiểm tra mô hình

Đang tải lên một điểm kiểm tra mô hình là thẳng thắn với upload_model chức năng. Chỉ ra tầm quan trọng của điểm kiểm tra với is_best cờ và thời gian đào tạo để làm rõ.

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

Phần kết luận

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 các nỗ lực học máy 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 lập mô hình vui vẻ! 🚀

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 1 tháng

Bình luận