[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-liyaguang--DCRNN":3,"tool-liyaguang--DCRNN":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",146793,2,"2026-04-08T23:32:35",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":75,"owner_website":79,"owner_url":80,"languages":81,"stars":86,"forks":87,"last_commit_at":88,"license":89,"difficulty_score":10,"env_os":90,"env_gpu":91,"env_ram":90,"env_deps":92,"category_tags":101,"github_topics":102,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":108,"updated_at":109,"faqs":110,"releases":146},5690,"liyaguang\u002FDCRNN","DCRNN","Implementation of Diffusion Convolutional Recurrent Neural Network in Tensorflow","DCRNN 是一个基于 TensorFlow 实现的开源深度学习模型，全称为“扩散卷积循环神经网络”。它专为解决交通流量预测这一复杂问题而设计，能够精准地捕捉城市路网中随时间变化的动态规律以及传感器节点之间的空间依赖关系。\n\n传统的预测方法往往难以同时处理交通数据的时间序列特性和复杂的拓扑结构，而 DCRNN 创新性地将图上的扩散卷积与循环神经网络相结合。这种架构不仅能模拟交通拥堵在路网中的传播过程，还能有效进行长短期记忆建模，从而实现高精度的数据驱动型交通 forecasting。\n\n该工具主要适合人工智能研究人员、数据科学家以及从事智慧交通系统开发的工程师使用。如果你正在探索时空序列预测算法，或需要为城市交通管理构建可靠的预测模型，DCRNN 提供了完整的训练、评估及预训练代码，并支持洛杉矶（METR-LA）和湾区（PEMS-BAY）等标准数据集的快速复现。其核心亮点在于利用有向图上的随机游走机制来定义卷积操作，使模型能更自然地理解路网结构，是研究时空图神经网络的经典基准项目之一。","# Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting\n\n![Diffusion Convolutional Recurrent Neural Network](figures\u002Fmodel_architecture.jpg \"Model Architecture\")\n\nThis is a TensorFlow implementation of Diffusion Convolutional Recurrent Neural Network in the following paper: \\\nYaguang Li, Rose Yu, Cyrus Shahabi, Yan Liu, [Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting](https:\u002F\u002Farxiv.org\u002Fabs\u002F1707.01926), ICLR 2018.\n\n## Requirements\n\n- scipy>=0.19.0\n- numpy>=1.12.1\n- pandas>=0.19.2\n- pyaml\n- statsmodels\n- tensorflow>=1.3.0\n\nDependency can be installed using the following command:\n\n```bash\npip install -r requirements.txt\n```\n\n### Environment update\n\nYou can install the environment using conda.\n\n#### 1. Create an environment to install dcrnn\n\na. GPU\n\n```bash\nconda env create -f env.gpu.yml\n```\n\nb. CPU\n\n```bash\nconda env create -f env.cpu.yml\n```\n\n#### 2. Activate the environment\n\n```bash\nconda activate dcrnn\n```\n\n## Data Preparation\n\nThe traffic data files for Los Angeles (METR-LA) and the Bay Area (PEMS-BAY), i.e., `metr-la.h5` and `pems-bay.h5`, are available at [Google Drive](https:\u002F\u002Fdrive.google.com\u002Fopen?id=10FOTa6HXPqX8Pf5WRoRwcFnW9BrNZEIX) or [Baidu Yun](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F14Yy9isAIZYdU__OYEQGa_g), and should be\nput into the `data\u002F` folder.\nThe `*.h5` files store the data in `panads.DataFrame` using the `HDF5` file format. Here is an example:\n\n|                     | sensor_0 | sensor_1 | sensor_2 | sensor_n |\n| :-----------------: | :------: | :------: | :------: | :------: |\n| 2018\u002F01\u002F01 00:00:00 |   60.0   |   65.0   |   70.0   |   ...    |\n| 2018\u002F01\u002F01 00:05:00 |   61.0   |   64.0   |   65.0   |   ...    |\n| 2018\u002F01\u002F01 00:10:00 |   63.0   |   65.0   |   60.0   |   ...    |\n|         ...         |   ...    |   ...    |   ...    |   ...    |\n\nHere is an article about [Using HDF5 with Python](https:\u002F\u002Fmedium.com\u002F@jerilkuriakose\u002Fusing-hdf5-with-python-6c5242d08773).\n\nRun the following commands to generate train\u002Ftest\u002Fval dataset at `data\u002F{METR-LA,PEMS-BAY}\u002F{train,val,test}.npz`.\n\n```bash\n# Create data directories\nmkdir -p data\u002F{METR-LA,PEMS-BAY}\n\n# METR-LA\npython -m scripts.generate_training_data --output_dir=data\u002FMETR-LA --traffic_df_filename=data\u002Fmetr-la.h5\n\n# PEMS-BAY\npython -m scripts.generate_training_data --output_dir=data\u002FPEMS-BAY --traffic_df_filename=data\u002Fpems-bay.h5\n```\n\n## Graph Construction\n\nAs the currently implementation is based on pre-calculated road network distances between sensors, it currently only\nsupports sensor ids in Los Angeles (see `data\u002Fsensor_graph\u002Fsensor_info_201206.csv`).\n\n```bash\npython -m scripts.gen_adj_mx  --sensor_ids_filename=data\u002Fsensor_graph\u002Fgraph_sensor_ids.txt --normalized_k=0.1\\\n    --output_pkl_filename=data\u002Fsensor_graph\u002Fadj_mx.pkl\n```\n\nBesides, the locations of sensors in Los Angeles, i.e., METR-LA, are available at [data\u002Fsensor_graph\u002Fgraph_sensor_locations.csv](https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fblob\u002Fmaster\u002Fdata\u002Fsensor_graph\u002Fgraph_sensor_locations.csv), and the locations of sensors in PEMS-BAY are available at [data\u002Fsensor_graph\u002Fgraph_sensor_locations_bay.csv](https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fblob\u002Fmaster\u002Fdata\u002Fsensor_graph\u002Fgraph_sensor_locations_bay.csv).\n\n## Run the Pre-trained Model on METR-LA\n\n```bash\n# METR-LA\npython run_demo.py --config_filename=data\u002Fmodel\u002Fpretrained\u002FMETR-LA\u002Fconfig.yaml\n\n# PEMS-BAY\npython run_demo.py --config_filename=data\u002Fmodel\u002Fpretrained\u002FPEMS-BAY\u002Fconfig.yaml\n```\n\nThe generated prediction of DCRNN is in `data\u002Fresults\u002Fdcrnn_predictions`.\n\n## Model Training\n\nHere are commands for training the model on `METR-LA` and `PEMS-BAY` respectively.\n\n```bash\n# METR-LA\npython dcrnn_train.py --config_filename=data\u002Fmodel\u002Fdcrnn_la.yaml\n\n# PEMS-BAY\npython dcrnn_train.py --config_filename=data\u002Fmodel\u002Fdcrnn_bay.yaml\n```\n\n### Training details and tensorboard links\n\nWith a single GTX 1080 Ti, each epoch takes around 5min for `METR-LA`, and 13 min for `PEMS-BAY` respectively. Here are example tensorboard links for [DCRNN on METR-LA](https:\u002F\u002Ftensorboard.dev\u002Fexperiment\u002Fijwg04waSOWQ2Pj4mZ3tAg), [DCRNN on PEMS-BAY](https:\u002F\u002Ftensorboard.dev\u002Fexperiment\u002FQzJtnMfgQJCQ7vc7wNJjxg), including training details and metrics over time.\n\nNote that, there is a chance of training loss explosion, one temporary workaround is to restart from the last saved model before the explosion, or to decrease the learning rate earlier in the learning rate schedule.\n\n### Metric for different horizons and datasets\n\nThe following table summarizes the performance of DCRNN on two dataset with regards to different metrics and horizons (numbers are better than those reported in the paper due to bug fix in commit [2e4b8c8](https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fcommit\u002F2e4b8c868fd410a1fb4a469f0995de6616115e03) on Oct 1, 2018).\n\n| Dataset  | Metric | 5min  | 15min | 30min | 60min  |\n| -------- | ------ | ----- | ----- | ----- | ------ |\n| METR-LA  | MAE    | 2.18  | 2.67  | 3.08  | 3.56   |\n|          | MAPE   | 5.17% | 6.84% | 8.38% | 10.30% |\n|          | RMSE   | 3.77  | 5.17  | 6.3   | 7.52   |\n| PEMS-BAY | MAE    | 0.85  | 1.31  | 1.66  | 1.98   |\n|          | MAPE   | 1.63% | 2.74% | 3.76% | 4.74%  |\n|          | RMSE   | 1.54  | 2.76  | 3.78  | 4.62   |\n\n## Eval baseline methods\n\n```bash\n# METR-LA\npython -m scripts.eval_baseline_methods --traffic_reading_filename=data\u002Fmetr-la.h5\n```\n\nMore details are being added ...\n\n## Deploying DCRNN on Large Graphs with graph partitioning\n\nWith graph partitioning, DCRNN has been successfully deployed to forecast the traffic of the entire California highway network with **11,160** traffic sensor locations simultaneously. The general idea is to partition the large highway network into a number of small networks, and trained them with a share-weight DCRNN simultaneously. The training process takes around 3 hours in a moderately sized GPU cluster, and the real-time inference can be run on traditional hardware such as CPUs.\n\nSee the [paper](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1909.11197.pdf \"GRAPH-PARTITIONING-BASED DIFFUSION CONVOLUTION RECURRENT NEURAL NETWORK FOR LARGE-SCALE TRAFFIC FORECASTING\"), [slides](https:\u002F\u002Fpress3.mcs.anl.gov\u002Fatpesc\u002Ffiles\u002F2019\u002F08\u002FATPESC_2019_Track-8_11_8-9_435pm_Mallick-DCRNN_for_Traffic_Forecasting.pdf), and [video](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=liJNNtJGTZU&list=PLGj2a3KTwhRapjzPcxSbo7FxcLOHkLcNt&index=10) by Tanwi Mallick et al. from Argonne National Laboratory for more information.\n\n## DCRNN Applications\n\nIn addition to vehicle traffic forecasting, DCRNN and its variants have been applied in many important domains, including:\n\n- Neuroimaging: causal inference in brain networks. [S. Wein et al. A graph neural network framework for causal inference in brain networks. Scientific Reports, 2021](https:\u002F\u002Fwww.nature.com\u002Farticles\u002Fs41598-021-87411-8), GitHub [Repo](https:\u002F\u002Fgithub.com\u002Fsimonvino\u002FDCRNN_brain_connectivity).\n- Air quality forecasting: [Y Lin et al. Exploiting spatiotemporal patterns for accurate air quality forecasting using deep learning. ACM SIGSPATIAL 2018](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F3274895.3274907).\n- Internet traffic forecasting: [D. Andreoletti et al. Network traffic prediction based on diffusion convolutional recurrent neural networks, INFOCOM 2019](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F8845132).\n\n## Third-party re-implementations\n\nThe Pytorch implementaion by [chnsh@](https:\u002F\u002Fgithub.com\u002Fchnsh\u002F) is available at [DCRNN-Pytorch](https:\u002F\u002Fgithub.com\u002Fchnsh\u002FDCRNN_PyTorch).\n\n## Citation\n\nIf you find this repository, e.g., the code and the datasets, useful in your research, please cite the following paper:\n\n```\n@inproceedings{li2018dcrnn_traffic,\n  title={Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting},\n  author={Li, Yaguang and Yu, Rose and Shahabi, Cyrus and Liu, Yan},\n  booktitle={International Conference on Learning Representations (ICLR '18)},\n  year={2018}\n}\n```\n","# 扩散卷积循环神经网络：数据驱动的交通流量预测\n\n![扩散卷积循环神经网络](figures\u002Fmodel_architecture.jpg \"模型架构\")\n\n这是对以下论文中扩散卷积循环神经网络的 TensorFlow 实现：\\\nYaguang Li, Rose Yu, Cyrus Shahabi, Yan Liu，《扩散卷积循环神经网络：数据驱动的交通流量预测》，ICLR 2018。\n\n## 需求\n\n- scipy>=0.19.0\n- numpy>=1.12.1\n- pandas>=0.19.2\n- pyaml\n- statsmodels\n- tensorflow>=1.3.0\n\n可以使用以下命令安装依赖：\n\n```bash\npip install -r requirements.txt\n```\n\n### 环境更新\n\n你可以使用 conda 安装环境。\n\n#### 1. 创建用于安装 dcrnn 的环境\n\na. GPU\n\n```bash\nconda env create -f env.gpu.yml\n```\n\nb. CPU\n\n```bash\nconda env create -f env.cpu.yml\n```\n\n#### 2. 激活环境\n\n```bash\nconda activate dcrnn\n```\n\n## 数据准备\n\n洛杉矶（METR-LA）和旧金山湾区（PEMS-BAY）的交通数据文件，即 `metr-la.h5` 和 `pems-bay.h5`，可在 [Google Drive](https:\u002F\u002Fdrive.google.com\u002Fopen?id=10FOTa6HXPqX8Pf5WRoRwcFnW9BrNZEIX) 或 [Baidu Yun](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F14Yy9isAIZYdU__OYEQGa_g) 上获取，并应放置于 `data\u002F` 文件夹中。\n这些 `*.h5` 文件以 `HDF5` 文件格式存储了 `pandas.DataFrame` 格式的数据。以下是示例：\n\n|                     | sensor_0 | sensor_1 | sensor_2 | sensor_n |\n| :-----------------: | :------: | :------: | :------: | :------: |\n| 2018\u002F01\u002F01 00:00:00 |   60.0   |   65.0   |   70.0   |   ...    |\n| 2018\u002F01\u002F01 00:05:00 |   61.0   |   64.0   |   65.0   |   ...    |\n| 2018\u002F01\u002F01 00:10:00 |   63.0   |   65.0   |   60.0   |   ...    |\n|         ...         |   ...    |   ...    |   ...    |   ...    |\n\n这里有一篇关于 [使用 HDF5 与 Python](https:\u002F\u002Fmedium.com\u002F@jerilkuriakose\u002Fusing-hdf5-with-python-6c5242d08773) 的文章。\n\n运行以下命令以在 `data\u002F{METR-LA,PEMS-BAY}\u002F{train,val,test}.npz` 中生成训练\u002F测试\u002F验证数据集。\n\n```bash\n# 创建数据目录\nmkdir -p data\u002F{METR-LA,PEMS-BAY}\n\n# METR-LA\npython -m scripts.generate_training_data --output_dir=data\u002FMETR-LA --traffic_df_filename=data\u002Fmetr-la.h5\n\n# PEMS-BAY\npython -m scripts.generate_training_data --output_dir=data\u002FPEMS-BAY --traffic_df_filename=data\u002Fpems-bay.h5\n```\n\n## 图构建\n\n由于当前实现基于传感器之间预先计算的道路网络距离，因此目前仅支持洛杉矶的传感器 ID（参见 `data\u002Fsensor_graph\u002Fsensor_info_201206.csv`）。\n\n```bash\npython -m scripts.gen_adj_mx  --sensor_ids_filename=data\u002Fsensor_graph\u002Fgraph_sensor_ids.txt --normalized_k=0.1\\\n    --output_pkl_filename=data\u002Fsensor_graph\u002Fadj_mx.pkl\n```\n\n此外，洛杉矶（METR-LA）的传感器位置信息可在 [data\u002Fsensor_graph\u002Fgraph_sensor_locations.csv](https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fblob\u002Fmaster\u002Fdata\u002Fsensor_graph\u002Fgraph_sensor_locations.csv) 中找到，而 PEMS-BAY 的传感器位置信息则可在 [data\u002Fsensor_graph\u002Fgraph_sensor_locations_bay.csv](https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fblob\u002Fmaster\u002Fdata\u002Fsensor_graph\u002Fgraph_sensor_locations_bay.csv) 中找到。\n\n## 在 METR-LA 上运行预训练模型\n\n```bash\n# METR-LA\npython run_demo.py --config_filename=data\u002Fmodel\u002Fpretrained\u002FMETR-LA\u002Fconfig.yaml\n\n# PEMS-BAY\npython run_demo.py --config_filename=data\u002Fmodel\u002Fpretrained\u002FPEMS-BAY\u002Fconfig.yaml\n```\n\nDCRNN 生成的预测结果位于 `data\u002Fresults\u002Fdcrnn_predictions`。\n\n## 模型训练\n\n以下是分别在 `METR-LA` 和 `PEMS-BAY` 上训练模型的命令。\n\n```bash\n# METR-LA\npython dcrnn_train.py --config_filename=data\u002Fmodel\u002Fdcrnn_la.yaml\n\n# PEMS-BAY\npython dcrnn_train.py --config_filename=data\u002Fmodel\u002Fdcrnn_bay.yaml\n```\n\n### 训练细节及 tensorboard 链接\n\n在单块 GTX 1080 Ti 显卡上，每个 epoch 对于 `METR-LA` 大约需要 5 分钟，而对于 `PEMS-BAY` 则需要 13 分钟。以下是 [DCRNN 在 METR-LA](https:\u002F\u002Ftensorboard.dev\u002Fexperiment\u002Fijwg04waSOWQ2Pj4mZ3tAg) 和 [DCRNN 在 PEMS-BAY](https:\u002F\u002Ftensorboard.dev\u002Fexperiment\u002FQzJtnMfgQJCQ7vc7wNJjxg) 的 tensorboard 示例链接，其中包含训练细节和随时间变化的指标。\n\n需要注意的是，训练过程中可能会出现损失爆炸的情况。一种临时解决方法是从爆炸前保存的最后一个模型重新开始训练，或者在学习率调度中更早地降低学习率。\n\n### 不同时间尺度和数据集上的指标\n\n下表总结了 DCRNN 在两个数据集上不同指标和时间尺度下的性能（由于 2018 年 10 月 1 日提交的 [2e4b8c8](https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fcommit\u002F2e4b8c868fd410a1fb4a469f0995de6616115e03) 提交中的错误修复，数值优于论文中报告的结果）。\n\n| 数据集  | 指标 | 5 分钟 | 15 分钟 | 30 分钟 | 60 分钟 |\n| -------- | ------ | ----- | ----- | ----- | ------ |\n| METR-LA  | MAE    | 2.18  | 2.67  | 3.08  | 3.56   |\n|          | MAPE   | 5.17% | 6.84% | 8.38% | 10.30% |\n|          | RMSE   | 3.77  | 5.17  | 6.3   | 7.52   |\n| PEMS-BAY | MAE    | 0.85  | 1.31  | 1.66  | 1.98   |\n|          | MAPE   | 1.63% | 2.74% | 3.76% | 4.74%  |\n|          | RMSE   | 1.54  | 2.76  | 3.78  | 4.62   |\n\n## 基线方法评估\n\n```bash\n# METR-LA\npython -m scripts.eval_baseline_methods --traffic_reading_filename=data\u002Fmetr-la.h5\n```\n\n更多细节正在添加中……\n\n## 使用图划分将 DCRNN 部署到大规模图上\n\n通过图划分，DCRNN 已成功部署用于同时预测整个加利福尼亚州高速公路网络 **11,160** 个交通传感器位置的交通流量。其基本思路是将大型高速公路网络划分为若干小型网络，并使用共享权重的 DCRNN 同时进行训练。训练过程在一个中等规模的 GPU 集群上大约需要 3 小时，而实时推理可以在传统的硬件设备上运行，例如 CPU。\n\n更多信息请参阅来自阿贡国家实验室的 Tanwi Mallick 等人的 [论文](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1909.11197.pdf \"基于图划分的扩散卷积循环神经网络用于大规模交通预测\")、[幻灯片](https:\u002F\u002Fpress3.mcs.anl.gov\u002Fatpesc\u002Ffiles\u002F2019\u002F08\u002FATPESC_2019_Track-8_11_8-9_435pm_Mallick-DCRNN_for_Traffic_Forecasting.pdf) 和 [视频](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=liJNNtJGTZU&list=PLGj2a3KTwhRapjzPcxSbo7FxcLOHkLcNt&index=10)。\n\n## DCRNN 的应用\n\n除了车辆交通预测之外，DCRNN 及其变体还被应用于许多重要领域，包括：\n\n- 神经影像学：脑网络中的因果推断。[S. Wein 等人. 用于脑网络中因果推断的图神经网络框架. Scientific Reports, 2021](https:\u002F\u002Fwww.nature.com\u002Farticles\u002Fs41598-021-87411-8)，GitHub [仓库](https:\u002F\u002Fgithub.com\u002Fsimonvino\u002FDCRNN_brain_connectivity)。\n- 空气质量预测：[Y Lin 等人. 利用深度学习挖掘时空模式以实现精准空气质量预测. ACM SIGSPATIAL 2018](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F3274895.3274907)。\n- 互联网流量预测：[D. Andreoletti 等人. 基于扩散卷积循环神经网络的网络流量预测，INFOCOM 2019](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F8845132)。\n\n## 第三方重实现\n\n由 [chnsh@](https:\u002F\u002Fgithub.com\u002Fchnsh\u002F) 提供的 PyTorch 实现可在 [DCRNN-Pytorch](https:\u002F\u002Fgithub.com\u002Fchnsh\u002FDCRNN_PyTorch) 中找到。\n\n## 引用\n\n如果您在研究中发现本仓库（例如代码和数据集）有所帮助，请引用以下论文：\n\n```\n@inproceedings{li2018dcrnn_traffic,\n  title={扩散卷积循环神经网络：数据驱动的交通预测},\n  author={李亚光、Yu Rose、Shahabi Cyrus、刘燕},\n  booktitle={国际表征学习会议 (ICLR '18)},\n  year={2018}\n}\n```","# DCRNN 快速上手指南\n\nDCRNN (Diffusion Convolutional Recurrent Neural Network) 是一个基于 TensorFlow 的开源项目，主要用于数据驱动的交通流量预测。本指南将帮助你快速在本地环境中部署并运行该模型。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Linux \u002F macOS (Windows 需配合 WSL 或 Docker)\n- **Python**: 建议 Python 3.6+\n- **硬件**: 推荐使用 NVIDIA GPU (需安装 CUDA)，CPU 亦可运行但速度较慢。\n\n### 前置依赖\n核心依赖库包括：\n- `tensorflow` >= 1.3.0\n- `scipy`, `numpy`, `pandas`\n- `pyaml`, `statsmodels`\n\n> **国内加速提示**：建议使用清华源或阿里源加速 pip 和 conda 包的下载。\n> - Pip 临时加速：`pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n> - Conda 配置清华源：\n>   ```bash\n>   conda config --add channels https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fpkgs\u002Fmain\u002F\n>   conda config --add channels https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fpkgs\u002Ffree\u002F\n> ```\n\n## 2. 安装步骤\n\n推荐使用 `conda` 创建隔离环境进行安装。\n\n### 第一步：创建环境\n根据是否有 GPU 选择对应的配置文件：\n\n**GPU 版本：**\n```bash\nconda env create -f env.gpu.yml\n```\n\n**CPU 版本：**\n```bash\nconda env create -f env.cpu.yml\n```\n\n### 第二步：激活环境\n```bash\nconda activate dcrnn\n```\n\n若未使用 conda 配置文件，也可手动安装依赖：\n```bash\npip install -r requirements.txt\n```\n\n## 3. 基本使用\n\n以下以 **METR-LA** (洛杉矶交通数据) 为例，演示从数据准备到运行预训练模型的完整流程。\n\n### 3.1 数据准备\n1. 下载数据文件 `metr-la.h5` 和 `pems-bay.h5`。\n   - **下载地址**：[Google Drive](https:\u002F\u002Fdrive.google.com\u002Fopen?id=10FOTa6HXPqX8Pf5WRoRwcFnW9BrNZEIX) 或 [百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F14Yy9isAIZYdU__OYEQGa_g)。\n2. 将下载的 `.h5` 文件放入项目根目录下的 `data\u002F` 文件夹中。\n\n3. 生成训练、验证和测试数据集：\n```bash\n# 创建数据目录\nmkdir -p data\u002F{METR-LA,PEMS-BAY}\n\n# 处理 METR-LA 数据\npython -m scripts.generate_training_data --output_dir=data\u002FMETR-LA --traffic_df_filename=data\u002Fmetr-la.h5\n\n# (可选) 处理 PEMS-BAY 数据\n# python -m scripts.generate_training_data --output_dir=data\u002FPEMS-BAY --traffic_df_filename=data\u002Fpems-bay.h5\n```\n\n### 3.2 构建图结构\n生成传感器之间的邻接矩阵（基于预计算的道路网络距离）：\n```bash\npython -m scripts.gen_adj_mx  --sensor_ids_filename=data\u002Fsensor_graph\u002Fgraph_sensor_ids.txt --normalized_k=0.1\\\n    --output_pkl_filename=data\u002Fsensor_graph\u002Fadj_mx.pkl\n```\n\n### 3.3 运行预训练模型\n直接使用官方提供的预训练权重进行推理演示：\n\n```bash\npython run_demo.py --config_filename=data\u002Fmodel\u002Fpretrained\u002FMETR-LA\u002Fconfig.yaml\n```\n\n运行完成后，预测结果将保存在 `data\u002Fresults\u002Fdcrnn_predictions` 目录下。\n\n### 3.4 (进阶) 训练自己的模型\n如需重新训练模型，可执行以下命令：\n\n```bash\n# 在 METR-LA 数据集上训练\npython dcrnn_train.py --config_filename=data\u002Fmodel\u002Fdcrnn_la.yaml\n\n# 在 PEMS-BAY 数据集上训练\npython dcrnn_train.py --config_filename=data\u002Fmodel\u002Fdcrnn_bay.yaml\n```\n\n> **注意**：训练过程中可能会出现 Loss 爆炸的情况。如遇此问题，建议从爆炸前保存的模型断点重启训练，或在调度中更早地降低学习率。","洛杉矶市交通管理局的数据团队正致力于优化城市主干道的信号灯配时，以缓解早晚高峰的严重拥堵。\n\n### 没有 DCRNN 时\n- **忽视路网拓扑关联**：传统时间序列模型（如 ARIMA 或普通 LSTM）将每个路口的传感器数据视为独立个体，无法捕捉上游路口拥堵对下游路口的扩散效应。\n- **长时预测误差大**：在面对突发事故或复杂天气时，模型难以维持长期预测的稳定性，超过 30 分钟的流量预判往往偏离实际，导致调度指令滞后。\n- **动态响应能力弱**：由于缺乏对交通流在空间上“扩散”过程的建模，系统无法提前预判拥堵蔓延路径，只能被动等待拥堵发生后再调整信号灯。\n\n### 使用 DCRNN 后\n- **精准建模空间依赖**：DCRNN 利用扩散卷积机制，将道路网络结构融入深度学习，能准确计算一个路口的车流变化如何随时间波及相邻路口。\n- **提升长周期预测精度**：结合循环神经网络与图卷积，DCRNN 在长达 60 分钟的预测窗口内仍保持低误差率，为早高峰前的预防性疏导提供了可靠依据。\n- **实现主动式交通治理**：基于对拥堵扩散趋势的预判，指挥中心可提前 20 分钟调整关键节点的红绿配比，将潜在的区域性瘫痪化解在萌芽状态。\n\nDCRNN 通过深度融合时空特征，将交通管理从“事后补救”转变为“事前预判”，显著提升了城市路网的通行效率。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliyaguang_DCRNN_093431db.png","liyaguang","YaGuang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fliyaguang_a79e82f1.png",null,"Google Brain","Mountain View, CA, United States","liyaguang0123@gmail.com","http:\u002F\u002Fyaguang.li","https:\u002F\u002Fgithub.com\u002Fliyaguang",[82],{"name":83,"color":84,"percentage":85},"Python","#3572A5",100,1400,420,"2026-04-08T10:19:33","MIT","未说明","非必需（提供 CPU 和 GPU 两种环境配置）。训练示例基于 GTX 1080 Ti，大规模部署建议使用 GPU 集群。",{"notes":93,"python":90,"dependencies":94},"该工具基于较旧的 TensorFlow 1.x 版本。官方推荐使用 Conda 创建独立环境（提供 env.gpu.yml 和 env.cpu.yml）。数据需以 HDF5 (.h5) 格式存储。在洛杉矶数据集上单卡训练每轮约需 5 分钟。训练过程中可能出现损失爆炸，建议通过降低学习率或从检查点重启来解决。支持通过图分区技术在大规模路网（如加州高速公路网）上部署。",[95,96,97,98,99,100],"tensorflow>=1.3.0","scipy>=0.19.0","numpy>=1.12.1","pandas>=0.19.2","pyaml","statsmodels",[16,14],[103,104,105,106,107],"traffic-data","deep-learning-graphs","time-series","iclr2018","spatiotemporal-forecasting","2026-03-27T02:49:30.150509","2026-04-09T09:33:23.360768",[111,116,121,126,131,136,141],{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},25826,"为什么在训练过程中要对 Loss 进行 Mask 操作？这是否公平？","Mask 操作主要用于忽略传感器缺失的数据（通常由 0 值表示），而不是为了对齐样本。这是为了确保模型只学习有效的观测数据，避免因缺失值导致的误差传播，因此在处理含有缺失值的交通数据时是合理且必要的。","https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fissues\u002F37",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},25825,"输入张量的最后一个维度（Batch_size, Time granularity, Node number, 2）中的'2'代表什么含义？","输入的最后维度包含两个通道：第一个通道是速度（speed），第二个通道是归一化后的时间（normalized time）。时间维度的值表示一天中的归一化时间，例如凌晨 0:00 对应 0，中午 12:00 对应 0.5。","https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fissues\u002F19",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},25824,"如何获取 METR-LA 和 PEMS-Bay 数据集？","METR-LA 和 PEMS-Bay 数据集通常可以在其他相关的代码仓库或论文引用的数据源中找到。部分用户反馈已在其他 Repositories 中找到了所需数据。建议查阅原论文的数据部分说明或搜索相关的交通预测数据公开资源。","https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fissues\u002F10",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},25827,"找不到文件 `data\u002Fsensor_graph\u002Fgraph_sensor_ids.txt` 或配置文件怎么办？","该文件可能位于 `data\u002Fmodel` 目录下。请尝试从 GitHub 拉取最新的提交（pull the latest commit），因为文件可能在后续更新中被添加。如果仍然找不到，可以检查 `data\u002Fsensor_graph\u002Fgraph_sensor_locations.csv` 获取传感器的经纬度信息，或通过距离矩阵的行\u002F列并集推导传感器 ID 集合。","https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fissues\u002F2",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},25828,"`distances_la_2012.csv` 文件中的'cost'是如何计算的？为什么它不是对称的？","'cost'代表传感器之间的成对路网距离。计算方法通常是先将传感器的经纬度映射到路网（地图匹配），然后运行 A*算法寻找两点间的最短路径距离；或者使用在线地图服务获取给定起点和终点的距离。由于实际道路网络存在单行道或路径规划差异，导致起点到终点与终点到起点的距离可能不同，因此 cost 矩阵是不对称的。","https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fissues\u002F55",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},25829,"扩散卷积（Diffusion Convolution）代码中为什么要执行 `x2 = 2 * support * x1 - x0`（即减去 x0）？","这是因为代码实现的是切比雪夫多项式（Chebyshev polynomial）展开，而不仅仅是简单的一阶扩散。切比雪夫多项式的递归公式包含减去前一项的步骤（T_k(x) = 2xT_{k-1}(x) - T_{k-2}(x)）。虽然 DCRNN 基于扩散卷积，但其图卷积单元利用了切比雪夫多项式的性质来近似谱图卷积，因此需要执行减法操作以符合多项式递推关系。","https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fissues\u002F47",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},25830,"如何使用预训练模型在我的自定义数据上进行推理？遇到形状不匹配错误如何解决？","预训练模型是专门针对交通数据（如 METR-LA\u002FPEMS-Bay）训练的，其输入形状固定（例如节点数为 207）。如果您使用非交通数据（如只有两列的价格数据）或节点数量不同的数据，直接运行预训练模型会报形状不匹配错误（ValueError）。解决方案是：1. 确保数据格式与原始训练数据一致（包括节点数、时间步长等）；2. 如果是新领域数据，必须准备特定问题的训练数据并从头开始训练模型，预训练模型无法直接泛化到完全不同的数据集上。","https:\u002F\u002Fgithub.com\u002Fliyaguang\u002FDCRNN\u002Fissues\u002F40",[]]