AutoFastDifferentiation not working with NamedTuple context
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Comienza con la ruta de AutoFastDifferentiation y los métodos variablize mostrados en el error; después, reproduce el MWE proporcionado de Optimization.jl con un contexto de parámetros NamedTuple. Se considera completado cuando el MWE se ejecuta correctamente con AutoFastDifferentiation, sin el error de método faltante; compara su comportamiento con AutoForwardDiff.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Issue
AutoFastDifferentiation is not able to deal with a NamedTuple context which could happen when the parameters of an optimization is a NamedTuple.
The error message:
ERROR: MethodError: no method matching variablize(::@NamedTuple{v1::Float64, v2::Float64}, ::Symbol)
Closest candidates are:
variablize(::AbstractArray, ::Symbol)
variablize(::Number, ::Symbol)
MWE
Example taken from Optimization.jl, and modified to have a NamedTuple as p and use AutoFastDifferentiation
using Optimization
import FastDifferentiation
rosenbrock(u, p) = (p.v1 - u[1])^2 + p.v2 * (u[2] - u[1]^2)^2
u0 = zeros(2)
p = (v1=1.0, v2=100.0)
optf = OptimizationFunction(rosenbrock, AutoFastDifferentiation())
prob = OptimizationProblem(optf, u0, p)
sol = solve(prob, Optimization.LBFGS())
AutoForwardDiff works fine.
- Lenguaje dominante
- Julia
- Estrellas
- 317
- Forks
- 38
- Merge medio
- 2 d 15 h
- PR fusionados (30 d)
- 3
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 JuliaDiff/DifferentiationInterface.jl
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
JuliaDiff/DifferentiationInterface.jl#1069 · 1 comentario ·
-
bot
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
JuliaDiff/DifferentiationInterface.jl#1011 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
AutoEnzyme Jacobian preparation scalar-indexes Reactant traced arraysQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertobackend wontfix
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
JuliaDiff/DifferentiationInterface.jl#1066 · 10 comentarios ·
-
Split preparation methods into 4Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Todos los issues de JuliaDiff/DifferentiationInterface.jl
Issues similares
-
release preparation spack
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día
-
30-minutes algorithm any-language codewars dart easy elixir hackerrank hacktoberfest haskell help wanted interview-prep julia leetcode lua open-source r scala students zig
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Huerte/algo-solutions-python#163 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
QuantumSavory/QuantumClifford.jl#853 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
JuliaPackaging/Yggdrasil#15441 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
JuliaSmoothOptimizers/Penelopt.jl#260 ·
Los mantenedores suelen responder en 1 día