|
@@ -0,0 +1,32 @@
|
|
|
|
|
+# UF-RL 项目架构说明
|
|
|
|
|
+
|
|
|
|
|
+## 项目整体结构
|
|
|
|
|
+* uf-rl/
|
|
|
|
|
+* ├── uf_data_process/ # 数据预处理
|
|
|
|
|
+* ├── data_to_rl/ # 强化学习数据处理
|
|
|
|
|
+* ├── env/ # 环境定义
|
|
|
|
|
+* ├── longting/ # 龙亭配置
|
|
|
|
|
+* ├── longting/ # 锡山配置
|
|
|
|
|
+* ├── rl_model/ # 强化学习模型核心
|
|
|
|
|
+* │ ├── DQN/ # DQN算法实现
|
|
|
|
|
+* │ │ ├── dqn_model # dqn模型定义
|
|
|
|
|
+* │ │ ├── uf_train # 训练执行
|
|
|
|
|
+* │ │ └── uf_decide # 调用执行
|
|
|
|
|
+* │ │ │ └── test_online_datasets # 在线调用测试数据集
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+## 核心设计说明
|
|
|
|
|
+
|
|
|
|
|
+`rl_model` 是整个项目的强化学习核心目录,存放各类强化学习算法的 agent 实现。
|
|
|
|
|
+
|
|
|
|
|
+### 算法隔离设计
|
|
|
|
|
+当前使用 **DQN 算法**,因此将训练和决策代码统一放在 `DQN/` 目录下:
|
|
|
|
|
+
|
|
|
|
|
+- `dqn_model` - DQN 网络结构定义
|
|
|
|
|
+- `uf_train` - DQN 训练流程实现
|
|
|
|
|
+- `uf_decide` - DQN 在线决策调用
|
|
|
|
|
+
|
|
|
|
|
+### 扩展性考虑
|
|
|
|
|
+后续论文需要对比 **PPO、SAC、A2C** 等其他强化学习算法,目录结构设计考虑扩展性:
|
|
|
|
|
+
|
|
|
|
|
+各算法的 `uf_train.py` 和 `uf_decide.py` 保持相同的对外接口,不同算法的训练和决策逻辑差异较大,分开存放便于维护
|