Tài liệu tham khảo cho ultralytics/engine/model.py
Ghi
Tệp này có sẵn tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/động cơ/model.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.engine.model.Model
Căn cứ: Module
Một lớp cơ sở để thực hiện YOLO mô hình, thống nhất API trên các loại mô hình khác nhau.
Lớp này cung cấp một giao diện chung cho các hoạt động khác nhau liên quan đến YOLO mô hình, chẳng hạn như đào tạo, xác nhận, dự đoán, xuất và đo điểm chuẩn. Nó xử lý các loại mô hình khác nhau, bao gồm cả những mô hình được tải từ các tệp cục bộ, Ultralytics HUB, hoặc Triton Máy chủ. Lớp học được thiết kế linh hoạt và Có thể mở rộng cho các tác vụ và cấu hình mô hình khác nhau.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
model |
Union[str, Path]
|
Đường dẫn hoặc tên của mô hình để tải hoặc tạo. Đây có thể là một tệp cục bộ đường dẫn, tên mô hình từ Ultralytics HUB hoặc một Triton Mô hình máy chủ. Mặc định là 'yolov8n.pt'. |
'yolov8n.pt'
|
task |
Any
|
Loại tác vụ được liên kết với YOLO mẫu. Điều này có thể được sử dụng để chỉ định mô hình miền ứng dụng, chẳng hạn như phát hiện đối tượng, phân đoạn, v.v. Mặc định là Không có. |
None
|
verbose |
bool
|
Nếu True, cho phép đầu ra chi tiết trong quá trình hoạt động của mô hình. Mặc định là False. |
False
|
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
callbacks |
dict
|
Một từ điển các hàm callback cho các sự kiện khác nhau trong các hoạt động mô hình. |
predictor |
BasePredictor
|
Đối tượng dự đoán được sử dụng để đưa ra dự đoán. |
model |
Module
|
Cơ bản PyTorch mẫu. |
trainer |
BaseTrainer
|
Đối tượng huấn luyện được sử dụng để đào tạo mô hình. |
ckpt |
dict
|
Dữ liệu điểm kiểm tra nếu mô hình được tải từ tệp * .pt. |
cfg |
str
|
Cấu hình của mô hình nếu được tải từ tệp * .yaml. |
ckpt_path |
str
|
Đường dẫn đến tệp điểm kiểm tra. |
overrides |
dict
|
Từ điển ghi đè cho cấu hình mô hình. |
metrics |
dict
|
Các chỉ số đào tạo/xác nhận mới nhất. |
session |
HUBTrainingSession
|
Các Ultralytics Phiên HUB, nếu có. |
task |
str
|
Loại nhiệm vụ mà mô hình được dành cho. |
model_name |
str
|
Tên của mô hình. |
Phương pháp:
Tên | Sự miêu tả |
---|---|
__call__ |
Bí danh cho phương thức predict, cho phép đối tượng mô hình có thể gọi được. |
_new |
Khởi tạo mô hình mới dựa trên tệp cấu hình. |
_load |
Tải mô hình từ tệp điểm kiểm tra. |
_check_is_pytorch_model |
Đảm bảo rằng mô hình là một PyTorch mẫu. |
reset_weights |
Đặt lại trọng lượng của mô hình về trạng thái ban đầu. |
load |
Tải trọng số mô hình từ một tệp được chỉ định. |
save |
Lưu trạng thái hiện tại của mô hình vào một tệp. |
info |
Ghi nhật ký hoặc trả về thông tin về mô hình. |
fuse |
Hợp nhất các lớp Conv2d và BatchNorm2d để tối ưu hóa suy luận. |
predict |
Thực hiện dự đoán phát hiện đối tượng. |
track |
Thực hiện theo dõi đối tượng. |
val |
Xác thực mô hình trên tập dữ liệu. |
benchmark |
Điểm chuẩn mô hình trên các định dạng xuất khác nhau. |
export |
Xuất mô hình sang các định dạng khác nhau. |
train |
Đào tạo mô hình trên một tập dữ liệu. |
tune |
Thực hiện điều chỉnh siêu tham số. |
_apply |
Áp dụng một chức năng cho tensor của mô hình. |
add_callback |
Thêm hàm gọi lại cho một sự kiện. |
clear_callback |
Xóa tất cả các cuộc gọi lại cho một sự kiện. |
reset_callbacks |
Đặt lại tất cả các callback về chức năng mặc định của chúng. |
_get_hub_session |
Truy xuất hoặc tạo một Ultralytics Phiên HUB. |
is_triton_model |
Kiểm tra xem mô hình có phải là mô hình hay không Triton Mô hình máy chủ. |
is_hub_model |
Kiểm tra xem mô hình có phải là mô hình hay không Ultralytics Mô hình HUB. |
_reset_ckpt_args |
Đặt lại đối số điểm kiểm tra khi tải PyTorch mẫu. |
_smart_load |
Tải mô-đun thích hợp dựa trên tác vụ mô hình. |
task_map |
Cung cấp ánh xạ từ các nhiệm vụ mô hình đến các lớp tương ứng. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
FileNotFoundError
|
Nếu tệp mô hình được chỉ định không tồn tại hoặc không thể truy cập được. |
ValueError
|
Nếu tệp mô hình hoặc cấu hình không hợp lệ hoặc không được hỗ trợ. |
ImportError
|
Nếu được yêu cầu, các phần phụ thuộc cho các loại mô hình cụ thể (như HUB SDK) sẽ không được cài đặt. |
TypeError
|
Nếu mô hình không phải là một PyTorch mô hình khi có yêu cầu. |
AttributeError
|
Nếu các thuộc tính hoặc phương pháp bắt buộc không được triển khai hoặc có sẵn. |
NotImplementedError
|
Nếu một tác vụ hoặc chế độ mô hình cụ thể không được hỗ trợ. |
Mã nguồn trong ultralytics/engine/model.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 |
|
device: torch.device
property
Truy xuất thiết bị mà các tham số của mô hình được phân bổ.
Thuộc tính này được sử dụng để xác định xem các tham số của mô hình nằm trên CPU hay GPU. Nó chỉ áp dụng cho các mô hình Đó là những trường hợp của NN. Module.
Trở lại:
Kiểu | Sự miêu tả |
---|---|
device | None
|
Thiết bị (CPU / GPU) của model nếu là PyTorch mô hình, nếu không thì Không có. |
names: list
property
Truy xuất tên lớp được liên kết với mô hình đã tải.
Thuộc tính này trả về tên lớp nếu chúng được xác định trong mô hình. Nó kiểm tra tính hợp lệ của tên lớp sử dụng chức năng 'check_class_names' từ ultralyticsMô-đun .nn.autobackend.
Trở lại:
Kiểu | Sự miêu tả |
---|---|
list | None
|
Tên lớp của mô hình nếu có, nếu không thì Không có. |
task_map: dict
property
Ánh xạ đầu đến các lớp mô hình, huấn luyện viên, trình xác nhận và dự đoán.
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
task_map |
dict
|
Bản đồ của tác vụ mô hình đến các lớp chế độ. |
transforms
property
Truy xuất các phép biến đổi được áp dụng cho dữ liệu đầu vào của mô hình được tải.
Thuộc tính này trả về các phép biến đổi nếu chúng được xác định trong mô hình.
Trở lại:
Kiểu | Sự miêu tả |
---|---|
object | None
|
Đối tượng biến đổi của mô hình nếu có, nếu không thì Không có. |
__call__(source=None, stream=False, **kwargs)
Một bí danh cho phương thức predict, cho phép đối tượng mô hình có thể gọi được.
Phương pháp này đơn giản hóa quá trình đưa ra dự đoán bằng cách cho phép gọi trực tiếp đối tượng mô hình với các đối số cần thiết để dự đoán.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
source |
str | Path | int | Image | ndarray
|
Nguồn gốc của hình ảnh để thực hiện Dự đoán. Chấp nhận nhiều loại khác nhau, bao gồm đường dẫn tệp, URL, hình ảnh PIL và mảng numpy. Mặc định là Không có. |
None
|
stream |
bool
|
Nếu True, hãy coi nguồn đầu vào là một luồng liên tục để dự đoán. Mặc định là False. |
False
|
**kwargs |
any
|
Đối số từ khóa bổ sung để định cấu hình quy trình dự đoán. |
{}
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
List[Results]
|
Một danh sách các kết quả dự đoán, được gói gọn trong lớp Kết quả. |
Mã nguồn trong ultralytics/engine/model.py
__init__(model='yolov8n.pt', task=None, verbose=False)
Khởi tạo một thể hiện mới của YOLO lớp mô hình.
Hàm tạo này thiết lập mô hình dựa trên đường dẫn hoặc tên mô hình được cung cấp. Nó xử lý các loại mô hình khác nhau nguồn, bao gồm các tệp cục bộ, Ultralytics Các mô hình HUB và Triton Mô hình máy chủ. Phương thức khởi tạo một số các thuộc tính quan trọng của mô hình và chuẩn bị nó cho các hoạt động như đào tạo, dự đoán hoặc xuất.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
model |
Union[str, Path]
|
Tệp đường dẫn hoặc mô hình để tải hoặc tạo. Đây có thể là một địa phương Đường dẫn tệp, tên mô hình từ Ultralytics HUB hoặc một Triton Mô hình máy chủ. Mặc định là 'yolov8n.pt'. |
'yolov8n.pt'
|
task |
Any
|
Loại tác vụ được liên kết với YOLO mô hình, chỉ định miền ứng dụng của nó. Mặc định là Không có. |
None
|
verbose |
bool
|
Nếu True, cho phép đầu ra chi tiết trong quá trình khởi tạo mô hình và tiếp theo Hoạt động. Mặc định là False. |
False
|
Tăng:
Kiểu | Sự miêu tả |
---|---|
FileNotFoundError
|
Nếu tệp mô hình được chỉ định không tồn tại hoặc không thể truy cập được. |
ValueError
|
Nếu tệp mô hình hoặc cấu hình không hợp lệ hoặc không được hỗ trợ. |
ImportError
|
Nếu được yêu cầu, các phần phụ thuộc cho các loại mô hình cụ thể (như HUB SDK) sẽ không được cài đặt. |
Mã nguồn trong ultralytics/engine/model.py
add_callback(event, func)
Thêm hàm gọi lại cho một sự kiện cụ thể.
Phương pháp này cho phép người dùng đăng ký một hàm gọi lại tùy chỉnh được kích hoạt trên một sự kiện cụ thể trong đào tạo mô hình hoặc suy luận.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
event |
str
|
Tên của sự kiện để đính kèm callback đến. |
bắt buộc |
func |
callable
|
Hàm callback sẽ được đăng ký. |
bắt buộc |
Tăng:
Kiểu | Sự miêu tả |
---|---|
ValueError
|
Nếu tên sự kiện không được nhận dạng. |
Mã nguồn trong ultralytics/engine/model.py
benchmark(**kwargs)
Điểm chuẩn mô hình trên các định dạng xuất khác nhau để đánh giá hiệu suất.
Phương pháp này đánh giá hiệu suất của mô hình ở các định dạng xuất khác nhau, chẳng hạn như ONNX, TorchScriptv.v. Nó sử dụng chức năng 'benchmark' từ ultralyticsmô-đun .utils.benchmarks. Điểm chuẩn được cấu hình sử dụng kết hợp các giá trị cấu hình mặc định, đối số dành riêng cho mô hình, mặc định dành riêng cho phương thức và bất kỳ đối số từ khóa bổ sung nào do người dùng cung cấp.
Phương pháp này hỗ trợ các đối số khác nhau cho phép tùy chỉnh quá trình đo điểm chuẩn, chẳng hạn như tập dữ liệu Lựa chọn, kích thước hình ảnh, chế độ chính xác, lựa chọn thiết bị và độ chi tiết. Để có danh sách đầy đủ về tất cả Tùy chọn cấu hình, người dùng nên tham khảo phần 'Cấu hình' trong tài liệu.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
**kwargs |
any
|
Đối số từ khóa tùy ý để tùy chỉnh quá trình đo điểm chuẩn. Chúng được kết hợp với cấu hình mặc định, đối số dành riêng cho mô hình và mặc định phương thức. |
{}
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
dict
|
Một từ điển chứa kết quả của quá trình đo điểm chuẩn. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |
Mã nguồn trong ultralytics/engine/model.py
clear_callback(event)
Xóa tất cả các hàm gọi lại đã đăng ký cho một sự kiện cụ thể.
Phương thức này loại bỏ tất cả các hàm callback tùy chỉnh và mặc định được liên kết với sự kiện đã cho.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
event |
str
|
Tên của sự kiện để xóa callback. |
bắt buộc |
Tăng:
Kiểu | Sự miêu tả |
---|---|
ValueError
|
Nếu tên sự kiện không được nhận dạng. |
Mã nguồn trong ultralytics/engine/model.py
embed(source=None, stream=False, **kwargs)
Tạo nhúng hình ảnh dựa trên nguồn được cung cấp.
Phương thức này là một wrapper xung quanh phương thức 'predict()', tập trung vào việc tạo nhúng từ nguồn hình ảnh. Nó cho phép tùy chỉnh quá trình nhúng thông qua các đối số từ khóa khác nhau.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
source |
str | int | Image | ndarray
|
Nguồn của hình ảnh để tạo nhúng. Nguồn có thể là đường dẫn tệp, URL, hình ảnh PIL, mảng numpy, v.v. Mặc định là Không có. |
None
|
stream |
bool
|
Nếu Đúng, các dự đoán sẽ được phát trực tuyến. Mặc định là False. |
False
|
**kwargs |
any
|
Đối số từ khóa bổ sung để định cấu hình quá trình nhúng. |
{}
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
List[Tensor]
|
Danh sách chứa nhúng hình ảnh. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |
Mã nguồn trong ultralytics/engine/model.py
export(**kwargs)
Xuất mô hình sang định dạng khác phù hợp để triển khai.
Phương pháp này tạo điều kiện thuận lợi cho việc xuất mô hình sang các định dạng khác nhau (ví dụ: ONNX, TorchScript) để triển khai Mục đích. Nó sử dụng lớp 'Exporter' cho quá trình xuất, kết hợp ghi đè mô hình cụ thể, phương thức mặc định và bất kỳ đối số bổ sung nào được cung cấp. Các đối số kết hợp được sử dụng để định cấu hình cài đặt xuất.
Phương pháp này hỗ trợ một loạt các đối số để tùy chỉnh quá trình xuất. Để có danh sách đầy đủ về tất cả Các đối số có thể có, hãy tham khảo phần 'Cấu hình' trong tài liệu.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
**kwargs |
any
|
Đối số từ khóa tùy ý để tùy chỉnh quy trình xuất. Chúng được kết hợp với Ghi đè của mô hình và mặc định phương thức. |
{}
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
str
|
Tên tệp mô hình đã xuất ở định dạng được chỉ định hoặc một đối tượng liên quan đến quá trình xuất. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |
Mã nguồn trong ultralytics/engine/model.py
fuse()
Cầu chì các lớp Conv2d và BatchNorm2d trong mô hình.
Phương pháp này tối ưu hóa mô hình bằng cách hợp nhất các lớp Conv2d và BatchNorm2d, có thể cải thiện tốc độ suy luận.
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |
Mã nguồn trong ultralytics/engine/model.py
info(detailed=False, verbose=True)
Ghi nhật ký hoặc trả về thông tin mô hình.
Phương pháp này cung cấp tổng quan hoặc thông tin chi tiết về mô hình, tùy thuộc vào các đối số được thông qua. Nó có thể kiểm soát độ chi tiết của đầu ra.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
detailed |
bool
|
Nếu True, hiển thị thông tin chi tiết về mô hình. Mặc định là False. |
False
|
verbose |
bool
|
Nếu True, in thông tin. Nếu False, trả về thông tin. Mặc định là True. |
True
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
list
|
Nhiều loại thông tin khác nhau về mô hình, tùy thuộc vào các thông số 'chi tiết' và 'dài dòng'. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |
Mã nguồn trong ultralytics/engine/model.py
is_hub_model(model)
staticmethod
Kiểm tra xem mô hình được cung cấp có phải là mô hình HUB hay không.
Mã nguồn trong ultralytics/engine/model.py
is_triton_model(model)
staticmethod
Là mô hình a Triton Chuỗi URL máy chủ, tức là
Mã nguồn trong ultralytics/engine/model.py
load(weights='yolov8n.pt')
Tải các tham số từ tệp trọng lượng được chỉ định vào mô hình.
Phương pháp này hỗ trợ tải trọng số từ một tệp hoặc trực tiếp từ một đối tượng trọng số. Nó khớp với các tham số bằng Tên và hình dạng và chuyển chúng sang mô hình.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
weights |
str | Path
|
Đường dẫn đến tệp trọng số hoặc đối tượng trọng lượng. Mặc định là 'yolov8n.pt'. |
'yolov8n.pt'
|
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
self |
Model
|
Trường hợp của lớp với trọng số tải. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |
Mã nguồn trong ultralytics/engine/model.py
predict(source=None, stream=False, predictor=None, **kwargs)
Thực hiện dự đoán về nguồn hình ảnh đã cho bằng cách sử dụng YOLO mẫu.
Phương pháp này tạo điều kiện thuận lợi cho quá trình dự đoán, cho phép các cấu hình khác nhau thông qua các đối số từ khóa. Nó hỗ trợ dự đoán với các công cụ dự đoán tùy chỉnh hoặc phương pháp dự đoán mặc định. Phương pháp xử lý khác nhau các loại nguồn hình ảnh và có thể hoạt động ở chế độ phát trực tuyến. Nó cũng cung cấp hỗ trợ cho SAM-loại mô hình thông qua 'lời nhắc'.
Phương thức thiết lập một công cụ dự đoán mới nếu chưa có và cập nhật các đối số của nó với mỗi cuộc gọi. Nó cũng đưa ra cảnh báo và sử dụng tài sản mặc định nếu 'nguồn' không được cung cấp. Phương pháp xác định xem nó có hay không đang được gọi từ giao diện dòng lệnh và điều chỉnh hành vi của nó cho phù hợp, bao gồm cả việc đặt mặc định cho ngưỡng tin cậy và hành vi tiết kiệm.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
source |
str | int | Image | ndarray
|
Nguồn của hình ảnh để đưa ra dự đoán. Chấp nhận nhiều loại khác nhau, bao gồm đường dẫn tệp, URL, hình ảnh PIL và mảng numpy. Mặc định là TÀI SẢN. |
None
|
stream |
bool
|
Xử lý nguồn đầu vào như một luồng liên tục để dự đoán. Mặc định là False. |
False
|
predictor |
BasePredictor
|
Một ví dụ của một lớp dự đoán tùy chỉnh để đưa ra dự đoán. Nếu Không, phương thức sử dụng bộ dự đoán mặc định. Mặc định là Không có. |
None
|
**kwargs |
any
|
Đối số từ khóa bổ sung để định cấu hình quy trình dự đoán. Những đối số này cho phép để tùy chỉnh thêm hành vi dự đoán. |
{}
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
List[Results]
|
Một danh sách các kết quả dự đoán, được gói gọn trong lớp Kết quả. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AttributeError
|
Nếu bộ dự đoán không được thiết lập đúng cách. |
Mã nguồn trong ultralytics/engine/model.py
reset_callbacks()
Đặt lại tất cả các callback về chức năng mặc định của chúng.
Phương thức này khôi phục các hàm callback mặc định cho tất cả các sự kiện, loại bỏ mọi callback tùy chỉnh được thêm vào trước đó.
Mã nguồn trong ultralytics/engine/model.py
reset_weights()
Đặt lại các tham số mô hình thành các giá trị khởi tạo ngẫu nhiên, loại bỏ hiệu quả tất cả thông tin đào tạo.
Phương thức này lặp qua tất cả các mô-đun trong mô hình và đặt lại các tham số của chúng nếu chúng có Phương pháp 'reset_parameters'. Nó cũng đảm bảo rằng tất cả các tham số có 'requires_grad' được đặt thành True, cho phép chúng được cập nhật trong quá trình đào tạo.
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
self |
Model
|
Phiên bản của lớp với trọng số đặt lại. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |
Mã nguồn trong ultralytics/engine/model.py
save(filename='saved_model.pt', use_dill=True)
Lưu trạng thái mô hình hiện tại vào một tệp.
Phương pháp này xuất điểm kiểm tra của mô hình (ckpt) sang tên tệp được chỉ định.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
filename |
str | Path
|
Tên của tệp để lưu mô hình vào. Mặc định là 'saved_model.pt'. |
'saved_model.pt'
|
use_dill |
bool
|
Có nên thử sử dụng thì là để lập số sê-ri hóa nếu có hay không. Mặc định là True. |
True
|
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |
Mã nguồn trong ultralytics/engine/model.py
track(source=None, stream=False, persist=False, **kwargs)
Tiến hành theo dõi đối tượng trên nguồn đầu vào được chỉ định bằng cách sử dụng các trình theo dõi đã đăng ký.
Phương pháp này thực hiện theo dõi đối tượng bằng cách sử dụng các công cụ dự đoán của mô hình và trình theo dõi được đăng ký tùy chọn. Đó là Có khả năng xử lý các loại nguồn đầu vào khác nhau như đường dẫn tệp hoặc luồng video. Phương pháp hỗ trợ Tùy chỉnh quy trình theo dõi thông qua các đối số từ khóa khác nhau. Nó đăng ký trình theo dõi nếu chúng không đã có mặt và tùy chọn duy trì chúng dựa trên cờ 'kiên trì'.
Phương pháp này đặt ngưỡng tin cậy mặc định dành riêng cho theo dõi dựa trên ByteTrack, yêu cầu thấp dự đoán niềm tin làm đầu vào. Chế độ theo dõi được đặt rõ ràng trong các đối số từ khóa.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
source |
str
|
Nguồn đầu vào để theo dõi đối tượng. Nó có thể là đường dẫn tệp, URL hoặc luồng video. |
None
|
stream |
bool
|
Xử lý nguồn đầu vào như một luồng video liên tục. Mặc định là False. |
False
|
persist |
bool
|
Vẫn duy trì các trình theo dõi giữa các cuộc gọi khác nhau đến phương pháp này. Mặc định là False. |
False
|
**kwargs |
any
|
Đối số từ khóa bổ sung để định cấu hình quy trình theo dõi. Những đối số này cho phép để tùy chỉnh thêm hành vi theo dõi. |
{}
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
List[Results]
|
Một danh sách các kết quả theo dõi, được gói gọn trong lớp Kết quả. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AttributeError
|
Nếu công cụ dự đoán không có trình theo dõi đã đăng ký. |
Mã nguồn trong ultralytics/engine/model.py
train(trainer=None, **kwargs)
Đào tạo mô hình bằng cách sử dụng tập dữ liệu và cấu hình đào tạo được chỉ định.
Phương pháp này tạo điều kiện cho việc đào tạo mô hình với một loạt các cài đặt và cấu hình có thể tùy chỉnh. Nó hỗ trợ đào tạo với một huấn luyện viên tùy chỉnh hoặc phương pháp đào tạo mặc định được xác định trong phương pháp. Phương pháp xử lý Các tình huống khác nhau, chẳng hạn như tiếp tục đào tạo từ trạm kiểm soát, tích hợp với Ultralytics HUB, và Cập nhật mô hình và cấu hình sau khi đào tạo.
Khi sử dụng Ultralytics HUB, nếu phiên đã có mô hình được tải, phương pháp ưu tiên đào tạo HUB lập luận và đưa ra cảnh báo nếu các đối số cục bộ được cung cấp. Nó kiểm tra các bản cập nhật pip và kết hợp mặc định Cấu hình, mặc định dành riêng cho phương thức và đối số do người dùng cung cấp để đặt cấu hình quy trình đào tạo. Sau Đào tạo, nó cập nhật mô hình và cấu hình của nó, và tùy chọn đính kèm các số liệu.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
trainer |
BaseTrainer
|
Một ví dụ về một lớp huấn luyện viên tùy chỉnh để đào tạo mô hình. Nếu không, các Phương pháp sử dụng một huấn luyện viên mặc định. Mặc định là Không có. |
None
|
**kwargs |
any
|
Đối số từ khóa tùy ý đại diện cho cấu hình đào tạo. Những lập luận này là: được sử dụng để tùy chỉnh các khía cạnh khác nhau của quá trình đào tạo. |
{}
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
dict | None
|
Chỉ số đào tạo nếu có và đào tạo thành công; nếu không, Không có. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |
PermissionError
|
Nếu có vấn đề về quyền với phiên HUB. |
ModuleNotFoundError
|
Nếu HUB SDK chưa được cài đặt. |
Mã nguồn trong ultralytics/engine/model.py
tune(use_ray=False, iterations=10, *args, **kwargs)
Tiến hành điều chỉnh siêu tham số cho mô hình, với tùy chọn sử dụng Ray Tune.
Phương pháp này hỗ trợ hai chế độ điều chỉnh siêu tham số: sử dụng Ray Tune hoặc phương pháp điều chỉnh tùy chỉnh. Khi Ray Tune được bật, nó sẽ tận dụng chức năng 'run_ray_tune' từ ultralyticsMô-đun .utils.tuner. Nếu không, nó sử dụng lớp 'Tuner' nội bộ để điều chỉnh. Phương pháp kết hợp mặc định, ghi đè và Đối số tùy chỉnh để cấu hình quá trình điều chỉnh.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
use_ray |
bool
|
Nếu True, hãy sử dụng Ray Tune để điều chỉnh siêu tham số. Mặc định là False. |
False
|
iterations |
int
|
Số lần lặp lại điều chỉnh để thực hiện. Mặc định là 10. |
10
|
*args |
list
|
Danh sách đối số có độ dài thay đổi cho các đối số bổ sung. |
()
|
**kwargs |
any
|
Đối số từ khóa tùy ý. Chúng được kết hợp với ghi đè và mặc định của mô hình. |
{}
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
dict
|
Một từ điển chứa kết quả tìm kiếm siêu tham số. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |
Mã nguồn trong ultralytics/engine/model.py
val(validator=None, **kwargs)
Xác thực mô hình bằng cách sử dụng tập dữ liệu và cấu hình xác thực được chỉ định.
Phương pháp này tạo điều kiện thuận lợi cho quá trình xác thực mô hình, cho phép một loạt các tùy chỉnh thông qua các khác nhau Cài đặt và cấu hình. Nó hỗ trợ xác thực với trình xác thực tùy chỉnh hoặc phương pháp xác thực mặc định. Phương pháp này kết hợp các cấu hình mặc định, mặc định dành riêng cho phương thức và các đối số do người dùng cung cấp để định cấu hình quá trình xác nhận. Sau khi xác nhận, nó cập nhật các chỉ số của mô hình với kết quả thu được từ trình xác thực.
Phương thức này hỗ trợ các đối số khác nhau cho phép tùy chỉnh quá trình xác thực. Để có một toàn diện Danh sách tất cả các tùy chọn có thể định cấu hình, người dùng nên tham khảo phần 'Cấu hình' trong tài liệu.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
validator |
BaseValidator
|
Một phiên bản của lớp trình xác thực tùy chỉnh để xác thực mô hình. Nếu Không có, phương thức sử dụng trình xác thực mặc định. Mặc định là Không có. |
None
|
**kwargs |
any
|
Đối số từ khóa tùy ý đại diện cho cấu hình xác thực. Những lập luận này là: được sử dụng để tùy chỉnh các khía cạnh khác nhau của quá trình xác nhận. |
{}
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
dict
|
Số liệu xác thực thu được từ quá trình xác thực. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu mô hình không phải là một PyTorch mẫu. |