DRL-urban-planning 项目使用教程
1. 项目介绍
DRL-urban-planning
是一个基于深度强化学习(DRL)的城市规划项目,旨在通过强化学习框架帮助城市规划师优化城市社区的空间布局。该项目由清华大学 fib-lab 实验室开发,并在 Nature Computational Science 上发表了相关研究文章。
该项目的主要目标是生成具有优越空间效率的土地和道路布局,并通过人机协作的工作流程提高人类规划师的生产力。项目提供了训练和评估模型的工具,以及用于可视化生成的空间计划的笔记本。
2. 项目快速启动
环境准备
在开始之前,请确保您的系统满足以下要求:
- 操作系统:Linux
- Python 版本:>= 3.8
- PyTorch 版本:>= 1.8.1, <= 1.13.0
安装依赖
首先,安装 PyTorch 并设置环境变量以避免多进程轨迹采样问题:
export OMP_NUM_THREADS=1
然后,克隆项目并安装所需的依赖:
git clone https://github.com/tsinghua-fib-lab/DRL-urban-planning.git
cd DRL-urban-planning
pip install -r requirements.txt
数据准备
项目提供了用于训练和评估的数据,位于 urban_planning/cfg/test_data
目录下。您可以使用提供的三个场景进行实验:
- 合成网格社区(
synthetic
) - 两个真实世界社区(
HLG
和DHM
)
训练模型
使用提供的配置文件训练模型。例如,要为 HLG
社区训练模型,运行以下命令:
python3 -m urban_planning train --cfg hlg --global_seed 111
可视化结果
您可以使用提供的笔记本在 demo
目录下可视化生成的空间计划。
3. 应用案例和最佳实践
应用案例
该项目已在多个真实世界社区中进行了测试,包括北京的 HLG
和 DHM
社区。通过使用深度强化学习,项目能够生成优化的土地和道路布局,显著提高了空间效率。
最佳实践
- 数据准备:确保数据格式正确,并根据实际需求调整规划目标。
- 模型训练:根据不同的社区和规划目标,调整训练参数以获得最佳结果。
- 结果评估:使用提供的评估脚本对生成的计划进行评估,并与基线方法进行比较。
4. 典型生态项目
相关项目
- Transform2Act:该项目是
DRL-urban-planning
的基础实现之一,提供了强化学习的基本框架。 - circuit_training:另一个与城市规划相关的项目,专注于电路布局的优化。
社区支持
- OpenStreetMap (OSM):项目使用了 OSM 的数据来收集真实世界社区的信息。
- GitHub 社区:通过 GitHub 社区,您可以与其他开发者交流,获取最新的更新和支持。
通过这些生态项目和社区支持,DRL-urban-planning
能够更好地服务于城市规划领域,推动人工智能在城市规划中的应用。