Smart Fermenter 智能发酵预测系统 - 项目概述与架构解析
YZDR Lv2

Smart Fermenter 智能发酵预测系统 - 项目概述与架构解析

发酵工程是生物制药、食品加工、酿酒等行业的核心技术。传统发酵过程依赖人工经验调控,效率低且容易出现批次间差异。Smart Fermenter 是一个基于深度学习的智能发酵预测系统,通过 LSTM/RNN 模型对发酵过程中的 OD600(光密度)等关键指标进行预测,实现智能化调控。

项目简介

Smart Fermenter 是一个端到端的发酵过程预测解决方案,具有以下核心功能:

  • 多模型支持:LSTM 和 RNN 两种时间序列预测模型
  • 数据源灵活:支持 Excel 和 MySQL 两种数据源
  • API 服务:提供 RESTful API 用于实时数据接入和预测
  • 参数优化:基于遗传算法自动优化模型参数
  • 数据库管理:完整的数据采集、存储和管理体系

系统架构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
┌─────────────────────────────────────────────────────────────────────┐
│ Smart Fermenter 系统架构 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 数据采集 │ ──▶ │ API 服务 │ ──▶ │ 数据库存储 │ │
│ │ (传感器) │ │ (Flask) │ │ (MySQL) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Web界面 │ ◀──▶ │ 主程序 │ ──▶ │ 模型训练 │ │
│ │ (PyQt5) │ │ (CLI) │ │ (PyTorch) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ 参数优化 │ │
│ │ (遗传算法) │ │
│ └─────────────┘ │
└─────────────────────────────────────────────────────────────────────┘

核心模块说明

1. 模型层 (core/)

1
2
3
4
5
6
7
# 核心模型定义 - LSTM 预测器
class LSTMPredictor(nn.Module):
def __init__(self, input_dim, hidden_dim, output_dim, n_layers):
self.pre_fc = nn.Linear(input_dim, hidden_dim)
self.lstm = nn.LSTM(input_size=hidden_dim, hidden_size=hidden_dim,
num_layers=n_layers, batch_first=True)
self.fc = nn.Linear(hidden_dim, output_dim)

2. 数据处理 (core/dataset.py)

发酵数据采用滑动窗口切片处理:

参数 说明 默认值
ws 窗口大小(时间步数) 20
stride 滑动步长 5
x_var 输入特征 dm_air, m_ls_opt_do, m_ph 等
y_var 预测目标 od_600

3. API 服务 (api/)

基于 Flask 提供:

  • /api/health - 健康检查
  • /api/status - 系统状态
  • /api/raw_data - 原始数据提交
  • /api/raw_data/latest - 获取最新数据

4. 数据库层 (database/)

采用双数据库设计:

  • fermenter_raw_data - 存储传感器原始数据
  • fermenter_predictions - 存储预测结果

使用连接池技术实现高效数据库访问,支持 pymysql 和 mysql.connector 两种驱动。

技术栈

层级 技术选型
深度学习框架 PyTorch
数据处理 Pandas, NumPy, scikit-learn
Web 框架 Flask
数据库 MySQL
数据库驱动 pymysql / mysql-connector-python
可视化 Weights & Biases (wandb)
CLI argparse

使用方式

系统通过命令行统一调度:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 训练模型
python main.py train --run_name experiment_01 --model lstm --num_epochs 100

# 启动 API 服务
python main.py api --host 0.0.0.0 --port 5000

# 遗传算法优化
python main.py optimize --weights logs/run_name/weights_best.tar

# 数据库操作
python main.py db --init # 初始化数据库
python main.py db --backup # 备份数据库
python main.py db --status # 查看状态

适用场景

  1. 生物制药:抗体药物、疫苗生产过程中的细胞培养监控
  2. 食品发酵:酸奶、酿酒、酱油等发酵过程的智能调控
  3. 能源环保:沼气发酵、污水处理过程中的参数优化
  4. 学术研究:发酵动力学建模、过程优化研究

后续博客将详细介绍各个模块的实现原理,敬请期待。

参考项目

 评论
评论插件加载失败
正在加载评论插件