Refactor, cleanup, add reference fallbacks for CMSIS_NN MAXIMUM_MINIMUM kernel
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 54/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- cpp
- Ambito
- embedded-iot
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
@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
- Lingua principale
- C++
- Stelle
- 3.1k
- Fork
- 1.1k
- Merge medio
- 1g 48m
- PR unite (30g)
- 83
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di tensorflow/tflite-micro
-
person_detection_int8_vela_convert.sh installs Vela with the venv's seeded pip before upgrading itAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
tensorflow/tflite-micro#3953 ·
I maintainer di solito rispondono entro 1 giorno
-
Update linux-x86-n2-16 runers to linux-x86-n4-16Forse già presa @veblush l’ha presa 16 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 73/100
tensorflow/tflite-micro#3895 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Hardening Request Optional bounds-validation for Slice kernel when processing untrusted modelsAperta
Difficoltà 3/5 Mezza giornata Idoneità per principianti 15/100
tensorflow/tflite-micro#3984 ·
I maintainer di solito rispondono entro 1 giorno
-
type:feature
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
tensorflow/tflite-micro#3982 ·
I maintainer di solito rispondono entro 1 giorno
-
Improve layer_by_layer_debugger for use with models using DECODEForse già presa @ddavis-2015 l’ha presa 4 giorni fa. Apertatype:bug
tensorflow/tflite-micro#3977 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di tensorflow/tflite-micro
Issue simili
-
Page request: clang-replApertahelp wanted new command
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
tldr-pages/tldr#25111 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
bug test
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
OpenAssetIO/OpenAssetIO#1527 ·
-
iOS Fabric pointer-handler reset leaves the next lone touch non-primaryForse già presa @alleneubank l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
react/react-native#59919 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
ROCm/rocm-systems#15475 ·
I maintainer di solito rispondono entro 2 giorni