Verbose setting for RewritePass for better logging and debugging
メンテナーはふだん 4 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
関連する ONNX IR パス実装の RewritePass と、tetracode/src/www/python/tetrai/compilers/onnx2onnx/optimizer.py の optimize_onnx_using_onnx_ir を確認する。パスがどのように構築され、ルールがどのように適用されるかを追跡し、そのうえで、オプションの verbose 設定がルール適用まで渡され、デフォルトの動作が変わらないことを検証する。両方の要求されたエントリポイントがその設定をサポートし、トリガーされたパスのログを確認できれば完了とする。
索引モデルが issue の本文から書いたものです。
説明
Problem: I want a setting to know if a pass is triggered.
Solution: Make a flag in RewritePass to be verbose or not.
Here is a proposal. Is there a batter way?
Change RewritePass:
class RewritePass(ir.passes.InPlacePass):
def __init__(
self,
rules: Sequence[pattern.RewriteRule] | pattern.RewriteRuleSet,
/,
verbose: int = 0, # ADD THIS
) -> None:
super().__init__()
if isinstance(rules, Sequence):
if not rules:
raise ValueError("rules must not be empty")
rules = pattern.RewriteRuleSet(rules)
assert isinstance(rules, pattern.RewriteRuleSet)
self.rules: pattern.RewriteRuleSet = rules
self.verbose = verbose # ADD THIS
def call(self, model: ir.Model) -> ir.passes.PassResult:
count = self.rules.apply_to_model(model, verbose=self.verbose if self.verbose else None) # CHANGE THIS LINE
if count:
print(f"Applied {count} of general pattern rewrite rules.")
return ir.passes.PassResult(model, bool(count))
File 2: tetracode/src/www/python/tetrai/compilers/onnx2onnx/optimizer.py
Add verbose parameter and pass it:
def optimize_onnx_using_onnx_ir(
onnx_model: rewriter._ModelProtoOrIr,
rewrite_rules: Sequence[rewriter.pattern.RewriteRule] | None = None,
logger: TetraLoggerAdapter = TetraLoggerAdapter(__name__),
verbose: int = 0, # ADD THIS
) -> rewriter._ModelProtoOrIr:
...
passes = [
...
rewriter.RewritePass(rewrite_rules, verbose=verbose), # ADD verbose HERE
...
]
- 主要言語
- Python
- スター
- 457
- フォーク
- 149
- 平均マージ
- 3日 18時間
- マージ済み PR(30日)
- 23
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/onnxscript のほかの issue
-
`fuse_skip_rms_normalization` fuses a float16 residual into a norm whose scale is float32, which ONNX Runtime rejects対応中かも @justinchuby が今日担当しました。 オープンmodule: optimizer
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
microsoft/onnxscript#3155 · コメント 3 件 · リアクション 1 件 · 担当者 2 名 ·
メンテナーはふだん 4 日以内に返信
-
Constant folding uses onnx's plain reference ops, never onnx.reference.ops_optimized対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
microsoft/onnxscript#3003 · コメント 3 件 ·
メンテナーはふだん 4 日以内に返信
-
CI : Pin github actions to full commit SHA対応中かも @Aniketsy が 186 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
microsoft/onnxscript#2903 · コメント 6 件 ·
メンテナーはふだん 4 日以内に返信
-
[torchlib] aten::upsample_linear1d.vec is not supported対応中かも @kyunggeunlee が今日担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
microsoft/onnxscript#3165 ·
メンテナーはふだん 4 日以内に返信
-
Batch-transpose fusion into `FusedMatMul` sets `transBatchA` on inputs of different ranks, which ONNX Runtime can't compute対応中かも @Syedmudassir1604 が 1 日前に担当しました。 オープンmodule: optimizer
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
microsoft/onnxscript#3156 ·
メンテナーはふだん 4 日以内に返信
microsoft/onnxscript の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
FinanceFlash/unvibecode#577 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area/test type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Clodmony/starship-coop#70 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
punitarani/fli#270 ·
-
🐛 Bug 🔔 Pending processing
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
jumpserver/jumpserver#17980 ·
メンテナーはふだん 1 日以内に返信
-
community enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信