Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

`hcat` rule is wrong for `[I array]`

オープン
#810 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
julia

調査の方向性

まず、issue の rrule(hcat, I, 11:13) の例を再現し、#614 で導入された hcat ルールを調べてください。ルールが [I array] に対して推論されたサイズを正しく処理し、表示された入力に対して期待される接線を返せば、修正は完了です。

索引モデルが issue の本文から書いたものです。

説明

bug

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 を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

JuliaDiff/ChainRules.jl のほかの issue

JuliaDiff/ChainRules.jl の issue をすべて見る

似ている issue

Julia の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。