示例和使用教程
本目录包含了情绪与生理状态变化预测模型的完整示例和使用教程,帮助用户快速上手使用项目。
目录结构
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 - 快速开始教程
目的: 为新用户提供最简单的上手体验
功能:
- 生成合成训练数据
- 训练基础模型
- 进行推理预测
- 解释预测结果
运行方式:
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 - 详细训练教程
目的: 深入演示模型训练的完整流程
功能:
- 数据准备和探索性分析
- 数据预处理和特征工程
- 模型配置和架构选择
- 训练过程监控和可视化
- 模型评估和验证
- 超参数调优示例
运行方式:
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)
- 结果解释和可视化
- 性能优化和基准测试
- 实际应用场景演示
运行方式:
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维)
user_pleasure(float, [-1, 1]) - 用户快乐度user_arousal(float, [-1, 1]) - 用户激活度user_dominance(float, [-1, 1]) - 用户支配度vitality(float, [0, 100]) - 活力水平current_pleasure(float, [-1, 1]) - 当前快乐度current_arousal(float, [-1, 1]) - 当前激活度current_dominance(float, [-1, 1]) - 当前支配度
输出标签(5维)
delta_pleasure(float, [-0.5, 0.5]) - 快乐度变化量delta_arousal(float, [-0.5, 0.5]) - 激活度变化量delta_dominance(float, [-0.5, 0.5]) - 支配度变化量delta_pressure(float, [-0.3, 0.3]) - 压力变化量confidence(float, [0, 1]) - 预测置信度
使用建议
初学者
- 从
quick_start.py开始,了解基本流程 - 查看
sample_data.json了解数据格式 - 运行
inference_tutorial.py学习推理方法
进阶用户
- 运行
training_tutorial.py学习完整训练流程 - 修改配置文件进行自定义训练
- 使用
inference_tutorial.py中的性能优化技巧
开发者
- 参考教程代码集成到自己的项目
- 使用提供的工具函数进行数据处理
- 根据实际需求调整模型架构
常见问题
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
安装命令:
pip install torch numpy pandas matplotlib seaborn scikit-learn loguru pyyaml
联系方式
如有问题或建议,请通过以下方式联系:
- 项目仓库: [GitHub仓库链接]
- 问题反馈: [Issues链接]
- 文档: [文档链接]
注意: 这些教程和示例主要用于学习和演示目的。在实际生产环境中使用时,请根据具体需求进行调整和优化。