xnn.dnn.models.base#

Shared base for descriptor + per-element-network potentials (HDNNP / ANI).

A DescriptorPotential composes an invariant per-atom Featurizer (symmetry functions, AEV) with per-element atomic MLPs. HDNNP and ANI differ mainly in the featurizer they pass in, so the model body lives here and is reused by both hdnnp.py and ani.py.

The per-element networks support the flexibility ANI needs: a distinct hidden architecture per element, a choice of activation (ANI uses CELU; the paper’s ANI-1 used a Gaussian; SchNet-style models use SiLU), and optional per-species self atomic energies added to each atom’s contribution (ANI’s energy shift, in the same spirit as MACE/NequIP atomic_energies).

Classes

DescriptorPotential(featurizer, species[, ...])

Shared body for descriptor-based potentials (HDNNP, ANI).