Skip to content

Tensor-graph based machine learning framework for metal alloys.

Notifications You must be signed in to change notification settings

Bismarrck/tensoralloy

Repository files navigation

TensorAlloy

TensorAlloy is a TensorFlow based machine learning framework for metal alloys. TensorAlloy builds direct computation graph from atomic positions to total energy:

Thus, atomic forces, virial stress tensor and the second-order Hessian matrix can be derived by the AutoGrad module of TensorFlow directly:

forces = tf.gradients(E, R)[0]
stress = -0.5 * (tf.gradients(E, h)[0] @ h)
hessian = tf.hessian(E, R)[0]

where E is the total energy tensor built from atomic positions R and h is the 3x3 cell tensor.

1. Requirements

  • Python>=3.6.5
  • TensorFlow>=1.11
  • scikit-learn
  • scipy
  • numpy
  • ase>=3.15.0
  • atsim.potentials==0.2.1
  • matplotlib>=2.1.0
  • toml==0.10.0
  • pymatgen>=2018.6
  • cython>=0.28.5
  • wheel
  • seekpath>=1.8.4
  • phonopy>=1.14.2

Anaconda3 can install above packages without pain. However, the performance of conda-provided tensorflow is not that good.

Natively compiled TensorFlow, with all CPU features (SSE, AVX, etc.) enabled, is strongly recommended.

2. Compilation

Run the bash script build_wheel.sh to compile this package to a platform-specified whl.

3. Usage

See the manual.