This is an example of Artificial Intelligence (AI) calculations on a very cheap hardware.

Overview

AI-on-the-edge-device

This is an example of Artificial Intelligence (AI) calculations on a very cheap hardware.

Details on function, installation and configuration can be found on the Wiki Page

A 3d-printable housing can be found here: https://www.thingiverse.com/thing:4571627

Donate


If you would like to support the developer with a cup of coffee you can do that via Paypal.

Change log


Known Issues

  • slow response of web server during picture analysis
  • spontaneous reboots (mostly due to html access during image processing) - self recovery implemented

General remark: Beside the firmware.bin, typically also the content of /html needs to be updated!

6.1.0 Image Processing in Memory - (2021-01-20)
  • Disabling of analog / digital counters in configuration
  • Improved Alignment Algorithm (AlignmentAlgo = Default, Accurate , Fast)
  • Analog counters: ExtendedResolution (last digit is extended by sub comma value of CNN)
  • config.ini: additional parameter hostname (additional to wlan.ini)
  • Switching of GPIO12/13 via http-interface: /GPIO?GPIO=12&Status=high/low
  • Bug fixing: html configuration page, wlan password ("=" now possible)
6.0.0 Image Processing in Memory - (2021-01-02)
  • Major change: image processing fully in memory - no need of SD card buffer anymore

    • Need to limit camera resolution to VGA (due to memory limits)
  • MQTT: Last Will Testament (LWT) implemented: "connection lost" in case of connection lost to TopicError

  • Disabled CheckDigitIncreaseConsistency in default configuration - must now be explicit enabled if needed

  • Update digital CNN to v7.2.1 (additional digital images trained)

  • Setting of arbitrary time server in config.ini

  • Option for fixed IP-, DNS-Settings in wlan.ini

  • Increased stability (internal image and camera handling)

  • Bug fixing: edit digits, handling PreValue, html-bugs

5.0.0 Setup Modus - (2020-12-06)
  • Implementation of initial setup modus for fresh installation

  • Code restructuring (full compatibility between pure ESP-IDF and Platformio w/ espressif)

4.1.1 Configuration editor - (2020-12-02)
  • Bug fixing: internal improvement of file handling (reduce not responding)
4.1.0 Configuration editor - (2020-11-30)
  • Implementation of configuration editor (including basic and expert mode)

  • Adjustable time zone to adjust to local time setting (incl. daylight saving time)

  • MQTT: additional topic for error reporting

  • standardized access to current logfile via http://IP-ADRESS/logfileact

  • Update digital CNN to v7.2.0, analog CNN to 6.3.0

  • Bug fixing: truncation error, CheckDigitConsistency & PreValue implementation

4.0.0 Tflite Core - (2020-11-15)
  • Implementation of rolling log-files

  • Update Tflite-Core to master@20201108 (v2.4)

  • Bug-fixing for reducing reboots

3.1.0 MQTT-Client - (2020-10-26)
  • Update digital CNN to v6.5.0 and HTML (Info to hostname, IP, ssid)

  • New implementation of "checkDigitConsistency" also for digits

  • MQTT-Adapter: user and password for sign in MQTT-Broker

3.0.0 MQTT-Client (2020-10-14)
  • Implementation of MQTT Client
  • Improved Version Control
  • bug-fixing
2.2.1 Version Control (2020-09-27)
  • Bug-Fixing (hostname in wlan.ini and error handling inside flow)
2.2.0 Version Control (2020-09-27)
  • Integrated automated versioning system (menu: SYSTEM --> INFO)
  • Update Build-System to PlatformIO - Espressif 32 v2.0.0 (ESP-IDF 4.1)
2.1.0 Decimal Shift, Chrome & Edge (2020-09-25)
  • Implementation of Decimal Shift

  • Update default CNN for digits to v6.4.0

  • Improvement HTML

  • Support for Chrome and Edge

  • Reduce logging to minimum - extended logging on demand

  • Implementation of hostname in wlan.ini (hostname = "HOSTNAME")

  • Bug fixing, code corrections

2.0.0 Layout update (2020-09-12)
  • Update to new and modern layout
  • Support for Chrome improved
  • Improved robustness: improved error handling in auto flow reduces spontaneous reboots
  • File server: Option for "DELETE ALL"
  • WLan: support of spaces in SSID and password
  • Reference Image: Option for mirror image, option for image update on the fly
  • additional parameter in wasserzaehler.html?noerror=true to suppress an potential error message
  • bug fixing
1.1.3 (2020-09-09)
  • Bug in configuration of analog ROIs corrected - correction in v.1.0.2 did not work properly
  • Improved update page for the web server (/html can be updated via a zip-file, which is provided in /firmware/html.zip)
  • Improved Chrome support
1.1.0 (2020-09-06)
  • Implementation of "delete complete directory" Attention: beside the firmware.bin, also the content of /html needs to be updated!
1.0.2 (2020-09-06)
  • Bug in configuration of analog ROIs corrected
  • minor bug correction
1.0.1 (2020-09-05)
  • preValue.ini Bug corrected
  • minor bug correction
1.0.0 (2020-09-04)
0.1.0 (2020-08-07)
  • Initial Version

Full Changelog

Solved topics

  • n.a.
