Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#1,279 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
kotlin

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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
Lenguaje dominante
Kotlin
Estrellas
52
Forks
15
Merge medio
1 d 15 h
PR fusionados (30 d)
36

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de SKaiNET-developers/SKaiNET

Todos los issues de SKaiNET-developers/SKaiNET

Issues similares

Más issues de Kotlin

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.