Evaluation BEHAVIOR-1K
BEHAVIOR-1K est un benchmark de simulation de taches menageres par Stanford, comprenant 1000 activites quotidiennes (cuisine, menage, rangement, etc.). Nous suivons la structure du 2025 BEHAVIOR Challenge pour entrainer et evaluer sur 50 taches menageres completes. Il utilise le robot humanoide R1Pro (bras doubles + base + torse, espace d’action a 23 dimensions).
Le processus d’evaluation se compose de deux parties principales :
- Configuration de l’environnement
behavioret de ses dependances. - Execution de l’evaluation en lancant les services dans les environnements
starVLAetbehavior.
Evaluation BEHAVIOR
Section intitulée « Evaluation BEHAVIOR »1. Configuration de l’environnement
Section intitulée « 1. Configuration de l’environnement »Pour configurer l’environnement conda pour 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 : Installer le simulateur OmniGibson (moteur physique de BEHAVIOR)# --bddl : Installer BDDL (Behavior Domain Definition Language pour les definitions de taches)# --joylo : Installer JoyLo (interface de controle par teleoperation)# --dataset : Telecharger les assets du dataset BEHAVIOR (scenes, modeles d'objets, etc.)./setup.sh --omnigibson --bddl --joylo --datasetconda install -c conda-forge libglupip install rich omegaconf hydra-core msgpack websockets av pandas google-authEgalement dans l’environnement starVLA :
pip install websockets2. Workflow d’evaluation
Section intitulée « 2. Workflow d’evaluation »Etapes :
- Telecharger le checkpoint
- Choisissez le script ci-dessous selon vos besoins
(A) Script d’evaluation parallele
Section intitulée « (A) Script d’evaluation parallele »CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 bash examples/Behavior/start_parallel_eval.shAvant d’executer start_parallel_eval.sh, definissez les chemins suivants :
star_vla_python: Interpreteur Python pour l’environnement StarVLAsim_python: Interpreteur Python pour l’environnement BehaviorTASKS_JSONL_PATH: Fichier de description des taches telecharge depuis le dataset d’entrainement (inclus dansexamples/Behavior/tasks.jsonl)BEHAVIOR_ASSET_PATH: Chemin local vers les assets behavior (par defaut dansBEHAVIOR-1K/datasetsapres l’installation avec./setup.sh)
(B) Debugging avec des terminaux separes
Section intitulée « (B) Debugging avec des terminaux separes »Pour faciliter le debugging, vous pouvez egalement demarrer le client (environnement d’evaluation) et le serveur (politique) dans deux terminaux separes :
bash examples/Behavior/start_server.shbash examples/Behavior/start_client.shLes fichiers de debugging ci-dessus effectueront l’evaluation sur l’ensemble d’entrainement.
(C) Evaluation par tache (securisee en memoire)
Section intitulée « (C) Evaluation par tache (securisee en memoire) »Pour prevenir le debordement de memoire, nous avons implemente un autre fichier 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- Le script executera l’evaluation pour chaque tache dans
INSTANCE_NAMESde maniere iterative - Pour chaque tache, il allouera toutes les instances de
TEST_EVAL_INSTANCE_IDSsur les GPU - Il attendra que la tache precedente soit terminee avant de passer a la suivante
Types de Wrapper
Section intitulée « Types de Wrapper »-
RGBLowResWrapper : Utilise uniquement le RGB comme observation visuelle avec des resolutions de camera de 224x224. N’utiliser que le RGB basse resolution peut aider a accelerer le simulateur et reduire le temps d’evaluation. Ce wrapper peut etre utilise dans la categorie standard.
-
DefaultWrapper : Wrapper avec la configuration d’observation par defaut utilisee pendant la collecte de donnees (RGB + profondeur + segmentation, 720p pour la camera de tete et 480p pour la camera de poignet). Ce wrapper peut etre utilise dans la categorie standard, mais l’evaluation sera considerablement plus lente par rapport a RGBLowResWrapper.
-
RichObservationWrapper : Charge des modalites d’observation supplementaires, telles que les normales et le flux optique, ainsi que des informations privilegiees sur la tache. Ce wrapper ne peut etre utilise que dans la categorie avec informations privilegiees.
Dimensions d’action
Section intitulée « Dimensions d’action »BEHAVIOR a action dim = 23 :
"R1Pro": { "base": np.s_[0:3], # Indices 0-2 "torso": np.s_[3:7], # Indices 3-6 "left_arm": np.s_[7:14], # Indices 7-13 "left_gripper": np.s_[14:15], # Index 14 "right_arm": np.s_[15:22], # Indices 15-21 "right_gripper": np.s_[22:23] # Index 22}Sauvegarde video
Section intitulée « Sauvegarde video »La video sera sauvegardee au format {task_name}_{idx}_{epi}.mp4, ou idx est le numero d’instance et epi le numero d’episode.
Problemes courants
Section intitulée « Problemes courants »Segmentation fault (core dumped) : Une cause probable est que Vulkan n’est pas correctement installe. Consultez ce lien.
ImportError: libGL.so.1: cannot open shared object file:
apt-get install ffmpeg libsm6 libxext6 -y