Ultralytics Расширение VS Code
Выполни пример кода с использованием Ultralytics YOLO менее чем за 20 секунд! 🚀
Особенности и преимущества
✅ Ты занимаешься изучением данных или машинным обучением, создавая приложения для компьютерного зрения с помощью Ultralytics?
✅ Презираешь ли ты многократное написание одних и тех же блоков кода?
✅ Ты постоянно забываешь аргументы или значения по умолчанию для методов export, predict, train, track или val?
✅ Ты только начинаешь работать с Ultralytics и хотел бы иметь более простой способ ссылаться на примеры кода или запускать их?
✅ Хочешь ускорить цикл разработки при работе с Ultralytics?
Если ты используешь Visual Studio Code и ответил "да" на любой из вышеперечисленных пунктов, то расширение Ultralytics-snippets для VS Code тебе в помощь! Читай дальше, чтобы узнать больше о расширении, как его установить и как им пользоваться.
Вдохновленный сообществом Ultralytics
Вдохновение на создание этого расширения пришло от сообщества Ultralytics . Вопросы сообщества на похожие темы и примеры послужили толчком к разработке этого проекта. Кроме того, поскольку некоторые члены команды Ultralytics также пользуются VS Code, мы тоже используем его как инструмент для ускорения нашей работы ⚡.
Почему именно VS Code?
Visual Studio Code пользуется огромной популярностью среди разработчиков по всему миру и занимала самые высокие места в рейтинге Stack Overflow Developer Survey в 2021, 2022, 2023 и 2024 годах. Благодаря высокому уровню кастомизации, встроенным функциям, широкой совместимости и расширяемости VS Code неудивительно, что так много разработчиков используют его. Учитывая популярность в широком сообществе разработчиков и в сообществах Ultralytics Discord, Discourse, Reddit и GitHub, было вполне логично создать расширение VS Code, которое поможет упорядочить твой рабочий процесс и повысить производительность.
Хочешь сообщить нам, что ты используешь для разработки кода? Заходи в опрос нашего сообщества Discourse и дай нам знать! Пока ты там, может быть, посмотри некоторые из наших любимых мемов про компьютерное зрение, машинное обучение, ИИ и разработчиков или даже опубликуй свой любимый!
Установка расширения
Примечание
Любая среда для работы с кодом, которая позволяет устанавливать расширения VS Code должен быть совместимый с расширением Ultralytics-snippets. После публикации расширения было обнаружено, что neovim можно сделать совместимым с расширениями VS Code. Чтобы узнать больше, посмотри neovim
Установочная секция из Readme в Ultralytics-Репозиторий сниппетов.
Установка в VS Code
Перейди в меню Extensions в VS Code или воспользуйся сочетанием клавиш Ctrl+Shift⇑+x и найди Ultralytics-snippets.
Нажми на кнопку "Установить ".
Установка из магазина расширений VS Code
Зайди в маркетплейс расширений VS Code и найди Ultralytics-snippets или сразу перейди на страницу расширения в маркетплейсе VS Code.
Нажми на кнопку "Установить " и позволь своему браузеру запустить сессию VS Code.
Следуй любым подсказкам, чтобы установить расширение.
Страница Visual Studio Code Extension Marketplace для Ultralytics-Snippets
Использование расширения Ultralytics-Snippets
🧠 Интеллектуальное завершение кода: Пиши код быстрее и точнее с помощью продвинутых предложений по завершению кода, адаптированных под API Ultralytics .
⌛ Увеличение скорости разработки: сэкономь время, отказавшись от повторяющихся задач по кодированию и используя готовые сниппеты кодовых блоков.
🔬 Улучшенное качество кода: Пиши более чистый, последовательный и безошибочный код с помощью интеллектуального завершения кода.
💎 Оптимизированный рабочий процесс: Оставайся сосредоточенным на основной логике своего проекта, автоматизируя общие задачи.
Обзор
Расширение будет работать только тогда, когда Языковой режим настроен на Python 🐍. Это сделано для того, чтобы сниппеты не вставлялись при работе с файлами любого другого типа. Все сниппеты имеют префикс, начинающийся с ultra
и просто набери ultra
в твоем редакторе после установки расширения, отобразит список возможных сниппетов, которые можно использовать. Ты также можешь открыть VS Code Палитра команд использование Ctrl+Сдвиг ⇑+p и выполни команду Snippets: Insert Snippet
.
Поля сниппета кода
Во многих сниппетах есть "поля" со значениями или именами по умолчанию. Например, вывод из предсказать метод может быть сохранен в переменной Python с именем r
, results
, detections
, preds
или что-то еще, что выберет разработчик, именно поэтому сниппеты включают в себя "поля". Использование Вкладка ⇥ на клавиатуре после вставки сниппета, твой курсор будет быстро перемещаться между полями. Как только поле будет выбрано, ввод нового имени переменной изменит не только этот экземпляр, но и все остальные экземпляры в коде сниппета для этой переменной!
После вставки сниппета переименуй model
в роли world_model
обновляет все экземпляры. Нажав Вкладка ⇥ Переход к следующему полю открывает выпадающее меню и позволяет выбрать масштаб модели, а переход к следующему полю открывает еще одно выпадающее меню, в котором можно выбрать либо world
или worldv2
Вариант модели.
Завершения кодовых сниппетов
Еще более короткие короткие пути
Не обязательно вводить полный префикс сниппета или даже начинать вводить его с самого начала. Смотри пример на картинке ниже.
Сниппеты названы максимально описательно, но это означает, что набирать их придется очень много, а это будет непродуктивно, если цель - двигаться быстрее. К счастью, VS Code позволяет пользователям вводить ultra.example-yolo-predict
, example-yolo-predict
, yolo-predict
, или даже ex-yolo-p
и все равно достигнешь намеченного варианта сниппета! Если предполагаемый сниппет был на самом деле ultra.example-yolo-predict-kwords
Затем просто используй стрелки клавиатуры. ↑ или ↓ выделите нужный фрагмент и нажмите кнопку Входи ↵ или Вкладка ⇥ вставит правильный блок кода.
Типирование ex-yolo-p
будет все еще приди к правильному сниппету.
Категории сниппетов
Это текущие категории сниппетов, доступные расширению Ultralytics-snippets. В будущем будут добавлены новые, поэтому обязательно следи за обновлениями и включи автообновление расширения. Ты также можешь запросить добавление дополнительных сниппетов, если считаешь, что их не хватает.
Категория | Начальный префикс | Описание |
---|---|---|
Примеры | ultra.examples | Примеры кода, которые помогут в обучении или для начала работы с Ultralytics. Примеры - это копии или подобия кода со страниц документации. |
Kwargs | ultra.kwargs | Ускорь разработку, добавив сниппеты для методов train, track, predict и val со всеми аргументами ключевых слов и значениями по умолчанию. |
Импорт | ultra.imports | Сниппеты для быстрого импорта распространенных объектов Ultralytics . |
Модели | ultra.yolo | Вставь блоки кода для инициализации различных модели (yolo , sam , rtdetr , и т.д.), включая выпадающие варианты конфигурации. |
Результаты | ultra.result | Блоки кода для общих операций при работе с результатами умозаключений. |
Утилиты | ultra.util | Обеспечивает быстрый доступ к обычным утилитам, которые встроены в пакет Ultralytics , подробнее о них можно узнать на странице "Простые утилиты". |
Обучение на примерах
The ultra.examples
Сниппеты пригодятся всем, кто хочет научиться основам работы с Ultralytics YOLO . Примеры сниппетов предназначены для запуска после вставки (в некоторых есть и выпадающие варианты). Пример этого показан на анимации в топ этой страницы, где после вставки сниппета весь код выбирается и запускается в интерактивном режиме с помощью Сдвиг ⇑+Входи ↵.
Пример
Точно так же, как и анимационные шоу в топ этой страницы, ты можешь использовать сниппет ultra.example-yolo-predict
чтобы вставить следующий пример кода. После вставки единственным настраиваемым параметром будет масштаб модели, который может быть любым из: n
, s
, m
, l
, или x
.
Ускорение развития
Цель для сниппетов, кроме ultra.examples
Они предназначены для облегчения и ускорения разработки при работе с Ultralytics. Обычный блок кода, который используется во многих проектах, - это итерация списка Results
полученный в результате использования модели предсказать Метод. На сайте ultra.result-loop
Сниппет может помочь в этом.
Пример
Использование ultra.result-loop
вставит следующий код по умолчанию (включая комментарии).
Однако, поскольку Ultralytics поддерживает множество задания, когда работа с результатами умозаключений есть и другие Results
Атрибуты, к которым ты можешь захотеть получить доступ, вот где Поля сниппета будет мощным.
Как только вы перейдете на вкладку boxes
поле, появится выпадающее меню, позволяющее выбрать другой атрибут по необходимости.
Ключевые слова Аргументы
Существует более 💯 ключевых слов-аргументов для всех различных Ultralytics задания и Режимы! Многое нужно запомнить, и это легко забыть, если аргумент save_frame
или save_frames
(это определенно save_frames
кстати). Именно здесь ultra.kwargs
Сниппеты могут помочь!
Пример
Чтобы вставить предсказать метод, включая все аргументы для вывода, используйте ultra.kwargs-predict
, который вставит следующий код (включая комментарии).
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
)
В этом сниппете есть поля для всех аргументов ключевых слов, а также для model
и src
на случай, если ты использовал в своем коде другую переменную. В каждой строке, содержащей аргумент ключевого слова, есть краткое описание для справки.
Все кодовые сниппеты
Лучший способ узнать, какие сниппеты доступны, - это скачать и установить расширение и попробовать его в деле! Если тебе любопытно и хочется взглянуть на список заранее, ты можешь посетить репо или страницу расширения в маркетплейсе VS Code, чтобы посмотреть таблицы всех доступных сниппетов.
Заключение
Расширение Ultralytics-Snippets для VS Code создано для того, чтобы дать возможность ученым, изучающим данные, и инженерам машинного обучения более эффективно создавать приложения для компьютерного зрения, используя Ultralytics YOLO . Предоставляя готовые фрагменты кода и полезные примеры, мы помогаем тебе сосредоточиться на главном - создании инновационных решений. Поделись своим отзывом, посетив страницу расширения в маркетплейсе VS Code и оставив свой отзыв. ⭐
ВОПРОСЫ И ОТВЕТЫ
Как запросить новый сниппет?
Новые сниппеты можно запросить с помощью Issues на репо Ultralytics-Snippets.
Сколько стоит Ultralytics-Extension?
Это на 100% бесплатно!
Почему я не вижу предварительного просмотра фрагмента кода?
В VS Code используется комбинация клавиш Ctrl+Space, чтобы показать больше/меньше информации в окне предварительного просмотра. Если при вводе префикса фрагмента кода у тебя не отображается предварительный просмотр, то использование этой комбинации клавиш должно восстановить предварительный просмотр.
Как отключить рекомендацию расширений в Ultralytics?
Если ты используешь VS Code и начал видеть сообщение, предлагающее установить расширение Ultralytics-snippets, и не хочешь больше видеть это сообщение, есть два способа его отключить.
Установи Ultralytics-snippets, и сообщение больше не будет показываться 😆!
Ты можешь использовать
yolo settings vscode_msg False
чтобы отключить показ сообщения без необходимости устанавливать расширение. Ты можешь узнать больше о Ultralytics Настройки на быстрый старт Страница, если ты не знаком.
У меня есть идея для нового сниппета кода Ultralytics , как мне его добавить?
Заходи в репо Ultralytics-snippets и открывай Issue или Pull Request!
Как удалить расширение Ultralytics-Snippets Extension?
Как и любое другое расширение VS Code, ты можешь удалить его, перейдя в меню "Расширения" в VS Code. Найди в меню расширение Ultralytics-snippets и нажми на значок шестеренки (⚙), а затем на кнопку "Uninstall", чтобы удалить расширение.