arduino / arduino/ArduinoTensorFlowLiteTutorials

Tiny ML on Arduino: Gesture recognition tutorial results in a blank model.h

Offen
#11 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Jupyter Notebook
Sterne
270
Forks
122
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I attempted to run through the Tiny ML on Arduino: Gesture recognition example and it resulted in a a model.h file that is just a model array declaration.

Ex:
```
const unsigned char model[] = {
};

```

This is the example that I was following:
[https://colab.research.google.com/github/arduino/ArduinoTensorFlowLiteTutorials/blob/master/GestureToEmoji/arduino_tinyml_workshop.ipynb#scrollTo=f92-4Hjy7kA8](url)

The following Warnings were seen while running the example:
NOTE: An issue was filed with the Colab project but I do not see it listed.

Also, a gesture_model.tflite file was created and has about 145K of data.

- Setup Python Environment

```
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/v/vim/xxd_8.0.1453-1ubuntu1.1_amd64.deb 404 Not Found [IP: 91.189.88.152 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

```

- Build & Train the Model
```
Train on 12 samples, validate on 4 samples
Epoch 1/600
WARNING:tensorflow:Entity .initialize_variables at 0x7fe172912ae8> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Num'
WARNING: Entity .initialize_variables at 0x7fe172912ae8> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Num'
12/12 [==============================] - 1s 50ms/sample - loss: 0.3119 - mae: 0.5501 - val_loss: 0.2502 - val_mae: 0.4998
Epoch 2/600
12/12 [==============================] - 0s 3ms/sample - loss: 0.2653 - mae: 0.5116 - val_loss: 0.2498 - val_mae: 0.4994
Epoch 3/600
12/12 [==============================] - 0s 3ms/sample - loss: 0.2620 - mae: 0.5116 - val_loss: 0.2493 - val_mae: 0.4991
Epoch 4/600
12/12 [==============================] - 0s 3ms/sample - loss: 0.2628 - mae: 0.5082 - val_loss: 0.2488 - val_mae: 0.4985
Epoch 5/600
12/12 [==============================] - 0s 3ms/sample - loss: 0.2569 - mae: 0.5058 - val_loss: 0.2443 - val_mae: 0.4942
Epoch 6/600
12/12 [==============================] - 0s 3ms/sample - loss: 0.2553 - mae: 0.4992 - val_loss: 0.2579 - val_mae: 0.4993
Epoch 7/600
12/12 [==============================] - 0s 3ms/sample - loss: 0.2619 - mae: 0.5072 - val_loss: 0.2531 - val_mae: 0.4989
Epoch 8/600
12/12 [==============================] - 0s 3ms/sample - loss: 0.2576 - mae: 0.5051 - val_loss: 0.2521 - val_mae: 0.4983
Epoch 9/600
12/12 [==============================] - 0s 3ms/sample - loss: 0.2569 - mae: 0.5049 - val_loss: 0.2499 - val_mae: 0.4981
Epoch 10/600
12/12 [==============================] - 0s 3ms/sample - loss: 0.2544 - mae: 0.5036 - val_loss: 0.2491 - val_mae: 0.4979
Epoch 11/600
12/12 [==============================] - 0s 3ms/sample - loss: 0.2533 - mae: 0.5029 - val_loss: 0.2485 - val_mae: 0.4978
```

- Run with Test Data
```
/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:10: MatplotlibDeprecationWarning: cycling among columns of inputs with non-matching shapes is deprecated.
# Remove the CWD from sys.path while we load stuff.
/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:11: MatplotlibDeprecationWarning: cycling among columns of inputs with non-matching shapes is deprecated.
# This is added back by InteractiveShellApp.init_path()

```

- Convert the Trained Model to Tensor Flow Lite
```
WARNING:tensorflow:Entity .initialize_variables at 0x7fe16a17d598> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Num'
WARNING: Entity .initialize_variables at 0x7fe16a17d598> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Num'
Model is 147764 bytes
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit dem verlinkten arduino_tinyml_workshop.ipynb und vergleiche den Schritt Convert the Trained Model to TensorFlow Lite mit der generierten model.h. Prüfe, warum das Notebook ein leeres Array erzeugt, obwohl für gesture_model.tflite eine Größe von 147764 Bytes angegeben wird; die Aufgabe ist erledigt, wenn das Tutorial eine nicht leere model.h erzeugt, die für das Arduino-Beispiel geeignet ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
arduino, jupyter-notebook, python, tensorflow
Bereich
documentation, embedded-iot, machine-learning
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.