.. _release-notes: ========================= NeurEco 5.0 Release Notes ========================= NeurEco 5.0 adds new ways to model systems that change over time. Tabular models can now be converted into PyTorch, a widely used AI toolkit. The Python library installs without the desktop app, and models made with NeurEco 4.5 keep working without retraining. .. contents:: On this page :local: :depth: 1 At a Glance =========== .. list-table:: :header-rows: 1 :widths: 28 36 36 * - Area - NeurEco 4.5 - NeurEco 5.0 * - Systems that change over time (Dynamic) - Discrete Dynamic, for data recorded at even intervals - ODE, which also accepts uneven intervals, plus the new Convolutional Dynamic * - Tabular models (learning from tables of data) - Regression, Classification and Compression - The same three; Regression can also predict a whole map of values * - Reusing Tabular models in other AI software - Keras only - PyTorch and Keras * - Python library - Added from the desktop app; needed the full installation - Installs on its own with pip, without the desktop app * - Command line - Three programs, one per model family - One ``neureco`` command for every model type * - Operating systems - Windows, Linux and macOS - Windows and Linux * - License files - NeurEco 4.x license files - New license files for NeurEco 5.0; 4.x license files do not work * - Ready-to-run examples - 9 - 13, grouped by model type What's New ========== - Tabular models can now be converted into PyTorch models from the Python library. They then run in your own PyTorch applications without NeurEco. Conversion to Keras is still available. - New Convolutional Dynamic models ("CNN Dynamic" in the app) predict a system's outputs from its recent inputs, recorded at regular intervals. They export to FMU files, the standard format for simulation tools. - Dynamic models now accept data recorded at uneven intervals, and recordings made at different rates can be combined. ODE models replace Discrete Dynamic; they learn the equations behind how a system changes over time. - Tabular Regression can now learn outputs that form a whole map, such as the pressure all around a wing profile. Turn on "Is the output a field"; a matching example (Airfoil RANS Flow Fields) is included. - Follow training as it happens: a new chart in the desktop app shows how the model's errors change while it trains. The chart comparing predictions with known values now shows an accuracy score, where 1 is perfect. - The desktop app can now open a trained model file without its project, to check or export it. This helps, for example, after training in Python. Improvements ============ - Simpler Python setup: the library now installs on its own on Windows and Linux, without the desktop app. A license file is still needed, and the library can now create the license request itself: run ``python -m NeurEco.hardware_info`` (see :ref:`licensing`). All editions, with or without NVIDIA graphics card support, come from the Adagos website. - Your work is safer: if a crash or power cut hits during an automatic save, training can resume from the last complete save. Deleting a model now asks for confirmation and cannot remove anything outside the project folder. - Network licenses: several jobs of the same type, run at once by one person on one computer, now share one seat. If the license server cannot be reached, NeurEco stays open; tasks that need the license show an error until the server returns. On Windows, a refused license request first opens FlexNet's own "FLEXible License Manager" window, and NeurEco continues once you close it. - Clearer messages: the desktop app's error messages are more specific, for example naming the data file at fault. Most damaged model files, and license problems with Tabular models in Python, now give a clear message instead of a crash. - Faster CPU computations: by default, NeurEco now runs MKL's AVX2 code path on Intel processors, so every Intel processor calculates the same way, and MKL's automatic mode, its fastest, on AMD processors (the processor-independent mode with the Python package for PyTorch 2.7 on Windows). Convolutional Dynamic models are the exception, and results can differ between an Intel and an AMD processor. ODE and Convolutional Dynamic models can also change with the number of processor cores used, so a computer with a different number of cores can build a different model from the same data. A processor-independent mode, described in :ref:`cpu-performance`, gives up some speed for consistency. - Many smaller improvements make the desktop app easier to use, such as a dark theme, clearer settings and sharper chart images. .. _moving-from-4x: Moving from NeurEco 4.5 or 4.6 ============================== - **License files:** NeurEco 5.0 needs new license files. License files issued for NeurEco 4.5 or 4.6 do not work with 5.0: NeurEco then reports that the license does not support this version. Ask support@adagos.com for your NeurEco 5.0 license files before you upgrade. If a license server hands out your licenses, its license file must be replaced too. License files issued for NeurEco 5.0 also work with NeurEco 4.5 and 4.6, so you can replace your license files before you upgrade and keep using the older version. - **Dynamic FMU export:** exporting ODE and Convolutional Dynamic models to FMU, also from Python, needs the Dynamic embed license (``neureco_embed_dynamic``) in addition to the Dynamic license (see :ref:`licensing`). - **Models:** your 4.5 models open in NeurEco 5.0 without retraining; Tabular and Dynamic models were checked to give the same results. ODE models made with NeurEco 4.6 open too, but some of them start from a wrong steady state in NeurEco 5.0, which makes the start of a simulation less accurate (see `Known Issues`_): compare their results with NeurEco 4.6 before you rely on them. Retraining in NeurEco 5.0 can give a different model, especially for Dynamic models. Check it before replacing a validated one. - **Windows:** NeurEco 5.0 installs beside 4.5 or 4.6 without replacing it; start it from the "NeurEco 5.0" Start-menu folder. The old desktop icon still opens the old version. Double-clicking a project file (``.neurecoproj``) opens it with the version installed last, which is NeurEco 5.0 once you install it; to open a project with the old version, right-click it and choose **Open with**. Work saved in NeurEco 5.0 may not open in 4.5. - **Mac:** there is no Mac version of NeurEco 5.0. NeurEco 5.0 needs a 64-bit Intel or AMD (x86-64) processor. On a Mac, it can run in a Windows or Linux virtual machine; on a Mac with Apple silicon (M1 or later), that virtual machine must emulate an x86-64 processor, which makes NeurEco much slower. Adagos has not tested this setup. NeurEco cannot create a license request inside most virtual machines: contact support@adagos.com about a license for a virtual machine. - **Linux:** the ``neureco`` command runs on Ubuntu 22.04, Debian 12, Red Hat Enterprise Linux 8 or a later version of one of these. The desktop app needs Ubuntu 22.04, Debian 12, Red Hat Enterprise Linux 9 or a later version of one of these; on Red Hat Enterprise Linux 9, it also needs the EPEL and CRB repositories. The Python library needs glibc 2.35 or newer and the C++ runtime of GCC 12 or newer, as in Ubuntu 22.04 or later, Debian 12 or later and Red Hat Enterprise Linux 10 or later: pip does not install it on Red Hat Enterprise Linux 8 or 9, where the RedHat packages provide the ``neureco`` command and, on version 9, the desktop app. Exported FMUs run on Red Hat Enterprise Linux 8 or later and on any Linux with glibc 2.28 or newer. The compatibility table in :ref:`installation` shows each part on each system. - **Scripts:** scripts made by the 4.5 desktop app should be exported again from NeurEco 5.0. Some hand-written Python and MATLAB scripts need small changes. - **Python library:** if you installed the NeurEco 4.x Python library with its ``INSTALL.py`` script, delete that copy before you install NeurEco 5.0, or Python keeps loading 4.x (see :ref:`Upgrading from the NeurEco 4.x Python Library `). - **Command line:** command-line scripts must call the new ``neureco`` command; their configuration files still work. On Windows, NeurEco 5.0 is not added to ``PATH``: call ``bin\neureco.exe`` in the installation folder with its full path. - **FMU files:** Dynamic models exported again as FMU files name their starting values differently. Update simulation setups that set those values by name. - **NVIDIA graphics cards:** NeurEco 5.0 uses CUDA 12 and needs NVIDIA driver 525.60.13 (Linux) or 527.41 (Windows) or newer. We recommend 575.51.03 (Linux) or 576.02 (Windows) or newer, the drivers of the CUDA 12.9 included with NeurEco, in particular with GeForce RTX 50 series GPUs. See :ref:`gpu-setup`. .. _known-issues: Known Issues ============ The following issues are known in NeurEco 5.0: - Some ODE models made with NeurEco 4.6, and some ODE models whose equations include input terms, start from a wrong steady state, which makes the start of a simulation less accurate. Check the first part of each simulation against your reference data. Models made with NeurEco 4.6 can also be evaluated with NeurEco 4.6. - Convolutional Dynamic models can change with the number of processor cores: building the same project on computers with different numbers of cores can give different models. To reproduce a model, build it on the same computer. - Evaluating a Convolutional Dynamic model on a very long recording (hundreds of thousands of time steps) can use most of the computer's memory, in particular in the desktop app when several such models are open. Keep only the models you work on open in the desktop app, or evaluate long recordings one at a time from Python. - When an ODE build diverges, some checkpoints, and sometimes the final model, have errors that are not numbers (NaN). The desktop app leaves these checkpoints out of the checkpoint slider: from that point on, the slider shows the wrong checkpoints, and the newest checkpoint cannot be selected. Explore the checkpoints from the Python API instead, and use the last checkpoint whose errors are numbers. - Evaluating an ODE model with initialization data that has fewer time steps than the model needs (``get_number_of_init_tsteps()`` in Python) is not reported as such: the desktop app evaluates without a warning or shows an unrelated error message, and Python can raise an ``OSError``. Give the initialization at least that number of time steps. - On Windows, a refused license request opens FlexNet's "FLEXible License Manager" window, and NeurEco waits until you close it. Unattended command-line runs stop at this window: check that the license is available before you start them. - When other programs, or several NeurEco builds at once, keep the processor busy, Tabular builds can be several times slower. Setting the environment variable ``OMP_WAIT_POLICY`` to ``passive`` before you start NeurEco reduces this slowdown and does not change the results. For other problems, see :ref:`troubleshooting`, or contact support@adagos.com.