Ultralytics YOLOv5 🚀 en la instancia de aprendizaje profundo de AWS: Tu guía completa
Configurar un entorno de aprendizaje profundo de alto rendimiento puede parecer desalentador, especialmente para los recién llegados. Pero no temas. 🛠️ Esta guía proporciona un recorrido paso a paso para obtener Ultralytics YOLOv5 en una instancia de aprendizaje profundo de AWS. Al aprovechar la potencia de Amazon Web Services (AWS), incluso los principiantes en el aprendizaje automático (ML ) pueden comenzar de forma rápida y rentable. La escalabilidad de la plataforma de AWS la hace ideal tanto para la experimentación como para la implementación en producción.
Otras opciones de inicio rápido para YOLOv5 incluyen nuestro Cuaderno Google Colab , Entornos Kaggle
, GCP Deep Learning VMy nuestra imagen Docker preconstruida disponible en Centro Docker
.
Paso 1: Inicio de sesión en la consola de AWS
Comience por crear una cuenta o iniciar sesión en la consola de administración de AWS. Una vez que haya iniciado sesión, vaya al panel de control del servicio EC2, donde podrá administrar sus servidores virtuales (instancias).
Paso 2: Inicie su instancia
En el panel de EC2, haga clic en el botón Lanzar instancia. Esto inicia el proceso de creación de un nuevo servidor virtual adaptado a sus necesidades.
Selección de la imagen de máquina de Amazon (AMI) adecuada
Elegir la AMI correcta es crucial. Esto determina el sistema operativo y el software preinstalado para su instancia. En la barra de búsqueda, escriba"Deep Learning" y seleccione la última AMI de aprendizaje profundo basada en Ubuntu (a menos que tenga requisitos específicos para un sistema operativo diferente). Las AMI de aprendizaje profundo de Amazon vienen preconfiguradas con marcos de aprendizaje profundo populares (como PyTorchutilizado por YOLOv5) y los controladores deGPU necesarios, lo que agiliza considerablemente el proceso de configuración.
Elegir un tipo de instancia
Para tareas exigentes como el entrenamiento de modelos de aprendizaje profundo, es muy recomendable seleccionar un tipo de instancia GPU. Las GPU pueden reducir drásticamente el tiempo necesario para el entrenamiento de modelos en comparación con las CPU. Al elegir un tamaño de instancia, asegúrese de que su capacidad de memoria (RAM) es suficiente para su modelo y conjunto de datos.
Nota: El tamaño de su modelo y del conjunto de datos son factores críticos. Si su tarea de ML requiere más memoria de la que proporciona la instancia seleccionada, tendrá que elegir un tipo de instancia mayor para evitar problemas de rendimiento o errores.
Explore los tipos de instancia GPU disponibles en la página Tipos de instancia de EC2, especialmente en la categoría Computación acelerada.
Para obtener información detallada sobre la monitorización y optimización del uso de GPU , consulte la guía de AWS sobre monitorización y optimización deGPU . Compare los costes con los precios bajo demanda y explore los posibles ahorros con los precios de instancias puntuales.
Configuración de su instancia
Considere la posibilidad de utilizar las instancias de subasta de Amazon EC2 para obtener un enfoque más rentable. Las instancias de subasta le permiten pujar por la capacidad de EC2 no utilizada, a menudo con un descuento significativo en comparación con los precios bajo demanda. Para tareas que requieran persistencia (guardar datos aunque se interrumpa la instancia de subasta), elija una solicitud persistente. Esto garantiza la persistencia de su volumen de almacenamiento.
Siga los pasos 4-7 del asistente de lanzamiento de instancias para configurar el almacenamiento, añadir etiquetas, configurar grupos de seguridad (asegúrese de que el puerto SSH 22 está abierto desde su IP) y revisar la configuración antes de hacer clic en Lanzar. También tendrá que crear o seleccionar un par de claves existente para un acceso SSH seguro.
Paso 3: Conéctese a su instancia
Una vez que el estado de su instancia se muestre como "en ejecución", selecciónela en el panel de EC2. Haga clic en el icono Conectar para ver las opciones de conexión. Utilice el ejemplo de comando SSH proporcionado en su terminal local (como Terminal en macOS/Linux o PuTTY/WSL en Windows) para establecer una conexión segura. Necesitará el archivo de clave privada (.pem
) que hayas creado o seleccionado durante el lanzamiento.
Paso 4: Ejecutar Ultralytics YOLOv5
Ahora que estás conectado vía SSH, puedes configurar y ejecutar YOLOv5. Primero, clona el repositorio oficial de YOLOv5 desde GitHub y navegue hasta el directorio. A continuación, instale las dependencias necesarias mediante pip
. Se recomienda utilizar un Python 3.8 o posterior. Los modelos y conjuntos de datos necesarios se descargarán automáticamente de la última versión YOLOv5 liberar al ejecutar comandos como la formación o la detección.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txt
Con el entorno listo, puedes empezar a utilizar YOLOv5 para diversas tareas:
# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640
# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export/ for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640
Consulte la documentación Ultralytics para obtener guías detalladas sobre Entrenamiento, Validación, Predicción (Inferencia) y Exportación.
Extras opcionales: Aumentar la memoria de intercambio
Si está trabajando con conjuntos de datos muy grandes o se encuentra con limitaciones de memoria durante el entrenamiento, aumentar la memoria swap en su instancia a veces puede ayudar. El espacio de intercambio permite al sistema utilizar espacio de disco como RAM virtual.
# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile
# Set correct permissions
sudo chmod 600 /swapfile
# Set up the file as a Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap memory is active
free -h
¡¡¡Enhorabuena!!! 🎉 Ha configurado correctamente una instancia de aprendizaje profundo de AWS, ha instalado Ultralytics YOLOv5 y está listo para realizar tareas de detección de objetos. Tanto si experimenta con modelos preentrenados como si entrena con sus propios datos, esta potente configuración proporciona una base escalable para sus proyectos de visión informática. Si tiene algún problema, consulte la amplia documentación de AWS y los útiles recursos de la comunidad de Ultralytics , como las preguntas frecuentes. ¡Feliz detección!