- 教程
- 人工智能
- 机器学习
- 深度学习
【免费下载链接】AI-For-Beginners
12 Weeks, 24 Lessons, AI for All!
本文基于 AI-For-Beginners 仓库的官方故障排查文档(
translations/cs/troubleshoot.md,英文原版见 troubleshoot.md)整理而成,并结合仓库内的环境配置、运行指引与贡献规范等一手资料进行深度扩充。读者将掌握从git clone、Python/Jupyter 环境搭建、Notebook 运行与性能调优,到在线教材页面修复与 PR 贡献全流程的问题定位与解决能力,让这份 12 周、24 课、面向所有初学者的 AI 课程真正跑得起来。
一、排查问题前先建立全局认知
AI-For-Beginners 是一套以 Jupyter Notebook 为主要学习载体的 AI 课程仓库,其技术栈横跨 Python、TensorFlow 与 PyTorch 两套深度学习框架,并包含强化学习、NLP、计算机视觉等多个模块。这意味着日常使用中遇到的大部分问题,都可以归入以下几类:
| 问题类别 | 典型场景 | 对应章节 |
|---|---|---|
| 常规问题 | 仓库克隆失败 | 第二节 |
| 安装问题 | 依赖缺失、Jupyter 未安装、版本冲突 | 第三节 |
| 配置问题 | 环境变量缺失 | 第四节 |
| 运行问题 | Notebook 打不开、Kernel 崩溃 | 第五节 |
| 性能问题 | Notebook 运行缓慢 | 第六节 |
| 教材网站问题 | 章节页面打不开 | 第七节 |
| 贡献问题 | PR 被拒、CI 构建失败 | 第八节 |
仓库在 根目录 environment.yml 与 requirements.txt 中统一定义了标准运行环境,这两个文件正是安装类问题排查的核心依据,后文会反复引用。
二、常规问题:仓库无法正确克隆
背景:克隆是把你本机与仓库建立连接的第一步,绝大多数后续问题都源于这一步没有走通。
常见症状:
fatal: repository not found Permission denied (publickey)可能原因:
- 仓库 URL 拼写错误;
- 当前账号没有访问权限;
- SSH 密钥未配置。
逐步解决:
- 核对仓库 URL。优先使用 HTTPS 方式克隆:
git clone https://github.com/microsoft/AI-For-Beginners.git - SSH 失败时切换到 HTTPS。如果出现
Permission denied (publickey),说明本地 SSH 密钥未被 GitHub 识别,改用上方的 HTTPS 链接即可绕过密钥认证。 - 可选:配置 SSH 密钥。如果你坚持使用 SSH 协议,请按照 GitHub 官方的 SSH 连接指引生成并注册公钥。
仓库实测补充:克隆完成后,请确认仓库根目录的关键文件齐全——包括 README.md、environment.yml、requirements.txt、troubleshoot.md 以及
lessons/、examples/、etc/、translations/等目录。translations/下按语言代码组织着数十个语种的课程翻译,lessons/下则是 0 到 X 共 8 大板块的课程与 Notebook。
三、安装问题:环境搭建与依赖管理
3.1 Python 环境问题
背景:仓库依赖 Python 以及大量第三方库,环境不干净是ModuleNotFoundError的头号来源。
常见症状:
ModuleNotFoundError: No module named '<package>'运行脚本或 Notebook 时出现导入错误。
可能原因:依赖未安装;Python 版本不匹配。
逐步解决:
- 创建虚拟环境(隔离依赖,避免污染系统 Python):
python -m venv venv source venv/bin/activate # Windows 下使用: venv\Scripts\activate - 安装依赖:
pip install -r requirements.txt - 核对 Python 版本:至少使用 Python 3.7 或更高版本:
python --version
仓库实测补充:仓库根目录的 requirements.txt 提供了完整、已锁定版本的依赖清单,例如
tensorflow==2.17.0、keras==3.13.2、pandas==2.2.2、gensim==4.3.3、gym==0.26.2、torchinfo==1.8.0、tokenizers==0.20.0等。从中可以看出课程覆盖了 TensorFlow 深度框架、NLP 词向量(gensim)、强化学习(gym)、图像处理(scikit-image / pillow / imageio)等全部主题,缺任何一个包都会导致对应模块的 Notebook 导入失败。
3.2 Jupyter 未安装
背景:Notebook 是本课程最核心的学习载体,全仓lessons/下分布着数十个.ipynb文件。
常见症状:
jupyter: command not found可能原因:Jupyter 未安装。
逐步解决:
- 安装 Jupyter Notebook:
pip install notebook若使用 Anaconda,则:
conda install notebook - 启动 Jupyter:
jupyter notebook
仓库实测补充:仓库根目录 environment.yml 是 conda 环境的"官方配方",环境名为
ai4beg,显式声明了ipykernel、ipython、ipywidgets、jupyter等 Notebook 生态组件,还通过pytorch::pytorch、pytorch::torchtext、pytorch::torchvision、pytorch::torchdata引入 PyTorch 全家桶,并通过conda-forge::opencv提供 OpenCV。如果你的环境缺 Jupyter,最省事的方式是直接用这份文件重建环境:
conda env create --name ai4beg --file environment.yml conda activate ai4beg详细的多方案运行指引(本地 / 容器 / 云端)见 lessons/0-course-setup/how-to-run.md。
3.3 依赖版本冲突
背景:AI 生态迭代极快,包版本不兼容是 Notebook 报错的高频原因。
常见症状:出现版本不兼容的错误或警告信息。
可能原因:本地残留了旧的或互相冲突的 Python 包。
逐步解决:
- 在干净环境中安装:删除旧的
venv/ conda 环境,重新创建。 - 使用锁定版本:始终执行
pip install -r requirements.txt若仍失败,再根据 README.md 手动补齐缺失的包。
仓库实测补充:注意仓库对 pip 与 conda 两套依赖分别做了版本锁定。根目录 requirements.txt 面向最新主线版本;而 binder/environment.yml 与 binder/requirements.txt 则为 Binder 在线环境锁定了更保守的版本组合(如
python=3.8.12、pytorch=1.11.0、tensorflow=2.13.1)。如果你在旧环境上复现了冲突,可以对比这两份清单定位差异包。另外,根目录 requirements.txt 中huggingface==0.0.1只是一个占位包名,真正的 Transformers 生态依赖由tokenizers、torchinfo等间接承担——这类"隐藏依赖"同样是版本冲突排查中容易被忽略的盲区。
四、配置问题:环境变量未设置
背景:部分模块(尤其是涉及外部服务的部分)需要 API 密钥、Token 或自定义配置项。
常见症状:出现KeyError,或提示缺失配置的警告。
可能原因:必需的环境变量没有被设置。
逐步解决:
- 查找
.env.example或类似的模板文件,确认需要哪些键。 - 创建
.env文件并按模板填入实际值。 - 重新加载终端或 IDE,使环境变量生效(注意:修改
.env后当前会话通常需要重启进程才会读取到新值)。
仓库实测补充:从源码结构看,本仓库多数课程并不强制要求外部 API 密钥,环境变量问题更多出现在需要联网下载模型或数据集的 Notebook 场景。例如 binder/postBuild.sh 会在构建环境时执行
conda update以保证基础环境可用;而 lessons/0-course-setup/how-to-run.md 明确指出,Binder 为了防滥用会屏蔽部分外网资源,导致"从公网拉取模型/数据集"的代码可能失败——此时正确做法就是通过环境变量或本地缓存为相关模块提供资源路径。
五、运行 Notebook 的常见问题
5.1 Notebook 无法打开或运行
背景:Jupyter Notebook 需要正确的运行环境与浏览器协同。
常见症状:Notebook 启动失败;浏览器没有自动弹出。
可能原因:Jupyter 未安装;浏览器配置异常。
逐步解决:
- 安装 Jupyter(参照上文"安装问题"章节)。
- 手动打开 Notebook:从终端复制启动日志中的 URL(形如
http://localhost:8888/?token=...),粘贴到浏览器地址栏访问。这种方式可以绕过浏览器自动打开失效的问题。
5.2 Kernel 崩溃或卡死
背景:Notebook Kernel(执行内核)可能因资源受限或代码错误而崩溃。
常见症状:Kernel 反复重启或直接死亡;出现内存不足(Out-of-Memory)错误。
可能原因:数据集过大;代码或依赖包不兼容。
逐步解决:
- 重启 Kernel:在 Jupyter 界面使用 "Restart Kernel" 按钮,清理异常状态。
- 检查内存占用:关闭不使用的应用,释放系统内存。
- 迁移到云端运行:将 Notebook 上传到 Google Colab 或 Azure Notebooks 等平台,利用云端算力与内存。
仓库实测补充:本课程确实存在"重量级"数据与模型——例如 data/mnist.pkl.gz 是预下载的 MNIST 数据集缓存,
lessons/4-ComputerVision/下的目标检测、分割章节还会加载预训练模型权重。这类 Notebook 在本地内存不足时崩溃是预期现象,官方建议正是切换到云端或 GPU 环境;相关替代运行路径(Codespaces、Binder、DSVM、Azure ML 等)详见 lessons/0-course-setup/how-to-run.md。
六、性能问题:Notebook 运行缓慢
背景:AI 训练任务对内存和 CPU 消耗极大,越到课程后期(GAN、强化学习、Transformer 等章节)计算压力越大。
常见症状:执行极慢;笔记本风扇高速运转。
可能原因:数据集或模型过大;本机资源受限。
逐步解决:
- 改用云平台:把 Notebook 上传到 Colab 或 Azure Notebooks,利用云端 CPU/GPU。
- 缩小数据集:练习阶段使用抽样数据(sample data),而非完整数据集。
- 关闭无关程序:释放系统内存给训练进程。
仓库实测补充:性能问题在仓库中也有"官方预案"——lessons/0-course-setup/how-to-run.md 明确指出课程后期部分章节"会极大地受益于 GPU 支持",并给出了 Data Science Virtual Machine(NC 系列 VM 带 GPU)、Azure Machine Learning Workspace 以及 Google Colab 免费 GPU 等方案。同时注意:Binder 提供的计算资源较为基础,训练速度偏慢,尤其不适合后期复杂课程。另外,lessons/0-course-setup/setup.md 还提到可用 Docsify 在本地离线运行整本教材(
docsify serve后访问localhost:3000),对于网络不佳的场景也是一条性能友好的替代路线。
七、教材网站问题:章节无法加载
背景:AI-For-Beginners 的在线教材会把各课程章节渲染成网页,若章节文件命名出错,页面就会出现 404 或加载失败。
常见症状:某个章节(例如 18 课 Transformers/BERT)在教材网站上缺失或打不开。
已确认的已知问题:官方排查文档记录的 Issue #303 显示,该问题正是由文件命名错误导致——章节文件被误命名为READMEtransformers.md而非标准的README.md,致使教材网站的目录解析失效。
逐步解决:
- 检查文件命名:作为贡献者,请确认每个章节目录下的教材文件必须命名为
README.md。本仓库中lessons/5-NLP/18-Transformers/的标准结构即为目录下放置 README.md 及其他配套资源。 - 上报缺失文件:在 GitHub Issues 中新建 issue,附上章节名与具体错误信息,方便维护者定位修复。
仓库实测补充:从仓库目录结构可以印证这一约定:
lessons/下每个章节(如1-Intro/、3-NeuralNetworks/、5-NLP/等)都以README.md作为教材入口,目录下的assignment.md承载作业,.ipynb承载可执行代码。因此任何"章节打不开"的问题,第一步都应该是核对对应目录下是否真的存在、且名字准确为README.md的文件。
八、贡献问题:PR 被拒或构建失败
背景:贡献者的提交必须通过测试并遵循仓库规范,否则 CI/CD 会失败、PR 会被拒绝。
常见症状:Pull Request 被拒绝;CI/CD 流水线报错。
可能原因:测试未通过;未遵循代码规范。
逐步解决:
- 先读贡献指南:遵循仓库根目录 CONTRIBUTING.md 的规范,其中包括微软贡献者许可协议(CLA)要求——提交 PR 时 CLA-bot 会自动判断你是否需要签署 CLA,按机器人提示操作即可。
- 推送前在本地跑通测试。
- 检查 linting 规则与格式化要求,确保代码风格符合仓库标准。
仓库实测补充:本仓库贡献的核心场景是"课程翻译与纠错"。根目录 CONTRIBUTING.md 明确欢迎翻译、课程修正与格式修正,并特别强调:翻译内容必须放到 translations/ 目录下,使用既有语言代码文件夹名(如
translations/cs/、translations/zh-CN/),这样翻译才能与教材网站的国际化路由正确对应——这与第七节"文件名必须精确"的教训同源:命名规范直接决定页面能否被正确加载。更详细的贡献主题(如强化学习章节、命名实体识别示例等开放任务)见 etc/CONTRIBUTING.md。
九、常见问题(FAQ)
问:如何为特定模块寻求帮助?每个模块(课程板块)通常自带独立的 README,例如lessons/4-ComputerVision/、lessons/5-NLP/下都有各自的 README.md。请先从该模块的 README 开始,其中包含针对性的搭建与使用提示。
问:如何报告 Bug 或请求新功能?在 GitHub Issues 中新建 issue,附上清晰的问题描述与可复现步骤(最好包含报错信息与所在章节路径)。
问:我的问题不在上述列表中,可以求助吗?可以。先搜索既有的 issue(很可能已经有人踩过同一个坑),若确实找不到,再新建 issue 描述你的问题。
十、获取更多帮助
- 查 Issue:浏览 GitHub Issues 页面,常见问题通常已有记录与官方回复。
- 提问:使用 GitHub Discussions 讨论区,或直接开 issue。
- 社区:仓库 README 中提供了讨论板与社区入口链接,课程作者也鼓励学习者"大声学出来"(learn out loud)——详见 lessons/0-course-setup/setup.md 中关于 Discussion board 的说明。
十一、一条龙排查清单(速查表)
把本文十类问题浓缩成如下操作顺序,遇到问题按序执行即可覆盖 90% 的场景:
# 1. 克隆 git clone https://github.com/microsoft/AI-For-Beginners.git # 2. 建环境(二选一:venv 或 conda) python -m venv venv && source venv/bin/activate # 或: conda env create --name ai4beg --file environment.yml && conda activate ai4beg # 3. 装依赖 pip install -r requirements.txt # 4. 核对版本 python --version # 需 >= 3.7 # 5. 启动 jupyter notebook # 若浏览器未自动打开,手动访问 http://localhost:8888/?token=... # 6. 性能不足 → 换 Colab / Azure / GPU 云环境,或缩小数据集 # 7. 章节打不开 → 核对目录下文件是否命名为 README.md # 8. PR 被拒 → 先读 CONTRIBUTING.md,本地跑通测试再提交本文中的环境文件、运行指引与贡献规范均以当前仓库实际内容为准;由于 AI 生态版本迭代频繁,若依赖安装失败,请以仓库 requirements.txt 与 environment.yml 的当前锁定版本为准,避免手动升级到未经仓库验证的新版本。
- 教程
- 人工智能
- 机器学习
- 深度学习
【免费下载链接】AI-For-Beginners
12 Weeks, 24 Lessons, AI for All!
相关推荐
AI-For-Beginners 学习环境故障排查指南:从克隆到跑通 24 课 AI 课程的完整排错手册
AI For Beginners 学习环境故障排查指南:从克隆到跑通 24 课 AI 课程的完整排错手册 本指南围绕 AI For Beginners http
教程人工智能机器学习深度学习AI-For-Beginners 课程仓库故障排查完全指南:环境安装、Notebook 运行与贡献提交流程
AI For Beginners 课程仓库故障排查完全指南:环境安装、Notebook 运行与贡献提交流程 本文面向使用与贡献 AI For Beginners
教程人工智能机器学习深度学习IoT-For-Beginners 课程 Raspberry Pi 开发故障排查实战指南
IoT For Beginners 课程 Raspberry Pi 开发故障排查实战指南 本文基于 translations/cs/docs/troublesh
教程文档教育物联网嵌入式
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考