Gradients with respect to struct fields?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Esegui il riproduttore Julia fornito, confrontando Zygote.gradient e ForwardDiff.gradient per bar e Foo. Leggi i punti di ingresso ForwardDiff.gradient e Zygote.gradient per determinare come vengono gestiti i campi delle struct; il lavoro sarà completo con una risposta verificata e chiaramente documentata sul supporto dei gradienti sui campi di Foo o sulla limitazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
In Zygote.jl, we can take the gradient with respect to all fields of a struct foo passed through a function bar via
g = Zygote.gradient(f -> bar(f), foo)
Can this be done in ForwardDiff as well?
Reproducer:
using Zygote
using ForwardDiff
struct Foo
x::Number
t::Number
c::Number
end
function bar(f::Foo)
return f.x - f.c*f.t
end
foo = Foo(2, 3, 3e8)
println(foo)
g = Zygote.gradient(f -> bar(f), foo)
println(g)
g = ForwardDiff.gradient(f -> bar(f), foo)
println(g)
- Lingua principale
- Julia
- Stelle
- 1k
- Fork
- 162
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaDiff/ForwardDiff.jl
-
missing floatmin, floatmax, and issubnormal for DualForse già presa @devmotion l’ha presa 18 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
JuliaDiff/ForwardDiff.jl#852 · 6 commenti ·
-
`fma` and `muladd` ignore NaN-safe modeForse già presa @devmotion l’ha presa 4 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
JuliaDiff/ForwardDiff.jl#860 ·
-
Enable NaN-safe mode by defaultForse già presa @devmotion l’ha presa 5 giorni fa. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
JuliaDiff/ForwardDiff.jl#857 · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
JuliaDiff/ForwardDiff.jl#854 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 75/100
JuliaDiff/ForwardDiff.jl#849 ·
Tutte le issue di JuliaDiff/ForwardDiff.jl
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
WaterLily-jl/WaterLily.jl#367 ·
I maintainer di solito rispondono entro 1 giorno
-
R_to_gamma and R_to_v are wrong for |Z| != 1 (e.g. heavy ions)Forse già presa @DavidSagan l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
bmad-sim/BeamTracking.jl#366 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
SciML/PETScDiffEq.jl#277 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue help wanted
Difficoltà 2/5 Mezza giornata Idoneità per principianti 82/100
-
SavedSubsystem with an integer save_idxs maps the index the wrong way roundForse già presa @ChrisRackauckas l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
SciML/SciMLBase.jl#1643 ·
I maintainer di solito rispondono entro 2 giorni