feat(dataset): preserve depth and mask camera frames#422
feat(dataset): preserve depth and mask camera frames#422alectimison-maker wants to merge 3 commits into
Conversation
|
Hi @alectimison-maker , thanks for your contribution.
Could you please provide more details about the issue you encountered, including the environment, installation steps, and relevant error logs? This information would help us reproduce and investigate the problem. |
|
Thanks for asking—my original wording was imprecise. My initial attempt used the default PyPI index, while EmbodiChain's installation guide requires the DexForce index. I have now retried using the documented index and updated the PR description. Environment:
Reproduction command: python3.10 -m venv /tmp/embodichain-maintainer-repro
/tmp/embodichain-maintainer-repro/bin/python -m pip install --upgrade pip
/tmp/embodichain-maintainer-repro/bin/python -m pip install dexsim_engine==0.4.3 \
--extra-index-url http://pyp.open3dv.site:2345/simple/ \
--trusted-host pyp.open3dv.site -vRelevant output: The package index does contain version 0.4.3, but only these platform files: So the corrected conclusion is that the official version exists, but there is no compatible macOS arm64 wheel for this local host. This is not an issue with the version being absent from the DexForce index. The Linux x86_64 CI build/test jobs are currently queued; I will use those as the authoritative full-environment validation and address any actionable failures. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
tests/gym/envs/managers/test_dataset_functors.py:28
- The test module overwrites the imported
LEROBOT_AVAILABLEflag withTrueinside the LeRobot importtry:block. This makes@pytest.mark.skipif(not LEROBOT_AVAILABLE, ...)ineffective and can cause test failures on installs wherelerobotis not present (e.g., patching...datasets.LeRobotDatasetwill raise when the symbol is missing).
from tensordict import TensorDict
from unittest.mock import MagicMock, Mock, patch
# Skip all tests if LeRobot is not available
try:
Description
LeRobotRecordercurrently exports RGB frames but drops camera depth andsegmentation-mask observations. This makes the generated dataset incomplete for
policies that consume geometry or semantic labels.
This PR adds first-class numeric LeRobot features for those modalities:
observation.depth.<sensor>andobservation.mask.<sensor><sensor>_rightvariants for stereo-camera framesfloat32depth andint32masks)
lossy image codec
support
The implementation derives both the feature schema and each recorded frame from
the observation-space frame names. It also removes the separate stereo-camera
branch, ensuring that schemas and frame conversion use the same key mapping.
No new runtime dependency is introduced.
Type of change
Screenshots
Not applicable; this change affects structured dataset output.
Validation
11 passedfortests/gym/envs/managers/test_dataset_functors.pyin anisolated Python 3.10 environment with LeRobot 0.4.4. The test module was
executed through a minimal import harness because the repository's top-level
pytest configuration imports the simulation engine before test collection.
black --check --target-version py310 embodichain/lab/gym/envs/managers/datasets.py tests/gym/envs/managers/test_dataset_functors.pypython -m py_compilefor both changed Python filesgit diff --checkThe complete repository test suite could not be collected locally on this
development host:
Following the repository installation guide, I retried with:
The DexForce index contains CPython 3.10 and 3.11 wheels for
manylinux_2_31_x86_64, but no macOS arm64 wheel. pip therefore filters allpublished files and reports:
This is a local platform-wheel limitation, not an absence of version 0.4.3 from
the DexForce index. The Linux x86_64 CI run remains the authoritative full-suite
check.
Checklist