Bỏ qua nội dung

Ultralytics Phần mở rộng VS Code


Xem trước dự đoán đoạn trích
Chạy mã ví dụ bằng cách sử dụng Ultralytics YOLO trong vòng chưa đầy 20 giây! 🚀

Tính năng và lợi ích

✅ Bạn có phải là nhà khoa học dữ liệu hoặc kỹ sư học máy đang xây dựng các ứng dụng thị giác máy tính với Ultralytics ?

✅ Bạn có ghét việc phải viết đi viết lại những đoạn mã giống nhau không?

✅ Bạn có luôn quên các đối số hoặc giá trị mặc định cho các phương thức export , predict , train , track hoặc val không?

✅ Bạn đang muốn bắt đầu với Ultralytics và muốn có cách dễ hơn để tham khảo hoặc chạy các ví dụ mã?

✅ Muốn tăng tốc chu kỳ phát triển của bạn khi làm việc với Ultralytics ?

Nếu bạn sử dụng Visual Studio Code và trả lời "có" cho bất kỳ câu hỏi nào ở trên, thì Ultralytics Tiện ích mở rộng -snippets cho VS Code ở đây để giúp bạn! Đọc tiếp để tìm hiểu thêm về tiện ích mở rộng, cách cài đặt và cách sử dụng.

Lấy cảm hứng từ Ultralytics Cộng đồng

Nguồn cảm hứng để xây dựng phần mở rộng này đến từ Ultralytics Cộng đồng. Các câu hỏi từ Cộng đồng xung quanh các chủ đề và ví dụ tương tự đã thúc đẩy sự phát triển cho dự án này. Ngoài ra, như một số Ultralytics Nhóm cũng sử dụng VS Code, chúng tôi cũng sử dụng nó như một công cụ để đẩy nhanh công việc ⚡.

Tại sao lại là VS Code?

Visual Studio Code cực kỳ phổ biến với các nhà phát triển trên toàn thế giới và được xếp hạng là phổ biến nhất theo Khảo sát nhà phát triển Stack Overflow vào năm 2021 , 2022 , 20232024. Do mức độ tùy chỉnh cao, các tính năng tích hợp, khả năng tương thích rộng và khả năng mở rộng của VS Code, không có gì ngạc nhiên khi rất nhiều nhà phát triển đang sử dụng nó. Với sự phổ biến trong cộng đồng nhà phát triển rộng lớn hơn và trong Ultralytics Discord , Discourse , RedditGitHub Communities, việc xây dựng tiện ích mở rộng VS Code để giúp hợp lý hóa quy trình làm việc và tăng năng suất là điều hợp lý.

Bạn muốn cho chúng tôi biết bạn sử dụng gì để phát triển mã? Hãy đến thăm dò ý kiến cộng đồng Discourse của chúng tôi và cho chúng tôi biết! Khi bạn ở đó, hãy xem một số meme về thị giác máy tính, học máy, AI và nhà phát triển yêu thích của chúng tôi hoặc thậm chí đăng meme yêu thích của bạn!

Cài đặt tiện ích mở rộng

Ghi chú

Bất kỳ môi trường mã nào cho phép cài đặt tiện ích mở rộng VS Code nên là tương thích với Ultralytics -snippets phần mở rộng. Sau khi xuất bản phần mở rộng, người ta phát hiện ra rằng neovim có thể được làm tương thích với các phần mở rộng VS Code. Để tìm hiểu thêm, hãy xem neovim phần cài đặt của Readme trong Ultralytics -Kho lưu trữ đoạn trích.

Cài đặt trong VS Code

  1. Điều hướng đến menu Tiện ích mở rộng trong VS Code hoặc sử dụng phím tắt Ctrl + Shift ⇑ + x và tìm kiếm Ultralytics - đoạn trích.

  2. Nhấp vào nút Cài đặt .


Menu mở rộng VS Code

Cài đặt từ VS Code Extension Marketplace

  1. Truy cập VS Code Extension Marketplace và tìm kiếm Ultralytics -snippets hoặc đi thẳng đến trang tiện ích mở rộng trên thị trường VS Code .

  2. Nhấp vào nút Cài đặt và cho phép trình duyệt của bạn khởi chạy phiên VS Code.

  3. Làm theo bất kỳ lời nhắc nào để cài đặt tiện ích mở rộng.


Cài đặt tiện ích mở rộng thị trường VS Code
Trang Marketplace của Visual Studio Code Extension dành cho Ultralytics -Các đoạn trích

