`hcat` rule is wrong for `[I array]`
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 45/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- julia
調査の方向性
まず、issue の rrule(hcat, I, 11:13) の例を再現し、#614 で導入された hcat ルールを調べてください。ルールが [I array] に対して推論されたサイズを正しく処理し、表示された入力に対して期待される接線を返せば、修正は完了です。
索引モデルが issue の本文から書いたものです。
説明
In expressions like this, hcat figures out the size of I automatically, but the rrule assumes it behaves like a number:
julia> y = hcat(I, 11:13)
3×4 Matrix{Int64}:
1 0 0 11
0 1 0 12
0 0 1 13
julia> using ChainRules: rrule, unthunk
julia> dy = reshape(1:12, 3, 4)
3×4 reshape(::UnitRange{Int64}, 3, 4) with eltype Int64:
1 4 7 10
2 5 8 11
3 6 9 12
julia> rrule(hcat, I, 11:13)[2](dy) .|> unthunk
(ChainRulesCore.NoTangent(), ChainRulesCore.NoTangent(), [4.0, 5.0, 6.0])
Bug seen here: https://discourse.julialang.org/t/jacobian-vectors-in-zygote/121381 . Originally introduced in #614.
- 主要言語
- Julia
- スター
- 476
- フォーク
- 99
- 平均マージ
- 1日 1時間
- マージ済み PR(30日)
- 5
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
JuliaDiff/ChainRules.jl のほかの issue
-
`rand(1:n, k)` inside a Zygote gradient errors since 1.74.3対応中かも @devmotion が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
JuliaDiff/ChainRules.jl#854 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 55/100
JuliaDiff/ChainRules.jl#818 ·
メンテナーはふだん 1 日以内に返信
-
refactoring
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
JuliaDiff/ChainRules.jl#815 ·
メンテナーはふだん 1 日以内に返信
-
stack overflow issueオープン
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
JuliaDiff/ChainRules.jl#809 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
JuliaDiff/ChainRules.jl#803 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
JuliaDiff/ChainRules.jl の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
bmad-sim/BeamTracking.jl#382 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信