Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Initial observation padding changes when source arrays are reused

Offen Anfängerfreundlich
#559 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
85/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
numpy, python

Rechercherichtung

Beginnen Sie mit dm_control/composer/observation/obs_buffer.py und dem Buffer-Padding-Pfad; führen Sie zuerst die NumPy-Reproduktion des Issues aus. Prüfen Sie die bestehende Behandlung regulär eingefügter Beobachtungen und den im Bericht beschriebenen Updater-Pfad. Verifizieren Sie anschließend, dass das initiale Padding unverändert bleibt, nachdem sich das Quellarray oder der Simulationszustand geändert hat, während Reihenfolge, Zero-Padding, Größen und spätere Beobachtungen intakt bleiben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Reproduction

Initial-value observation padding retains a reference to the caller's array. Reusing that array changes the apparent initial observations, although normally inserted observations are copied.

import numpy as np
from dm_control.composer.observation.obs_buffer import Buffer

source = np.array([3., 7.])
buffer = Buffer(3, source.shape, source.dtype, pad_with_initial_value=True)
buffer.insert(timestamp=0, delay=0, value=source)
source[:] = -1
print(buffer.read(0))
# [[-1., -1.], [-1., -1.], [3., 7.]]
# Expected three copies of [3., 7.].

With a delayed first sample, all padding entries can change before that sample arrives. The same behavior occurs through the actual observation Updater when a Generic observable exposes physics.data.qpos: advancing MuJoCo rewrites padding intended to represent the initial state, including when mean aggregation is used.

Expected behavior

Snapshot the initial value before using it to fill the padding entries, consistently with regular inserted observations. Preserve arrival ordering, zero padding, buffer sizes, source data and subsequent observations.

Reproduced on main at a04e3e4cf56c12117d2294bb090f9acec21e5c67. The regression uses real buffer/updater code and a minimal native MuJoCo simulation, without rendering or trained agents.

Vorherrschende Sprache
Python
Sterne
4.7k
Forks
765
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus google-deepmind/dm_control

Alle Issues in google-deepmind/dm_control

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.