Sử dụng Ultralytics -Phần mở rộng Snippets

  • 🧠 Hoàn thiện mã thông minh: Viết mã nhanh hơn và chính xác hơn với các đề xuất hoàn thiện mã nâng cao được thiết kế riêng cho Ultralytics Giao diện lập trình ứng dụng (API).

  • Tăng tốc độ phát triển: Tiết kiệm thời gian bằng cách loại bỏ các tác vụ mã hóa lặp đi lặp lại và tận dụng các đoạn mã khối dựng sẵn.

  • 🔬 Cải thiện chất lượng mã: Viết mã sạch hơn, nhất quán hơn và không có lỗi với tính năng hoàn thành mã thông minh.

  • 💎 Quy trình làm việc hợp lý: Tập trung vào logic cốt lõi của dự án bằng cách tự động hóa các tác vụ chung.

Tổng quan

Phần mở rộng sẽ chỉ hoạt động khi Chế độ ngôn ngữ được cấu hình cho Python 🐍. Điều này là để tránh việc chèn đoạn mã khi làm việc trên bất kỳ loại tệp nào khác. Tất cả các đoạn mã đều có tiền tố bắt đầu bằng ultravà chỉ cần gõ ultra trong trình soạn thảo của bạn sau khi cài đặt tiện ích mở rộng, sẽ hiển thị danh sách các đoạn mã có thể sử dụng. Bạn cũng có thể mở VS Code Bảng lệnh sử dụng Điều khiển+Chuyển ⇑+P và chạy lệnh Snippets: Insert Snippet.

Các trường đoạn mã

Nhiều đoạn mã có "trường" với các giá trị hoặc tên giữ chỗ mặc định. Ví dụ, đầu ra từ dự đoán phương pháp có thể được lưu vào một Python biến được đặt tên r, results, detections, preds hoặc bất cứ điều gì khác mà nhà phát triển lựa chọn, đó là lý do tại sao các đoạn mã bao gồm "trường". Sử dụng Phím ⇥ trên bàn phím của bạn sau khi đoạn mã được chèn, con trỏ của bạn sẽ di chuyển nhanh giữa các trường. Khi một trường được chọn, việc nhập tên biến mới sẽ thay đổi trường hợp đó, nhưng cũng thay đổi mọi trường hợp khác trong mã đoạn mã cho biến đó!


Nhiều trường cập nhật và tùy chọn
Sau khi chèn đoạn mã, đổi tên model BẰNG world_model cập nhật tất cả các trường hợp. Nhấn Phím ⇥ di chuyển đến trường tiếp theo, mở ra một menu thả xuống và cho phép lựa chọn tỷ lệ mô hình, và di chuyển đến trường tiếp theo cung cấp một menu thả xuống khác để lựa chọn world hoặc worldv2 biến thể mô hình.

Hoàn thành đoạn mã

Các phím tắt thậm chí còn ngắn hơn

Không cần phải nhập toàn bộ tiền tố của đoạn trích hoặc thậm chí bắt đầu nhập từ đầu đoạn trích. Xem ví dụ trong hình ảnh bên dưới.

Các đoạn trích được đặt tên theo cách mô tả nhất có thể, nhưng điều này có nghĩa là có thể có rất nhiều thứ để nhập và điều đó sẽ phản tác dụng nếu mục đích là di chuyển nhanh hơn. May mắn thay VS Code cho phép người dùng nhập ultra.example-yolo-predict, example-yolo-predict, yolo-predict, hoặc thậm chí ex-yolo-p và vẫn đạt được tùy chọn đoạn trích mong muốn! Nếu đoạn trích mong muốn là Thực ra ultra.example-yolo-predict-kwords, sau đó chỉ cần sử dụng các mũi tên trên bàn phím của bạn hoặc để làm nổi bật đoạn trích mong muốn và nhấn Nhập ↵ hoặc Phím ⇥ sẽ chèn khối mã chính xác.


Ví dụ về đoạn trích chưa hoàn chỉnh
Đánh máy ex-yolo-p sẽ vẫn đến đúng đoạn trích.

Danh mục đoạn trích

Đây là các danh mục đoạn trích hiện có sẵn cho Ultralytics -snippets extension. Sẽ có thêm nhiều phần mở rộng trong tương lai, vì vậy hãy đảm bảo kiểm tra các bản cập nhật và bật tính năng tự động cập nhật cho phần mở rộng. Bạn cũng có thể yêu cầu thêm các đoạn trích bổ sung nếu bạn cảm thấy thiếu bất kỳ đoạn nào.

