Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

import dpsynth fails because mbi.Dataset is registered as a JAX dataclass twice

Aperta Adatta ai principianti
#202 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

@hanzalaareeb ci sta già lavorando.

Dal 27/9/2026.

  • #209 di @hanzalaareeb — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
75/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
jupyter-notebook, python
Ambito
tooling

Direzione di ricerca

Il problema si trova in dpsynth/checkpoint.py dove mbi.Dataset viene registrato una seconda volta come una dataclass JAX. Controlla il sorgente di mbi per confermare la sua registrazione, quindi rimuovi la registrazione duplicata in checkpoint.py. Testa importando dpsynth in un ambiente nuovo per assicurarti che non si verifichi un ValueError. Dovrebbe essere aggiunto un test di regressione per l'importazione per prevenirne il ripetersi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

A fresh minimal installation from main succeeds, but importing DPSynth fails.

Environment:

  • WSL2 Linux x86_64
  • CPython 3.12.3
  • pip 26.2.1
  • dpsynth 0.4.0 (ba212434752f67a128c962e3ca3e2be5b53d2253)
  • mbi 2.0.0 (025b76f84f40256529732e98d93c1139fb2153d8)
  • jax/jaxlib 0.11.0

Installation:

pip install "dpsynth @ git+https://github.com/google/dpsynth.git"

installation completes successfully, but:

python -c "import dpsynth; print(dpsynth.__version__)"

fails with:

ValueError: Duplicate custom dataclass PyTreeDef type registration for
<class 'mbi.dataset.Dataset'>.

MBI already registers Dataset:

@jax.tree_util.register_dataclass
@dataclasses.dataclass(frozen=True, eq=False)
class Dataset:

DPSynth registers it again in dpsynth/checkpoint.py:

jax.tree_util.register_dataclass(
    mbi.Dataset,
    data_fields=["data", "weights"],
    meta_fields=["domain"],
)

The DPSynth-side registration should likely be removed now that MBI owns the
registration. A clean-environment regression test for import dpsynth would
also prevent this from recurring.

Lingua principale
Python
Stelle
32
Fork
13
Merge medio
1g 19h
PR unite (30g)
20

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di google/dpsynth

Tutte le issue di google/dpsynth

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.