Comments
  • 192.168.0.xxx refused to connect.

    192.168.0.xxx refused to connect.

    Hi everyone,

    I tried to set-up a device for a home monitoring project. I uploaded with success the software and followed the steps. How-ever when i connect the device i get mixed results. Sometimes after a reset (without any configuration done yet), it boots, triggers the 5 short red light flashes for wifi setup, and then 3 red flashes when connection was made. In such a case, it doesn't allow me to connect to the configuration website.

    Sometimes after a reset (still without full config done), it boots, triggers 5 red flashes, triggers the camera-flashlight, and then 3 red flashes. In this case i actually can connect to the website to do the configuration.

    I can't re-enact when/how to make either case happen, it's pure coincidence it seems...

    I will try to reflash the device again. But if anyone would have any idea on this behavior, all help would be welcome!

    Best regards /A

    opened by Varkzor 72
  • Rolling - Test New Update Mechanism

    Rolling - Test New Update Mechanism

    @haverland @caco3

    Did you test the new update mechanism?

    I had some strange behaviours, but cannot not reproduce them (no file access, could not read file, ...).

    I think it would be time for a new release, but the update mechanism should work :-) .

    opened by jomjol 55
  • Viel zu großer Sprung V10.03

    Viel zu großer Sprung V10.03

    es wird bei Digital Wechsel oft im 1.XXm³ gesprungen. Bei den alten Verison stand immer in der Config.ini maximum change per read.

    Jetzt steht da" per minute". Heißt das ich muss da 30Liter oder so eintragen? Was ich aber sogar hatte. Aber wenn man Nachts kein Wasser entnimmt werden aus 30 Liter ja auch gerne mal 3000Liter. Oder wie ist sonst der Sprung zu erklären. 2022-02-06 14_38_53-jomjol - AI on the edge 2022-02-06 14_39_16-jomjol - AI on the edge - watermeter

    opened by blaumsass 54
  • Zahlenüberlauf

    Zahlenüberlauf

    Hallo jomjol,

    tolles Projekt, das Du da auf die Beine gestellt hast! Musste ich gleich nachbauen und funktioniert auch soweit prima!

    Nun hat meine Wasseruhr den Wechsel auf den nächsten Kubikmeter vollzogen, allerdings ist die Ziffer noch nicht vollständig zu sehen, so daß sie als NaN erkannt wird und durch den bisherigen Wert ersetzt wird. Die Zeiger sind aber bereits von der 9999 wieder zur 0000 weitergelaufen, so daß der Gesamtwert nun zu niedrig ist und der aktuelle Wert damit nicht ausgegeben wird. Siehe auch Bild anbei.

    Muß ich noch was berücksichtigen in der Konfiguration, oder fehlt da noch etwas Logik im Programm?

    BTW: die Software macht noch mehrmals pro Tag Restarts (bei geöffneter Web-Seite) - aber ich glaube, das weißt Du schon... Noch eine Frage: Ließe sich das Projekt auch für einen Stromzähler verwenden?

    Vielen Dank nochmals für die tolle Software und Projekt! Martin

    opened by LineF 47
  • Unambigoius digits ('N')

    Unambigoius digits ('N')

    Hi,

    is there a possibility to always print out the last valid value (e.g. 615) instead of given a raw output of unambigoius digits (e.g. 61N)?

    Here my read out log: (no error means value was proper reading)

    grafik

    I always try the parameter ErrorMessage = true / false & CheckDigitIncreaseConsistency = true / false & PreValueUse = true but without any other results.

    I found the Consistency Check in wikiby using the parameter usePreValue which is might be the PreValueUse parameter? But this is true and does not solve the unambigoius digits ('N') output.

    Here is my config:

    [MakeImage]
    LogImageLocation = /log/source
    WaitBeforeTakingPicture = 5
    LogfileRetentionInDays = 15
    Brightness = -2
    Contrast = 2
    Saturation = 2
    LEDIntensity = 3
    ImageQuality = 12
    ImageSize = VGA
    FixedExposure = false
    
    [Alignment]
    InitialRotate = 87
    InitialMirror = false
    SearchFieldX = 20
    SearchFieldY = 20
    AlignmentAlgo = default
    FlipImageSize = false
    /config/ref0.jpg 434 47
    /config/ref1.jpg 110 152
    
    [Digits]
    Model = /config/dig1400s2q.tflite
    ;CNNGoodThreshold = 
    ;LogImageLocation = /log/digit
    ;LogfileRetentionInDays = 3
    main.dig1 199 22 44 70
    main.dig2 243 22 44 70
    main.dig3 287 22 44 70
    main.dig4 331 22 44 70
    main.dig5 377 22 44 70
    
    [Analog]
    Model = /config/ana1000s2.tflite
    ;LogImageLocation = /log/analog
    ;LogfileRetentionInDays = 3
    main.ana1 417 192 85 85
    main.ana2 353 259 85 85
    main.ana3 263 280 85 85
    main.ana4 160 226 85 85
    
    [PostProcessing]
    main.DecimalShift = 0
    PreValueUse = true
    PreValueAgeStartup = 720
    AllowNegativeRates = false
    ;main.MaxRateValue = 1.05
    ;main.MaxRateType = RateChange
    ;main.ExtendedResolution = false
    ;main.IgnoreLeadingNaN = true
    ;ErrorMessage = false
    ;CheckDigitIncreaseConsistency = false
    

    grafik

    new training data 
    opened by ckoeber83 40
  • Incorrect combined readout when using Digital + Analog ROIs, individual numbers recognized correctly

    Incorrect combined readout when using Digital + Analog ROIs, individual numbers recognized correctly

    First of all let me say that the last update (running master - v11.0.0 - 2022-08-13) is a massive improvement, for me it made a difference between getting a result maybe in 1 out of 5 readings to pretty much perfect results everytime. I did notice one issue though:

    If I only use digital ROIs, I get a correct result, down to the last decimal implied from the rotation of the digits:

    image

    However, when I add the analog ROI to this to make it even more precise, I get wrong results even though each digits is still recognized correctly:

    image

    image

    Looks to me like the issue is not in the OCR but rather in the logic of combining the inputs from Digital and Analog ROIs.

    Thanks!

    opened by Plawasan 38
  • ESP32 does not send MQTT messages at v10.1.0

    ESP32 does not send MQTT messages at v10.1.0

    log_2022-01-09.txt

    Hi, After updating to version 10.1.0, the numbers are recognised a lot better for me, but it does not send any mqtt messages anymore. I added the logfile and the config. ini in the attachements.

    You can see that at the beginning, there are messages like 'sent publish successful in MQTTPublish', but after reboot and update, these messages are not in the log file anymore.

    I did the update via OTA on the device itself.

    Do I have to edit the config file? Is it possible that MQTT is broken after the update?

    Regards, Sibrecht

    opened by sgoudsme 36
  • File already exists 400 Error!

    File already exists 400 Error!

    Hey,

    nach dem update auf 8.0.1 kann ich die config nicht mehr verändern. Habe nur noch schwarzes Bild. Er hat automatisch die sec nach dem Blitz bis zum Foto auf 7 sec geändert.

    Bekomme den Fehler nicht weg. Gibt es dazu eine Lösung ?

    opened by Basti09 36
  • Constant misreading

    Constant misreading

    First of all: Congrats for this great project!

    I got constant misreadings. Precondition: Watermeter is at 113.058 Recognized: 113.078 --> new value set 113.078 Next reading(same meter values): 113.NaN58 --> new value set 113.158

    afterwards all values are wrong because of this wrong interpretation of the NaN shift.

    Here is my meter: alg_roi

    The other problem is the analog readout. Sometimes its totaly off (e.g. here 1.6)

    1 6_ana1_20210726-093847

    Is it possible/necessary to teach the model with new pictures?

    Regards

    opened by Kev0123 35
  • Feature: reduce sd card usage

    Feature: reduce sd card usage

    Reduction of sd card usage

    One major topic is the high amount of sd card read / write access, mainly driven by the image processing with intermediate storage on sd-card. The branch https://github.com/jomjol/AI-on-the-edge-device/tree/rolling-reduce-sd-use tackels this problem by moving the whole image processing to the (PS)RAM. This implies major changes in the code. The basic version is functioning, but there are major memory leaks, which result in a high frequency of restarts. If anybody is interested in supporting me there - you are welcome!

    This issue is for discussing and bringing this idea forward. Discussions in German and English are welcome!

    opened by jomjol 35
  • Kamera funktioniert nicht mehr nach Update auf v10.2.0

    Kamera funktioniert nicht mehr nach Update auf v10.2.0

    Hi,

    heute dachte ich, oh machst du mal wieder ein Update auf die aktuellste Version. Also alles wie gehabt über OTA hochgeladen und aktualisiert (Firmware und html natürlich). Alles wurde vom Webinterface als erfolgreich bestätigt.

    Dann nach dem reboot kein Bild mehr (davor war es noch da). Im Logfile stand kein Fehler bzgl. Camera.... dachte versuch nochmal ein Neustart.... aber auch nach dem nichts.

    Dann hab ich zur Sicherheit nochmal das OTA mit den gleichen Daten durchgeführt... selbes Problem. Es kommt kein Bild mehr.

    grafik

    Also habe ich die Version 10.1.0 heruntergeladen und installiert, da funktioniert die Kamera noch.

    grafik

    opened by ThomasCr 34
  • Add testing environnements in platformio

    Add testing environnements in platformio

    1)Add fine tune for testing :

    [env:esp32cam-testing]
    build_flags = 
    	-D ENABLE_MQTT -D ENABLE_INFLUXDB -D ENABLE_SOFTAP
        -D CONFIG_ESP_TASK_WDT
        -D CONFIG_SPIRAM
        -D CONFIG_ESP_TASK_WDT_TIMEOUT_S ; fix for CONFIG_ESP_INT_WDT_TIMEOUT_MS
    lib_ldf_mode = deep+
    platform = platformio/espressif32 @ 5.2.0
    platform_packages = 
        platformio/tool-esptoolpy@^1.40400.0
        espressif/toolchain-esp32ulp @ 2.35.0-20220830
      
    
    1. More boards to test : Add testing support for several boards as esp32c3, esp32s2, rp2040

    2. Usage : You can invoke differents environnements :

    platformio run --environment esp32cam-testing
    platformio run --environment esp32c3-idf-testing
    platformio run --environment esp32s2-idf-testing
    platformio run --environment rp2040-pico-arduino-testing
    
    1. Notes : Only compile actually with esp32cam-testing, but do not infer with classic "esp32cam" (You may need to delete your .platformio\packages and clean all cache, before compiling other envs)

    2. Finally : AI-Thinker-esp32cam board is end of life https://github.com/jomjol/AI-on-the-edge-device/discussions/1732, we need to prepare for future ...

    opened by nliaudat 0
  • Hide the restart button in the setup mode (reference image, alignment, ROI, config pages)

    Hide the restart button in the setup mode (reference image, alignment, ROI, config pages)

    The Feature

    In setup, we tell the suers not yet to restart. it would be easier to simply hide the button (and remove the restart notice).

    I think we could append something like #setup-mode to the URL of the iframed pages and could read it out using javascript so we can hide that button.

    enhancement 
    opened by caco3 0
  • Fileserver actions --> missing files (404 errors)

    Fileserver actions --> missing files (404 errors)

    The Problem

    All actions using fileserver tab procduce 404 errors. Path seems to be wrong.

    --> /sdcard/firework.css --> /sdcard/firework.js --> /sdcard/jquery-3.6.0.min.js

    Version

    Rolling

    Logfile

    (44015) OTA FILE: Failed to stat file: /sdcard/firework.css!
    W (44035) httpd_txrx: httpd_resp_send_err: 404 Not Found - <pre>
    
    
    
            _
        .__(.)< ( oh oh! This page does not exist! )
        \___)
    
    
                    You could try your <a href=index.html target=_parent>luck</a> here!</pre>
    <script>document.cookie = "page=overview.html"</script>
    W (44055) httpd_uri: httpd_uri: uri handler execution failed
    E (44095) OTA FILE: Failed to stat file: /sdcard/jquery-3.6.0.min.js!
    W (44115) httpd_txrx: httpd_resp_send_err: 404 Not Found - <pre>
    
    
    
            _
        .__(.)< ( oh oh! This page does not exist! )
        \___)
    
    
                    You could try your <a href=index.html target=_parent>luck</a> here!</pre>
    <script>document.cookie = "page=overview.html"</script>
    W (44135) httpd_uri: httpd_uri: uri handler execution failed
    E (44165) OTA FILE: Failed to stat file: /sdcard/firework.js!
    W (44185) httpd_txrx: httpd_resp_send_err: 404 Not Found - <pre>
    
    
    
            _
        .__(.)< ( oh oh! This page does not exist! )
        \___)
    
    
                    You could try your <a href=index.html target=_parent>luck</a> here!</pre>
    <script>document.cookie = "page=overview.html"</script>
    

    Expected Behavior

    No response

    Screenshots

    image

    Additional Context

    No response

    bug 
    opened by Slider0007 1
  • Rate too high: Datenpunkt wird trotzdem im Dataviewer angezeigt

    Rate too high: Datenpunkt wird trotzdem im Dataviewer angezeigt

    The Problem

    Ist es möglich den Datenpunkt in der *.csv zu ignorieren? Beim Anzeigen ggf. auf "no error" an 8. Stelle mit überprüfen, ansonsten den Punkt ignorieren.

    Version

    Release: v13.0.8 (Commit: 04f2f23+)

    Logfile

    2022-12-30T08:14:54+0100,main,31300.06,31300.06,31300.06,0.000000,0.00,no error,2.9,1.0,2.9,9.9,10.0,0.0,6.0
    2022-12-30T08:14:54+0100,main,31360.06,31360.06,31300.06,12.000000,0.00,,3.3,1.4,3.3,6.3,10.0,0.0,6.0
    2022-12-30T08:14:54+0100,main,31360.06,,31300.06,,0.00,Rate too high - Read: 31360.06 - Pre: 31300.06 - Rate: 60.00,3.3,1.4,3.3,6.3,10.0,0.0,6.0
    2022-12-30T08:24:54+0100,main,31300.06,31300.06,31300.06,0.000000,0.00,no error,3.0,1.0,2.8,9.9,10.0,0.0,6.0
    

    Expected Behavior

    Der fehlerhafte Datenpunkt sollte bei der grafischen Anzeige ignoriert werden.

    Screenshots

    2022-12-31 21_16_38-NVIDIA GeForce Overlay DT

    Additional Context

    No response

    bug 
    opened by reserve85 6
Releases(v13.0.8)
  • v13.0.8(Dec 19, 2022)

    Home Assistant MQTT Discovery Support

    Update Procedure

    :bangbang: Make sure to read the instructions below carfully!

    1. Backup your configuration (use the System -> Backup/Restore page)!

    2. You should update to 12.0.1 before you update to this release. All other migrations are untested.

    3. Upload and update the update-*.zip file from this release.

    4. Let it restart and check on the System -> Info page that the Firmware as well as the Web UI got updated. If only one got updated, redo the update. If it fails several times, you also can update the Firmware and the Web UI separately.

    5. Safe way:

      1. Update first the firmware.bin (extract it from one of the provided zip files) and do the Reboot
      2. Update with the full zip file (update-*.zip, ignore the version warning after the reboot)
    6. Please go to Settings -> Configuration and address the changed parameters:

      • DataLogging (storing the values for data graph)
      • Debug (extended by different debug reporting levels)
    7. Make sure it starts to do the digitalization (check the Error field on the overview page). If it does not start a round within a minute, restart the device.

    If anything breaks you can try to enforce manual update as following:

    OTA: 1. Make sure the last run of the update completed the Uploading step. 1. Call http://<IP>/ota?task=update&file=<UPLOAD_FILENAME> to enforce the extraction/flashing.

    Initial Setup: 1. Use the initial_esp32_setup.zip ( https://github.com/jomjol/AI-on-the-edge-device/wiki/Installation ) as alternative to have a clean install.

    Added

    • Implementation of Home Assistant MQTT Discovery

    • Improved ROIs configuration: locked ROI geometry, equidistant delta x

    • Improved OTA Update mechanism (only working after installation for next update)

    • Added data logging in /log/data - One day per file and each measurement is on one line

      • Format: csv - comma separated
      • Content: time, name-of-number, raw-value, return-value, pre-value, change-rate, change-absolute, error-text, cnn-digital, cnn-analog
    • Show graph of values direct in the user interface (thanks to @rdmueller)

      • Using new data logging (see above)
      • Possibility to choose different values and switch between different numbers (if present)

      Note: You need to activate data logging for this feature to work, see above!

    • PreValue is now contained in /json (#1154)

    • SD card info into the System>Info menu (thanks to @Slider007)

    • Version check (Firmware vs. Web UI)

    • Various minor new features

    Changed

    • Updated tflite (dig-cont_0600_s3.tflite)
    • Updated OTA functionality (more robust, but not fully bullet prove yet)
    • Updated Espressif library to [email protected]
    • #1176 accept minor negative values (-0.2) if extended resolution is enabled
    • #1143 added config parameter AnalogDigitalTransitionStart. It can setup very early and very late digit transition starts.
    • New version of dig-class100 (v1.4.0): added images of heliowatt powermeter
    • NEW v13.0.2: Update Tool "Logfile downloader and combiner" to handle the new csv file format.
    • NEW v13.0.2: MQTT: Added MQTT topic status (Digitalization Status), Timezone to MQTT topic timestamp.#
    • NEW v13.0.2: Logging: Disable heap logs by default, cleanup
    • NEW v13.0.7:
      • log NTP server name
      • Improved log messages
      • Various preparations for next release
    • NEW v13.0.8:
      • Continue booting on PSRAM issues, Web UI will show an error
      • Updated models
      • Various UI enhancements
      • Various internal improvements
      • Show uptime in log
      • Show uptime and round on overview page

    Fixed

    • #1116 precision problem at setting prevalue
    • #1119 renamed firmware.bin not working in OTA
    • #1143 changed postprocess for analog->digit (lowest digit processing)
    • #1280 check ROIs name for unsupported characters
    • #983 old log files did not get deleted
    • Failed NTP time sync during startup gets now retried every round if needed
    • Whitespaces and = in MQTT and InfluxDB passwords
    • Various minor fixes and improvements
    • NEW v13.0.2: Corrected Version comparison between firmware and Web UI.
    • NEW v13.0.3: Re-updated build environment to v5.2.0 (from accidental downgrad to v4.4.0)
    • NEW v13.0.4: Fix for reboot in case of MQTT not used
    • NEW v13.0.5: No reboot in case of missing NTP-connection
    • NEW v13.0.7:
    • NEW v13.0.8:
      • Fix Rate Problem (#1578, #1572)
      • Stabilized MQTT
      • Fixed redundant calls in OTA
      • Block REST API calls till resource is ready
      • Fixed number renaming (#1635)

    Removed

    • n.a.
    Source code(tar.gz)
    Source code(zip)
    initial_esp32_setup__13.0.8.zip(3.60 MB)
    update__13.0.8.zip(3.47 MB)
  • v13.0.7(Dec 11, 2022)

    Home Assistant MQTT Discovery Support

    Update Procedure

    :bangbang: Make sure to read the instructions below carfully!

    1. Backup your configuration (use the System -> Backup/Restore page)!

    2. You should update to 12.0.1 before you update to this release. All other migrations are untested.

    3. Upload and update the update-*.zip file from this release.

    4. Let it restart and check on the System -> Info page that the Firmware as well as the Web UI got updated. If only one got updated, redo the update. If it fails several times, you also can update the Firmware and the Web UI separately.

    5. Safe way:

      1. Update first the firmware.bin (extract from zip file) and do the Reboot
      2. Update with the full zip file (update-*.zip, ignore the version warning after the reboot)
    6. Please go to Settings -> Configuration and address the changed parameters:

      • DataLogging (storing the values for data graph)
      • Debug (extended by different debug reporting levels)
    7. Make sure it starts to do the digitalization (check the Error field on the overview page). If it does not start a round within a minute, restart the device.

    If anything breaks you can try to enforce manual update as following:

    OTA:

    1. Make sure the last run of the update completed the Uploading step.
    2. Call http://<IP>/ota?task=update&file=<UPLOAD_FILENAME> to enforce the extraction/flashing.

    Initial Setup:

    1. Use the initial_esp32_setup.zip ( https://github.com/jomjol/AI-on-the-edge-device/wiki/Installation ) as alternative to have a clean install.

    Added

    • Implementation of Home Assistant MQTT Discovery

    • Improved ROIs configuration: locked ROI geometry, equidistant delta x

    • Improved OTA Update mechanism (only working after installation for next update)

    • Added data logging in /log/data - One day per file and each measurement is on one line

      • Format: csv - comma separated
      • Content: time, name-of-number, raw-value, return-value, pre-value, change-rate, change-absolute, error-text, cnn-digital, cnn-analog
    • Show graph of values direct in the user interface (thanks to @rdmueller)

      • Using new data logging (see above)
      • Possibility to choose different values and switch between different numbers (if present)

      Note: You need to activate data logging for this feature to work, see above!

    • PreValue is now contained in /json (#1154)

    • SD card info into the System>Info menu (thanks to @Slider007)

    • Version check (Firmware vs. Web UI)

    • Various minor new features

    Changed

    • Updated tflite (dig-cont_0600_s3.tflite)
    • Updated OTA functionality (more robust, but not fully bullet prove yet)
    • Updated Espressif library to [email protected]
    • #1176 accept minor negative values (-0.2) if extended resolution is enabled
    • #1143 added config parameter AnalogDigitalTransitionStart. It can setup very early and very late digit transition starts.
    • New version of dig-class100 (v1.4.0): added images of heliowatt powermeter
    • NEW v13.0.2: Update Tool "Logfile downloader and combiner" to handle the new csv file format.
    • NEW v13.0.2: MQTT: Added MQTT topic status (Digitalization Status), Timezone to MQTT topic timestamp.#
    • NEW v13.0.2: Logging: Disable heap logs by default, cleanup
    • NEW v13.0.7:
      • log NTP server name
      • Improved log messages
      • Various preparations for next release

    Fixed

    • #1116 precision problem at setting prevalue
    • #1119 renamed firmware.bin not working in OTA
    • #1143 changed postprocess for analog->digit (lowest digit processing)
    • #1280 check ROIs name for unsupported characters
    • #983 old log files did not get deleted
    • Failed NTP time sync during startup gets now retried every round if needed
    • Whitespaces and = in MQTT and InfluxDB passwords
    • Various minor fixes and improvements
    • NEW v13.0.2: Corrected Version comparison between firmware and Web UI.
    • NEW v13.0.3: Re-updated build environment to v5.2.0 (from accidental downgrad to v4.4.0)
    • NEW v13.0.4: Fix for reboot in case of MQTT not used
    • NEW v13.0.5: No reboot in case of missing NTP-connection
    • NEW v13.0.7:

    Removed

    • n.a.
    Source code(tar.gz)
    Source code(zip)
    firmware.bin(1.81 MB)
    html-from-11.3.1.zip(218.71 KB)
    initial_esp32_setup.zip(3.28 MB)
    update.zip(3.14 MB)
  • v13.0.5(Dec 6, 2022)

    Home Assistant MQTT Discovery Support

    Update Procedure

    :bangbang: Make sure to read the instructions below carfully!.

    1. Backup your configuration (use the System -> Backup/Restore page)!

    2. You should update to 12.0.1 before you update to this release. All other migrations are untested.

    3. Upload and update the update-*.zip file from this release.

    4. Let it restart and check on the System -> Info page that the Firmware as well as the Web UI got updated. If only one got updated, redo the update. If it fails several times, you also can update the Firmware and the Web UI separately.

    5. Safe way:

      1. Update first the firmware.bin (extract from zip file) and do the Reboot
      2. Update with the full zip file (update-*.zip, ignore the version warning after the reboot)
    6. Please go to Settings -> Configuration and address the changed parameters:

      • DataLogging (storing the values for data graph)
      • Debug (extended by different debug reporting levels)

    If anything breaks you can try to enforce manual update as following:

    OTA: 1. Make sure the last run of the update completed the Uploading step. 1. Call http://<IP>/ota?task=update&file=<UPLOAD_FILENAME> to enforce the extraction/flashing.

    Initial Setup: 1. Use the initial_esp32_setup.zip ( https://github.com/jomjol/AI-on-the-edge-device/wiki/Installation ) as alternative to have a clean install.

    Added

    • Implementation of Home Assistant MQTT Discovery

    • Improved ROIs configuration: locked ROI geometry, equidistant delta x

    • Improved OTA Update mechanism (only working after installation for next update)

    • Added data logging in /log/data - One day per file and each measurement is on one line

      • Format: csv - comma separated
      • Content: time, name-of-number, raw-value, return-value, pre-value, change-rate, change-absolute, error-text, cnn-digital, cnn-analog
    • Show graph of values direct in the user interface (thanks to @rdmueller)

      • Using new data logging (see above)
      • Possibility to choose different values and switch between different numbers (if present)

      Note: You need to activate data logging for this feature to work, see above!

    • PreValue is now contained in /json (#1154)

    • SD card info into the System>Info menu (thanks to @Slider007)

    • Version check (Firmware vs. Web UI)

    • Various minor new features

    Changed

    • Updated tflite (dig-cont_0600_s3.tflite)
    • Updated OTA functionality (more robust, but not fully bullet prove yet)
    • Updated Espressif library to [email protected]
    • #1176 accept minor negative values (-0.2) if extended resolution is enabled
    • #1143 added config parameter AnalogDigitalTransitionStart. It can setup very early and very late digit transition starts.
    • New version of dig-class100 (v1.4.0): added images of heliowatt powermeter
    • NEW v13.0.2: Update Tool "Logfile downloader and combiner" to handle the new csv file format.
    • NEW v13.0.2: MQTT: Added MQTT topic status (Digitalization Status), Timezone to MQTT topic timestamp.#
    • NEW v13.0.2: Logging: Disable heap logs by default, cleanup

    Fixed

    • #1116 precision problem at setting prevalue
    • #1119 renamed firmware.bin not working in OTA
    • #1143 changed postprocess for analog->digit (lowest digit processing)
    • #1280 check ROIs name for unsupported characters
    • #983 old log files did not get deleted
    • Failed NTP time sync during startup gets now retried every round if needed
    • Whitespaces and = in MQTT and InfluxDB passwords
    • Various minor fixes and improvements
    • NEW v13.0.2: Corrected Version comparison between firmware and Web UI.
    • NEW v13.0.3: Re-updated build environment to v5.2.0 (from accidental downgrad to v4.4.0)
    • NEW v13.0.4: Fix for reboot in case of MQTT not used
    • NEW v13.0.5: No reboot in case of missing NTP-connection

    Removed

    • n.a.
    Source code(tar.gz)
    Source code(zip)
    firmware.bin(1.81 MB)
    html-from-11.3.1.zip(218.71 KB)
    initial_esp32_setup.zip(3.28 MB)
    update.zip(3.14 MB)
  • v12.0.1(Sep 29, 2022)

    Improve user experience

    :bangbang: The release breaks a few things in OTA update :bangbang:

    Make sure to read the instructions below carfully!.

    1. Backup your configuration (use the System > Backup/Restore page)!
    2. You should update to 11.3.1 before you update to this release. All other migrations are not tested. Rolling newer than 11.3.1 can also be used, but no guaranty.
    3. Upload and update the firmware.bin file from this release. but do not reboot
    4. Upload the html-from-11.3.1.zip in html upload and update the web interface.
    5. Now you can reboot.

    If anything bricks you can try to

    1. Call http://<IP>/ota?task=update&file=firmware.bin resp. http://<IP>/ota?task=update&file=html.zip if the upload successed but the extraction failed.
    2. Use the initial_esp32_setup.zip ( https://github.com/jomjol/AI-on-the-edge-device/wiki/Installation ) as alternative.

    Added

    • Automatic release creation
    • Newest firmware of rolling branch now automatically built and provided in Github Actions Output (developers only)
    • #1068 New update mechanism:
      • Handling of all files (zip, tfl, tflite, bin) within in one common update interface
      • Using the update.zip from the Release page
      • Status (upload, processing, ...) displayed on Web Interface
      • Automatical detection and suggestion for reboot where needed (Web Interface updates only need a page refresh)
      • :bangbang: Best for OTA use Firefox. Chrome works with warnings. Safari stuck in upload.

    Changed

    • Integrated version info better shown on the Info page and in the log
    • Updated menu
    • Update used libraries (tflite, esp32-cam, esp-nn, as of 20220924)

    Fixed

    • #1092 censor passwords in log outputs
    • #1029 wrong change of checkDigitConsistency now working like releases before 11.3.1
    • Spelling corrections (cristianmitran)

    Removed

    • Remove the folder /firmware from GitHub repository. If you want to get the latest firmware.bin and html.zip files, please download from the automated build action or release page
    Source code(tar.gz)
    Source code(zip)
    firmware.bin(1.79 MB)
    html-from-11.3.1.zip(211.28 KB)
    initial_esp32_setup.zip(3.25 MB)
    update.zip(3.11 MB)
  • v11.3.1(Sep 17, 2022)

    :bangbang: ATTENTION :bangbang:

    1. First update the 'firmware.bin' and ensure that the new version is running.
    2. Only afterwards update the 'html.zip'.

    Otherwise the downwards compatibility of the new counter clockwise feature is not given and you end in a reboot loop, that needs manual flashing!

    Changes

    • NEW v11.3.1: corrected corrupted asset firmware.bin (v11.3.0).
    • Increased precision (more than 6-7 digits)
    • Implements Counter Clockwise Analog Pointers
    • Improved post processing algorithm
    • Debugging: intensive use of testcases
    • MQTT: improved handling, extended logging, automated reconnect
    • HTML: Backup Option for Configuration
    • HTML: Improved Reboot
    • HTML: Update WebUI (Reboot, Infos, CPU Temp, RSSI)
    • This version is largely also based on the work of caco3, adellafave, haverland, stefanbode, PLCHome

    Looking for the partition.bin or bootloader.bin?

    Use the ones from https://github.com/jomjol/AI-on-the-edge-device/releases/tag/v11.2.0

    Source code(tar.gz)
    Source code(zip)
    firmware.bin(1.72 MB)
    html.zip(216.97 KB)
  • v11.2.0(Aug 28, 2022)

    • Updated Tensorflow / TFlite to newest tflite (version as of 2022-07-27)
    • Updated analog neural network file (ana-cont_11.3.0_s2.tflite - default, ana-class100_0120_s1_q.tflite)
    • Updated digital neural network file (dig-cont_0570_s3.tflite - default, dig-class100_0120_s2_q.tflite)
    • Added automated filtering of tflite-file in the graphical configuration (thanks to @caco3)
    • Updated consistency algorithm & test cases
    • HTML: added favicon and system name, Improved reboot dialog (thanks to @caco3)
    Source code(tar.gz)
    Source code(zip)
    bootloader.bin(26.23 KB)
    firmware.bin(1.71 MB)
    html.zip(178.39 KB)
    partitions.bin(3.00 KB)
  • v11.1.1(Aug 22, 2022)

  • v11.0.1(Aug 15, 2022)

    • NEW v11.0.1: Bug Fix InfluxDB configuration (only update of html.zip necessary)
    • Implementation of new CNN types to detect intermediate values of digits with rolling numbers
      • By default the old algo (0, 1, ..., 9, "N") is active (due to the limited types of digits trained so far)
      • Activation can be done by selection a tflite file with the new trained model in the 'config.ini'
      • Details can be found in the wiki (different types, trained image types, naming convention)
    • Updated neural network files (and adaption to new naming convention)
    • Published a tool to download and combine log files - **Thanks to **
    • Bug Fix: InfluxDB enabling in grahic configuration
    Source code(tar.gz)
    Source code(zip)
  • v10.6.1(Jul 24, 2022)

    • NEW 10.6.1: Revoke esp32cam & tflite update
    • NEW 10.6.1: Bug Fix: tflite-filename with ".", HTML spelling error
    • IndluxDB: direct injection into InfluxDB - thanks to wetneb
    • MQTT: implemented "Retain Flag" and extend with absolute Change (in addition to rate)
    • config.ini: removal of modelsize (readout from tflite)
    • Updated analog neural network file (ana1000s2.tflite) & digital neural network file (dig1400s2q.tflite)
    • TFMicro/Lite: Update (espressif Version 20220716)
    • Updated esp32cam (v20220716)
    • ESP-IDF: Update to 4.4
    • Internal update (CNN algorithm optimizations, reparation for new neural network type)
    • Bug Fix: no time with fixed IP, Postprocessing, MQTT
    Source code(tar.gz)
    Source code(zip)
  • v10.6.0(Jul 17, 2022)

    • InfluxDB: direct injection into InfluxDB - thanks to wetneb
    • MQTT: implemented "Retain Flag" and extend with absolute Change (in addition to rate)
    • config.ini: removal of modelsize (readout from tflite)
    • Updated analog neural network file (ana1000s2.tflite) & digital neural network file (dig1400s2q.tflite)
    • TFMicro/Lite: Update (espressif Version 20220716)
    • Updated esp32cam (v20220716)
    • ESP-IDF: Update to 4.4
    • Internal update (CNN algorithm optimizations, reparation for new neural network type)
    • Bug Fix: no time with fixed IP, Postprocessing, MQTT
    Source code(tar.gz)
    Source code(zip)
  • v10.5.2(Feb 22, 2022)

    • NEW 10.5.2: Bug Fix: wrong firmware.bin (no rate update)
    • NEW 10.5.1: Bug Fix: wrong return value, rate value & PreValue status, HTML: SSID & IP were not displayed
    • MQTT: changed wifi naming to "wifiRSSI"
    • HTML: check select able values for consistency
    • Refactoring of check postprocessing consistency (e.g. max rate, negative rate, ...)
    • Bug Fix: corrected error in "Check Consistency Increase"
    Source code(tar.gz)
    Source code(zip)
  • v10.4.0(Feb 12, 2022)

    • Graphical configuration: select available neural network files (*.tfl, *.tflite) from drop down menu
      • OTA-update: add option to upload tfl / tflite files to the correct locatioin (/config/)
    • Added Wifi RSSI to MQTT information
    • Updated analog neural network file (ana-s3-q-20220105.tflite)
    • Updated digital neural network file (dig-s1-q-20220102.tflite)
    • Updated build environment to Espressif 3.5.0
    Source code(tar.gz)
    Source code(zip)
  • v10.2.0(Jan 14, 2022)

    ATTENTION: Due to the update camera driver, the image looks different and a new setup might be needed

    • Reduce reboot due to camera problems
    • Update esp32-camera to new version (master as of 2022-01-09)
    Source code(tar.gz)
    Source code(zip)
  • v10.1.1(Jan 12, 2022)

    • NEW 10.1.1: bug Fix MQTT problem
    • Reduce ESP32 frequency to 160MHz
    • Update tflite (new source: https://github.com/espressif/tflite-micro-esp-examples)
    • Update analog neural network (ana-s3-q-20220105.tflite)
    • Update digital neural network (dig-s1-q-20220102.tflite)
    • Increased web-server buffers
    • bug fix: compiler compatibility
    Source code(tar.gz)
    Source code(zip)
  • v10.1.0(Jan 9, 2022)

    • Reduce ESP32 frequency to 160MHz
    • Update tflite (new source: https://github.com/espressif/tflite-micro-esp-examples)
    • Update analog neural network (ana-s3-q-20220105.tflite)
    • Update digital neural network (dig-s1-q-20220102.tflite)
    • bug fix: compiler compatibility
    Source code(tar.gz)
    Source code(zip)
  • v10.0.2(Jan 1, 2022)

    • NEW v10.0.2: Corrected JSON error
    • Updated compiler toolchain to ESP-IDF 4.3
    • Removal of memory leak
    • Improved error handling during startup (check PSRAM and camera with remark in logfile)
    • MQTT: implemented raw value additionally, removal of regex contrain
    • Normalized Parameter MaxRateValue to "change per minute"
    • HTML: improved input handling
    • Corrected error handling: in case of error the old value, rate, timestamp are not transmitted any more
    Source code(tar.gz)
    Source code(zip)
  • v9.2.0(Dec 2, 2021)

    • Direct JSON access: http://IP-ADRESS/json
    • Error message in log file in case camera error during startup
    • Upgrade analog CNN to v9.1.0
    • Upgrade digital CNN to v13.3.0 (added new images)
    • html: support of different ports
    Source code(tar.gz)
    Source code(zip)
  • v9.1.1(Nov 16, 2021)

    • NEW 9.1.1: bug fix: LED implemenetation
    • External LEDs: change control mode (resolve bug with more than 2 LEDs)
    • Additional info into log file
    • Bug fix: decimal shift, html, log file
    Source code(tar.gz)
    Source code(zip)
  • v9.0.0(Oct 23, 2021)

  • v8.5.0(Oct 7, 2021)

  • v8.4.0(Sep 25, 2021)

    • License change (remove MIT license, remark see below)

    • Html: show hostname in title and main page

    • Configuration:

      • moved setting ExtendedResolution to individual number settings
      • New parameter IgnoreLeadingNaN (delete leading NaN's specifically)
      • ATTENTION: update of the config.ini needed (open, adjust ExtendedResolution, save)
    • Bug fixing (html, images of recognized numbers)

    ATTENTION: LICENSE CHANGE

    • Currently no licence published - copyright belongs to author
    • If you are interested in a commercial usage or dedicated versions please contact the developer
    Source code(tar.gz)
    Source code(zip)
  • v8.3.0(Sep 12, 2021)

    • Upgrade digital CNN to v12.1.0 (added new images)
    • Dedicated NaN handling, internal refactoring (CNN-Handling)
    • HTML: confirmation after config.ini update
    • Bug fixing
    Source code(tar.gz)
    Source code(zip)
  • v8.2.0(Aug 24, 2021)

  • v8.1.0(Aug 12, 2021)

    • GPIO: using the general mqtt main topic for GPIO
    • Upgrade digital CNN to v12.0.0 (added new images)
    • Update tfmicro to new master (2021-08-07)
    • Bug fix: remove text in mqtt value, remove connect limit in wlan reconnet
    Source code(tar.gz)
    Source code(zip)
  • v8.0.5(Aug 1, 2021)

    • NEW 8.0.5: bug fix: saving prevalue
    • NEW 8.0.4: bug fix: load config.ini after upgrade
    • NEW 8.0.3: bug fix: reboot during config.ini handling, html error
    • NEW 8.0.2: saving roundes prevalue, bug fix html server
    • NEW 8.0.1: bug fix: html handling of parameter FixedExposure and ImageSize
    • Dual / multi meter support (more than 1 number to be recognized) This is implemented with the feature "number" on the ROI definition as well as selected options
    • MQTT: standardization of the naming - including new topics (json, freeMem , uptime)c
    • Preparation for extended GPIO support (thanks to Zwerk2k) - not tested and fully functional yet
    • Bug fixing: html server, memory leak, MQTT connect, hostname, turn of flash LED
    Source code(tar.gz)
    Source code(zip)
  • v8.0.3(Jul 25, 2021)

    • NEW 8.0.3: bug fix: reboot during config.ini handling, html error
    • NEW 8.0.2: saving roundes prevalue, bug fix html server
    • NEW 8.0.1: bug fix html handling of parameter FixedExposure and ImageSize
    • Dual / multi meter support (more than 1 number to be recognized) This is implemented with the feature "number" on the ROI definition as well as selected options
    • MQTT: standardization of the naming - including new topics (json, freeMem , uptime)c
    • Preparation for extended GPIO support (thanks to Zwerk2k) - not tested and fully functional yet
    • Bug fixing: html server, memory leak, MQTT connect, hostname, turn of flash LED

    ATTENTION: the configuration and prevalue files are modified automatically and will not be backward compatible!

    Source code(tar.gz)
    Source code(zip)
  • v8.0.2(Jul 23, 2021)

    • NEW 8.0.2: saving roundes prevalue, bug fix html server
    • NEW 8.0.1: bug fix html handling of parameter FixedExposure and ImageSize
    • Dual / multi meter support (more than 1 number to be recognized) This is implemented with the feature "number" on the ROI definition as well as selected options
    • MQTT: standardization of the naming - including new topics (json, freeMem , uptime)c
    • Preparation for extended GPIO support (thanks to Zwerk2k) - not tested and fully functional yet
    • Bug fixing: html server, memory leak, MQTT connect, hostname, turn of flash LED
    Source code(tar.gz)
    Source code(zip)
  • v8.0.1(Jul 18, 2021)

    • NEW 8.0.1: bug fix html handling of parameter FixedExposure and ImageSize
    • Dual / multi meter support (more than 1 number to be recognized) This is implemented with the feature "number" on the ROI definition as well as selected options
    • MQTT: standardization of the naming - including new topics (json, freeMem , uptime)c
    • Preparation for extended GPIO support (thanks to Zwerk2k) - not tested and fully functional yet
    • Bug fixing: html server, memory leak, MQTT connect, hostname, turn of flash LED
    Source code(tar.gz)
    Source code(zip)
  • v8.0.0(Jul 14, 2021)

    • Dual / multi meter support (more than 1 number to be recognized) This is implemented with the feature "number" on the ROI definition as well as selected options
    • MQTT: standardization of the naming - including new topics (json, freeMem , uptime)c
    • Preparation for extended GPIO support (thanks to Zwerk2k) - not tested and fully functional yet
    • Bug fixing: html server, memory leak, MQTT connect, hostname, turn of flash LED
    Source code(tar.gz)
    Source code(zip)
  • v7.1.2(Jun 17, 2021)

    • NEW: 7.1.2: bug fix setting hostname, Flash-LED not off during reboot
    • NEW: 7.1.1: bug fix wlan password with "=" (again)
    • MQTT error message: changes "no error", send retain flag
    • Update wlan handling to esp-idf 4.1
    • Upgrade digital CNN to v8.7.0 (added new images)
    • Bug fix: MQTT, WLAN, LED-Controll, GPIO usage, fixed IP, calculation flow rate
    Source code(tar.gz)
    Source code(zip)
Owner
null
A GPU (CUDA) based Artificial Neural Network library

Updates - 05/10/2017: Added a new example The program "image_generator" is located in the "/src/examples" subdirectory and was submitted by Ben Bogart

Daniel Frenzel 93 Dec 10, 2022
A lightweight C library for artificial neural networks

Getting Started # acquire source code and compile git clone https://github.com/attractivechaos/kann cd kann; make # learn unsigned addition (30000 sam

Attractive Chaos 617 Dec 19, 2022
A library for creating Artificial Neural Networks, for use in Machine Learning and Deep Learning algorithms.

iNeural A library for creating Artificial Neural Networks, for use in Machine Learning and Deep Learning algorithms. What is a Neural Network? Work on

Fatih Küçükkarakurt 5 Apr 5, 2022
Cranium - 🤖 A portable, header-only, artificial neural network library written in C99

Cranium is a portable, header-only, feedforward artificial neural network library written in vanilla C99. It supports fully-connected networks of arbi

Devin Soni 543 Dec 25, 2022
A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.

Libonnx A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support. Getting Started The library's

xboot.org 442 Dec 25, 2022
A PoC for requesting HWIDs directly from hardware, skipping any potential hooks or OS support.

PCIBan A PoC for requesting HWIDs directly from hardware, skipping any potential hooks or OS support. This is probably very unsafe, not supporting edg

null 62 Dec 28, 2022
ROS2 packages based on NVIDIA libArgus library for hardware-accelerated CSI camera support.

Isaac ROS Argus Camera This repository provides monocular and stereo nodes that enable ROS developers to use cameras connected to Jetson platforms ove

NVIDIA Isaac ROS 35 Dec 10, 2022
Hardware-accelerated DNN model inference ROS2 packages using NVIDIA Triton/TensorRT for both Jetson and x86_64 with CUDA-capable GPU.

Isaac ROS DNN Inference Overview This repository provides two NVIDIA GPU-accelerated ROS2 nodes that perform deep learning inference using custom mode

NVIDIA Isaac ROS 62 Dec 14, 2022
Visual odometry package based on hardware-accelerated NVIDIA Elbrus library with world class quality and performance.

Isaac ROS Visual Odometry This repository provides a ROS2 package that estimates stereo visual inertial odometry using the Isaac Elbrus GPU-accelerate

NVIDIA Isaac ROS 339 Dec 28, 2022
Codebase for "SLIDE : In Defense of Smart Algorithms over Hardware Acceleration for Large-Scale Deep Learning Systems"

Codebase for "SLIDE : In Defense of Smart Algorithms over Hardware Acceleration for Large-Scale Deep Learning Systems"

Beidi Chen 1k Dec 25, 2022
Nvvl - A library that uses hardware acceleration to load sequences of video frames to facilitate machine learning training

NVVL is part of DALI! DALI (Nvidia Data Loading Library) incorporates NVVL functionality and offers much more than that, so it is recommended to switc

NVIDIA Corporation 660 Dec 19, 2022
A profiler to disclose and quantify hardware features on GPUs.

ArchProbe ArchProbe is a profiling tool to demythify mobile GPU architectures with great details. The mechanism of ArchProbe is introduced in our tech

Microsoft 58 Dec 2, 2022
This is a list of hardware which is supports Intel SGX - Software Guard Extensions.

SGX-hardware list This is a list of hardware which supports Intel SGX - Software Guard Extensions. Desktop The CPU and the motherboard BIOS must suppo

Lars Lühr 513 Dec 16, 2022
Radeon Rays is ray intersection acceleration library for hardware and software multiplatforms using CPU and GPU

RadeonRays 4.1 Summary RadeonRays is a ray intersection acceleration library. AMD developed RadeonRays to help developers make the most of GPU and to

GPUOpen Libraries & SDKs 980 Dec 29, 2022
This is the code of our paper An Efficient Training Approach for Very Large Scale Face Recognition or F²C for simplicity.

Fast Face Classification (F²C) This is the code of our paper An Efficient Training Approach for Very Large Scale Face Recognition or F²C for simplicit

null 33 Jun 27, 2021
Very portable voice recorder with speech recognition.

DictoFun Small wearable voice recorder. NRF52832-based. Concept Device was initiated after my frustration while using voice recorder for storing ideas

Roman 5 Dec 14, 2022
Very Fast VGG

VeryFastVGG It's faster than me! Build Make sure you have gcc, make, cmake, openmp and python installed. Use commands as follows, and the binary file

p0ny 2 Dec 31, 2021
This is a small example project, that showcases the possibility of using a surrogate model to estimate the drag coefficient of arbitrary triangles.

flowAroundTriangles This is a small example project, that showcases the possibility of using a surrogate model to estimate the drag coefficient of arb

null 6 Sep 16, 2022
A external memory allocator example for PyTorch.

Custom PyTorch Memory Management This is a external memory allocator example for PyTorch. The underlying memory allocator is CNMeM. Usage Compile with

Zilin Zhu 12 Aug 2, 2022