Spaces:
Sleeping
Sleeping
| # Copyright 2024 The HuggingFace Inc. team. All rights reserved. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| # keys | |
| import os | |
| from pathlib import Path | |
| from huggingface_hub.constants import HF_HOME | |
| OBS_STR = "observation" | |
| OBS_PREFIX = OBS_STR + "." | |
| OBS_ENV_STATE = OBS_STR + ".environment_state" | |
| OBS_STATE = OBS_STR + ".state" | |
| # OBS_IMAGE (singular, legacy single-camera) and OBS_IMAGES (plural, modern | |
| # multi-camera prefix) serve different purposes — keep them independent; do NOT | |
| # collapse into "OBS_IMAGE + 's'". | |
| OBS_IMAGE = "observation.image" # legacy single-camera key | |
| OBS_IMAGES = "observation.images" # modern multi-camera prefix | |
| NUM_IMAGE_SLOTS = 3 # Qwen3-VL processor consumes image0..image2 | |
| OBS_LANGUAGE = OBS_STR + ".language" | |
| OBS_LANGUAGE_TOKENS = OBS_LANGUAGE + ".tokens" | |
| OBS_LANGUAGE_ATTENTION_MASK = OBS_LANGUAGE + ".attention_mask" | |
| ACTION = "action" | |
| REWARD = "next.reward" | |
| TRUNCATED = "next.truncated" | |
| DONE = "next.done" | |
| ROBOTS = "robots" | |
| TELEOPERATORS = "teleoperators" | |
| # files & directories | |
| CHECKPOINTS_DIR = "checkpoints" | |
| LAST_CHECKPOINT_LINK = "last" | |
| PRETRAINED_MODEL_DIR = "pretrained_model" | |
| TRAINING_STATE_DIR = "training_state" | |
| POLICY_PREPROCESSOR_DEFAULT_NAME = "policy_preprocessor" | |
| POLICY_POSTPROCESSOR_DEFAULT_NAME = "policy_postprocessor" | |
| if "LEROBOT_HOME" in os.environ: | |
| raise ValueError( | |
| f"You have a 'LEROBOT_HOME' environment variable set to '{os.getenv('LEROBOT_HOME')}'.\n" | |
| "'LEROBOT_HOME' is deprecated, please use 'HF_LEROBOT_HOME' instead." | |
| ) | |
| # cache dir | |
| default_cache_path = Path(HF_HOME) / "lerobot" | |
| HF_LEROBOT_HOME = Path(os.getenv("HF_LEROBOT_HOME", default_cache_path)).expanduser() | |
| # calibration dir | |
| default_calibration_path = HF_LEROBOT_HOME / "calibration" | |
| HF_LEROBOT_CALIBRATION = Path(os.getenv("HF_LEROBOT_CALIBRATION", default_calibration_path)).expanduser() | |
| # streaming datasets | |
| LOOKBACK_BACKTRACKTABLE = 100 | |
| LOOKAHEAD_BACKTRACKTABLE = 100 | |
| # openpi | |
| OPENPI_ATTENTION_MASK_VALUE = -65504.0 | |
| # LIBERO_KEY_* constants were removed (unused). A future LIBERO integration | |
| # should put them in a dedicated module to keep utils robot-agnostic. | |