reduce_log_sum_exp function, aka reduce_sum for mixtures
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- ocaml
- Área
- compilers
Línea de trabajo
Comienza rastreando los puntos de entrada existentes de reduce_sum y map_rect en stanc3, y luego inspecciona cómo se representa y se diferencia log_sum_exp. El issue no menciona archivos ni tests, así que identifica las rutas relevantes del compilador y añade cobertura que demuestre que reduce_log_sum_exp marginaliza los términos de las variables discretas y contribuye correctamente a target.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I have a situation where I'd like use something like reduce_sum, but it's for marginalizing out a discrete variable, so the reduction is log-sum-exp rather than just sum.
The general pattern for marginalizing out a discrete variable is this:
vector[K] lp;
for (z in 1:K)
lp[z] = log p(z) + log p(y | z, x, theta);
target += log_sum_exp(lp);
It'd be nice to have a reduce_log_sum_exp function that works just like reduce_sum, only with log_sum_exp rather than sum as the final reduction before adding to target.
The log-sum-exp gradient itself can be done analytically as part of the reduction, which will save a whole bunch of storage relative to just using map_rect and doing the log-sum-exp on the result.
- Lenguaje dominante
- OCaml
- Estrellas
- 162
- Forks
- 60
- Merge medio
- 2 d 22 h
- PR fusionados (30 d)
- 14
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 stan-dev/stanc3
-
optimization performance robustness
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
stan-dev/stanc3#1761 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
-
feature
Dificultad 4/5 1-2 días Aptitud para principiantes 52/100
stan-dev/stanc3#1757 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
cleanup help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 22/100
Los mantenedores suelen responder en 1 día
-
cpp-codegen feature performance
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
stan-dev/stanc3#1722 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
feature optimization
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Los mantenedores suelen responder en 1 día
Todos los issues de stan-dev/stanc3
Issues similares
-
mlir
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
llvm/llvm-project#241070 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
from-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug scope:codegen
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
bug sev-3
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 4 días