Guía de inicio rápido de EvoX: Ejecute Evolutionary Computation acelerada por GPU en solo 10 minutos

Por un lado, la Evolutionary Computation es extremadamente potente en la investigación e ingeniería del mundo real, pero difícil de invocar. Por otro lado, las capacidades de las GPU son cada vez más potentes, pero les resulta difícil ejercer su poder en tareas de computación evolutiva.

Necesitamos una solución verdaderamente moderna: soporte nativo para GPU, arquitectura modular, interfaces claras, facilidad de uso inmediata y escalabilidad personalizable. Esto es EvoX: un motor de computación evolutiva para el futuro.

Para ayudar a los usuarios a comenzar rápidamente, el equipo de EvoX ha lanzado el “Tutorial para principiantes de EvoX”. El tutorial consta de 8 capítulos que cubren desde lo básico hasta aplicaciones prácticas avanzadas, guiándolo paso a paso sobre cómo ejecutar algoritmos evolutivos en una GPU.

Recursos completos del tutorial

Tutorial en línea en chino:

EvoX Beginners Tutorial - EvoX Document

Tutorial en PDF en chino:

Por favor, únase al grupo de QQ para obtenerlo: 297969717

A continuación, lo guiaremos a través de todo el proceso, desde la instalación hasta la operación, en solo 10 minutos.

Paso 1: Configuración del entorno

Abra su terminal y cree un entorno de Python limpio:

代码片段1.png

También puede usar su herramienta preferida para crear un entorno de Python limpio.

Paso 2: Instalar PyTorch y EvoX

代码片段2.png

Verifique si la GPU está disponible:

代码片段3.png

Paso 3: Ejecute su primer algoritmo evolutivo

代码片段4.png图片2.4.png

¿Qué hace esto? Compone un algoritmo (PSO), un problema (Ackley) y un monitor (EvalMonitor) a través de una interfaz estándar. ¡EvoX se encarga de todo el paralelismo, la aceleración y el monitoreo!

Paso 4: Graficar la curva de convergencia

Solo una línea es suficiente:

代码片段5.png

monitor_output.png

¿Ve esa curva descendente? Esa es la trayectoria donde su algoritmo evolutivo se acerca al objetivo, y el camino que toma para explorar el mundo desconocido.

Paso 5: Intente extenderlo

Si “solo ejecutar un Ackley” no es suficiente, puede:

· Cambiar PSO por GA, DE, CMA-ES, NSGA-II, RVEA… · Cambiar Ackley por Rastrigin, Griewank, CEC2022 · Cambiar a un problema multiobjetivo configurando n_objs >= 2 · Implementar su propia lógica con MyProblem y MyAlgorithm · Integrarse con modelos de PyTorch o entornos de reinforcement-learning (Gym, Brax, MuJoCo Playground)

Ya sea ajuste de hiperparámetros, búsqueda de arquitectura, neuroevolución u optimización de estrategias de control, EvoX lo maneja todo con facilidad.

¿Por qué elegir EvoX?

表格-英文.png

Agradecimientos

Este tutorial fue escrito por Boqing Xu, Xinmeng Yu, Bowen Zheng y Xinyao Li. Beichen Huang fue responsable de la recopilación, edición y publicación en línea del tutorial.

Agradecemos sinceramente a cada miembro de la comunidad de EvoX. Son nuestros esfuerzos conjuntos los que han permitido que EvoX siga evolucionando.

Código de fuente abierta / Recursos de la comunidad

Paper:

https://arxiv.org/abs/2503.20286

GitHub:

https://github.com/EMI-Group/evomo

Proyecto original (EvoX):

https://github.com/EMI-Group/evox

Grupo de QQ: 297969717

图片11.png

Grupo de QQ | Evolving Machine Intelligence

EvoMO está construido sobre el framework EvoX. Si está interesado en aprender más sobre EvoX, no dude en consultar el artículo oficial sobre EvoX 1.0 publicado en nuestra cuenta pública de WeChat para más detalles.

image.png

(https://mp.weixin.qq.com/s/uT6qSqiWiqevPRRTAVIusQ)