`test_rrule` failed when pullback return array buffer allocated in rrule.
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
- testing-qa
Direzione di ricerca
Inizia con test_rrule e con il fallimento segnalato in check_result.jl alla riga 24, quindi riproduci gli esempi f1 e f2 dell’issue. Traccia il modo in cui vengono invocati i pullbacks e il modo in cui vengono confrontati gli array restituiti; il lavoro è completato quando le regole valide che usano un buffer di ritorno allocato non falliscono più a causa di controlli ripetuti dei pullback, mentre le discrepanze effettive continuano a fallire.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
MWE:
julia> using ChainRulesCore, ChainRulesTestUtils
julia> f(x) = x .* fill(2, size(x))
f (generic function with 1 method)
julia> f1(x) = f(x)
f1 (generic function with 1 method)
julia> f2(x) = f(x)
f2 (generic function with 1 method)
julia> function ChainRulesCore.rrule(::typeof(f1), x)
tmp = similar(x)
fill!(tmp, 2)
y = x .* tmp
function pullback(Ȳ)
tmp .*= Ȳ
∂ = tmp
return (NoTangent(), ∂)
end
return y, pullback
end
julia> function ChainRulesCore.rrule(::typeof(f2), x)
tmp = similar(x)
fill!(tmp, 2)
y = x .* tmp
function pullback(Ȳ)
∂ = tmp .* Ȳ
return (NoTangent(), ∂)
end
return y, pullback
end
julia> test_rrule(f2, [1.0,2.0,3.0])
Test.DefaultTestSet("test_rrule: f2 on Vector{Float64}", Any[], 7, false, false, true, 1.666336561747233e9, 1.666336562127431e9)
julia> test_rrule(f1, [1.0,2.0,3.0])
test_rrule: f1 on Vector{Float64}: Test Failed at /home/peter/.julia/packages/ChainRulesTestUtils/YbVdW/src/check_result.jl:24
Expression: isapprox(actual, expected; kwargs...)
Evaluated: isapprox([32.0, 132.5192, 18.7272], [-7.999999999999777, 16.27999999999986, -6.120000000000349]; rtol = 1.0e-9, atol = 1.0e-9)
Stacktrace:
[...]
It seems a single pullback is called multiple times without being recreated by rrule and thus the assign the value to the same place multiple times.
- Lingua principale
- Julia
- Stelle
- 50
- Fork
- 18
- 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/ChainRulesTestUtils.jl
-
code snippet in readmeAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
JuliaDiff/ChainRulesTestUtils.jl#148 · 1 reazione ·
-
use DocThemeIndigoApertadocumentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
-
mutation
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
Tutte le issue di JuliaDiff/ChainRulesTestUtils.jl
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
JuliaGenAI/HuggingFaceDatasets.jl#96 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
JuliaData/DBFTables.jl#50 ·
-
`reshape` of a traced `OneHotArray` fails: `materialize_traced_array` returns a lazy `ReshapedArray`Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
EnzymeAD/Reactant.jl#3504 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
_fit_phylo_binomial_xlv: default start calls undefined logit (UndefVarError without beta_init)Forse già presa @itchyshin l’ha presa oggi. Apertacode-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100