mirror of
https://github.com/jomjol/AI-on-the-edge-device-docs.git
synced 2025-12-08 20:46:54 +03:00
Add Makefile and Markdown linter (#73)
* Add Makefile * Update .gitignore to exclude venv * Add requirements.txt for venv * Add pymarkdown lint Github action * Update .md from lint tool * Update README with make commands * Add linter config
This commit is contained in:
committed by
GitHub
parent
bbe3bd79db
commit
0cd98c67e2
@@ -9,6 +9,7 @@ This page tries to help you on which model to select.
|
||||
For more technical/deeper explanations have a look on [Neural-Network-Types](Neural-Network-Types.md).
|
||||
|
||||
## Digit Models
|
||||
|
||||
For digits on water meters, gas-meters or power meters you can select between two main types of models:
|
||||
|
||||
- `dig-class11`
|
||||
@@ -19,27 +20,29 @@ For digits on water meters, gas-meters or power meters you can select between tw
|
||||
**continuous** means, that there is no discrete model, that has discreate states, but there is a different mechanism, that provides a not discrete value in the interval between [0, 1[.
|
||||
|
||||
### `dig-class11`
|
||||
|
||||
This model can recognize **full digits**. It was the first model version. All intermediate states shown a `N` for not-a-number (aka. `NaN`). But in post process it uses older values to fill up the `N` values if possible.
|
||||
|
||||
{: style="width:300px"}
|
||||
{: style="width:300px"}
|
||||
|
||||
It's possibly a good fallback, if `dig-cont` or `dig-class100` results are not good.
|
||||
|
||||
Main features:
|
||||
|
||||
* well suited for LCD digits
|
||||
* the ExtendedResolution option is not supported. (Only in conjunction with `ana-class100` or `ana-cont`)
|
||||
- well suited for LCD digits
|
||||
- the ExtendedResolution option is not supported. (Only in conjunction with `ana-class100` or `ana-cont`)
|
||||
|
||||
### `dig-class100` and `dig-cont`
|
||||
|
||||
These models are used to get a **continuous reading** with intermediate states. To see what the models are doing, you can go to the Recognition page of your device.
|
||||
|
||||
{: style="width:300px"}
|
||||
{: style="width:300px"}
|
||||
|
||||
Main features:
|
||||
|
||||
* suitable for all digit displays.
|
||||
* Advantage over `dig-class11` that results continue to be calculated in the transition between digits.
|
||||
* With the ExtendedResolution option, higher accuracy is possible by adding another digit.
|
||||
- suitable for all digit displays.
|
||||
- Advantage over `dig-class11` that results continue to be calculated in the transition between digits.
|
||||
- With the ExtendedResolution option, higher accuracy is possible by adding another digit.
|
||||
|
||||
The difference between `dig-class100` and `dig-cont` is in the internal processing.
|
||||
The `dig-class100` is a standard classification model. Each tenth step is an output.
|
||||
@@ -51,13 +54,14 @@ The `dig-class100` is a standard classification model. Each tenth step is an out
|
||||
Look [here](https://jomjol.github.io/neural-network-digital-counter-readout) for a list of digit images used for the training.
|
||||
|
||||
## Analog pointer models
|
||||
|
||||
For pointers on water meters use the analog models:
|
||||
|
||||
{: style="width:250px"}
|
||||
{: style="width:250px"}
|
||||
|
||||
You can choose between two models:
|
||||
|
||||
- `ana-class100`
|
||||
- `ana-class100`
|
||||
- `ana-cont`
|
||||
|
||||
Both do mainly the same.
|
||||
@@ -65,8 +69,8 @@ Both do mainly the same.
|
||||
|
||||
Main features:
|
||||
|
||||
* for all analogue pointers, especially for water meters.
|
||||
* With the ExtendedResolution option, higher accuracy is possible by adding another digit.
|
||||
- for all analogue pointers, especially for water meters.
|
||||
- With the ExtendedResolution option, higher accuracy is possible by adding another digit.
|
||||
|
||||
Again, the difference between `ana-class100` and `ana-cont` is in the internal processing.
|
||||
|
||||
@@ -76,6 +80,7 @@ Again, the difference between `ana-class100` and `ana-cont` is in the internal p
|
||||
Look [here](https://jomjol.github.io/neural-network-analog-needle-readout/) for a list of pointer images used for the training
|
||||
|
||||
## Different types of models (normal vs. quantized)
|
||||
|
||||
The normally trained network is calculating with internal floating point numbers. The saving of floating point numbers naturally takes more space than an integer type. Often the increased accuracy is not needed. Therefore there is the option, to "quantize" a neural network. In this case the internal values are rescaled to integer values, which is called "quantization". The stored tflite files are usually much smaller and runs faster on the edgeAI-device.
|
||||
Usually the models are distrusted therefore in both versions. They can be distinguished by a `q` at the end of the logfile.
|
||||
|
||||
@@ -87,6 +92,7 @@ Example:
|
||||
| Quantized | `dig-cont_0610_s3-q.tflite` |
|
||||
|
||||
## Model Naming Convention
|
||||
|
||||
Model filenames follow a specific structure composed of several parts:
|
||||
|
||||
1. **Model Type**: Indicates the kind of model, such as `ana/dig`, `cont`, `class11`, or `class100`.
|
||||
@@ -96,6 +102,7 @@ Model filenames follow a specific structure composed of several parts:
|
||||
5. **File Type**: Always `.tflite`.
|
||||
|
||||
### Version Number
|
||||
|
||||
The version number consists of four digits:
|
||||
|
||||
- The **first two digits** represent the *main version*.
|
||||
@@ -106,6 +113,7 @@ Example:
|
||||
In general, higher numbers correspond to newer models.
|
||||
|
||||
### Size Indicator
|
||||
|
||||
- The size indicator typically starts with `s` followed by a number, e.g., `s3`.
|
||||
- This naming is not strictly standardized yet.
|
||||
- Training usually begins with a larger model (`s0`), and successive versions (`s1`, `s2`, ...) reduce the number of parameters to create smaller, faster networks.
|
||||
@@ -113,5 +121,6 @@ Example:
|
||||
- In newer model generations, only the best-performing sizes are retained and further trained.
|
||||
|
||||
### Quantization Indicator
|
||||
|
||||
- If the model name ends with `-q`, it indicates that **quantization** was applied after training.
|
||||
- Quantization significantly reduces the model size, typically without a noticeable impact on recognition performance.
|
||||
- Quantization significantly reduces the model size, typically without a noticeable impact on recognition performance.
|
||||
|
||||
Reference in New Issue
Block a user