Built-in observation aggregators drop bounds-preserving specifications
評估
研究方向
Start by locating base.AGGREGATORS and Updater.observation_spec(), then reproduce the AttributeError and the bounded Generic observable case described in the issue. Check that min, max, mean and median retain scalar or per-element bounds while sum remains unbounded, without changing value, shape/dtype, custom-aggregator or unbounded-input behavior.
由索引模型根據 Issue 內容生成。
描述
Reproduction
Built-in observation aggregators declare a bounds_reserving attribute, while Updater.observation_spec() reads preserves_bounds. Consequently, even min, max, mean and median are treated as having unknown bound behavior: the updater logs a warning and returns an unbounded Array instead of retaining a BoundedArray specification.
The problem is visible directly:
from dm_control.composer.observation.observable import base
assert base.AGGREGATORS['mean'].preserves_bounds is True
# AttributeError: functools.partial has no attribute preserves_bounds
A bounded Generic observable reduced with the built-in mean loses its limits through the actual Updater. Returned values remain in bounds, but the resulting specification no longer rejects out-of-bounds inputs.
Expected behavior
Use the attribute name already documented and consumed by Updater. The four bounds-preserving reducers should retain scalar or per-element limits, while sum must remain unbounded. Preserve reduced values, shape/dtype inference, custom-aggregator behavior and unbounded inputs.
Reproduced on main at a04e3e4cf56c12117d2294bb090f9acec21e5c67, including a native MuJoCo observation sequence. No renderer, external services or model inference is needed.
- 主要語言
- Python
- 星號
- 4.7k
- 分支
- 772
- PR 合併指標
- 30 天內沒有已合併 PR
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
google-deepmind/dm_control 的其他 Issue
-
Initial observation padding changes when source arrays are reused可能已有人在做 @sylvesterkaczmarek 於 27 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 85/100
google-deepmind/dm_control#559 ·
-
Small quaternion rotations are lost in axis-angle conversion可能已有人在做 @sylvesterkaczmarek 於 22 天前認領。 未關閉
難度 3/5 1-2 天 新手友好度 68/100
google-deepmind/dm_control#563 ·
-
Flattened observations disagree with explicitly declared task specifications可能已有人在做 @sylvesterkaczmarek 於 27 天前認領。 未關閉
難度 3/5 1-2 天 新手友好度 74/100
google-deepmind/dm_control#557 ·
-
Schema regeneration in 985d0940 dropped three declarations MuJoCo 3.12 accepts (contact sensor, jointinparent references, custom numeric arrays)可能已有人在做 @shoemoney 於 62 天前認領。 未關閉
難度 3/5 1-2 天 新手友好度 76/100
google-deepmind/dm_control#552 ·
-
DeprecationWarning: Setting the shape on a NumPy array has been deprecated in NumPy 2.5.可能已有人在做 @Trenza1ore 於 107 天前認領。 未關閉
難度 3/5 1-2 天 新手友好度 45/100
google-deepmind/dm_control#540 · 1 則留言 ·
查看 google-deepmind/dm_control 的全部 Issue
相似的 Issue
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog check可能已有人在做 @ocelotl 今天認領。 未關閉
難度 1/5 1 小時以內 新手友好度 82/100
open-telemetry/opentelemetry-python#5825 ·
維護者通常 2 天內回覆
-
難度 2/5 1-3 小時 新手友好度 72/100
cuga-project/cuga-agent#1020 ·
維護者通常 2 天內回覆
-
難度 1/5 1 小時以內 新手友好度 70/100
microsoft/playwright#43640 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 84/100
stac-utils/stac-fastapi-elasticsearch-opensearch#965 ·
維護者通常 2 天內回覆
-
from-review-extraction library privacy python severity:suggested
難度 2/5 1-3 小時 新手友好度 83/100
LearningCircuit/local-deep-research#7951 ·
維護者通常 2 天內回覆