Ultralytics Расширение VS Code
Смотреть: Как использовать расширение Ultralytics Visual Studio Code Extension | Ready-to-Use Code Snippets | Ultralytics YOLO 🎉
Особенности и преимущества
✅ Вы занимаетесь изучением данных или машинным обучением, создавая приложения для компьютерного зрения с помощью Ultralytics?
✅ Вам не нравится писать одни и те же блоки кода по нескольку раз?
✅ Вы постоянно забываете аргументы или значения по умолчанию для методов export, predict, train, track или val?
✅ Вы только начинаете работать с Ultralytics и хотели бы иметь более удобный способ ссылаться на примеры кода или запускать их?
✅ Хотите ускорить цикл разработки при работе с Ultralytics?
Если вы используете Visual Studio Code и ответили "да" на любой из вышеперечисленных вопросов, то расширение Ultralytics-snippets для VS Code вам в помощь! Читайте дальше, чтобы узнать больше о расширении, как его установить и как им пользоваться.
Выполните пример кода с помощью Ultralytics YOLO менее чем за 20 секунд! 🚀
Вдохновленные сообществом Ultralytics
Вдохновением для создания этого расширения послужило сообщество Ultralytics . Вопросы сообщества на похожие темы и примеры послужили толчком к разработке этого проекта. Кроме того, поскольку некоторые члены команды Ultralytics также используют VS Code, мы также используем его в качестве инструмента для ускорения нашей работы ⚡.
Почему именно VS Code?
Visual Studio Code чрезвычайно популярна среди разработчиков по всему миру и занимала самые высокие позиции в опросе разработчиков Stack Overflow в 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 Extension Marketplace и найдите Ultralytics-snippets или перейдите прямо на страницу расширения на VS Code marketplace.
-
Нажмите кнопку Install и разрешите браузеру запустить сеанс VS Code.
-
Следуйте всем подсказкам, чтобы установить расширение.
Страница Visual Studio Code Extension Marketplace для Ultralytics-Сниппетс
Использование расширения 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 . Подробнее о них можно узнать на странице "Простые утилиты". |
Обучение на примерах
Сайт 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", чтобы удалить расширение.