Migrate discrete mechanisms from internal accounting utilities to dp_accounting
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
Línea de trabajo
Comienza rastreando los usos restantes de dpsynth/discrete_mechanisms en el módulo interno accounting.py y, a continuación, compara las API relevantes de eventos y conversiones en dp_accounting, incluido RdpAccountant. Ejecuta o añade pruebas de equivalencia para las conversiones de zCDP y GDP cuando corresponda; el trabajo estará completo cuando exista una ruta de migración confirmada o razones documentadas para los helpers que deban permanecer locales.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
dpsynth/discrete_mechanisms currently relies on the internal accounting.py module, which is intended to be deprecated by dp_accounting
I looked into the remaining usages to understand whether the discrete mechanisms could be migrated.
There appear to be direct equivalents for the event representation:
- ZCDpEvent(rho) → dp_accounting.dp_event.ZCDpEvent(rho)
- ComposedDpEvent → dp_accounting.dp_event.ComposedDpEvent
dp_accounting also explicitly uses the same Gaussian/zCDP relationship when handling a ZCDpEvent with xi == 0:
noise_multiplier = 1 / sqrt(2 * rho)
which is mathematically equivalent to the current zcdp_gaussian_sigma() implementation:
sqrt(0.5 / rho).
The remaining helpers in the internal module include conversions/calibration such as zcdp_eps, zcdp_delta, zcdp_rho, zcdp_exponential_eps, and the GDP helpers. Some may be replaceable through RdpAccountant (get_epsilon/get_delta), while others appear to be simple mechanism-calibration formulas that may need to remain local.
Before working on the migration, I wanted to check whether there are known numerical or semantic differences between the existing zCDP accounting implementation and dp_accounting, or another reason the discrete mechanisms have intentionally remained on the internal accounting utilities.
If migration is the intended direction, I'm interested in working on it and can first add equivalence tests for the relevant conversions.
- Lenguaje dominante
- Python
- Estrellas
- 32
- Forks
- 13
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 20
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de google/dpsynth
-
import dpsynth fails because mbi.Dataset is registered as a JAX dataclass twicePosiblemente ocupada @hanzalaareeb la tomó hace 12 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 2 días
-
Clarify installation requirements in quickstart.ipynbPosiblemente ocupada @hanzalaareeb la tomó hace 11 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
google/dpsynth#194 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
`IndependentConfig` synthesis raises "Cliques must be unique."Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 2 días
-
Windows install of pylock.toml fails on the pipeline extra due to missing Windows wheel for python-dpPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
Add an option to control the maximum marginal degree in AIM workload constructionPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
google/dpsynth#199 · 3 comentarios ·
Los mantenedores suelen responder en 2 días
Todos los issues de google/dpsynth
Issues similares
-
enhancement good first issue Stellar Wave trivial
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
StellarCanary/ProtocolCanary-Fixtures#258 ·
Los mantenedores suelen responder en 1 día
-
github_actions
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Hochfrequenz/aibap.mcp#578 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
mishraprafful/multihull#150 ·
Los mantenedores suelen responder en 1 día
-
mp: /status reports the server class name as engine_type, not the configured enginePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
python-caldav/caldav#735 ·
Los mantenedores suelen responder en 1 día