Ultralytics Extensión VS Code
¡Ejecute código de ejemplo usando Ultralytics YOLO en menos de 20 segundos! 🚀
Características y ventajas
✅ ¿Eres un científico de datos o un ingeniero de aprendizaje automático que crea aplicaciones de visión por ordenador con Ultralytics?
✅ ¿Desprecias escribir repetidamente los mismos bloques de código?
✅ ¿Olvidas siempre los argumentos o valores por defecto de los métodos export, predict, train, track o val?
✅ ¿Quieres iniciarte en Ultralytics y te gustaría tener una forma más sencilla de consultar o ejecutar ejemplos de código?
✅ ¿Quieres acelerar tu ciclo de desarrollo cuando trabajas con Ultralytics?
Si utiliza Visual Studio Code y ha respondido "sí" a alguna de las preguntas anteriores, la extensión Ultralytics-snippets para VS Code está aquí para ayudarle. Siga leyendo para obtener más información sobre la extensión, cómo instalarla y cómo utilizarla.
Inspirado por la Comunidad Ultralytics
La inspiración para crear esta extensión vino de la Comunidad Ultralytics . Las preguntas de la Comunidad sobre temas y ejemplos similares impulsaron el desarrollo de este proyecto. Además, como parte del equipo de Ultralytics también utiliza VS Code, también lo usamos como herramienta para acelerar nuestro trabajo ⚡.
¿Por qué VS Code?
Visual Studio Code es extremadamente popular entre los desarrolladores de todo el mundo y ha sido clasificado como el más popular por la encuesta Stack Overflow Developer Survey en 2021, 2022, 2023 y 2024. Debido al alto nivel de personalización, las funciones integradas, la amplia compatibilidad y la extensibilidad de VS Code, no es de extrañar que tantos desarrolladores lo utilicen. Dada la popularidad en la comunidad de desarrolladores en general y dentro de las comunidades Ultralytics Discord, Discourse, Reddit y GitHub, tenía sentido crear una extensión de VS Code para ayudar a agilizar su flujo de trabajo y aumentar su productividad.
¿Quieres decirnos qué utilizas para desarrollar código? Visita nuestra encuesta de la comunidad Discourse y dínoslo. Mientras estás allí, echa un vistazo a algunos de nuestros memes favoritos sobre visión por ordenador, aprendizaje automático, IA y desarrollo, ¡o incluso publica tu favorito!
Instalación de la extensión
Nota
Cualquier entorno de código que permita instalar extensiones de VS Code debe ser compatible con la extensión Ultralytics-snippets. Tras publicar la extensión, se descubrió que neovim puede hacerse compatible con las extensiones de VS Code. Para obtener más información, consulte la página neovim
sección de instalación del Léame en el Ultralytics-Repositorio de recortes.
Instalación en VS Code
-
Vaya al menú Extensiones de VS Code o utilice la combinación de teclas Ctrl+Shift⇑+x y busque Ultralytics-snippets.
-
Pulse el botón Instalar.
Instalación desde VS Code Extension Marketplace
-
Visite el mercado de extensiones de VS Code y busque Ultralytics-snippets o vaya directamente a la página de la extensión en el mercado de VS Code.
-
Haga clic en el botón Instalar y permita que su navegador inicie una sesión de VS Code.
-
Siga las instrucciones para instalar la extensión.
Página de Visual Studio Code Extension Marketplace para Ultralytics-Retazos
Uso de la extensión Ultralytics-Snippets
-
🧠 Completado de código inteligente: Escribe código de forma más rápida y precisa con sugerencias avanzadas de completado de código adaptadas a la API Ultralytics .
-
⌛ Mayor velocidad de desarrollo: Ahorre tiempo eliminando tareas de codificación repetitivas y aprovechando los fragmentos de bloques de código preconstruidos.
-
🔬 Mejora de la calidad del código: Escriba código más limpio, coherente y sin errores con la finalización inteligente de código.
-
Flujo de trabajo optimizado: Manténgase centrado en la lógica central de su proyecto mediante la automatización de tareas comunes.
Visión general
La extensión sólo funcionará cuando el Modo de idioma está configurado para Python 🐍. Esto es para evitar que se inserten fragmentos cuando se trabaja en cualquier otro tipo de archivo. Todos los fragmentos tienen un prefijo que empieza por ultra
y simplemente escribiendo ultra
en su editor después de instalar la extensión, mostrará una lista de posibles fragmentos a utilizar. También puede abrir VS Code Paleta de comandos utilizando Ctrl+Turno ⇑+p y ejecutando el comando Snippets: Insert Snippet
.
Campos del fragmento de código
Muchos fragmentos tienen "campos" con valores o nombres predeterminados. Por ejemplo, la salida de predecir podría guardarse en una variable de Python llamada r
, results
, detections
, preds
o cualquier otra cosa que el desarrollador elija, razón por la cual los fragmentos incluyen "campos". Utilización de Pestaña ⇥ en el teclado después de insertar un fragmento, el cursor se moverá rápidamente entre los campos. Una vez seleccionado un campo, si escribe un nuevo nombre de variable, cambiará esa instancia, ¡pero también todas las demás instancias del código del fragmento para esa variable!
Después de insertar el fragmento, cambiar el nombre model
como world_model
actualiza todas las instancias. Pulsando Pestaña ⇥ pasa al campo siguiente, que abre un menú desplegable y permite seleccionar una escala de modelo, y al pasar al campo siguiente se obtiene otro menú desplegable para elegir entre world
o worldv2
variante de modelo.
Cumplimentación de fragmentos de código
Atajos aún más cortos
No es necesario escribir el prefijo completo del fragmento, ni siquiera empezar a escribir desde el principio del fragmento. Véase el ejemplo de la imagen siguiente.
Los fragmentos se nombran de la forma más descriptiva posible, pero esto significa que podría haber mucho que teclear y eso sería contraproducente si el objetivo es mover más rápido. Por suerte, VS Code permite a los usuarios escribir ultra.example-yolo-predict
, example-yolo-predict
, yolo-predict
o incluso ex-yolo-p
y aún así llegar a la opción de fragmento deseada. Si el fragmento deseado era en realidad ultra.example-yolo-predict-kwords
y luego con las flechas del teclado ↑ o ↓ para resaltar el fragmento deseado y pulsando Entrar ↵ o Pestaña ⇥ insertará el bloque de código correcto.
Mecanografía ex-yolo-p
se todavía llegar al fragmento correcto.
Categorías de fragmentos
Estas son las categorías de fragmentos disponibles actualmente en la extensión Ultralytics-snippets. En el futuro se añadirán más, así que asegúrese de comprobar si hay actualizaciones y de activar las actualizaciones automáticas de la extensión. También puede solicitar que se añadan más fragmentos si cree que falta alguno.
Categoría | Prefijo inicial | Descripción |
---|---|---|
Ejemplos | ultra.examples |
Código de ejemplo para ayudar a aprender o para iniciarse en Ultralytics. Los ejemplos son copias o similares de código de páginas de documentación. |
Kwargs | ultra.kwargs |
Acelere el desarrollo añadiendo fragmentos para los métodos train, track, predict y val con todos los argumentos de palabras clave y valores por defecto. |
Importaciones | ultra.imports |
Fragmentos para importar rápidamente objetos comunes de Ultralytics . |
Modelos | ultra.yolo |
Insertar bloques de código para inicializar varios modelos (yolo , sam , rtdetr etc.), incluidas las opciones de configuración desplegables. |
Resultados | ultra.result |
Bloques de código para operaciones comunes cuando se trabaja con resultados de inferencia. |
Servicios | ultra.util |
Proporciona un acceso rápido a las utilidades más comunes integradas en el paquete Ultralytics . Obtenga más información sobre ellas en la página Utilidades sencillas. |
Aprender con ejemplos
En ultra.examples
son útiles para cualquiera que quiera aprender a trabajar con Ultralytics YOLO . Los fragmentos de ejemplo están pensados para ejecutarse una vez insertados (algunos también tienen opciones desplegables). Un ejemplo de ello se muestra en la animación de la página top de esta página, donde después de insertar el fragmento, se selecciona todo el código y se ejecuta interactivamente utilizando Turno ⇑+Entrar ↵.
Ejemplo
Al igual que los espectáculos de animación de la top de esta página, puede utilizar el fragmento ultra.example-yolo-predict
para insertar el siguiente código de ejemplo. Una vez insertado, la única opción configurable es para la escala del modelo que puede ser cualquiera de: n
, s
, m
, l
o x
.
Acelerar el desarrollo
El objetivo de los fragmentos distintos del ultra.examples
sirven para facilitar y agilizar el desarrollo cuando se trabaja con Ultralytics. Un bloque de código común que se utiliza en muchos proyectos, es iterar la lista de Results
devuelto por utilizar el modelo predecir método. En ultra.result-loop
puede ayudar con esto.
Ejemplo
Utilización de la ultra.result-loop
insertará el siguiente código por defecto (incluidos los comentarios).
Sin embargo, dado que Ultralytics admite numerosas tareascuando trabajar con los resultados de la inferencia hay otros Results
a los que puede que desee acceder, que es donde el campos de recorte será poderoso.
Una vez en la pestaña boxes
aparece un menú desplegable que permite seleccionar otro atributo según sea necesario.
Palabras clave Argumentos
Hay más de 💯 argumentos de palabras clave para todos los diversos Ultralytics tareas y modos¡! Es mucho que recordar y puede ser fácil olvidarlo si el argumento es save_frame
o save_frames
(es definitivamente save_frames
por cierto). Aquí es donde el ultra.kwargs
los fragmentos pueden ayudar
Ejemplo
Para insertar el predecir incluyendo todos los argumentos de inferenciaUtilice ultra.kwargs-predict
que insertará el siguiente código (incluidos los comentarios).
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
)
Este fragmento tiene campos para todos los argumentos de palabras clave, pero también para model
y src
en caso de que haya utilizado una variable diferente en su código. En cada línea que contiene un argumento de palabra clave, se incluye una breve descripción como referencia.
Todos los fragmentos de código
La mejor manera de saber qué fragmentos están disponibles es descargar e instalar la extensión y probarla. Si tienes curiosidad y quieres echar un vistazo a la lista de antemano, puedes visitar el repositorio o la página de la extensión en el marketplace de VS Code para ver las tablas de todos los fragmentos disponibles.
Conclusión
La extensión Ultralytics-Snippets para VS Code está diseñada para que los científicos de datos y los ingenieros de aprendizaje automático puedan crear aplicaciones de visión por ordenador utilizando Ultralytics YOLO de forma más eficiente. Al proporcionar fragmentos de código predefinidos y ejemplos útiles, le ayudamos a centrarse en lo más importante: crear soluciones innovadoras. Por favor, comparte tus comentarios visitando la página de la extensión en el marketplace de VS Code y dejando una reseña. ⭐
PREGUNTAS FRECUENTES
¿Cómo solicito un nuevo fragmento?
Puede solicitar nuevos fragmentos de código a través de la sección Issues del repositorio Ultralytics-Snippets.
¿Cuánto cuesta la ampliación de Ultralytics?
Es 100% gratis.
¿Por qué no veo una vista previa del fragmento de código?
VS Code utiliza la combinación de teclas Ctrl+Espacio para mostrar más/menos información en la ventana de vista previa. Si no ve una vista previa del fragmento cuando escribe un prefijo de fragmento de código, el uso de esta combinación de teclas debería restaurar la vista previa.
¿Cómo desactivo la recomendación de extensiones en Ultralytics?
Si utiliza VS Code y ha empezado a ver un mensaje que le pide que instale la extensión Ultralytics-snippets, y no quiere volver a ver el mensaje, hay dos formas de desactivar este mensaje.
-
¡Instala Ultralytics-snippets y ya no aparecerá el mensaje 😆!
-
Puede utilizar
yolo settings vscode_msg False
para desactivar la visualización del mensaje sin tener que instalar la extensión. Puede obtener más información sobre la extensión Ultralytics Ajustes en el inicio rápido si no está familiarizado.
Tengo una idea para un nuevo fragmento de código Ultralytics , ¿cómo puedo conseguir que se añada?
Visite el repositorio Ultralytics-snippets y abra una incidencia o Pull Request.
¿Cómo desinstalo la extensión Ultralytics-Snippets?
Como cualquier otra extensión de VS Code, puede desinstalarla accediendo al menú Extensiones de VS Code. Busque la extensión Ultralytics-snippets en el menú y haga clic en el icono de engranaje (⚙) y, a continuación, en "Desinstalar" para eliminar la extensión.