Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

ONNX importer: LSTM, Gather, Unsqueeze/Squeeze, Cast, Where, If (Silero VAD import as the gate)

Đang mở
#1,279 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
kotlin
Lĩnh vực
machine-learning

Hướng nghiên cứu

Start with OnnxImport.kt and the existing converters, then read the Lstm API from #823 and the ONNX opset semantics described here. The work spans recurrent lowering, multiple operators, constant-folded control flow, and test coverage; run the one-node converter tests and the pinned silero_vad.onnx import against its ORT golden. Done means end-to-end import without hand edits and outputs within 1e-4.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement file-format:onnx

Context

skainet-io-onnx's graph importer (OnnxImport.kt) handles Add, BatchNormalization, Concat, Conv, Div, Gemm, LeakyRelu, MatMul, MaxPool, Mul, Relu, Reshape, Resize, Sigmoid, Silu, Slice, Softmax, Split, Sub, Transpose, Upsample — the YOLO-shaped set from #230. Recurrent and control-flow nodes are absent, so common small audio/speech graphs (Silero VAD, RNN-T prediction nets, NeMo exports) cannot be imported even though the DSL has Lstm (#823) and gather.

This is the verification path for the native Silero VAD issue: importing the upstream graph and comparing against the hand-written module catches drift in either.

Scope

  • LSTM (ONNX opset ≥ 7 semantics: W, R, B layouts, initial_h/initial_c, direction=forward first; bidirectional as a follow-up) lowered onto Lstm.step unrolled over the sequence axis.
  • Gather, Unsqueeze, Squeeze, Cast, Where, Shape/ConstantOfShape as needed by the Silero graph.
  • If with constant-foldable conditions (Silero's sample-rate branch) — fold at import when the condition is an initializer, reject otherwise with a clear message rather than silently importing one branch.
  • Import test on the pinned silero_vad.onnx: graph builds, forward matches ORT golden within 1e-4 (same golden as the native Silero issue).
  • Ground-truth coverage for the new ops (#985).

Acceptance

  • OnnxLoader imports Silero VAD end to end without hand edits to the file.
  • Each new converter has a unit test with a minimal one-node graph.

Related

  • #230 — ONNX I/O module MVP
  • #823 — Lstm
  • #985 — ground-truth op coverage
Ngôn ngữ chính
Kotlin
Star
52
Fork
15
Merge trung bình
1 ngày 15 giờ
Pull request đã merge (30 ngày)
36

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của SKaiNET-developers/SKaiNET

Tất cả issue của SKaiNET-developers/SKaiNET

Issue tương tự

Thêm issue về Kotlin

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.