|
|
2 nedēļas atpakaļ | |
|---|---|---|
| .idea | 1 mēnesi atpakaļ | |
| api | 5 mēneši atpakaļ | |
| ci | 5 mēneši atpakaļ | |
| common | 5 mēneši atpakaļ | |
| models | 2 nedēļas atpakaļ | |
| README.md | 3 mēneši atpakaļ | |
| env.example | 5 mēneši atpakaļ | |
| requirements-dev.txt | 5 mēneši atpakaļ | |
| requirements.txt | 5 mēneši atpakaļ |
项目简介: 专业的多模型协作平台,专注于工业场景的智能模型集成与部署 技术栈: PyTorch + FastAPI + Docker + Redis 更新日期: 2025-01-10
DualFlow 是一个工业级的多模型协作平台,集成了异常检测、因果推理、压力预测和超滤强化学习等核心机器学习模型,为工业生产过程提供智能化解决方案。
DualFlow/
├── models/ # 机器学习模型
│ ├── anomaly_detection/ # 异常检测模型
│ │ ├── detection.py # 孤立森林 + 三西格玛检测
│ │ └── *.pkl # 预训练模型文件
│ ├── causal-inference/ # 因果推理模型
│ │ ├── gat.py # 图注意力网络
│ │ ├── rl_optimizer.py # PPO强化学习优化
│ │ ├── 代码逻辑梳理.md # 详细技术文档
│ │ └── *.pth # 训练好的模型权重
│ ├── pressure-predictor/ # 压力预测模型
│ │ ├── gat-lstm_model/ # GAT-LSTM混合模型
│ │ ├── 20分钟TMP预测模型源码/ # 20分钟短期预测
│ │ ├── 90天TMP预测模型源码/ # 90天长期预测
│ │ └── 90天TMP预测模型源码修改/ # 改进版预测模型
│ └── uf-rl/ # 超滤强化学习模型
│ ├── Ultrafiltration_model/ # 超滤生产模型
│ ├── dqn_model/ # 深度Q网络模型
│ └── 超滤训练源码/ # 训练源码和文档
├── common/ # 公共模块
│ ├── data/ # 数据处理模块
│ │ └── loader.py # 数据加载器
│ ├── preprocessing/ # 数据预处理
│ │ ├── image.py # 图像预处理
│ │ └── text.py # 文本预处理
│ ├── metrics/ # 评估指标
│ │ ├── classification.py # 分类指标
│ │ └── regression.py # 回归指标
│ └── utils/ # 工具函数
│ ├── config.py # 配置管理
│ └── logger.py # 日志工具
├── api/ # API接口
│ └── routers/ # 路由模块
│ ├── health.py # 健康检查
│ ├── models.py # 模型管理
│ └── users.py # 用户管理
├── ci/ # CI/CD配置
│ ├── model_build.yml # 模型构建流程
│ ├── model_deploy.yml # 模型部署流程
│ └── scripts/ # 部署脚本
│ └── deploy_model.sh # 模型部署脚本
├── requirements.txt # 项目依赖
├── requirements-dev.txt # 开发依赖
├── env.example # 环境变量示例
└── README.md # 项目说明
models/anomaly_detection/detection.pymodels/causal-inference/ (包含详细技术文档)models/pressure-predictor/models/uf-rl/克隆项目
git clone <repository-url>
cd DualFlow
创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
安装依赖
pip install -r requirements.txt
pip install -r requirements-dev.txt # 开发环境
环境配置
cp env.example .env
# 编辑 .env 文件,配置相关环境变量
cd models/anomaly_detection
python detection.py
cd models/causal-inference
python main.py
# 查看详细文档: cat 代码逻辑梳理.md
# 20分钟预测
cd models/pressure-predictor/20分钟TMP预测模型源码
python main.py
# 90天预测
cd models/pressure-predictor/90天TMP预测模型源码
python main.py
# GAT-LSTM混合模型
cd models/pressure-predictor/gat-lstm_model
python api_main.py
# 训练
cd models/uf-rl/超滤训练源码
python fixed_DQN_train.py
# 推理
cd models/uf-rl/Ultrafiltration_model
python loop_main.py
# 启动FastAPI服务
uvicorn api.main:app --host 0.0.0.0 --port 8000 --reload
# 访问API文档
# Swagger: http://localhost:8000/docs
# ReDoc: http://localhost:8000/redoc
创建模型目录
mkdir models/new_model
cd models/new_model
创建标准文件
touch README.md main.py config.py requirements.txt
mkdir -p data models tests
实现模型代码
main.py中实现模型逻辑config.py中定义配置参数README.md中编写详细文档# 代码格式化
black .
# 导入排序
isort .
# 类型检查
mypy .
# 代码质量检查
flake8 .
# 安装pre-commit hooks
pre-commit install
# 运行所有测试
pytest
# 运行特定模型测试
pytest models/causal-inference/tests/
# 生成覆盖率报告
pytest --cov=models --cov-report=html
构建镜像
docker build -t dualflow:latest .
运行容器
docker run -d -p 8000:8000 --name dualflow-app dualflow:latest
使用CI/CD流程
# 构建模型
./ci/scripts/model_build.yml
# 部署模型
./ci/scripts/model_deploy.yml
监控和日志
使用 Prometheus 进行指标监控
使用结构化日志记录运行状态
| 端点 | 方法 | 描述 |
|---|---|---|
/health |
GET | 健康检查 |
/models |
GET | 获取模型列表 |
/models/{model_name}/predict |
POST | 模型预测 |
/models/{model_name}/status |
GET | 模型状态 |
| 模型 | 任务 | MSE | MAE | R² | 训练时间 |
|---|---|---|---|---|---|
| 因果推理 | 时间序列预测 | 0.0021 | 0.0342 | 0.923 | 2.3h |
| 压力预测 | 20分钟TMP预测 | 0.0018 | 0.0289 | 0.945 | 1.8h |
| 异常检测 | 异常识别 | - | - | 0.91 | 0.5h |
| UF-RL | 生产优化 | - | - | 0.87 | 3.2h |
我们欢迎所有形式的贡献!
创建功能分支
git checkout -b feature/your-feature-name
提交更改
git commit -m "Add your feature description"
推送分支
git push origin feature/your-feature-name
创建 Pull Request
提供清晰的PR描述
确保所有测试通过
更新相关文档
A:
A:
A:
本项目采用 MIT 许可证。详情请查看 LICENSE 文件。
感谢所有为DualFlow项目做出贡献的开发者和研究人员!
特别鸣谢:
⚡ DualFlow - 让工业智能化更简单! 🚀