---
title: Physics_5000
canonical_url: "https://www.modelscope.cn/datasets/Hao741/Physics_5000"
md_url: "https://www.modelscope.cn/datasets/Hao741/Physics_5000.md"
repository: Hao741/Physics_5000
chinese_name: "物理常识推理_5000"
last_updated: 2026-07-13
license: "Apache License 2.0"
downloads: 67
stars: 1
---

# Physics_5000

> Physics_5000 - Hao741 在 ModelScope 开源的数据集。用于多模态模型微调任务，提升模型物理常识推理能力

Hao741/Physics_5000 是 ModelScope 魔搭社区上的数据集，采用 Apache License 2.0 许可。

- **Repository**: Hao741/Physics_5000
- **License**: Apache License 2.0
- **Downloads**: 67
- **Stars**: 1
- **Last updated**: 2026-07-13

Source: https://www.modelscope.cn/datasets/Hao741/Physics_5000

---

# 物理常识推理数据集 (Physics Common Sense Reasoning Dataset)

## 数据集概述

本数据集包含 **1000 条** 图片-对话对，用于微调多模态大语言模型（MLLM）的物理常识推理能力。数据涵盖中学物理 20 个核心主题，每张图配有中文物理问题及详细解答。

| 属性 | 值 |
|------|------|
| 数据总量 | 1,000 条 |
| 覆盖主题 | 20 个物理子领域 |
| 每主题题数 | 50 条 |
| 问题平均长度 | 23.8 字 |
| 答案平均长度 | 116.8 字 |
| 图片格式 | PNG (600×400) |
| 图片生成方式 | Matplotlib 程序化绘制 |

## 20 个主题分布

| 编号 | 主题 | ID 范围 | 编号 | 主题 | ID 范围 |
|------|------|---------|------|------|---------|
| 1 | 连通器原理 | 000-049 | 11 | 简谐振动 | 500-549 |
| 2 | 浮力与密度 | 050-099 | 12 | 牛顿力学 | 550-599 |
| 3 | 杠杆平衡 | 100-149 | 13 | 热学基础 | 600-649 |
| 4 | 滑轮系统 | 150-199 | 14 | 电学基础 | 650-699 |
| 5 | 斜面运动 | 200-249 | 15 | 功和能 | 700-749 |
| 6 | 光学反射折射 | 250-299 | 16 | 圆周运动 | 750-799 |
| 7 | 电路分析 | 300-349 | 17 | 流体力学 | 800-849 |
| 8 | 运动学 | 350-399 | 18 | 声学 | 850-899 |
| 9 | 大气压强 | 400-449 | 19 | 电磁学 | 900-949 |
| 10 | 液压传动 | 450-499 | 20 | 综合推理 | 950-999 |

## 文件结构

```
physics_dataset/
├── train_physics_1000.json      # 主数据集 (1000条)
├── images/                      # 图片文件夹 (1000张PNG)
│   ├── physics_000.png
│   ├── physics_001.png
│   └── ...
├── statistics.png               # 数据统计图表
├── convert_format.py            # 格式转换脚本
└── README.md                    # 本文件
```

## JSON 格式

```json
{
  "id": "physics_000",
  "image": "physics_000.png",
  "conversations": [
    {"role": "user", "content": "水龙头往A杯持续注水，哪个杯子最先装满水？"},
    {"role": "assistant", "content": "B杯最先装满水。因为三个杯子通过管道连通，构成连通器..."}
  ]
}
```

## 格式转换

使用 `convert_format.py` 可转换到多种微调框架格式：

```bash
# 转换为所有格式 (LLaVA / Qwen-VL / CogVLM / ShareGPT)
python convert_format.py --input train_physics_1000.json --image-root images --format all --split

# 仅转换为 LLaVA 格式
python convert_format.py --format llava

# 自定义图片路径前缀
python convert_format.py --image-root /absolute/path/to/images --format qwenvl
```

## 微调建议

### 使用 Qwen-VL 微调
```bash
# 1. 先转换格式
python convert_format.py --format qwenvl --image-root /your/abs/path/images

# 2. 在训练脚本中指定数据集路径
# 参考 Qwen-VL 官方 finetune 脚本
```

### 使用 LLaVA 微调
```bash
# 1. 转换格式
python convert_format.py --format llava --image-root /your/abs/path/images

# 2. 替换 image 字段为绝对路径后，按 LLaVA 格式组织
```

### 数据集划分
脚本支持自动划分训练/验证集（默认 9:1）：
```bash
python convert_format.py --split --train-ratio 0.9
```

## 图片本地路径替换

微调前需将 JSON 中的 `image` 字段替换为本地绝对路径：

```python
import json

image_root = "/your/local/path/images"  # 替换为你的实际路径

with open("train_physics_1000.json", "r", encoding="utf-8") as f:
    data = [json.loads(line) for line in f]

for item in data:
    item["image"] = f"{image_root}/{item['image']}"

with open("train_physics_local.json", "w", encoding="utf-8") as f:
    for item in data:
        f.write(json.dumps(item, ensure_ascii=False) + "\n")
```

## 数据特点

1. **程序化生成图片**：使用 Matplotlib 绘制，每张图具有清晰的物理含义
2. **中文问答对**：问题简洁，答案包含推理过程和结论
3. **覆盖全面**：力学、热学、电磁学、光学、声学等中学物理全领域
4. **答案质量高**：每条答案包含原理说明、公式推导和结论
5. **无版权风险**：图片和文本均为程序化生成，可自由使用

## 统计信息

- 唯一问题数: 994 (重复 6 条)
- 问题长度范围: 6 ~ 68 字
- 答案长度范围: 58 ~ 250 字
- 平均答案长度: 116.8 字

## License

本数据集为程序化生成的教育资源，可自由用于学术研究和模型微调。