Loại Tiền tố bắt đầu Sự miêu tả
Ví dụ ultra.examples Mã ví dụ để giúp học hoặc để bắt đầu Ultralytics . Ví dụ là các bản sao hoặc mã tương tự từ các trang tài liệu.
Kwarg ultra.kwargs Tăng tốc quá trình phát triển bằng cách thêm đoạn mã cho các phương thức train , track , predictval với tất cả các đối số từ khóa và giá trị mặc định.
Nhập khẩu ultra.imports Các đoạn mã để nhập nhanh các thông tin chung Ultralytics đồ vật.
Mô hình ultra.yolo Chèn các khối mã để khởi tạo nhiều mô hình (yolo, sam, rtdetr, v.v.), bao gồm các tùy chọn cấu hình thả xuống.
Kết quả ultra.result Khối mã cho các hoạt động chung khi làm việc với kết quả suy luận .
Tiện ích ultra.util Cung cấp quyền truy cập nhanh vào các tiện ích phổ biến được tích hợp sẵn trong Ultralytics gói, tìm hiểu thêm về những gói này trên trang Tiện ích đơn giản .

Học với ví dụ

Các ultra.examples các đoạn trích rất hữu ích cho bất kỳ ai muốn tìm hiểu cách bắt đầu với những điều cơ bản khi làm việc với Ultralytics YOLO . Các đoạn mã ví dụ được dự định chạy sau khi chèn (một số cũng có tùy chọn thả xuống). Một ví dụ về điều này được hiển thị tại hoạt ảnh ở đứng đầu của trang này, sau khi đoạn mã được chèn vào, tất cả mã được chọn và chạy tương tác bằng cách sử dụng Chuyển ⇑+Nhập ↵.

Ví dụ

Giống như các chương trình hoạt hình tại đứng đầu của trang này, bạn có thể sử dụng đoạn trích ultra.example-yolo-predict để chèn ví dụ mã sau. Sau khi chèn, tùy chọn duy nhất có thể cấu hình được là cho tỷ lệ mô hình có thể là bất kỳ tùy chọn nào sau đây: n, s, m, l, hoặc x.

from ultralytics import ASSETS, YOLO

model = YOLO("yolo11n.pt", task="detect")
results = model(source=ASSETS / "bus.jpg")

for result in results:
    print(result.boxes.data)
    # result.show()  # uncomment to view each result image

Tăng tốc phát triển

Mục đích của các đoạn trích khác ngoài ultra.examples là để làm cho quá trình phát triển dễ dàng hơn và nhanh hơn khi làm việc với Ultralytics . Một khối mã phổ biến được sử dụng trong nhiều dự án là lặp lại danh sách Results trở về từ việc sử dụng mô hình dự đoán phương pháp. Các ultra.result-loop đoạn trích có thể giúp ích trong việc này.

Ví dụ

Sử dụng ultra.result-loop sẽ chèn mã mặc định sau (bao gồm cả bình luận).

# reference https://docs.ultralytics.com/modes/predict/#working-with-results

for result in results:
    result.boxes.data  # torch.Tensor array

Tuy nhiên, kể từ khi Ultralytics hỗ trợ nhiều nhiệm vụ, khi làm việc với kết quả suy luận có những cái khác Results các thuộc tính mà bạn có thể muốn truy cập, đó là nơi trường đoạn trích sẽ mạnh mẽ.


Tùy chọn vòng lặp kết quả
Một khi đã được chuyển sang tab boxes trường, một menu thả xuống sẽ xuất hiện để cho phép lựa chọn một thuộc tính khác nếu cần.

Từ khóa Đối số

Có hơn 💯 đối số từ khóa cho tất cả các Ultralytics nhiệm vụchế độ! Có rất nhiều điều cần nhớ và có thể dễ quên nếu lập luận là save_frame hoặc save_frames (chắc chắn là save_frames Nhân tiện). Đây là nơi ultra.kwargs đoạn trích có thể giúp ích!

Ví dụ

Để chèn dự đoán phương pháp, bao gồm tất cả lập luận suy luận, sử dụng ultra.kwargs-predict, sẽ chèn mã sau (bao gồm cả bình luận).

