Saltar al contenido

YOLOv5 🚀 sobre la Instancia de Aprendizaje Profundo de AWS: Tu guía completa

Configurar un entorno de aprendizaje profundo de alto rendimiento puede resultar desalentador para los recién llegados, ¡pero no temas! 🛠️ Con esta guía, te guiaremos a través del proceso de puesta en marcha de YOLOv5 en una instancia de aprendizaje profundo de AWS. Aprovechando la potencia de Amazon Web Services (AWS), incluso los principiantes en el aprendizaje automático pueden empezar de forma rápida y rentable. La escalabilidad de la plataforma AWS es perfecta tanto para la experimentación como para el despliegue en producción.

Otras opciones de inicio rápido para YOLOv5 incluyen nuestro Cuaderno Colab Abrir en Colab Abrir en Kaggle, GCP Deep Learning VMy nuestra imagen Docker en Hub Docker Tirones de Docker.

Paso 1: Inicio de sesión en la consola de AWS

Empieza por crear una cuenta o iniciar sesión en la consola de AWS en https://aws.amazon.com/console/. Una vez iniciada la sesión, selecciona el servicio EC2 para gestionar y configurar tus instancias.

Consola

Paso 2: Lanza tu Instancia

En el panel de EC2, encontrarás el botón Lanzar Instancia, que es tu puerta de entrada a la creación de un nuevo servidor virtual.

Lanza

Seleccionar la imagen de máquina de Amazon (AMI) adecuada

Aquí es donde debes elegir el sistema operativo y la pila de software para tu instancia. Escribe "Aprendizaje Profundo" en el campo de búsqueda y selecciona la última AMI de Aprendizaje Profundo basada en Ubuntu, a menos que tus necesidades dicten lo contrario. Las AMI de Aprendizaje Profundo de Amazon vienen preinstaladas con marcos de trabajo y controladores de GPU populares para agilizar tu proceso de configuración.

Elige AMI

Elegir un tipo de instancia

Para las tareas de aprendizaje profundo, generalmente se recomienda seleccionar un tipo de instancia de GPU, ya que puede acelerar enormemente el entrenamiento del modelo. En cuanto al tamaño de la instancia, recuerda que los requisitos de memoria del modelo nunca deben superar lo que tu instancia puede proporcionar.

Nota: El tamaño de tu modelo debe ser un factor a la hora de seleccionar una instancia. Si tu modelo supera la memoria RAM disponible de una instancia, selecciona otro tipo de instancia con memoria suficiente para tu aplicación.

Para ver una lista de los tipos de instancias de GPU disponibles, visita Tipos de instancias de EC2, concretamente en Computación acelerada.

Elige Tipo

Para más información sobre monitorización y optimización de la GPU, consulta Monitorización y optimización de la GPU. Para los precios, consulta Precios bajo demanda y Precios al contado.

Configurar tu instancia

Las Instancias de subasta de Amazon EC2 ofrecen una forma rentable de ejecutar aplicaciones, ya que te permiten pujar por la capacidad no utilizada a una fracción del coste estándar. Para una experiencia persistente que retenga los datos incluso cuando la Instancia Spot se caiga, opta por una solicitud persistente.

Solicitud de plaza

Recuerda ajustar el resto de la configuración de tu instancia y las configuraciones de seguridad según sea necesario en los Pasos 4-7 antes de lanzarla.

Paso 3: Conéctate a tu Instancia

Una vez que tu instancia se esté ejecutando, selecciona su casilla de verificación y haz clic en Conectar para acceder a la información SSH. Utiliza el comando SSH que se muestra en tu terminal preferido para establecer una conexión con tu instancia.

Conecta

Paso 4: Correr YOLOv5

Conectado a tu instancia, ya estás listo para clonar el repositorio YOLOv5 e instalar las dependencias en un entorno Python 3.8 o posterior. YOLOv5 Los modelos y conjuntos de datos se descargarán automáticamente de la última versión.

git clone https://github.com/ultralytics/yolov5  # clone repository
cd yolov5
pip install -r requirements.txt  # install dependencies

Con tu entorno configurado, puedes empezar a entrenar, validar, realizar inferencias y exportar tus modelos YOLOv5 :

# Train a model on your data
python train.py

# Validate the trained model for Precision, Recall, and mAP
python val.py --weights yolov5s.pt

# Run inference using the trained model on your images or videos
python detect.py --weights yolov5s.pt --source path/to/images

# Export the trained model to other formats for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite

Extras opcionales

Para añadir más memoria swap, que puede ser una salvación para grandes conjuntos de datos, ejecuta:

sudo fallocate -l 64G /swapfile  # allocate 64GB swap file
sudo chmod 600 /swapfile  # modify permissions
sudo mkswap /swapfile  # set up a Linux swap area
sudo swapon /swapfile  # activate swap file
free -h  # verify swap memory

¡Y ya está! 🎉 Has creado con éxito una instancia de Aprendizaje Profundo de AWS y has ejecutado YOLOv5. Tanto si estás empezando con la detección de objetos como si estás escalando para producción, esta configuración puede ayudarte a alcanzar tus objetivos de aprendizaje automático. ¡Feliz entrenamiento, validación e implementación! Si encuentras algún problema por el camino, la sólida documentación de AWS y la activa comunidad de Ultralytics están aquí para ayudarte.



Creado 2023-11-12, Actualizado 2023-12-03
Autores: glenn-jocher (2)

Comentarios