TypeError: in new, expected DataType, got Type{ZeroBundle{1, B}}
還沒有人認領這個 Issue。
評估
研究方向
首先重現 identity_comprehension jacobian 範例。接著檢查 Diffractor 的 tangent.jl 第 148 行和第 251 行附近的程式碼,然後檢查 forward 和 recurse_fwd.jl 的堆疊框架位置,以追蹤無效的切向量建構。範例能夠在沒有 TypeError 的情況下計算出 jacobian 即表示完成。
由索引模型根據 Issue 內容生成。
描述
Simple example of taking the jacobian of the identity function, but the identity function is a comprehension
julia> import AbstractDifferentiation as AD
julia> function identity_comprehension(x)
return [x[i] for i in eachindex(x)]
end
identity_comprehension (generic function with 1 method)
julia> AD.jacobian(Diffractor.DiffractorForwardBackend(), identity_comprehension, rand(2))
ERROR: TypeError: in new, expected DataType, got Type{ZeroBundle{1, B}}
Stacktrace:
[1] _TangentBundle
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/tangent.jl:148 [inlined]
[2] TangentBundle
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/tangent.jl:251 [inlined]
[3] (::Diffractor.∂☆internal{1})(args::Vararg{Diffractor.AbstractTangentBundle{1}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:149 [inlined]
[4] (::Diffractor.∂☆{N})(args::Vararg{Diffractor.AbstractTangentBundle{N}}) where N
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:160 [inlined]
[5] collect
@ Diffractor ./array.jl:841 [inlined]
[6] (::Diffractor.∂☆recurse{…})(::ZeroBundle{…}, ::Diffractor.CompositeBundle{…})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/recurse_fwd.jl:0
[7] (::Diffractor.∂☆internal{1})(::ZeroBundle{1, typeof(collect)}, ::Vararg{Diffractor.AbstractTangentBundle{1}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:121
[8] (::Diffractor.∂☆{1})(::ZeroBundle{1, typeof(collect)}, ::Vararg{Diffractor.AbstractTangentBundle{1}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:160
[9] identity_comprehension
@ Diffractor ./REPL[7]:2 [inlined]
[10] ∂☆internal
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:121 [inlined]
[11] (::Diffractor.∂☆{N})(args::Vararg{Diffractor.AbstractTangentBundle{N}}) where N
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:160 [inlined]
[12] (::Diffractor.var"#pushforward#359"{typeof(identity_comprehension), Tuple{Vector{Float64}}})(vs::Tuple{Vector{Float64}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/AbstractDifferentiation.jl:13
[13] (::Diffractor.var"#358#362")(cols::Any)
@ Diffractor ~/.julia/packages/AbstractDifferentiation/eEkWP/src/AbstractDifferentiation.jl:526 [inlined]
[14] mapslices(f::Diffractor.var"#358#362"{Diffractor.var"#pushforward#359"{…}}, A::Matrix{Float64}; dims::Int64)
@ Base ./abstractarray.jl:3179
[15] jacobian(b::Diffractor.DiffractorForwardBackend, f::Function, args::Vector{Float64})
@ Diffractor ~/.julia/packages/AbstractDifferentiation/eEkWP/src/AbstractDifferentiation.jl:524
- 主要語言
- Julia
- 星號
- 453
- 分支
- 33
- PR 合併指標
- 30 天內沒有已合併 PR
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
JuliaDiff/Diffractor.jl 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 25/100
JuliaDiff/Diffractor.jl#302 · 2 則留言 ·
-
難度 3/5 1-2 天 新手友好度 52/100
JuliaDiff/Diffractor.jl#294 ·
-
bug
難度 4/5 3-5 天 新手友好度 35/100
JuliaDiff/Diffractor.jl#293 ·
-
bug
難度 4/5 3-5 天 新手友好度 35/100
JuliaDiff/Diffractor.jl#290 · 8 則留言 ·
-
難度 3/5 1-2 天 新手友好度 35/100
JuliaDiff/Diffractor.jl#280 · 1 則留言 ·
查看 JuliaDiff/Diffractor.jl 的全部 Issue
相似的 Issue
-
TSDAE's docstring implies a theta argument it does not take可能已有人在做 @singhharsh1708 今天認領。 未關閉documentation
難度 1/5 1 小時以內 新手友好度 74/100
SciML/PETScDiffEq.jl#282 ·
維護者通常 1 天內回覆
-
enhancement good first issue help wanted
難度 2/5 半天 新手友好度 82/100
-
難度 2/5 1-3 小時 新手友好度 78/100
SciML/SciMLBase.jl#1643 ·
維護者通常 2 天內回覆
-
authority-vechtstromen ready-for-agent
難度 1/5 1 小時以內 新手友好度 75/100
Deltares/Ribasim-NL#890 ·
維護者通常 1 天內回覆
-
難度 1/5 1 小時以內 新手友好度 88/100
維護者通常 1 天內回覆