Support MutableTangent automatically
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Lee el comentario enlazado de la issue y el PR 626, y luego inspecciona los puntos de entrada StructuralTangent y test_frule. Verifica que los primals mutables seleccionen automáticamente MutableTangent en modo forward, y determina si el modo reverse debería recibir el mismo tratamiento. Se considera terminado cuando el ejemplo proporcionado de setfield! funciona sin un tipo de tangent explícito.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This is a follow up to https://github.com/JuliaDiff/ChainRulesCore.jl/issues/105#issuecomment-1655958008
Right now, using https://github.com/JuliaDiff/ChainRulesCore.jl/pull/626 if you want to test something that MutableTangent that does work e.g.:
test_frule(setfield!, MDemo(3.5)⊢MutableTangent{MDemo}(x=2.0), :x, 5.0)
But if you just do:
test_frule(setfield!, MDemo(3.5), :x, 5.0)
you get an error because the default type we use for structural tangents is the immutable Tangent
We could use the StructuralTangent constructor to automatically chose MutableTangent for mutable primals.
we would want to do that forwardward mode, at least. Not sure if we should also do that in reverse
- Lenguaje dominante
- Julia
- Estrellas
- 50
- Forks
- 18
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 JuliaDiff/ChainRulesTestUtils.jl
-
code snippet in readmeAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
JuliaDiff/ChainRulesTestUtils.jl#148 · 1 reacción ·
-
use DocThemeIndigoAbiertodocumentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
more `test_approx` ambiguitiesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Todos los issues de JuliaDiff/ChainRulesTestUtils.jl
Issues similares
-
Add more snippets to R and JuliaAbiertoenhancement good first issue help wanted
Dificultad 2/5 Medio día Aptitud para principiantes 82/100
-
authority-vechtstromen ready-for-agent
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Deltares/Ribasim-NL#890 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Precompilation fails on Julia 1.14 nightly: HessenbergQ lmul! methods overwrite LinearAlgebra'sAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
JuliaLinearAlgebra/GenericLinearAlgebra.jl#183 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
JuliaGPU/KernelAbstractions.jl#897 ·
Los mantenedores suelen responder en 1 día