---
title: solubility_parameter
canonical_url: "https://www.modelscope.cn/models/ai4s/solubility_parameter"
md_url: "https://www.modelscope.cn/models/ai4s/solubility_parameter.md"
repository: ai4s/solubility_parameter
chinese_name: "燧人大模型-溶解度常数"
last_updated: 2025-09-04
license: apache-2.0
downloads: 11
stars: 2
tags:
  - "作者：星河启智"
---

# solubility_parameter

> solubility_parameter - ai4s 在 ModelScope 开源的模型。模型描述 燧人大模型是一套面向分子原子尺度的深度学习模型，基于 PyTorch 框架构建，能够同时支持各种热力学性质的预测，包括沸点、临界性质、热容、扩散系数、燃烧焓、生成焓、溶解度、粘度等。

ai4s/solubility_parameter 是 ModelScope 魔搭社区上的机器学习模型，采用 apache-2.0 许可。

- **Repository**: ai4s/solubility_parameter
- **License**: apache-2.0
- **Tags**: 作者：星河启智
- **Downloads**: 11
- **Stars**: 2
- **Last updated**: 2025-09-04

Source: https://www.modelscope.cn/models/ai4s/solubility_parameter

---

<!--- 以下model card模型说明部分 --->

# 燧人大模型介绍

## 模型描述
燧人大模型是一套面向分子原子尺度的深度学习模型，基于 **PyTorch** 框架构建，能够同时支持各种热力学性质的预测，包括沸点、临界性质、热容、扩散系数、燃烧焓、生成焓、溶解度、粘度等。

**溶解度常数**（Solubility Constant）通常指在一定温度和压力下，描述物质在溶剂中溶解能力的热力学参数。根据溶质和体系不同，其定义和形式有所差异，常见于气体或难溶电解质的溶解平衡。

**应用场景：**

1. **环境科学**：  
   预测 O₂、CO₂ 在水体中的溶解量，影响水质、生物呼吸和碳循环。

2. **化工与制药**：  
   设计反应溶剂、结晶过程和药物溶解性优化。

3. **地质与海洋学**：  
   研究矿物沉淀（如碳酸钙）、海底沉积和水垢形成。

4. **生物系统**：  
   分析气体（如氧气、二氧化碳）在血液中的运输与交换。

5. **水处理**：  
   控制重金属离子沉淀（如通过调节 pH 影响 \( K_{sp} \)），实现净化。


## 期望模型使用方式以及适用范围

- **科研人员**：在材料设计、分子筛选过程中快速获取热力学性质预测值，辅助实验设计和评估。  
- **工程应用**：在工艺模拟与安全评估环节中，用于替代部分昂贵或不精确的实验测量。  
- **教学场景**：作为化工、材料、热物性课程的辅助工具。  

⚠️ 模型适用于 **有机小分子**，不适合直接推广到 **复杂聚合物、大分子材料或金属体系**，模型支持的元素种类包括(H，C，N，O，F，P，S，Cl，Br，I)。  

## 如何使用
### 环境安装
```
torch>=2.0
torch-geometric
pip install -r requirements.txt 
```

### 1. 微调
用户可以基于已有的预训练权重，在自己的数据集上进一步微调，以适配特定分子空间或特殊热力学性质。

请将微调数据集放入`data/{name}/raw`目录下，提供名为 `{name}_train.csv`, `{name}_valid.csv`, `{name}_test.csv` 三个数据文件，每个文件包含两列，分别为“SMILES”列和"values"，“SMILES”表示分子的结构式(str格式)，"values"表示性质数值(float格式)。

#### 微调代码示例：
```bash
python train.py --name solubility_parameter --epochs 10 --batch_size 64 --lr 1e-3 --checkpoint path --loss l1 --output_dir checkpoints 
```
#### 参数说明：

- name：性质名称或实验名称，用于产生对应checkpoint文件

- epochs：训练轮次

- batch_size：一次性处理的样本批次大小

- lr：学习率

- checkpoint：预训练模型路径

- loss：训练损失函数 

- outpu_dir：微调模型保存路径

### 2. 推理
我们提供了微调模型，可以直接调用进行推理。

#### 代码范例

```bash
python infer.py --device cuda --model_path ./chekpoints/solubility_parameter --smiles "CC=O"
```

#### 参数说明
- device：推理设备，使用GPU/CPU进行推理

- model_path：微调模型的存储路径

- smiles：待推理的分子SMILES表达式

## 模型局限性以及可能的偏差

- 数据覆盖不足：训练数据集主要覆盖常见有机小分子，对于稀有化合物或大分子体系预测精度可能不足。

- 温度/压力依赖性：模型预测的是标准条件下的物性，未显式建模温压依赖效应。

- 泛化性：在实验数据较少的性质上，模型预测可能偏差较大。

## 模型训练

### 1. 训练数据介绍

训练数据来自开源化学数据库与部分实验文献整理。
数据包括：
- 分子结构（SMILES）

- 对应实验热力学性质值

### 2. 预处理

1. 使用 RDKit 将 SMILES 转换为分子图表示

2. 构建分子图的2d图表示以及3d分子坐标

3. 数据标准化与归一化，保证不同物性的数值范围适配神经网络训练

### 3. 训练
- 框架：PyTorch + PyTorch Geometric

- 优化器：AdamW

- 损失函数：MAE

- 评估指标：MAE、R²

- 每个热力学性质单独进行微调，存储在 ./checkpoints/ 目录下

## 模型评估

在内部测试集上，模型在不同任务上表现如下：

| 任务       | MAE      | R²      |
| -------- | -------- | ------- |
| 溶解度常数预测  | 0.44376  | 0.91557 |

## 开源协议
本项目采用 Apache License 2.0 开源许可证
