Frequently Asked Questions
Contents
Frequently Asked Questions#
Answers to common questions about NeurEco.
On this page
General Questions#
What is NeurEco?#
NeurEco is a machine learning platform developed by Adagos that automatically builds compact, interpretable neural networks. Unlike traditional deep learning approaches, NeurEco creates minimal networks optimized for deployment on embedded systems.
What makes NeurEco different from other ML tools?#
NeurEco’s key differentiators:
Automatic architecture: No manual network design required
Compact models: Creates the smallest network that achieves target accuracy
Interpretable: Sensitivity analysis reveals input-output relationships
Embeddable: Export to C, FMU, ONNX, VBA for deployment anywhere
No hyperparameter tuning: The algorithm determines optimal configuration
What problems can NeurEco solve?#
NeurEco offers three main solutions:
Tabular: Regression, classification, and compression for structured data
Dynamic: Time-series prediction with ODE or convolutional approaches
PFS: Frequency-domain response prediction for parametric systems
Which Solution Should I Use?#
How do I choose between Tabular solutions?#
Regressor: Predict continuous values (temperature, price, stress)
Classifier: Predict categories (pass/fail, type A/B/C)
Compressor: Reduce dimensionality while preserving information
When should I use Dynamic instead of Tabular?#
Use Dynamic when:
Your data has a time component
Past values influence future predictions
You’re modeling a physical system with memory/inertia
Use Tabular when:
Each sample is independent
No temporal relationship between samples
ODE vs Convolutional Dynamic: which one?#
Use ODE when |
Use Convolutional Dynamic when |
|---|---|
System has internal states |
System is purely input-driven |
Non-uniform time steps |
Uniform time steps required |
Physical interpretability needed |
Fast inference is priority |
Fewer training trajectories |
Many training trajectories available |
When should I use PFS?#
Use PFS when:
You have frequency-domain data
Outputs are complex-valued (magnitude and phase)
You’re modeling frequency response functions
Design parameters affect frequency behavior
Data Questions#
How much data do I need?#
General guidelines:
Minimum: 100+ samples per output
Recommended: 1000+ samples for complex problems
More is better: NeurEco handles large datasets efficiently
For Dynamic models, include multiple trajectories covering different operating conditions.
What data format should I use?#
NeurEco accepts:
NumPy arrays (recommended for Python API)
CSV files (for GUI and CLI)
NPY files (for CLI with large datasets)
MAT files (MATLAB format)
Do I need to normalize my data?#
NeurEco handles normalization automatically. You can customize the normalization strategy:
config = tab.RegressorBuildConfig(
input_data=X,
output_data=Y,
inputs_shifting="auto", # or "none", "min_centered", "mean"
inputs_scaling="auto", # or "none", "max_centered", "max", "std"
)
How do I handle missing values?#
NeurEco does not accept NaN values. Preprocess your data:
import numpy as np
# Option 1: Remove rows with missing values
mask = ~np.isnan(X).any(axis=1)
X_clean = X[mask]
# Option 2: Impute missing values
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(strategy='mean')
X_clean = imputer.fit_transform(X)
Training Questions#
How long does training take?#
Training time depends on:
Dataset size
Problem complexity
Hardware (CPU vs GPU)
Stopping criteria
Typical times:
Simple problems: Minutes
Complex problems: Hours
Use checkpointing for long runs
Can I stop and resume training?#
Yes, use checkpointing:
config = tab.RegressorBuildConfig(
input_data=X,
output_data=Y,
checkpoint_address="./checkpoints/model",
)
To resume:
config = tab.RegressorBuildConfig(
input_data=X,
output_data=Y,
checkpoint_to_start_build_from="./checkpoints/model",
start_build_from_model_number=-1, # -1 = last model in the checkpoint
)
This example is for Tabular models. A Convolutional Dynamic or ODE build resumes from
the GUI (RESUME), from Python (resume=True) or from the CLI
("resume": true). A resumed ODE build gives the same models as a build without
pause. See Resuming from Checkpoint.
How do I limit model size?#
Set maximum neurons (Tabular) or hidden states (Dynamic):
# Tabular
config = tab.RegressorBuildConfig(
input_data=X,
output_data=Y,
links_maximum_number=50,
)
# Dynamic ODE — each array carries the time in its first column.
config = dyn.ODEBuildConfig(
train_exc_list=np.column_stack([time, exc]), # [time | excitations]
train_out_list=np.column_stack([time, out]), # [time | outputs]
max_hidden_states=5,
)
Model Questions#
How do I evaluate model accuracy?#
Use the built-in error computation:
predictions = model.evaluate(X_test)
error = model.compute_error(predictions, Y_test)
print(f"L2 relative error: {100*error:.2f}%")
Can I access model weights?#
Yes:
weights = model.get_weights()
# Later...
model.set_weights(weights)
How do I understand which inputs matter?#
Use sensitivity analysis:
# For Tabular
model.perform_sensitivity_analysis(X_test, show=True)
# For specific output
sensitivity = model.sensitivity(X_test, output_id=0)
Export and Deployment#
What export formats are available?#
Format |
Description |
License Required |
|---|---|---|
|
Native NeurEco format |
Standard |
ONNX |
Universal ML format |
Embed (Tabular only) |
FMU |
Simulation interchange |
Embed |
C Header |
Embedded C code |
Embed (Tabular only) |
VBA |
Excel integration |
Embed (Tabular only) |
Can I use NeurEco models in PyTorch/TensorFlow?#
Yes, for Tabular models (Regressor, Classifier, Compressor), in Python:
from NeurEco.NeurEcoTabular.neureco_to_torch import neureco2torch
from NeurEco.NeurEcoTabular.neureco_to_keras import neureco2keras
# To PyTorch
torch_model = neureco2torch(model)
# To Keras/TensorFlow
keras_model = neureco2keras(model)
Like the exports, these conversions require an embed license. See Model Conversion.
What’s the difference between ONNX and native format?#
Native format: Fastest evaluation, NeurEco required
ONNX: Portable, works with any ONNX runtime, slightly slower
Use native format during development, ONNX for deployment.
Performance Questions#
Is GPU required?#
No, GPU is optional but recommended for:
Large datasets (100k+ samples)
Complex models
Faster training
CPU-only works fine for most use cases.
How can I speed up training?#
Use GPU: Install the NVIDIA driver; no CUDA toolkit is needed. For the Python library, use a GPU edition (see GPU Setup)
Reduce validation percentage: Lower
valid_percentage(but maintain good validation)Set model limits: Use
links_maximum_number(Tabular) ormax_hidden_states(Dynamic ODE)Use checkpointing: Stop when accuracy is sufficient
Keep the default CPU mode:
MKL_CBWR=COMPATIBLEmakes results independent of the processor, but builds slower (see CPU Performance and Reproducibility)
Why is my model slow at inference?#
Possible causes:
Model too large (reduce
links_maximum_number)Using Python API overhead (export to C for fastest inference)
Loading model repeatedly (load once, evaluate many times)
Licensing Questions#
Do I need a license for development?#
Yes, NeurEco requires a license for all operations including development.
What’s the difference between standard and embed licenses?#
Standard: Build, train, evaluate, save in native format
Embed (add-on): Export to ONNX, FMU, C, VBA
Can I deploy models without a license?#
Yes! Once exported (ONNX, FMU, C), the deployed model runs independently without needing NeurEco or a license.
How do I upgrade my license?#
Contact support@adagos.com with your current license details and desired features.
GUI Questions#
The interface is too large or too small on my screen#
Use Views > UI size to scale the whole interface (fonts, paddings, icons) between 80% and 150%. The setting is remembered between sessions. On small screens, 80–90% is recommended.
How do I open the documentation from the GUI?#
The Help > Documentation menu offers two entries:
Local — opens the folder that holds the user manual installed with NeurEco,
NeurEcoUserManual.pdf(shortcut: F1). On Windows this is theDocfolder of the installation; on Linux,/opt/neureco/share/doc/adagosOnline… — opens the online documentation site
Getting Help#
Where can I find more examples?#
Test cases: 13 example projects come as zip files with the Windows installer and portable ZIP and with the Linux
neurecopackage, not with the pip package (see Examples)Documentation: Solution-specific examples in each chapter
Support: Contact support@adagos.com for custom guidance
How do I report a bug?#
Email support@adagos.com with:
NeurEco version
Operating system
Complete error message
Minimal code to reproduce
Sample data (if possible)
How do I request a feature?#
Contact support@adagos.com with your use case and desired functionality. User feedback drives NeurEco development.