[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-ServiceNow--N-BEATS":3,"tool-ServiceNow--N-BEATS":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85267,2,"2026-04-18T11:00:28",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[19,14,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[18,13,14,20],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",75940,"2026-04-19T21:42:30",[19,13,20,18],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":29,"last_commit_at":63,"category_tags":64,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,"2026-04-03T21:50:24",[20,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":99,"forks":100,"last_commit_at":101,"license":102,"difficulty_score":46,"env_os":103,"env_gpu":104,"env_ram":105,"env_deps":106,"category_tags":114,"github_topics":79,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":22,"created_at":115,"updated_at":116,"faqs":117,"releases":143},9991,"ServiceNow\u002FN-BEATS","N-BEATS","N-BEATS is a neural-network based model for univariate timeseries forecasting. N-BEATS is a ServiceNow Research project that was started at Element AI.","N-BEATS 是一款基于深度神经网络的时间序列预测模型，专为单变量数据设计。它由 ServiceNow 研究院（前身为 Element AI）开发，旨在解决传统统计方法在处理复杂非线性时间序列时精度不足的问题，能够高效预测未来趋势。\n\n该工具的核心亮点在于其独特的架构设计，通过堆叠基础块并分离“趋势”与“季节性”分量，不仅实现了业界领先的预测精度（SOTA），还提供了两种模式：追求极致性能的“通用模式”和具备可解释性的“透明模式”，让用户能清晰理解模型背后的决策逻辑。项目基于 PyTorch 构建，提供了完整的代码实现、数据集加载器及实验配置，支持用户复现论文中的经典结果。\n\nN-BEATS 非常适合数据科学家、AI 研究人员以及需要处理销量预测、能源负载分析等任务的开发者使用。虽然它主要面向具备一定编程基础的技术人员，但其清晰的仓库结构和 Docker 支持大大降低了复现门槛。无论是希望探索前沿算法的研究者，还是寻求高精度预测解决方案的工程团队，N-BEATS 都是一个值得尝试的强大工具。","*ServiceNow completed its acquisition of Element AI on January 8, 2021. All references to Element AI in the materials that are part of this project should refer to ServiceNow.*\n\n# N-BEATS\n\nThis repo provides an implementation of the N-BEATS algorithm introduced in\nhttps:\u002F\u002Farxiv.org\u002Fabs\u002F1905.10437 and enables reproducing the experimental\nresults presented in the paper.\n\nN-BEATS is a neural-network based model for univariate timeseries forecasting.\n\n![N-BEATS Architecture](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FServiceNow_N-BEATS_readme_1c98fe619f08.png)\n\n## Repository Structure\n\n#### Model\nPyTorch implementation of N-BEATS can be found in `models\u002Fnbeats.py`\n\n#### Datasets\nThe loaders for each dataset used in the paper are in `datasets\u002F*.py`\n\n#### Experiments\nExperiments to reproduce the paper results are located in `experiments\u002F*`, \nwhere each experiment package contains `main.py` with the training and forecasting logic along \nwith two configuration files for both `generic` and `interpretable` models.\n\n#### Results\nThe `notebooks` directory contains a notebook per experiment with the final scores. \nWe also included the results for 10 times smaller ensembles, \nyou can see that the difference is not significant.\nNote: This is a \"lighter\" version of original N-BEATS which performs slightly different, \nsometimes better sometimes worse but overall on the same SOTA level.\n\n#### How to reproduce the results\nMake sure you have docker installed. Using NVidia GPUs is preferable, but not required.\nDepending on your environment you may need to adjust Makefile's docker image name and\nwrite additional logic to train models in parallel.\n\nThe default configuration is using 10 repeats what produces up to 180 models per experiment, as you can\nsee in `notebooks` the difference between big and small ensembles is not significant. \nTo switch to small ensemble set `build.repeats = 1` in `*.gin` files for experiments you want to run\n(they are located in `experiments\u002F*\u002F*.gin`).\n\n1. Build docker image\n    ```shell script\n    make init\n    ```\n\n1. Download datasets\n    ```shell script\n    make dataset\n    ```\n   This command will download dataset into `.\u002Fstorage\u002Fdatasets` directory\n\n1. (Optional) Test metrics. To make sure that all datasets are correct and the metrics \ncalculation works as expected you can run test.  \n    ```shell script\n    make test\n    ```\n\n1. Build an experiment\n    ```shell script\n    make build config=experiments\u002Fm4\u002Finterpretable.gin\n    ```\n   This will generate directories with configurations and command for each model of ensemble \n   in `.\u002Fstorage\u002Fexperiments\u002Fm4_interpretable`. Note that the `config` parameter takes the **relative** \n   path to actual configuration.\n\n1. Run experiments.\n   Substitute different values for `repeat` and `lookback` in the command lines below to\n   run other configurations of a model.\n    \n    CPU\n    ```shell script\n    make run command=storage\u002Fexperiments\u002Fm4_interpretable\u002Frepeat=0,lookback=2,loss=MAPE\u002Fcommand\n    ```\n    GPU \n    ```shell script\n     make run command=storage\u002Fexperiments\u002Fm4_interpretable\u002Frepeat=0,lookback=2,loss=MAPE\u002Fcommand gpu=\u003Cgpu-id>\n     ```\n    If you have multiple GPUs on the same machine then run this command in parallel for each gpu-id.\n   \n    The logs, losses, snapshots and final forecasts will be stored in \n    `storage\u002Fexperiments\u002Fm4_interpretable\u002Frepeat=0,lookback=2,loss=MAPE` directory.\n\n    You can of course automate running across all experiments with the following example (assuming BASH):\n    ```shell script\n    for instance in `\u002Fbin\u002Fls -d storage\u002Fexperiments\u002Fm4_interpretable\u002F*`; do \n        echo $instance\n        make run command=${instance}\u002Fcommand\n    done\n    ```\n\n    If you have resources where the training can be scaled in a \"cloud\", then consider adding a new target\n    to the Makefile. Below is an example **in pseudo-code**:\n\n    ```makefile\n    run-all:\n\trsync ${ROOT} ${network-share}\n\tfor instance in $$(ls ${ROOT}\u002F${experiment}); do \\\n\t\tcloud submit \\\n\t\t\t\t--image=${IMAGE} \\\n\t\t\t\t-v ${network-share}:\u002Fexperiment \\\n\t\t\t\t-w \u002Fexperiment \\\n\t\t\t\t-e PYTHONPATH=\u002Fexperiment \\\n\t\t\t\t-e STORAGE=\u002Fexperiment\u002Fstorage \\\n\t\t\t\t-- \\\n\t\t\t\tbash -c \"`cat ${ROOT}\u002F${experiment}\u002F$${instance}\u002Fcommand`\"; \\\n\tdone\n    ```\n1. Get the experiment statistics.\n    \n    Note: If the experiment was running in a cloud make sure the results are downloaded into `storage\u002Fexperiments`.\n    \n    Start JupyterLab `make notebook port=\u003Cport>`\n    \n    Run a notebook in `notebooks` directory for the corresponding experiment to get the \n    experiment's performance statistics.\n \n## Citation\n\nIf you use N-BEATS in any context, please cite the following paper:\n\n```\n@inproceedings{\n  Oreshkin2020:N-BEATS,\n  title={{N-BEATS}: Neural basis expansion analysis for interpretable time series forecasting},\n  author={Boris N. Oreshkin and Dmitri Carpov and Nicolas Chapados and Yoshua Bengio},\n  booktitle={International Conference on Learning Representations},\n  year={2020},\n  url={https:\u002F\u002Fopenreview.net\u002Fforum?id=r1ecqn4YwB}\n}\n```\n\nThis is a collaborative work between [Element AI](https:\u002F\u002Fwww.elementai.com) and [Mila](https:\u002F\u002Fwww.mila.quebec).\nPlease cite the paper if you use this model or the code.\n","*ServiceNow已于2021年1月8日完成对Element AI的收购。本项目相关材料中所有提及Element AI的内容，均应理解为指ServiceNow。*\n\n# N-BEATS\n\n此仓库提供了论文 https:\u002F\u002Farxiv.org\u002Fabs\u002F1905.10437 中提出的N-BEATS算法的实现，并支持复现该论文中的实验结果。\n\nN-BEATS是一种基于神经网络的单变量时间序列预测模型。\n\n![N-BEATS架构](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FServiceNow_N-BEATS_readme_1c98fe619f08.png)\n\n## 仓库结构\n\n#### 模型\nN-BEATS的PyTorch实现位于 `models\u002Fnbeats.py`。\n\n#### 数据集\n论文中使用的各数据集加载器位于 `datasets\u002F*.py`。\n\n#### 实验\n用于复现论文结果的实验代码位于 `experiments\u002F*` 目录下，每个实验包包含一个 `main.py` 文件，其中实现了训练和预测逻辑，以及针对通用模型和可解释模型的两个配置文件。\n\n#### 结果\n`notebooks` 目录下为每个实验提供了一个包含最终评分的笔记本。我们还包含了使用规模缩小至十分之一的集成模型的结果，可以看出差异并不显著。注意：这是原始N-BEATS的一个“轻量级”版本，其表现略有不同，有时更好，有时更差，但总体上仍处于当前最优水平。\n\n#### 如何复现结果\n请确保已安装Docker。建议使用NVIDIA GPU，但并非必需。根据您的环境，可能需要调整Makefile中的Docker镜像名称，并编写额外的逻辑以并行训练模型。\n\n默认配置为重复10次，这将为每个实验生成多达180个模型。如 `notebooks` 所示，大集合与小集合之间的差异并不显著。若要切换到小集合，请在您希望运行的实验对应的 `*.gin` 文件中设置 `build.repeats = 1`（这些文件位于 `experiments\u002F*\u002F*.gin`）。\n\n1. 构建Docker镜像\n    ```shell script\n    make init\n    ```\n\n1. 下载数据集\n    ```shell script\n    make dataset\n    ```\n   此命令会将数据集下载到 `.\u002Fstorage\u002Fdatasets` 目录下。\n\n1. （可选）测试指标。为确保所有数据集正确且指标计算正常工作，您可以运行测试。\n    ```shell script\n    make test\n    ```\n\n1. 构建实验\n    ```shell script\n    make build config=experiments\u002Fm4\u002Finterpretable.gin\n    ```\n   这将生成包含配置和每个多重模型指令的目录，存放于 `.\u002Fstorage\u002Fexperiments\u002Fm4_interpretable`。请注意，`config` 参数应为实际配置文件的**相对**路径。\n\n1. 运行实验。\n   在以下命令中替换不同的 `repeat` 和 `lookback` 值，即可运行其他模型配置。\n\n   CPU：\n    ```shell script\n    make run command=storage\u002Fexperiments\u002Fm4_interpretable\u002Frepeat=0,lookback=2,loss=MAPE\u002Fcommand\n    ```\n   GPU：\n    ```shell script\n     make run command=storage\u002Fexperiments\u002Fm4_interpretable\u002Frepeat=0,lookback=2,loss=MAPE\u002Fcommand gpu=\u003Cgpu-id>\n     ```\n   如果同一台机器上有多个GPU，则可以为每个GPU ID并行运行此命令。\n\n   日志、损失值、快照及最终预测结果将存储在 `storage\u002Fexperiments\u002Fm4_interpretable\u002Frepeat=0,lookback=2,loss=MAPE` 目录下。\n\n   当然，您也可以通过以下脚本自动化地运行所有实验（假设使用BASH）：\n    ```shell script\n    for instance in `\u002Fbin\u002Fls -d storage\u002Fexperiments\u002Fm4_interpretable\u002F*`; do \n        echo $instance\n        make run command=${instance}\u002Fcommand\n    done\n    ```\n\n   如果您拥有可在云端扩展资源的环境，则可以考虑在Makefile中添加一个新的目标。以下是一个伪代码示例：\n\n    ```makefile\n    run-all:\n\trsync ${ROOT} ${network-share}\n\tfor instance in $$(ls ${ROOT}\u002F${experiment}); do \\\n\t\tcloud submit \\\n\t\t\t\t--image=${IMAGE} \\\n\t\t\t\t-v ${network-share}:\u002Fexperiment \\\n\t\t\t\t-w \u002Fexperiment \\\n\t\t\t\t-e PYTHONPATH=\u002Fexperiment \\\n\t\t\t\t-e STORAGE=\u002Fexperiment\u002Fstorage \\\n\t\t\t\t-- \\\n\t\t\t\tbash -c \"`cat ${ROOT}\u002F${experiment}\u002F$${instance}\u002Fcommand`\"; \\\n\tdone\n    ```\n1. 获取实验统计信息。\n\n   注意：如果实验是在云端运行的，请确保将结果下载到 `storage\u002Fexperiments` 目录下。\n\n   启动JupyterLab：`make notebook port=\u003Cport>`\n   \n   在 `notebooks` 目录下运行相应实验的笔记本，即可获取该实验的性能统计信息。\n\n## 引用\n如果您在任何场景下使用N-BEATS，请引用以下论文：\n\n```\n@inproceedings{\n  Oreshkin2020:N-BEATS,\n  title={{N-BEATS}: Neural basis expansion analysis for interpretable time series forecasting},\n  author={Boris N. Oreshkin and Dmitri Carpov and Nicolas Chapados and Yoshua Bengio},\n  booktitle={International Conference on Learning Representations},\n  year={2020},\n  url={https:\u002F\u002Fopenreview.net\u002Fforum?id=r1ecqn4YwB}\n}\n```\n\n本项目是[Element AI](https:\u002F\u002Fwww.elementai.com)与[Mila](https:\u002F\u002Fwww.mila.quebec)的合作成果。如果您使用了该模型或代码，请务必引用上述论文。","# N-BEATS 快速上手指南\n\nN-BEATS 是一种基于神经网络的单变量时间序列预测模型，以其可解释性和高精度的预测能力著称。本指南将帮助中国开发者快速搭建环境并复现论文实验结果。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux 或 macOS（Windows 用户建议使用 WSL2 或 Docker Desktop）。\n*   **核心依赖**：必须安装 **Docker**。虽然推荐使用 NVIDIA GPU 加速训练，但非必需（CPU 亦可运行）。\n*   **硬件建议**：若需复现完整论文结果（包含大量集成模型），建议具备多核 CPU 或多块 GPU；若仅进行轻量级测试或小型集成，普通单机即可。\n*   **网络环境**：项目依赖从外部下载数据集，国内用户若遇到下载缓慢问题，建议配置全局代理或使用支持断点续传的下载工具辅助 `make dataset` 步骤。\n\n## 安装步骤\n\n本项目采用容器化部署，无需手动配置 Python 虚拟环境或安装 PyTorch 等依赖，所有操作通过 `Makefile` 完成。\n\n1.  **克隆仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FElementAI\u002Fnbeats.git\n    cd nbeats\n    ```\n\n2.  **构建 Docker 镜像**\n    初始化并构建项目所需的 Docker 镜像：\n    ```bash\n    make init\n    ```\n\n3.  **下载数据集**\n    下载论文中使用的所有数据集到 `.\u002Fstorage\u002Fdatasets` 目录：\n    ```bash\n    make dataset\n    ```\n\n4.  **（可选）验证环境**\n    运行测试以确保数据集加载正确且指标计算无误：\n    ```bash\n    make test\n    ```\n\n## 基本使用\n\n以下示例展示如何构建并运行一个基于 M4 数据集的“可解释性（interpretable）”模型实验。\n\n### 1. 构建实验配置\n生成实验所需的目录结构和命令脚本。此处以 `experiments\u002Fm4\u002Finterpretable.gin` 配置为例：\n```bash\nmake build config=experiments\u002Fm4\u002Finterpretable.gin\n```\n*注：默认配置会生成 10 次重复实验（共约 180 个模型）。若仅需快速验证，可编辑对应的 `.gin` 文件，将 `build.repeats` 设置为 `1` 以启用小型集成模式。*\n\n### 2. 运行实验\n根据机器资源选择 CPU 或 GPU 模式运行。\n\n*   **CPU 模式**：\n    ```bash\n    make run command=storage\u002Fexperiments\u002Fm4_interpretable\u002Frepeat=0,lookback=2,loss=MAPE\u002Fcommand\n    ```\n\n*   **GPU 模式**（请将 `\u003Cgpu-id>` 替换为实际显卡编号，如 0）：\n    ```bash\n    make run command=storage\u002Fexperiments\u002Fm4_interpretable\u002Frepeat=0,lookback=2,loss=MAPE\u002Fcommand gpu=\u003Cgpu-id>\n    ```\n\n*   **批量运行**（适用于多卡或多配置并行）：\n    ```bash\n    for instance in `\u002Fbin\u002Fls -d storage\u002Fexperiments\u002Fm4_interpretable\u002F*`; do \n        echo $instance\n        make run command=${instance}\u002Fcommand\n    done\n    ```\n\n运行产生的日志、损失值、模型快照及最终预测结果将保存在 `storage\u002Fexperiments\u002Fm4_interpretable\u002F...` 对应目录下。\n\n### 3. 查看结果统计\n实验完成后，启动 JupyterLab 查看性能统计笔记：\n\n1.  启动服务（请将 `\u003Cport>` 替换为可用端口号）：\n    ```bash\n    make notebook port=\u003Cport>\n    ```\n2.  在浏览器中打开 JupyterLab，进入 `notebooks` 目录，运行对应实验的 Notebook 文件即可查看最终得分和分析图表。","某大型连锁零售企业的供应链团队正利用历史销售数据，预测未来三个月各门店的单品类商品销量，以优化库存周转并避免缺货。\n\n### 没有 N-BEATS 时\n- **预测精度瓶颈**：依赖传统的统计学模型（如 ARIMA）或简单的机器学习算法，难以捕捉销售数据中复杂的非线性趋势和突发季节性波动，导致预测误差较高。\n- **可解释性缺失**：使用黑盒深度学习模型时，业务方无法理解预测结果背后的逻辑（如为何下个月销量会激增），导致信任度低，决策层不敢完全采纳。\n- **调参成本高昂**：针对不同品类需人工反复调整模型参数和结构，缺乏统一的架构适配单变量时间序列，开发和维护效率极低。\n- **复现困难**：缺乏标准化的实验框架，团队成员难以复现基准测试结果，导致模型迭代过程混乱，无法确认改进是否真实有效。\n\n### 使用 N-BEATS 后\n- **精度显著提升**：N-BEATS 凭借专为单变量时间序列设计的神经网络架构，自动提取趋势与季节性特征，在 M4 等基准测试中达到 SOTA 水平，大幅降低库存偏差。\n- **兼具可解释性**：通过配置“可解释模式”，N-BEATS 能将预测结果分解为明确的趋势项和季节项，让业务人员直观看到增长动力来源，增强决策信心。\n- **架构统一高效**：无需针对不同商品手动设计网络结构，N-BEATS 提供通用的 PyTorch 实现，配合 Docker 环境一键部署，极大减少了重复造轮子的时间。\n- **实验标准化**：内置完整的实验复现脚本和配置文件，团队可轻松并行运行多次实验验证结果稳定性，确保模型上线前的评估严谨可靠。\n\nN-BEATS 通过结合顶尖的预测精度与独特的可解释性，将原本晦涩的时间序列预测转化为业务可信赖的智能决策依据。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FServiceNow_N-BEATS_7ad5cea7.png","ServiceNow","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FServiceNow_3578d394.png","Works for you™",null,"https:\u002F\u002Fwww.servicenow.com","https:\u002F\u002Fgithub.com\u002FServiceNow",[83,87,91,95],{"name":84,"color":85,"percentage":86},"Python","#3572A5",67.9,{"name":88,"color":89,"percentage":90},"Jupyter Notebook","#DA5B0B",30.9,{"name":92,"color":93,"percentage":94},"Makefile","#427819",0.7,{"name":96,"color":97,"percentage":98},"Dockerfile","#384d54",0.5,607,128,"2026-04-16T19:07:09","NOASSERTION","Linux","非必需，但推荐使用 NVIDIA GPU；未指定具体型号、显存大小或 CUDA 版本","未说明",{"notes":107,"python":105,"dependencies":108},"该项目强烈依赖 Docker 环境运行，需安装 Docker 并配置 Makefile。默认配置会生成大量模型（每个实验最多 180 个），资源消耗较大，可通过修改配置文件减少重复次数以降低需求。数据集将自动下载到 .\u002Fstorage\u002Fdatasets 目录。支持多 GPU 并行训练。",[109,110,111,112,113],"PyTorch","Docker","Make","JupyterLab","gin-config",[18],"2026-03-27T02:49:30.150509","2026-04-20T12:55:29.070445",[118,123,128,133,138],{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},44888,"模型在训练时会自动将数据和标签归一化到 [-1, 1] 范围吗？","不会。源代码中没有对数据进行任何归一化处理。用户需要在输入模型前自行处理数据的归一化。","https:\u002F\u002Fgithub.com\u002FServiceNow\u002FN-BEATS\u002Fissues\u002F13",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},44889,"M4 数据集的下载链接失效导致实验无法运行，如何解决？","原始下载链接已失效，可以通过替换脚本中的 URL 来解决。请使用以下替代链接：\nTRAINING_DATASET_URL = 'https:\u002F\u002Fgit.islab.ntua.gr\u002Fstralex\u002Fm3-m4\u002Fraw\u002Fmaster\u002Fdata\u002FM4DataSet.zip'\nTEST_DATASET_URL = 'https:\u002F\u002Fgit.islab.ntua.gr\u002Fstralex\u002Fm3-m4\u002Fraw\u002Fmaster\u002Fdata\u002FM-test-set.zip'\nINFO_URL = 'https:\u002F\u002Fgit.islab.ntua.gr\u002Fstralex\u002Fm3-m4\u002Fraw\u002Fmaster\u002Fdata\u002FM4Info.csv'\n另外，如果作为类方法调用下载失败，可以尝试将 dataset\u002Fm4.py 中的下载方法移出类并单独先运行。","https:\u002F\u002Fgithub.com\u002FServiceNow\u002FN-BEATS\u002Fissues\u002F12",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},44890,"NBeats.forward() 函数中为什么要执行 'residuals = x.flip(dims=(1,))' 操作？","反转时间轴是为了季节性模型（seasonality model）公式化的便利性。这一操作对通用模型（generic model）没有任何影响。","https:\u002F\u002Fgithub.com\u002FServiceNow\u002FN-BEATS\u002Fissues\u002F7",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},44891,"experiments\u002Fm4\u002Fgeneric.gin 文件中的 history_size 和 iterations 参数是如何确定的？","这些参数是原始论文中使用的参数，用于复现论文中的预测结果。直接沿用即可。","https:\u002F\u002Fgithub.com\u002FServiceNow\u002FN-BEATS\u002Fissues\u002F5",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},44892,"在 GPU 上运行实验时出现 'input device is not a TTY' 错误怎么办？","这通常是因为 Dockerfile 中 PyTorch 的安装方式不支持当前的 CUDA 环境。请修改 Dockerfile，将 'RUN pip install torch' 替换为使用 conda 安装特定 CUDA 版本的命令：\nRUN conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch-nightly","https:\u002F\u002Fgithub.com\u002FServiceNow\u002FN-BEATS\u002Fissues\u002F11",[]]