Xem kết quả suy luận trong một thiết bị đầu cuối
Hình ảnh từ trang web libsixel .
Động lực
Khi kết nối với máy từ xa, thông thường không thể hiển thị kết quả hình ảnh hoặc yêu cầu di chuyển dữ liệu sang thiết bị cục bộ có GUI. Thiết bị đầu cuối tích hợp VSCode cho phép hiển thị trực tiếp hình ảnh. Đây là một minh chứng ngắn về cách sử dụng điều này kết hợp với ultralytics
với Kết quả dự đoán.
Cảnh báo
Chỉ tương thích với Linux và MacOS. Kiểm tra Kho lưu trữ VSCodekiểm Tình trạng vấn đềhoặc tư liệu để cập nhật về hỗ trợ Windows để xem hình ảnh trong thiết bị đầu cuối với sixel
.
Các giao thức tương thích với VSCode để xem hình ảnh bằng thiết bị đầu cuối tích hợp là: sixel
và iTerm
. Hướng dẫn này sẽ trình bày việc sử dụng sixel
Protocol.
Quá trình
Trước tiên, bạn phải bật cài đặt
terminal.integrated.enableImages
vàterminal.integrated.gpuAcceleration
trong VSCode.Cài đặt
python-sixel
trong môi trường ảo của bạn. Đây là một nĩa củaPySixel
thư viện, không còn được duy trì.Tải một mô hình và thực hiện suy luận, sau đó vẽ kết quả và lưu trữ trong một biến. Xem thêm về đối số suy luận và làm việc với kết quả trên trang chế độ dự đoán .
from ultralytics import YOLO # Load a model model = YOLO("yolo11n.pt") # Run inference on an image results = model.predict(source="ultralytics/assets/bus.jpg") # Plot inference results plot = results[0].plot() # (1)!
- Xem các tham số phương thức vẽ để xem các đối số có thể sử dụng.
Bây giờ, sử dụng Mở CV để chuyển đổi
numpy.ndarray
đếnbytes
dữ liệu. Sau đó sử dụngio.BytesIO
để tạo một đối tượng "giống như tệp".import io import cv2 # Results image as bytes im_bytes = cv2.imencode( ".png", # (1)! plot, )[1].tobytes() # (2)! # Image bytes as a file-like object mem_file = io.BytesIO(im_bytes)
- Cũng có thể sử dụng các tiện ích mở rộng hình ảnh khác.
- Chỉ đối tượng tại index
1
Đó là trả lại là cần thiết.
Tạo một
SixelWriter
phiên bản, và sau đó sử dụng.draw()
phương pháp vẽ hình ảnh trong thiết bị đầu cuối.
Kết quả suy luận ví dụ
Nguy cơ
Sử dụng ví dụ này với video hoặc khung GIF động chưa được thử nghiệm. Cố gắng tự chịu rủi ro.
Ví dụ về mã đầy đủ
import io
import cv2
from sixel import SixelWriter
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model.predict(source="ultralytics/assets/bus.jpg")
# Plot inference results
plot = results[0].plot() # (3)!
# Results image as bytes
im_bytes = cv2.imencode(
".png", # (1)!
plot,
)[1].tobytes() # (2)!
mem_file = io.BytesIO(im_bytes)
w = SixelWriter()
w.draw(mem_file)
- Cũng có thể sử dụng các tiện ích mở rộng hình ảnh khác.
- Chỉ đối tượng tại index
1
Đó là trả lại là cần thiết. - Xem các tham số phương thức vẽ để xem các đối số có thể sử dụng.
Mẹo
Bạn có thể cần sử dụng clear
để "xóa" chế độ xem của hình ảnh trong thiết bị đầu cuối.
FAQ
Làm thế nào tôi có thể xem YOLO kết quả suy luận trong một thiết bị đầu cuối VSCode trên macOS hoặc Linux?
Để xem YOLO kết quả suy luận trong thiết bị đầu cuối VSCode trên macOS hoặc Linux, hãy làm theo các bước sau:
Bật cài đặt VSCode cần thiết:
Cài đặt thư viện sixel:
Tải của bạn YOLO Mô hình hóa và chạy suy luận:
Chuyển đổi hình ảnh kết quả suy luận thành byte và hiển thị nó trong thiết bị đầu cuối:
Để biết thêm chi tiết, hãy truy cập trang chế độ dự đoán .
Tại sao giao thức sixel chỉ hoạt động trên Linux và macOS?
Giao thức sixel hiện chỉ được hỗ trợ trên Linux và macOS vì các nền tảng này có khả năng đầu cuối gốc tương thích với đồ họa sixel. Hỗ trợ Windows cho đồ họa đầu cuối sử dụng sixel vẫn đang được phát triển. Để biết các bản cập nhật về tính tương thích của Windows, hãy kiểm tra tài liệu và trạng thái Vấn đề VSCode.
Điều gì sẽ xảy ra nếu tôi gặp sự cố khi hiển thị hình ảnh trong thiết bị đầu cuối VSCode?
Nếu bạn gặp sự cố khi hiển thị hình ảnh trong thiết bị đầu cuối VSCode bằng sixel:
Đảm bảo các cài đặt cần thiết trong VSCode được bật:
Xác minh cài đặt thư viện sixel:
Kiểm tra chuyển đổi dữ liệu hình ảnh và mã vẽ của bạn để tìm lỗi. Chẳng hạn:
Nếu sự cố vẫn tiếp diễn, hãy tham khảo kho lưu trữ VSCode và truy cập phần tham số phương pháp cốt truyện để được hướng dẫn thêm.
Có thể YOLO Hiển thị kết quả suy luận video trong thiết bị đầu cuối bằng sixel?
Hiển thị kết quả suy luận video hoặc khung GIF động bằng sixel trong thiết bị đầu cuối hiện chưa được kiểm tra và có thể không được hỗ trợ. Chúng tôi khuyên bạn nên bắt đầu với hình ảnh tĩnh và xác minh tính tương thích. Bạn tự chịu rủi ro khi thử kết quả video, lưu ý đến các hạn chế về hiệu suất. Để biết thêm thông tin về vẽ kết quả suy luận, hãy truy cập trang chế độ dự đoán .
Làm cách nào để khắc phục sự cố với python-sixel
thư viện?
Để khắc phục sự cố với python-sixel
thư viện:
Đảm bảo thư viện được cài đặt chính xác trong môi trường ảo của bạn:
Xác minh rằng bạn có những điều cần thiết Python và phụ thuộc hệ thống.
Tham khảo python-sixel GitHub kho lưu trữ để có thêm tài liệu và hỗ trợ cộng đồng.
Kiểm tra kỹ mã của bạn để tìm các lỗi tiềm ẩn, cụ thể là việc sử dụng
SixelWriter
và các bước chuyển đổi dữ liệu hình ảnh.
Để được hỗ trợ thêm khi làm việc với YOLO Mô hình và tích hợp Sixel, hãy xem các trang tài liệu về chế độ xuất và dự đoán .