cartesiam_logo

Frequently Asked Questions

I. NanoEdge AI Studio

1. What are the supported input file formats?

Correct formatting is of utmost importance. The software currently supports text files that are formatted as follows. The input files contain several signals, exactly one per line. Those lines are a succession of numerical values, or samples (decimals use a period . and NOT a comma ,), and those values are separated by a delimiter that is supposed uniform throughout the whole file (for simplicity, please use a single space, or a single comma).

For a 1-axis sensor, the signal lines will contain n samples, like so: X1 X2 X3 … Xn.

For a 2-axis sensor, 2*n samples: X1 Y1 X2 Y2 X3 Y3 … Xn Yn.

For a 3-axis sensor, 3*n samples: X1 Y1 Z1 X2 Y2 Z2 … Xn Yn Zn.

2. Why do I need to import both "regular" and "abnormal" signal files?

Regular and abnormal signals are needed to give the benchmark some context, in order to select the most relevant library given your project’s requirements and constraints. The selection algorithm uses both regular and abnormal datasets to test several machine learning models against your data, along with a multitude of different (hyper)parameters.

Then, when the process is over, the selected library (i.e. the one that is most relevant to your application, given your data) will have no prior (learned) knowledge whatsoever. When you start using this library (in your final hardware application, or via the Emulator), the learning phase will be completely unsupervised (i.e. only “nominal” data will be given, with no a priori towards any kind of anomaly).

3. I don’t have any “abnormal” signals, what should I do?

The abnormal signals are required for context, in order to select the best library for your final application, and are therefore necessary. If you don’t already have such data, you should try to generate it by creating or simulating an anomaly that you believe corresponds to an anomalous, unwanted behavior on your target machine (different enough to your “nominal” data to be registered).

4. Why does my benchmark take so long?

The benchmark step can take a substantial amount of time, especially if your input files contain many signals (> 1000 lines) and/or large buffer sizes (>1024 samples per line). This is normal, please be patient. The selection algorithm uses both regular and abnormal datasets to test several machine learning models against your data, along with a multitude of different (hyper)parameters.

However, make sure that your input files are not too large (don’t try to use files containing gigabytes of data, or millions of signals, unless you have substantial computing resources available).

To speed up the process, use as many microprocessor cores as possible (right when you start the benchmark, select more cores by clicking +).

Note: benchmarks can be interrupted at any time, without losing any of the progress made. However, they can’t be resumed. If a benchmark is stopped prematurely, you can still move to the “compile” step, for which the best library found so far will be used (in this case, optimal results can’t be expected).

5. Why are my benchmark results so low (in terms of balanced accuracy and confidence)?

Make sure that your input files contain a sufficient number of signals (lines). We recommend using as many lines as possible, realistically not less than 50, ideally more than 500. It is also possible that the data contained in your nominal and abnormal signal files look too “similar”, i.e. can’t be correctly attributed / separated by our algorithms within an acceptable threshold.

If you get balanced accuracy and/or confidence values lower than 90%, the selected library (although it is the most relevant one found) might not perform as well as expected, when testing it in later stages.

6. How do I activate and use NanoEdge AI Studio without an internet connection?

When you first launch NanoEdge AI Studio, if you have no internet connection, follow this procedure: 1. Choose “Offline activation” and enter your license key, 2. Copy the long string of characters that appears 3. Log into your Cryptlex dashboard (https://cartesiam.cryptlex.app/auth/login). If you don’t know your login credentials, please contact us at support@cartesiam.com. 4. Click on you your license key, then “Activations and “Offline activation” 5. Click “ACTIVATION”, then paste the string of characters from step 2, and click “Download response”. 6. In NanoEdge AI Studio, click “Import file” and open the downloaded .dat file (from step 5).

7. My license key doesn’t seem to be recognized as valid, what should I do?

Make sure that you are using the latest version of NanoEdge AI. When you launch the software, a popup window will alert you in case of a new release, and let you install it automatically. Then, if you are using a proxy (port 5000), make sure that you use the following settings:

For the license: 104.28.6.103 104.28.7.103 Or via url: https://api.cryptlex.com:443

For library compilation: 40.113.111.93 Or via url: https://apidev.cartesiam.net

II. NanoEdge AI Library / Emulator

1. How to use the "learn" function optimally?

The library that is selected after completion of the benchmark process (i.e. the one that is most relevant to your application, given your data) has no prior (learned) knowledge whatsoever. The learning phase is completely unsupervised (i.e. only “nominal” data will be given, with no a priori towards any kind of “anomaly”).

Learning is incremental, meaning that with each learning step, the machine learning model becomes richer and richer, and that it can adapt to previously unseen learning examples (or signals), given sufficient repetitions (iterations).

The learn function should be run using the data corresponding to a normal use of your target machine / application. Start a learning phase every time you want to register a given behavior as “nominal”. The learning function should be used with the minimum number of iterations recommended in NanoEdge AI Studio (step 4: benchmark). Realistically, never use less than 10-20 iterations (much more if possible).

2. Can the algorithm "learn" different nominal regimes or behaviors?

Yes. Make sure that the data in the “nominal” and “abnormal” signal files used in NanoEdge AI Studio reflect those expected differences in regimes. This will ensure that the selected library includes a machine learning model that has the ability to adapt to those differences in behavior.

Also make sure to run a learning phase for each of those different regimes (or a single phase long enough so it includes all different kinds of “nominal” behavior).

3. Why are my nominal data signals detected as "anomaly" (or vice versa)?

Make sure that your model is rich enough, i.e. that it has properly learned all behaviors considered as “normal”. Learning phases should be run with the minimum number of iterations recommended in NanoEdge AI Studio (step 4: benchmark). Realistically, never use less than 10-20 iterations (much more if possible).

Conversely, make sure that “anomalies” were not learned during the learning phase. Otherwise they will by definition be considered as nominal behavior by the machine learning model, and therefore not be properly detected.

Also, make sure that the anomalies you are trying to detect are “similar” (or at least correspond to the same physical phenomena) to those used as “abnormal” signals in the NanoEdge AI Studio when benchmarking your library. If the library was found to be the most relevant for detection of anomalies created by a given physical phenomenon, it can’t be expected to also be optimal for others that might be completely different in nature.

4. What is the similarity score?

The similarity score is a measure of how different a given sample is, against the existing knowledge base of the current learning algorithm. If a sample “looks” like something seen before, it will have a similarity score near 100 (%), and if it completely new (looks dramatically different), the score will be close to 0.

Resources

All NanoEdge AI Studio documentation is available here.

Step-by-step tutorials, to use NanoEdge AI Studio to build a smart device from A to Z:

Useful links: