[日本語](https://ohara-lab-su.github.io/aenet_env/ja/index.html) | [English](https://ohara-lab-su.github.io/aenet_env/en/index.html) | [GitHub](https://github.com/ohara-lab-su/aenet_env) # ANN training parameters and physical meaning ## Call chain and models Configure `c01_train_ann.py`; it calls `aenet_env.training` and `aenet_env.aenet_backend`, which delegate learning to the selected external ænet implementation. The local model approximates total energy as a sum of element-specific atomic ANN contributions from finite-radius descriptors. Long-range physics is not automatically reproduced exactly. | Parameter | v0.0.3 example | Meaning and caveats | |---|---|---| | `ROOT`, `REFERENCES`, `OUTPUT` | `SiO2`, `SiO2/references`, `SiO2/ann` | Input/output directories; relative paths use the current working directory. Separate experiments by output path. | | `SPECIES` | `('Si','O')` | Chemical species and element-specific networks. Match the reference structures and ordering. | | `RADIAL_CUTOFF` | `6.0 Å` | Radial environment extent. Consider coordination shells and periodic images. | | `ANGULAR_CUTOFF` | `3.5 Å` | Angular environment extent. Check whether relevant local bridges are represented. | | `RADIAL_ORDER` | `10` | Chebyshev radial expansion order; balances resolution, feature size, and overfitting. | | `ANGULAR_ORDER` | `3` | Chebyshev angular expansion order; evaluate together with cutoff. | | `MINIMUM_DISTANCE` | `0.5 Å` | Descriptor lower-distance parameter, **not** a physical collision threshold for generating structures. | | `HIDDEN_NODES` | `30` | Two `tanh` hidden layers with 30 units each in `architecture()`. | | `ITERATIONS` | `1000` | Training iteration limit; meanings differ across optimizers. | | `TEST_PERCENT` | `10` | Internal test fraction, not a substitute for independent validation. | | `DEVICE` | `cpu` | Torch backend only, not the Fortran API path. | | `FORCE_WEIGHT` | `0.0` | Torch force-loss weight; zero disables direct force-loss training. | | `GENERATE_EXE`, `TRAIN_EXE` | `generate.x`, `train.x` | Fortran executable names or paths. | ## Training backends - `fortran_legacy`: `prepare_fortran_dataset` writes `.stp`, `generate.in`, `train.in`; `train_fortran_legacy` invokes `train.x`. - `fortran_normal`: Fortran-format dataset and `TrainingConfig(iterations=ITERATIONS, testpercent=TEST_PERCENT, method=BFGS())` passed to `train_fortran_api`. **Selected in the supplied example.** - `aenet_python_torch`: `ChebyshevDescriptor`, `TorchTrainingConfig`, and `Adam(mu=0.001, batchsize=16)`; `DEVICE` and `FORCE_WEIGHT` apply here. - `separate_aenet_pytorch`: independent trainer configured with `SEPARATE_TRAINER`, `SEPARATE_INPUT`, `SEPARATE_MODELS`, and external converters. ## Validation and warnings Descriptor cutoffs are not bond lengths. Check periodic-image correlations in small DFT cells, reference element order, energy/force units, and convergence. Keep related or nearly duplicate structures from leaking across training/test partitions. Evaluate generalization using an independent validation set. Evaluate energy and, where applicable, force errors, structural subgroups, out-of-distribution environments, and transfer to the intended application. A trained model file does not establish successful RMC_POT constraints. Related: [v0.0.3 project guide based on the current README](project_readme.md).