Ground truth: expand Python-side op coverage to match OperationExecutor

未關閉
#985 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
48/100
Issue 類型
功能
描述清晰度
基本清楚
活躍度
冷清
技術堆疊
kotlin, python

研究方向

Start with the existing TS-001 suite and CONTRACT.md to follow the @Executable(op_type, op_params) convention and understand which PyTorch arguments must be recorded. Add TS-XXX/UC-YYY.py suites for currently unfixtured operations, beginning with the suggested simpler operations. Run ./gradlew generateGroundTruth jvmTest; done means the new fixtures are generated and SKaiNET’s existing implementations pass against them.

由索引模型根據 Issue 內容生成。

描述

coding enhancement sub-issue

Sub-issue of #984.

skainet-test-groundtruth's OperationExecutor already dispatches ~25 op names to
SKaiNET's TensorOps (matmul, transpose, relu, leakyRelu, elu, sigmoid, silu, gelu,
softmax, logSoftmax, maxpool2d, avgpool2d, sum, mean, variance, squeeze, unsqueeze,
conv1d, ...) — but skainet-ground-truth's Python side currently only produces tagged
op_type fixtures for add, subtract, conv2d, flatten. Most of the dispatch
logic is untested by anything real today.

Task

Add new TS-XXX/UC-YYY.py test suites in skainet-ground-truth, one (or a few) per
currently-unfixtured op, following the existing @Executable(description, op_type=..., op_params={...}) pattern (see TS-001 for the op_params convention — every
non-default PyTorch argument needs to be passed via op_params too, or it can't be
reproduced on the Kotlin side, see CONTRACT.md).

Suggested priority order (cheapest to verify first): matmul, relu, sigmoid,
softmax (all pure elementwise/matrix, easy to eyeball), then maxpool2d/avgpool2d
(need real op_params), then conv1d/transpose/reductions.

Each new suite should be run against skainet-test-groundtruth locally
(./gradlew generateGroundTruth jvmTest) before merging, to confirm SKaiNET's
implementation actually matches — this issue is explicitly about testing existing
OperationExecutor coverage, not implementing new SKaiNET ops.

主要語言
Kotlin
星號
52
分支
15
平均合併
23 小時 45 分鐘
30 天內合併 PR
80

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

SKaiNET-developers/SKaiNET 的其他 Issue

查看 SKaiNET-developers/SKaiNET 的全部 Issue

相似的 Issue

更多 Kotlin Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。