HuggingFace镜像/OpenAlphaDiffract
模型介绍
文件和版本
分析

Open AlphaDiffract

arXiv | GitHub

粉末X射线衍射数据的自动化晶体学分析。

AlphaDiffract 是一个多任务一维 ConvNeXt 模型,它接收粉末X射线衍射(PXRD)图谱,并同时预测:

输出描述
晶系7分类(三斜晶系 → 立方晶系)
空间群230分类
晶格参数6个值:a、b、c(Å),α、β、γ(°)

本版本包含一个单一模型,该模型仅使用Materials Project的结构(公开可用数据)进行训练。它不是论文中报道的10模型集成——详见性能部分。

快速开始

pip install torch safetensors
huggingface-cli download linked-liszt/OpenAlphaDiffract --local-dir OpenAlphaDiffract
import torch
import numpy as np
from OpenAlphaDiffract.model import AlphaDiffract

model = AlphaDiffract.from_pretrained("OpenAlphaDiffract", device="cpu")

# 8192-point intensity pattern, normalized to [0, 100]
pattern = np.load("my_pattern.npy").astype(np.float32)
pattern = (pattern - pattern.min()) / (pattern.max() - pattern.min() + 1e-10) * 100.0
x = torch.from_numpy(pattern).unsqueeze(0)

with torch.no_grad():
    out = model(x)

cs_probs = torch.softmax(out["cs_logits"], dim=-1)
sg_probs = torch.softmax(out["sg_logits"], dim=-1)
lp = out["lp"]  # [a, b, c, alpha, beta, gamma]

print("Crystal system:", AlphaDiffract.CRYSTAL_SYSTEMS[cs_probs.argmax().item()])
print("Space group:   #", sg_probs.argmax().item() + 1)
print("Lattice params:", lp[0].tolist())

完整的可运行示例请参见 example_inference.py。

文件

文件描述
model.safetensors模型权重(safetensors 格式,约 35 MB)
model.py独立模型定义(纯 PyTorch,无 Lightning)
config.json架构和训练超参数
maxsub.json空间群子群图(230×230,用作已注册缓冲区)
example_inference.py端到端推理示例
LICENSEBSD 3-Clause 许可证

输入格式

  • 长度: 8192 个等间隔的强度值
  • 2θ 范围: 5–20°(单色,20 keV)
  • 预处理: 将负值截断为零,然后重缩放至 [0, 100]
  • 形状: (batch, 8192) 或 (batch, 1, 8192)

架构

一维 ConvNeXt 骨干网络,改编自 Liu et al. (2022):

Input (8192) → [ConvNeXt Block × 3 with AvgPool] → Flatten (560-d)
  ├─ CS head:  MLP 560→2300→1150→7    (crystal system)
  ├─ SG head:  MLP 560→2300→1150→230  (space group)
  └─ LP head:  MLP 560→512→256→6      (lattice parameters, sigmoid-bounded)
  • 参数: 8,734,989
  • 激活函数: GELU
  • 随机深度: 0.3
  • 注意力头 dropout: 0.5

性能表现

这是一个单一模型,仅在 Materials Project 数据集上训练。 最佳验证检查点(第 11 轮)的指标:

指标模拟验证集RRUFF(实验数据)
晶系准确率74.88%60.35%
空间群准确率57.31%38.28%
晶格参数 MAE2.71—

论文中报告了更高的数值,该结果来自于一个在 Materials Project + ICSD 组合数据上训练的 10 模型集成。本开放权重版本仅涵盖公开可用的训练数据。

训练详情

数据~146k 个 Materials Project 结构,每个结构进行 100 次 GSAS-II 模拟
数据增强泊松 + 高斯噪声,重缩放至 [0, 100]
优化器AdamW(学习率=2e-4,权重衰减=0.01)
学习率调度器CyclicLR(triangular2 模式,6 轮为半个周期)
损失函数CE(晶系)+ CE + GEMD(空间群)+ MSE(晶格参数)
硬件1× NVIDIA H100,float32
批大小64

引用

@article{andrejevic2026alphadiffract,
  title   = {AlphaDiffract: Automated Crystallographic Analysis of Powder X-ray Diffraction Data},
  author  = {Andrejevic, Nina and Du, Ming and Sharma, Hemant and Horwath, James P. and Luo, Aileen and Yin, Xiangyu and Prince, Michael and Toby, Brian H. and Cherukara, Mathew J.},
  year    = {2026},
  eprint  = {2603.23367},
  archivePrefix = {arXiv},
  primaryClass  = {cond-mat.mtrl-sci},
  doi     = {10.48550/arXiv.2603.23367},
  url     = {https://arxiv.org/abs/2603.23367}
}

许可协议

BSD 3-Clause — 版权所有 2026 UChicago Argonne, LLC。

链接

  • arXiv: 2603.23367
  • GitHub: OpenAlphaDiffract
  • GitHub: AlphaDiffract