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 , GCP Deep Learning VMy nuestra imagen Docker en Hub 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.
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.
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 frameworks populares y controladores GPU para agilizar tu proceso de configuración.
Elegir un tipo de instancia
Para las tareas de aprendizaje profundo, generalmente se recomienda seleccionar un tipo de instancia 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 instancia disponibles en GPU , visita Tipos de instancia EC2, concretamente en Computación acelerada.
Para más información sobre la supervisión y optimización de GPU , consulta GPU Supervisión y optimización. Para los precios, consulta Precios a la carta 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.
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.
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.