Refactor, cleanup, add reference fallbacks for CMSIS_NN MAXIMUM_MINIMUM kernel
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 54/100
- Tipo de issue
- Refactorización
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- cpp
- Área
- embedded-iot
Línea de trabajo
Start with tensorflow/lite/micro/kernels/cmsis_nn/maximum_minimum.cc and compare its Eval functions with the reference and Xtensa implementations. Trace shape preparation through Init, Prepare, and OpData, then check the CMSIS-NN status handling. Run the maximum/minimum kernel tests, including Int8With5DBroadcastTest; done means the int8 fallback handles tensors above 4D and the requested refactor and checks are covered.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
@tensorflow/micro,
Follow-up from review discussion on #3965.
Currently, tensorflow/lite/micro/kernels/cmsis_nn/maximum_minimum.cc has several limitations and cleanup opportunities:
-
Missing reference fallback for >4D tensors:
FillVariableShape()unconditionally callsRuntimeShape::ExtendedShape(4, shape)at the top ofEval*(even before switching on tensor type), which triggers aTFLITE_DCHECK_LEfailure when any input/output tensor has >4 dimensions (arm_maximum_s8/arm_minimum_s8only support up to 4Dcmsis_nn_dims).- For >4D
kTfLiteInt8tensors, the kernel should fall back toTFLiteOperation<int8_t, OpType>(reference_ops::MaximumMinimumBroadcastSlow) instead of failing. - Once supported, remove the
#if !defined(CMSIS_NN)guard aroundInt8With5DBroadcastTestintensorflow/lite/micro/kernels/maximum_minimum_test.cc.
-
Refactor duplicated
Evalfunctions and redundant tensor lookups:- Deduplicate
EvalMaximum,EvalMinimum,EvalMaximumInt8, andEvalMinimumInt8using templates (OpType), matching the reference and Xtensamaximum_minimum.ccimplementations. - Reuse tensors already fetched by
OpContextinstead of callingGetEvalInput/GetEvalOutputa second time.
- Deduplicate
-
Move shape preparation to
Prepareand check return status:- Precompute
cmsis_nn_dims(and fallback flag) inInit/PrepareviaOpDatarather than recomputing shapes duringEval(and avoid computingcmsis_nn_dimsfor non-int8types). - Check the
arm_cmsis_nn_statusreturn value ofarm_maximum_s8andarm_minimum_s8instead of ignoring it. - Clean up unused
#includeheaders.
- Precompute
- Lenguaje dominante
- C++
- Estrellas
- 3.1k
- Forks
- 1.1k
- Merge medio
- 1 d 48 min
- PR fusionados (30 d)
- 83
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de tensorflow/tflite-micro
-
person_detection_int8_vela_convert.sh installs Vela with the venv's seeded pip before upgrading itAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
tensorflow/tflite-micro#3953 ·
Los mantenedores suelen responder en 1 día
-
Update linux-x86-n2-16 runers to linux-x86-n4-16Posiblemente ocupada @veblush la tomó hace 16 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 73/100
tensorflow/tflite-micro#3895 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Hardening Request Optional bounds-validation for Slice kernel when processing untrusted modelsAbierto
Dificultad 3/5 Medio día Aptitud para principiantes 15/100
tensorflow/tflite-micro#3984 ·
Los mantenedores suelen responder en 1 día
-
type:feature
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
tensorflow/tflite-micro#3982 ·
Los mantenedores suelen responder en 1 día
-
Improve layer_by_layer_debugger for use with models using DECODEPosiblemente ocupada @ddavis-2015 la tomó hace 5 días. Abiertotype:bug
tensorflow/tflite-micro#3977 · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de tensorflow/tflite-micro
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
-
area:qmc bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
Los mantenedores suelen responder en 3 días
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
ASGC-Game-Jam/asgc-gamejam-2026#563 ·
Los mantenedores suelen responder en 1 día
-
area/ysql kind/bug priority/medium status/awaiting-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
yugabyte/yugabyte-db#37523 ·
Los mantenedores suelen responder en 1 día
-
Let agents name their jobsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100