Downloads · 30 days
0
yqi19/genie-inference-maniskill
genie-inference-maniskill is a machine learning model from yqi19. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
This repository contains the inference code and environment for evaluating Genie-Envisioner (GE-Act) on OOD conflict experiments in the ManiSkill simulation framework.
Downloads · 30 days
0
Access
Public
Updated May 16, 2026
Repo size
229 MB
Likes
0
Public
Click a slice to open those files.
.stl69.6 MB · 30%
From the Hugging Face model README
This repository contains the inference code and environment for evaluating Genie-Envisioner (GE-Act) on OOD conflict experiments in the ManiSkill simulation framework.
In a conflict experiment the robot receives an instruction that names two different object attributes (e.g., "Lift the red cube"), but the scene contains two objects that each satisfy only one attribute (one is red but not a cube; the other is a cube but not red). By recording which object the robot lifts across many such trials we can measure the model's Factor Dominance Rate (FDR) — a behavioural bias metric for language-conditioned robot manipulation.
genie-inference-maniskill/
├── genie_envisioner/ # GE-Act inference code
│ ├── models/ # MVActorModel architecture
│ ├── runner/ # Inference runner (rollout loop)
│ ├── utils/ # Shared utilities
│ ├── configs/
│ │ └── ltx_model/conflict/ # Per-experiment configs + action stats
│ ├── conflict_main.py # Main rollout script (single pair or batch)
│ ├── run_ood_experiment_inference.sh # Batch OOD evaluation script
│ ├── setup_maniskill_env.sh # Conda environment setup
│ ├── requirements.txt # Python dependencies
│ └── eval_conflict.md # Detailed evaluation guide
│
└── maniskill_conflict/ # ManiSkill conflict environment
├── mani_skill/ # Modified ManiSkill package
│ ├── envs/tasks/ # VerbObjectColor-v1 conflict task
│ └── assets/ # Robot and scene assets
├── conflict_experiment/ # Experiment utilities (pair generation, etc.)
├── setup.py
└── pyproject.toml
git clone https://huggingface.co/yqi19/genie-inference-maniskill
cd genie-inference-maniskill
bash genie_envisioner/setup_maniskill_env.sh
conda activate genie_envisioner
GE-Act uses LTX-Video as its video generation backbone:
git clone https://huggingface.co/Lightricks/LTX-Video /path/to/LTX-Video
Checkpoints are structured as <experiment>/step_<N>/ directories containing
config.json and diffusion_pytorch_model.safetensors. For example:
checkpoints/
└── color_object/
└── step_30000/
├── config.json
└── diffusion_pytorch_model.safetensors
WEIGHT=/path/to/checkpoints/color_object/step_30000 \
LTX_MODEL=/path/to/LTX-Video \
conda run -n genie_envisioner \
bash genie_envisioner/run_ood_experiment_inference.sh \
color_object \
42 \
200 \
results/color_object_ood.txt
| Experiment | Factor A | Factor B | Description |
|---|---|---|---|
color_object | color | shape | Red object vs. cube — which does the model lift? |
color_size | color | size | Coloured vs. sized object |
color_spatial | color | spatial position | Coloured vs. positioned object |
size_object | size | shape | Sized vs. shaped object |
spatial_object | spatial position | shape | Positioned vs. shaped object |
spatial_size | spatial position | size | Positioned vs. sized object |
verb_color | verb | color | Verb-defined vs. coloured target |
verb_object | verb | shape | Verb-defined vs. shaped target |
verb_size | verb | size | Verb-defined vs. sized target |
verb_spatial | verb | spatial position | Verb-defined vs. positioned target |
FDR measures how strongly a model is biased toward one factor over another:
FDR(f1, f2) = (S_f1 - S_f2) / (S_f1 + S_f2 + ε) ∈ [-1, +1]
where S_f1 and S_f2 are success rates on factor-1-instruction runs and factor-2-instruction runs respectively, and ε is a small constant for numerical stability.
A positive FDR indicates f1 dominance; negative indicates f2 dominance; 0 indicates no bias.
The conflict environment (mani_skill/envs/tasks/) is a modified version of ManiSkill's
tabletop manipulation task. Key properties:
agent/qpos, agent/qvel — proprioceptive joint statesensor_data/base_camera/rgb — 256×256 RGB camera imagesensor_data/base_camera/depth — depth image8-dimensional joint position control (7 DOF robot arm joints + gripper).
WEIGHT_ROOT=/path/to/checkpoints
LTX_MODEL=/path/to/LTX-Video
for EXP in color_object color_size color_spatial size_object spatial_object \
spatial_size verb_color verb_object verb_size verb_spatial; do
WEIGHT="${WEIGHT_ROOT}/${EXP}/step_30000" \
LTX_MODEL="${LTX_MODEL}" \
conda run -n genie_envisioner \
bash genie_envisioner/run_ood_experiment_inference.sh \
"${EXP}" 42 200 "results/genie_${EXP}_seed42.txt"
done
See genie_envisioner/eval_conflict.md for:
Key Python packages:
torch==2.6.0+cu124diffusers==0.32.0transformers==4.51.3safetensors==0.6.2mani_skill (from maniskill_conflict/ in this repo)If you use this code or the conflict experiment framework, please cite:
@inproceedings{genie_envisioner,
title = {Genie-Envisioner: ...},
author = {...},
booktitle = {...},
year = {2025},
}