File size: 6,173 Bytes
0a6452f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# 示例和使用教程
本目录包含了情绪与生理状态变化预测模型的完整示例和使用教程,帮助用户快速上手使用项目。
## 目录结构
```
examples/
├── README.md # 本文件 - 示例目录说明
├── sample_data.json # JSON格式示例数据
├── sample_data.csv # CSV格式示例数据
├── quick_start.py # 快速开始教程
├── training_tutorial.py # 详细训练教程
├── inference_tutorial.py # 推理教程
├── data/ # 教程生成的数据目录
├── models/ # 教程生成的模型目录
├── training_outputs/ # 训练教程输出目录
└── inference_outputs/ # 推理教程输出目录
```
## 文件说明
### 示例数据文件
#### `sample_data.json`
- **格式**: JSON格式,包含10个样本的完整数据
- **内容**: 每个样本包含7维输入特征和5维输出标签
- **用途**: 用于快速测试和演示模型功能
#### `sample_data.csv`
- **格式**: CSV格式,包含20个样本的完整数据
- **内容**: 包含表头,便于批量处理和数据分析
- **用途**: 用于批量测试和数据分析
### 教程脚本
#### `quick_start.py` - 快速开始教程
**目的**: 为新用户提供最简单的上手体验
**功能**:
- 生成合成训练数据
- 训练基础模型
- 进行推理预测
- 解释预测结果
**运行方式**:
```bash
cd examples
python quick_start.py
```
**输出**:
- `examples/data/training_data.csv` - 训练数据
- `examples/models/quick_start_model.pth` - 训练好的模型
- `examples/models/quick_start_preprocessor.pkl` - 数据预处理器
#### `training_tutorial.py` - 详细训练教程
**目的**: 深入演示模型训练的完整流程
**功能**:
- 数据准备和探索性分析
- 数据预处理和特征工程
- 模型配置和架构选择
- 训练过程监控和可视化
- 模型评估和验证
- 超参数调优示例
**运行方式**:
```bash
cd examples
python training_tutorial.py
```
**输出**:
- `examples/training_outputs/` - 训练过程的所有输出文件
- `train_data.csv`, `val_data.csv`, `test_data.csv` - 数据分割
- `feature_distribution.png` - 特征分布图
- `label_distribution.png` - 标签分布图
- `correlation_heatmap.png` - 相关性热力图
- `training_curves.png` - 训练曲线
- `prediction_visualization.png` - 预测结果可视化
- `preprocessor.pkl` - 数据预处理器
- `best_model.pth` - 最佳训练模型
- `training_history.json` - 训练历史记录
- `evaluation_results.json` - 评估结果
- `hyperparameter_tuning.json` - 超参数调优结果
#### `inference_tutorial.py` - 推理教程
**目的**: 全面演示模型推理的各种方法和技巧
**功能**:
- 单样本推理
- 批量推理
- 不同输入格式处理(列表、NumPy数组、字典、JSON、CSV)
- 结果解释和可视化
- 性能优化和基准测试
- 实际应用场景演示
**运行方式**:
```bash
cd examples
python inference_tutorial.py
```
**输出**:
- `examples/inference_outputs/` - 推理过程的所有输出文件
- `single_inference_results.json` - 单样本推理结果
- `batch_inference_results.json` - 批量推理结果
- `prediction_distributions.png` - 预测分布对比图
- `test_input.json`, `test_input.csv` - 测试输入文件
- `result_interpretations.json` - 结果解释
- `performance_optimization.json` - 性能优化结果
- `real_world_scenarios.json` - 实际应用场景结果
## 数据格式说明
### 输入特征(7维)
1. `user_pleasure` (float, [-1, 1]) - 用户快乐度
2. `user_arousal` (float, [-1, 1]) - 用户激活度
3. `user_dominance` (float, [-1, 1]) - 用户支配度
4. `vitality` (float, [0, 100]) - 活力水平
5. `current_pleasure` (float, [-1, 1]) - 当前快乐度
6. `current_arousal` (float, [-1, 1]) - 当前激活度
7. `current_dominance` (float, [-1, 1]) - 当前支配度
### 输出标签(5维)
1. `delta_pleasure` (float, [-0.5, 0.5]) - 快乐度变化量
2. `delta_arousal` (float, [-0.5, 0.5]) - 激活度变化量
3. `delta_dominance` (float, [-0.5, 0.5]) - 支配度变化量
4. `delta_pressure` (float, [-0.3, 0.3]) - 压力变化量
5. `confidence` (float, [0, 1]) - 预测置信度
## 使用建议
### 初学者
1. 从 `quick_start.py` 开始,了解基本流程
2. 查看 `sample_data.json` 了解数据格式
3. 运行 `inference_tutorial.py` 学习推理方法
### 进阶用户
1. 运行 `training_tutorial.py` 学习完整训练流程
2. 修改配置文件进行自定义训练
3. 使用 `inference_tutorial.py` 中的性能优化技巧
### 开发者
1. 参考教程代码集成到自己的项目
2. 使用提供的工具函数进行数据处理
3. 根据实际需求调整模型架构
## 常见问题
### Q: 如何使用自己的数据?
A: 参考 `training_tutorial.py` 中的数据预处理部分,确保数据格式符合要求。
### Q: 如何调整模型架构?
A: 修改 `configs/model_config.yaml` 中的网络架构参数,或直接在代码中修改 `PADPredictor` 的初始化参数。
### Q: 如何提高预测精度?
A: 参考 `training_tutorial.py` 中的超参数调优部分,尝试不同的学习率、批次大小等参数。
### Q: 如何进行批量推理?
A: 使用 `inference_tutorial.py` 中演示的 `predict_batch` 方法。
### Q: 如何解释预测结果?
A: 参考 `inference_tutorial.py` 中的结果解释函数,了解各项指标的含义。
## 依赖要求
运行教程脚本需要安装以下依赖:
- Python 3.8+
- PyTorch
- NumPy
- Pandas
- Matplotlib
- Seaborn
- scikit-learn
- loguru
- PyYAML
安装命令:
```bash
pip install torch numpy pandas matplotlib seaborn scikit-learn loguru pyyaml
```
## 联系方式
如有问题或建议,请通过以下方式联系:
- 项目仓库: [GitHub仓库链接]
- 问题反馈: [Issues链接]
- 文档: [文档链接]
---
**注意**: 这些教程和示例主要用于学习和演示目的。在实际生产环境中使用时,请根据具体需求进行调整和优化。 |