NPX Tutorial:
Training Framework Xarvis

Hyunguk Jang and Kyuseung Han
ETRI, Daejeon, South Korea

v2025-07-10 or later

Overview

Xarvis is a neuromorphic training environment for RVX, based on snnTorch.
This tutorial walks you through the setup and execution process.

Prerequisite

Things to Know

Install

Cloning the Repository

cmd) git clone --recursive https://github.com/rvx-etri/npx-xarvis.git

Python3 Configuration for NPX

cmd) cd #(cloned directory)
cmd) make config_python
inst) Verify that ‘‘rvx_python_config.mh’’ is generated.
inst) Open ‘rvx_python_config.mh’ in a text editor
> If no path is listed, manually enter the path to the executable.
> If more than one path is listed, keep only the one you intend to use and delete the others.

Installing snnTorch and Python Packages

cmd) cd #(cloned directory)
cmd) make preinstall
cmd) make install

Setting Up Bash Environment

cmd) make config
> Check that the file ./rvx_setup.sh has been created.
inst) Add the line source #(cloned directory)/rvx_setup.sh to your .bashrc.
> Be sure to replace #(cloned directory) with the absolute path before adding it.
inst) To apply the changes to .bashrc, close and reopen the terminal.

Run

Checking Application Files

Xarvis uses text-based configuration files to define preprocessing steps, training parameters, and network structures.
These files are located in #(cloned directory)/npx_trainer/app.
An example configuration file is check_app.cfg.

Training an Example Application

cmd) cd #(cloned directory)/npx_trainer
cmd) make check_app

Checking the Trained Results

The training results will be generated in #(cloned directory)/npx_trainer/result.

Navigate