Skip to content

OpenNuvoton/NuML_Studio

Repository files navigation

NuML_Studio

This is a UI tool for generating TFLM ML model projects and collecting real-time data for Nuvoton ML MCUs. It can be executed on Windows without the need to install Python or any related libraries.

How this works

  • The GitHub repository mainly provides source code. For a directly executable version, please download the .7z file from release and extract it to run.

    • If you want to install from source, refer to the "Build yourself" steps below
  • Double-click NuML_Studio.exe to launch the tool.

    • If you want to upload to Edge Impulse or download single test data to deployment, please update your project API key in API_key.txt.
  • Quick start guide for using NuML_Studio and Edge Impulse Project.

  • Other *.exe files are command-line programs. Please refer to the examples in cmd.txt or use the -h option for help.

    • Users can update the corresponding *.int file for each *.exe to perform testing, or execute the program without entering parameters.

Support Functions

NuMaker-M55M1

  • Project: The first step in using NuML Studio is to create a project. You can create a project for data collection, ML deployment firmware generation, or both.

  • Collecting data: click the - Data Collection tab, and click Download Firmware to EVB to flash firmware into your board.

    • Supports the following options, and users can modify them as needed:
    • Convert the data to standard format in - Output tab:
      • Users can select csv format to convert sensor *.sds data into *.csv.
      • Users can select audio_wav format to convert audio *.sds data into *.wav.
      • Images collected from Raw Image Collection under Data Collection are already saved as *.jpg
  • Upload data to EdgeImpulse:

    • Please update your Edge Impulse project API key in API_key.txt.
    • In - Output tab, user can enable Edge Impulse format & export to upload your data.
    • In - Upload tab, an entire data directory can be uploaded at once.
  • Generate ML Model Project:

    • Click the Deployment, - Nuvoton tab, and select your TFLite int8 model. Keil and VSCode CMSIS projects are supported.
      • Model inference firmware code generation.
      • G-sensor model with ARM SDS and RTX5 firmware code generation.
      • Image classification firmware code generation.
      • Object detection firmware code generation.
    • Click the Deployment, - Edge Impulse tab, and select your downloaded Edge Impulse SDK folder (Please select deployment as Ethos-U55-256 library). Keil and VSCode CMSIS projects are supported. (Please update your Edge Impulse project API key in API_key.txt)
      • Model inference firmware code generation.
      • Image classification firmware code generation.
      • KWS firmware code generation.

Tools we use

Build yourself

  • References:

  • Steps:

    • Download the embedded Python 3.10.6 and copy it to the runtime directory.

    • In a Python virtual environment (venv), use pip to install the dependencies listed in requirements.txt, then copy the site-packages directory to here. Warning: The version of the Python virtual environment must exactly match the embedded Python version.

    • Call the CLI module's entry point directly as a Python module using the embedded Python

      • Edit python310._pth (depends on your version) in runtime to add your site-packages. (The example is in runtime/python310._pth)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •