no method matching setindex!(::ChainRulesCore.NoTangent, ::Float64, ::Int64)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- julia
- Ambito
- machine-learning
Direzione di ricerca
Riproduci il fallimento con identity_loop e AD.jacobian, quindi inizia leggendo indexing.jl di ChainRules alla regola setindex! e le voci di Diffractor in stage1/forward.jl mostrate nello stack trace. Traccia come il valore NoTangent raggiunge setindex! e verifica che l'esempio della Jacobiana di identity-loop si completi senza il MethodError riportato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Simple example of taking the jacobian of the identity function, but the identity function allocates a new vector and assigns by iteration:
function identity_loop(x)
y = similar(x)
for i in eachindex(x, y)
y[i] = x[i]
end
return y
end
julia> AD.jacobian(Diffractor.DiffractorForwardBackend(), identity_loop, rand(2))
ERROR: MethodError: no method matching setindex!(::ChainRulesCore.NoTangent, ::Float64, ::Int64)
Stacktrace:
[1] frule(::Tuple{…}, ::typeof(setindex!), x::Vector{…}, v::Float64, inds::Int64)
@ ChainRules ~/.julia/packages/ChainRules/9sNmB/src/rulesets/Base/indexing.jl:215
[2] (::Diffractor.∂☆internal{1})(::ZeroBundle{1, typeof(setindex!)}, ::Vararg{Diffractor.AbstractTangentBundle{1}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:119
[3] (::Diffractor.∂☆{1})(::ZeroBundle{1, typeof(setindex!)}, ::Vararg{Diffractor.AbstractTangentBundle{1}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:160
[4] identity_loop
@ Diffractor ./REPL[11]:4 [inlined]
[5] (::Diffractor.∂☆recurse{…})(::ZeroBundle{…}, ::Diffractor.TangentBundle{…})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/recurse_fwd.jl:0
[6] (::Diffractor.∂☆internal{1})(::ZeroBundle{1, typeof(identity_loop)}, ::Vararg{Diffractor.AbstractTangentBundle{1}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:121
[7] (::Diffractor.∂☆{1})(::ZeroBundle{1, typeof(identity_loop)}, ::Vararg{Diffractor.AbstractTangentBundle{1}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:160
[8] (::Diffractor.var"#pushforward#359")(vs::Any)
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/AbstractDifferentiation.jl:13 [inlined]
[9] (::Diffractor.var"#358#362")(cols::Any)
@ Diffractor ~/.julia/packages/AbstractDifferentiation/eEkWP/src/AbstractDifferentiation.jl:526 [inlined]
[10] mapslices(f::Diffractor.var"#358#362"{Diffractor.var"#pushforward#359"{…}}, A::Matrix{Float64}; dims::Int64)
@ Base ./abstractarray.jl:3179
[11] jacobian(b::Diffractor.DiffractorForwardBackend, f::Function, args::Vector{Float64})
@ Diffractor ~/.julia/packages/AbstractDifferentiation/eEkWP/src/AbstractDifferentiation.jl:524
- Lingua principale
- Julia
- Stelle
- 453
- Fork
- 33
- 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/Diffractor.jl
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 25/100
JuliaDiff/Diffractor.jl#302 · 2 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
JuliaDiff/Diffractor.jl#294 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
JuliaDiff/Diffractor.jl#293 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
JuliaDiff/Diffractor.jl#290 · 8 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
JuliaDiff/Diffractor.jl#280 · 1 commento ·
Tutte le issue di JuliaDiff/Diffractor.jl
Issue simili
-
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
-
TSDAE's docstring implies a theta argument it does not takeForse già presa @singhharsh1708 l’ha presa oggi. Apertadocumentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
SciML/PETScDiffEq.jl#282 ·
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 Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
SciML/SciMLBase.jl#1643 ·
I maintainer di solito rispondono entro 2 giorni
-
authority-vechtstromen ready-for-agent
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
Deltares/Ribasim-NL#890 ·
I maintainer di solito rispondono entro 1 giorno