Evaluación de BEHAVIOR-1K
BEHAVIOR-1K es un benchmark de simulación de tareas domésticas de Stanford, que presenta 1000 actividades cotidianas (cocinar, limpiar, organizar, etc.). Seguimos la estructura del Desafío BEHAVIOR 2025 para entrenar y evaluar en 50 tareas domésticas completas. Utiliza el robot humanoide R1Pro (brazos duales + base + torso, espacio de acciones de 23 dimensiones).
El proceso de evaluación consta de dos partes principales:
- Configurar el entorno de
behaviory sus dependencias. - Ejecutar la evaluación lanzando servicios en ambos entornos
starVLAybehavior.
Evaluación de BEHAVIOR
Sección titulada «Evaluación de BEHAVIOR»1. Configuración del Entorno
Sección titulada «1. Configuración del Entorno»Para configurar el entorno conda para behavior:
git clone https://github.com/StanfordVL/BEHAVIOR-1K.gitconda create -n behavior python=3.10 -yconda activate behaviorcd BEHAVIOR-1Kpip install "setuptools<=79"# --omnigibson: Instala el simulador OmniGibson (motor de física de BEHAVIOR)# --bddl: Instala BDDL (Behavior Domain Definition Language para definiciones de tareas)# --joylo: Instala JoyLo (interfaz de control por teleoperación)# --dataset: Descarga los assets del dataset BEHAVIOR (escenas, modelos de objetos, etc.)./setup.sh --omnigibson --bddl --joylo --datasetconda install -c conda-forge libglupip install rich omegaconf hydra-core msgpack websockets av pandas google-authTambién en el entorno starVLA:
pip install websockets2. Flujo de Evaluación
Sección titulada «2. Flujo de Evaluación»Pasos:
- Descargar el checkpoint
- Elige el script adecuado según tu necesidad
(A) Script de Evaluación en Paralelo
Sección titulada «(A) Script de Evaluación en Paralelo»CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 bash examples/Behavior/start_parallel_eval.shAntes de ejecutar start_parallel_eval.sh, configura las siguientes rutas:
star_vla_python: Intérprete de Python para el entorno StarVLAsim_python: Intérprete de Python para el entorno BehaviorTASKS_JSONL_PATH: Archivo de descripción de tareas descargado del dataset de entrenamiento (incluido enexamples/Behavior/tasks.jsonl)BEHAVIOR_ASSET_PATH: Ruta local a los assets de behavior (por defecto está enBEHAVIOR-1K/datasetsdespués de instalar con./setup.sh)
(B) Depuración con Terminales Separadas
Sección titulada «(B) Depuración con Terminales Separadas»Para facilitar la depuración, también puedes iniciar el cliente (entorno de evaluación) y el servidor (política) en dos terminales separadas:
bash examples/Behavior/start_server.shbash examples/Behavior/start_client.shLos archivos de depuración anteriores realizarán la evaluación en el conjunto de entrenamiento.
(C) Evaluación por Tarea (Segura para Memoria)
Sección titulada «(C) Evaluación por Tarea (Segura para Memoria)»Para prevenir desbordamiento de memoria, implementamos otro archivo start_parallel_eval_per_task.sh:
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 bash examples/Behavior/start_parallel_eval_per_task.sh- El script ejecutará la evaluación para cada tarea en
INSTANCE_NAMESiterativamente - Para cada tarea, asigna todas las instancias de
TEST_EVAL_INSTANCE_IDSentre las GPUs - Espera a que la tarea anterior termine, luego procede a la siguiente tarea
Tipos de Wrapper
Sección titulada «Tipos de Wrapper»-
RGBLowResWrapper: Solo usa RGB como observación visual y resoluciones de cámara de 224×224. Usar solo RGB de baja resolución puede ayudar a acelerar el simulador y reducir el tiempo de evaluación. Este wrapper es válido para usar en la categoría estándar.
-
DefaultWrapper: Wrapper con la configuración de observación predeterminada usada durante la recolección de datos (RGB + profundidad + segmentación, 720p para cámara frontal y 480p para cámara de muñeca). Este wrapper es válido para usar en la categoría estándar, pero la evaluación será considerablemente más lenta comparada con RGBLowResWrapper.
-
RichObservationWrapper: Carga modalidades de observación adicionales, como normales y flujo, así como información privilegiada de la tarea. Este wrapper solo puede usarse en la categoría de información privilegiada.
Dimensiones de Acción
Sección titulada «Dimensiones de Acción»BEHAVIOR tiene action dim = 23:
"R1Pro": { "base": np.s_[0:3], # Índices 0-2 "torso": np.s_[3:7], # Índices 3-6 "left_arm": np.s_[7:14], # Índices 7-13 "left_gripper": np.s_[14:15], # Índice 14 "right_arm": np.s_[15:22], # Índices 15-21 "right_gripper": np.s_[22:23] # Índice 22}Guardado de Video
Sección titulada «Guardado de Video»El video se guardará en el formato {task_name}_{idx}_{epi}.mp4, donde idx es el número de instancia y epi es el número de episodio.
Problemas Comunes
Sección titulada «Problemas Comunes»Segmentation fault (core dumped): Una razón probable es que Vulkan no se instaló correctamente. Consulta este enlace.
ImportError: libGL.so.1: cannot open shared object file:
apt-get install ffmpeg libsm6 libxext6 -y