[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-yanpanlau--DDPG-Keras-Torcs":3,"similar-yanpanlau--DDPG-Keras-Torcs":82},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":8,"readme_en":9,"readme_zh":10,"quickstart_zh":11,"use_case_zh":12,"hero_image_url":13,"owner_login":14,"owner_name":15,"owner_avatar_url":16,"owner_bio":17,"owner_company":18,"owner_location":19,"owner_email":20,"owner_twitter":18,"owner_website":18,"owner_url":21,"languages":22,"stars":31,"forks":32,"last_commit_at":33,"license":18,"difficulty_score":34,"env_os":35,"env_gpu":35,"env_ram":35,"env_deps":36,"category_tags":43,"github_topics":18,"view_count":46,"oss_zip_url":18,"oss_zip_packed_at":18,"status":47,"created_at":48,"updated_at":49,"faqs":50,"releases":81},1416,"yanpanlau\u002FDDPG-Keras-Torcs","DDPG-Keras-Torcs","Using Keras and Deep Deterministic Policy Gradient to play TORCS","DDPG-Keras-Torcs 是一个基于 Keras 框架和深度确定性策略梯度（DDPG）算法的开源项目，旨在让 AI 学会在 TORCS 赛车模拟环境中自动驾驶。它通过约 300 行简洁的 Python 代码，完整演示了如何利用强化学习训练智能体，使其能够根据赛道画面和车辆状态自主控制方向盘、油门与刹车，从而解决复杂连续动作空间下的自动驾驶决策难题。\n\n该项目特别适合对强化学习感兴趣的开发者、研究人员以及高校学生使用。对于希望深入理解 DDPG 算法原理并动手实践的用户来说，它提供了一个极佳的入门范例。相比复杂的工业级方案，DDPG-Keras-Torcs 的最大亮点在于其极高的代码可读性与复现性，将深奥的算法逻辑浓缩为轻量化的实现，帮助用户快速搭建从环境交互到模型训练的完整闭环。用户只需配置好 Python 2.7、Keras 及 TensorFlow 等基础依赖，即可在本地运行并观察 AI 从“新手”逐渐成长为“赛车手”的过程，是学习深度强化学习在控制领域应用的理想工具。","## Using Keras and Deep Deterministic Policy Gradient to play TORCS\n\n300 lines of python code to demonstrate DDPG with Keras\n\nPlease read the following blog for details\n\nhttps:\u002F\u002Fyanpanlau.github.io\u002F2016\u002F10\u002F11\u002FTorcs-Keras.html\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyanpanlau_DDPG-Keras-Torcs_readme_bb4be9139843.gif)\n\n# Installation Dependencies:\n\n* Python 2.7\n* Keras 1.1.0\n* Tensorflow r0.10\n* [gym_torcs](https:\u002F\u002Fgithub.com\u002Fugo-nama-kun\u002Fgym_torcs)\n\n# How to Run?\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fyanpanlau\u002FDDPG-Keras-Torcs.git\ncd DDPG-Keras-Torcs\ncp *.* ~\u002Fgym_torcs\ncd ~\u002Fgym_torcs\npython ddpg.py \n```\n\n(Change the flag **train_indicator**=1 in ddpg.py if you want to train the network)\n","## 使用 Keras 和深度确定性策略梯度来玩 TORCS\n\n300 行 Python 代码，用于展示使用 Keras 的 DDPG 算法\n\n如需了解详细信息，请阅读以下博客：\n\nhttps:\u002F\u002Fyanpanlau.github.io\u002F2016\u002F10\u002F11\u002FTorcs-Keras.html\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyanpanlau_DDPG-Keras-Torcs_readme_bb4be9139843.gif)\n\n# 安装依赖：\n\n* Python 2.7\n* Keras 1.1.0\n* TensorFlow r0.10\n* [gym_torcs](https:\u002F\u002Fgithub.com\u002Fugo-nama-kun\u002Fgym_torcs)\n\n# 如何运行？\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fyanpanlau\u002FDDPG-Keras-Torcs.git\ncd DDPG-Keras-Torcs\ncp *.* ~\u002Fgym_torcs\ncd ~\u002Fgym_torcs\npython ddpg.py \n```\n\n（如果您想训练网络，请在 ddpg.py 中将标志位 **train_indicator** 设置为 1。）","# DDPG-Keras-Torcs 快速上手指南\n\n本项目使用 Keras 和深度确定性策略梯度（DDPG）算法来训练 AI 玩 TORCS 赛车游戏，核心代码仅约 300 行。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**：Linux 或 macOS（Windows 需额外配置 TORCS 环境）\n*   **Python 版本**：2.7\n*   **核心依赖**：\n    *   Keras 1.1.0\n    *   Tensorflow r0.10\n    *   [gym_torcs](https:\u002F\u002Fgithub.com\u002Fugo-nama-kun\u002Fgym_torcs) (TORCS 的 Gym 接口)\n\n> **提示**：由于项目依赖较旧版本的 TensorFlow 和 Keras，建议使用虚拟环境（如 `virtualenv` 或 `conda`）进行隔离安装，以避免与现有环境冲突。国内用户可使用清华源或阿里源加速 Python 包安装。\n\n## 安装步骤\n\n1.  **克隆本项目代码**：\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fyanpanlau\u002FDDPG-Keras-Torcs.git\n    cd DDPG-Keras-Torcs\n    ```\n\n2.  **准备 gym_torcs 环境**：\n    如果您尚未安装 `gym_torcs`，请先前往其 GitHub 仓库下载并配置好 TORCS 服务端。假设您已将 `gym_torcs` 放置在用户主目录下（`~\u002Fgym_torcs`）。\n\n3.  **复制项目文件**：\n    将本项目的核心脚本复制到 `gym_torcs` 目录中：\n    ```bash\n    cp *.* ~\u002Fgym_torcs\n    ```\n\n4.  **进入工作目录**：\n    ```bash\n    cd ~\u002Fgym_torcs\n    ```\n\n## 基本使用\n\n### 运行预训练模型（演示模式）\n\n直接运行脚本即可加载已有权重进行演示：\n\n```bash\npython ddpg.py \n```\n\n### 训练新模型\n\n如果您希望从头开始训练网络，请使用文本编辑器打开 `ddpg.py` 文件，找到 `train_indicator` 变量并将其修改为 `1`：\n\n```python\n# 在 ddpg.py 中修改\ntrain_indicator = 1\n```\n\n保存后再次运行：\n\n```bash\npython ddpg.py \n```\n\n> **注意**：训练过程需要启动 TORCS 图形界面，请确保已正确安装 TORCS 模拟器并能正常启动。详细算法原理可参考作者博客：https:\u002F\u002Fyanpanlau.github.io\u002F2016\u002F10\u002F11\u002FTorcs-Keras.html","某自动驾驶算法团队正在利用 TORCS 赛车模拟器验证强化学习策略，试图让 AI 学会在复杂赛道上自主控制油门、刹车和转向。\n\n### 没有 DDPG-Keras-Torcs 时\n- 开发人员需从零搭建深度确定性策略梯度（DDPG）算法架构，耗费数周编写神经网络代码，极易出现逻辑漏洞。\n- 缺乏与 TORCS 模拟器的标准化接口，每次调试都需手动处理复杂的传感器数据解析和动作反馈，联调效率极低。\n- 难以复现学术界的前沿成果，团队在调整超参数时缺乏基准参考，导致模型训练经常不收敛或陷入局部最优。\n- 代码库庞大且分散，新手上手门槛高，无法快速验证“端到端”驾驶策略的可行性。\n\n### 使用 DDPG-Keras-Torcs 后\n- 直接复用其仅 300 行的核心 Python 代码，基于 Keras 快速构建起成熟的 DDPG 网络，将算法验证周期从数周缩短至几天。\n- 无缝集成 gym_torcs 环境，自动处理图像输入与控制指令的输出，让团队能专注于策略优化而非底层通信协议。\n- 依托官方提供的训练脚本和博客详解，迅速掌握关键超参数设置，模型能在短时间内学会平稳过弯和加速技巧。\n- 清晰的工程结构使得团队成员能轻松修改网络层或奖励函数，快速迭代出适应不同赛道特征的驾驶智能体。\n\nDDPG-Keras-Torcs 通过提供极简的代码实现和标准化的仿真接口，极大地降低了连续控制领域强化学习的研发门槛与试错成本。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyanpanlau_DDPG-Keras-Torcs_18fb7d05.png","yanpanlau","Ben Lau","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fyanpanlau_70b776ab.jpg","Obsessed in Machine Learning\u002FReinforcement Learning\u002FAI.",null,"Hong Kong","yanpan@gmail.com","https:\u002F\u002Fgithub.com\u002Fyanpanlau",[23,27],{"name":24,"color":25,"percentage":26},"Python","#3572A5",99.6,{"name":28,"color":29,"percentage":30},"Shell","#89e051",0.4,728,263,"2026-04-05T05:03:04",5,"未说明",{"notes":37,"python":38,"dependencies":39},"该项目依赖较旧的技术栈（Python 2.7, Keras 1.1.0, TF r0.10），在现代环境中运行可能需要配置兼容的旧版环境。运行前需先克隆并安装外部依赖库 gym_torcs，并将项目代码文件复制到该库目录中执行。若需训练网络，需在代码中将 train_indicator 标志设为 1。","2.7",[40,41,42],"Keras==1.1.0","Tensorflow==r0.10","gym_torcs",[44,45],"Agent","其他",2,"ready","2026-03-27T02:49:30.150509","2026-04-06T07:16:16.065115",[51,56,61,66,71,76],{"id":52,"question_zh":53,"answer_zh":54,"source_url":55},6499,"是否有人尝试过使用图像作为输入来训练网络？效果如何？","目前公开仓库中尚未见到仅基于纯图像输入成功训练的案例（那些声称成功但未开源代码或证明的不算）。所有成功案例均基于低维传感器特征。如果直接使用卷积网络处理图像替代低维状态，算法（如 DDPG 或 Actor-Critic）往往会发散。建议的解决方案是：先通过图像自编码器（例如 U-net）预训练图像表示，然后将其复用给智能体，这可能有所帮助。","https:\u002F\u002Fgithub.com\u002Fyanpanlau\u002FDDPG-Keras-Torcs\u002Fissues\u002F11",{"id":57,"question_zh":58,"answer_zh":59,"source_url":60},6500,"开启视觉模式（vision = True）时出现 'TypeError: object of type float has no len()' 错误怎么办？","这是代码中的一个 Bug。需要修改 `gym_torcs.py` 文件（大约从第 265 行开始）。将相关逻辑替换为以下代码，确保正确从 `raw_obs['img']` 获取 RGB 图像并构建 Observation：\n\n```python\nelse:\n    names = ['focus',\n             'speedX', 'speedY', 'speedZ', 'angle',\n             'opponents',\n             'rpm',\n             'track',\n             'trackPos',\n             'wheelSpinVel',\n             'img']\n    Observation = col.namedtuple('Observaion', names)\n\n    # Get RGB from observation\n    image_rgb = self.obs_vision_to_image_rgb(raw_obs['img'])\n\n    return Observation(focus=np.array(raw_obs['focus'], dtype=np.float32)\u002F200.,\n                       speedX=np.array(raw_obs['speedX'], dtype=np.float32)\u002Fself.default_speed,\n                       # ... 其他字段类似处理\n                       )\n```","https:\u002F\u002Fgithub.com\u002Fyanpanlau\u002FDDPG-Keras-Torcs\u002Fissues\u002F26",{"id":62,"question_zh":63,"answer_zh":64,"source_url":65},6501,"在使用 Keras 2.x 版本时遇到 'ImportError: cannot import name collect_trainable_weights' 错误如何解决？","`collect_trainable_weights` 是 Keras 旧版本（如 1.1.0）中的函数，在 Keras 1.1.2 及更高版本（包括 2.x）中已被移除。由于该函数在源代码中实际上并未被真正调用，最简单的解决方法是直接注释掉导入该行代码（通常在 `ddpg.py` 或相关文件中）：\n\n```python\n# from keras.engine.training import collect_trainable_weights\n```\n\n注释后重新训练网络即可正常运行，不会影响代码功能。","https:\u002F\u002Fgithub.com\u002Fyanpanlau\u002FDDPG-Keras-Torcs\u002Fissues\u002F19",{"id":67,"question_zh":68,"answer_zh":69,"source_url":70},6502,"client.R.d 文件中的 'meta' 属性有什么作用？","'meta' 是一个元控制命令属性。其具体含义为：0 表示什么都不做；1 表示请求竞赛服务器重新启动比赛。","https:\u002F\u002Fgithub.com\u002Fyanpanlau\u002FDDPG-Keras-Torcs\u002Fissues\u002F44",{"id":72,"question_zh":73,"answer_zh":74,"source_url":75},6503,"为什么在计算梯度之前要重新采样新的动作（resample new actions）？","这是一个关于 DDPG 算法实现的探讨。用户质疑在第 128 行重新采样动作的必要性，因为该步骤似乎在第 89 行已经完成。根据论文理解，通常应该对添加了 OU 噪声并存入缓冲区的动作直接计算梯度。虽然此 Issue 中没有官方维护者的直接回复确认代码意图，但这提示开发者在复现时需注意动作采样与梯度计算的一致性，通常应确保梯度是基于实际执行的动作（含噪声）计算的。","https:\u002F\u002Fgithub.com\u002Fyanpanlau\u002FDDPG-Keras-Torcs\u002Fissues\u002F33",{"id":77,"question_zh":78,"answer_zh":79,"source_url":80},6504,"训练过程中遇到 'malloc(): memory corruption' 内存错误怎么办？","该错误通常在训练约 800 集后出现，表现为 TORCS 二进制文件的内存损坏。这可能与 TORCS 模拟器本身的内存泄漏或不稳定有关（Issue 中提到每 3 集需要重启 TORCS 以缓解内存泄漏）。虽然该特定 Issue 的评论中没有给出确切的修复代码，但通用的解决思路包括：增加重启模拟器的频率、检查并优化环境重置逻辑、或者限制单次训练的最大步数以防止内存累积溢出。","https:\u002F\u002Fgithub.com\u002Fyanpanlau\u002FDDPG-Keras-Torcs\u002Fissues\u002F27",[],[83,94,103,111,123,131],{"id":84,"name":85,"github_repo":86,"description_zh":87,"stars":88,"difficulty_score":89,"last_commit_at":90,"category_tags":91,"status":47},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,3,"2026-04-05T11:01:52",[92,93,44],"开发框架","图像",{"id":95,"name":96,"github_repo":97,"description_zh":98,"stars":99,"difficulty_score":46,"last_commit_at":100,"category_tags":101,"status":47},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 真正成长为懂上",138956,"2026-04-05T11:33:21",[92,44,102],"语言模型",{"id":104,"name":105,"github_repo":106,"description_zh":107,"stars":108,"difficulty_score":46,"last_commit_at":109,"category_tags":110,"status":47},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[92,93,44],{"id":112,"name":113,"github_repo":114,"description_zh":115,"stars":116,"difficulty_score":46,"last_commit_at":117,"category_tags":118,"status":47},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[93,119,120,121,44,45,102,92,122],"数据工具","视频","插件","音频",{"id":124,"name":125,"github_repo":126,"description_zh":127,"stars":128,"difficulty_score":89,"last_commit_at":129,"category_tags":130,"status":47},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[44,93,92,102,45],{"id":132,"name":133,"github_repo":134,"description_zh":135,"stars":136,"difficulty_score":89,"last_commit_at":137,"category_tags":138,"status":47},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74913,"2026-04-05T10:44:17",[102,93,92,45]]