CGCNN数据集制作全攻略:CIF文件与id_prop.csv格式详解
【免费下载链接】cgcnnCrystal graph convolutional neural networks for predicting material properties.项目地址: https://gitcode.com/gh_mirrors/cg/cgcnn
想要使用CGCNN(Crystal Graph Convolutional Neural Networks)进行材料性质预测?数据集准备是关键第一步!🎯 本文将为你详细解析CGCNN数据集的完整制作流程,特别是CIF文件和id_prop.csv格式的规范要求。
🔍 CGCNN数据集结构总览
CGCNN是一个强大的晶体图卷积神经网络工具,专为预测材料性质而设计。要使用它,你需要准备一个标准格式的数据集。数据集目录结构如下:
你的数据集目录/ ├── id_prop.csv # 核心属性文件 ├── atom_init.json # 原子初始化文件 ├── 1000041.cif # CIF晶体结构文件 ├── 1000050.cif # CIF晶体结构文件 └── ... # 更多CIF文件📊 id_prop.csv文件格式详解
id_prop.csv是CGCNN数据集的核心配置文件,它建立了晶体结构与目标属性之间的对应关系。
基本格式要求
这是一个简单的两列CSV文件,没有任何表头:
1000041,1.0 1000050,2.0 1101051,3.0 1507756,4.0列说明
| 列名 | 数据类型 | 说明 |
|---|---|---|
| 第一列 | 字符串或整数 | 晶体唯一标识符(ID) |
| 第二列 | 浮点数或整数 | 目标属性值 |
实际应用示例
回归任务示例(data/sample-regression/id_prop.csv):
1000041,1.0 1000050,2.0 1101051,3.0 1507756,4.0 7206075,5.0分类任务示例(data/sample-classification/id_prop.csv):
1000041,1 1000050,0 1101051,1 1507756,0🏗️ CIF文件格式解析
CIF(Crystallographic Information File)是晶体学信息文件,用于描述晶体结构。每个CIF文件对应一个晶体样本。
CIF文件关键部分
典型的CIF文件包含以下重要信息:
data_1000041 _cell_length_a 5.62 _cell_length_b 5.62 _cell_length_c 5.62 _cell_angle_alpha 90 _cell_angle_beta 90 _cell_angle_gamma 90 _chemical_formula_sum 'Cl Na' _space_group_IT_number 225 loop_ _atom_site_label _atom_site_type_symbol _atom_site_fract_x _atom_site_fract_y _atom_site_fract_z Na1 Na 0.000 0.000 0.000 Cl1 Cl 0.500 0.500 0.500命名规范
- 文件名必须与id_prop.csv中的ID完全一致
- 使用
.cif作为文件扩展名 - 示例:ID为
1000041的晶体对应文件名为1000041.cif
🛠️ atom_init.json文件说明
atom_init.json文件为每个元素提供初始化向量,通常使用项目提供的默认文件即可。
文件位置
- 示例文件:data/sample-regression/atom_init.json
- 包含92种元素的特征向量(对应原子序数1-92)
使用建议
对于大多数应用,直接使用项目提供的atom_init.json文件即可,无需修改。
📝 数据集制作完整流程
步骤1:收集晶体结构数据
- 从Materials Project、COD等数据库下载CIF文件
- 确保每个晶体有唯一的标识符
步骤2:准备属性数据
- 整理每个晶体的目标属性(如形成能、带隙等)
- 创建id_prop.csv文件
步骤3:组织文件结构
- 创建数据集目录
- 将所有CIF文件放入该目录
- 复制atom_init.json文件到目录中
- 将id_prop.csv放入目录
步骤4:验证数据集
- 检查所有CIF文件能否被pymatgen正确读取
- 验证id_prop.csv中每个ID都有对应的CIF文件
- 确保文件命名一致
💡 实用技巧与注意事项
1. 数据集规模建议
- 训练集:至少100个样本可获得较好效果
- 验证集:建议占总数据10-20%
- 测试集:建议占总数据10-20%
2. 常见问题解决
问题:找不到足够邻居构建图解决:在data.py中调整radius参数(默认8Å)
问题:CIF文件读取失败解决:确保CIF文件格式标准,使用pymatgen验证
3. 高级配置选项
在CGCNN的CIFData类中,可以调整以下参数:
| 参数 | 默认值 | 说明 |
|---|---|---|
max_num_nbr | 12 | 每个原子的最大邻居数 |
radius | 8.0 | 邻居搜索半径(Å) |
dmin | 0 | 高斯距离最小值 |
step | 0.2 | 高斯距离步长 |
🚀 快速开始示例
假设你已经准备好了数据集,以下是使用CGCNN的简单步骤:
克隆仓库:
git clone https://gitcode.com/gh_mirrors/cg/cgcnn cd cgcnn准备环境:
conda create -n cgcnn python=3 scikit-learn pytorch torchvision pymatgen -c pytorch -c conda-forge conda activate cgcnn训练模型:
python main.py --train-size 6 --val-size 2 --test-size 2 data/sample-regression
📈 应用场景与扩展
回归任务
- 材料形成能预测
- 弹性模量计算
- 带隙预测
分类任务
- 金属/半导体分类
- 晶体结构类型识别
- 材料稳定性判断
🔗 相关资源
- 官方文档:cgcnn/data.py - 数据集加载实现
- 示例数据:data/sample-regression/ - 回归任务示例
- 示例数据:data/sample-classification/ - 分类任务示例
✅ 总结
掌握CGCNN数据集制作是成功应用该模型的关键。记住三个核心文件:id_prop.csv、atom_init.json和*.cif文件。按照本文的指南,你可以轻松准备自己的材料数据集,开始材料性质预测的探索之旅!🚀
无论你是材料科学研究者还是机器学习爱好者,正确的数据集格式都是获得准确预测结果的基础。现在就开始准备你的第一个CGCNN数据集吧!
【免费下载链接】cgcnnCrystal graph convolutional neural networks for predicting material properties.项目地址: https://gitcode.com/gh_mirrors/cg/cgcnn
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考