model.predict(
    source=src,  # (str, optional) source directory for images or videos
    imgsz=640,  # (int | list) input images size as int or list[w,h] for predict
    conf=0.25,  # (float) minimum confidence threshold
    iou=0.7,  # (float) intersection over union (IoU) threshold for NMS
    vid_stride=1,  # (int) video frame-rate stride
    stream_buffer=False,  # (bool) buffer incoming frames in a queue (True) or only keep the most recent frame (False)
    visualize=False,  # (bool) visualize model features
    augment=False,  # (bool) apply image augmentation to prediction sources
    agnostic_nms=False,  # (bool) class-agnostic NMS
    classes=None,  # (int | list[int], optional) filter results by class, i.e. classes=0, or classes=[0,2,3]
    retina_masks=False,  # (bool) use high-resolution segmentation masks
    embed=None,  # (list[int], optional) return feature vectors/embeddings from given layers
    show=False,  # (bool) show predicted images and videos if environment allows
    save=True,  # (bool) save prediction results
    save_frames=False,  # (bool) save predicted individual video frames
    save_txt=False,  # (bool) save results as .txt file
    save_conf=False,  # (bool) save results with confidence scores
    save_crop=False,  # (bool) save cropped images with results
    stream=False,  # (bool) for processing long videos or numerous images with reduced memory usage by returning a generator
    verbose=True,  # (bool) enable/disable verbose inference logging in the terminal
)

Đoạn mã này có các trường cho tất cả các đối số từ khóa, nhưng cũng có modelsrc trong trường hợp bạn đã sử dụng một biến khác trong mã của mình. Trên mỗi dòng chứa đối số từ khóa, một mô tả ngắn gọn sẽ được đưa vào để tham khảo.

Tất cả các đoạn mã

Cách tốt nhất để tìm hiểu những đoạn mã nào có sẵn là tải xuống và cài đặt tiện ích mở rộng và dùng thử! Nếu bạn tò mò và muốn xem danh sách trước, bạn có thể truy cập trang repo hoặc tiện ích mở rộng trên thị trường VS Code để xem bảng cho tất cả các đoạn mã có sẵn.

Phần kết luận

Các Ultralytics -Phần mở rộng Snippets cho VS Code được thiết kế để trao quyền cho các nhà khoa học dữ liệu và kỹ sư máy học xây dựng các ứng dụng thị giác máy tính bằng cách sử dụng Ultralytics YOLO hiệu quả hơn. Bằng cách cung cấp các đoạn mã dựng sẵn và các ví dụ hữu ích, chúng tôi giúp bạn tập trung vào điều quan trọng nhất: tạo ra các giải pháp sáng tạo. Vui lòng chia sẻ phản hồi của bạn bằng cách truy cập trang tiện ích mở rộng trên thị trường VS Code và để lại đánh giá. ⭐

CÂU HỎI THƯỜNG GẶP

Làm thế nào để tôi yêu cầu một đoạn trích mới?

Có thể yêu cầu các đoạn trích mới bằng cách sử dụng Các vấn đề trên Ultralytics -Kho lưu trữ đoạn trích .

Giá bao nhiêu? Ultralytics - Chi phí gia hạn?

Hoàn toàn miễn phí!

Tại sao tôi không thấy bản xem trước đoạn mã?

VS Code sử dụng tổ hợp phím Ctrl + Space để hiển thị thêm/bớt thông tin trong cửa sổ xem trước. Nếu bạn không thấy bản xem trước đoạn mã khi nhập tiền tố đoạn mã, sử dụng tổ hợp phím này sẽ khôi phục bản xem trước.

Làm thế nào để tôi vô hiệu hóa đề xuất tiện ích mở rộng trong Ultralytics ?

Nếu bạn sử dụng VS Code và bắt đầu thấy thông báo nhắc bạn cài đặt Ultralytics -snippets và không muốn thấy thông báo này nữa, có hai cách để tắt thông báo này.

  1. Cài đặt Ultralytics -snippets và tin nhắn sẽ không còn hiển thị nữa 😆!

  2. Bạn có thể sử dụng yolo settings vscode_msg False để vô hiệu hóa tin nhắn hiển thị mà không cần phải cài đặt tiện ích mở rộng. Bạn có thể tìm hiểu thêm về Ultralytics Cài đặt trên khởi động nhanh trang nếu bạn chưa quen.

Tôi có một ý tưởng cho một cái mới Ultralytics đoạn mã, làm sao tôi có thể thêm đoạn mã đó?

Ghé thăm Ultralytics -snippets repo và mở một Vấn đề hoặc Yêu cầu kéo!

Làm thế nào để tôi gỡ cài đặt Ultralytics -Phần mở rộng Snippets?

Giống như bất kỳ tiện ích mở rộng VS Code nào khác, bạn có thể gỡ cài đặt bằng cách điều hướng đến menu Tiện ích mở rộng trong VS Code. Tìm Ultralytics -snippets trong menu và nhấp vào biểu tượng bánh răng (⚙) rồi nhấp vào "Gỡ cài đặt" để xóa tiện ích mở rộng.


Menu mở rộng VS Code

📅 Được tạo ra cách đây 3 tháng ✏️ Đã cập nhật cách đây 2 tháng

Bình luận