- 教程
- 人工智能
- 机器学习
- 深度学习
【免费下载链接】AI-For-Beginners
12 Weeks, 24 Lessons, AI for All!
导读
本文以仓库根目录的 AGENTS.md(及其多语言译本 translations/ar/AGENTS.md)为骨架,完整讲解微软出品的 12 周、24 课时 AI 入门课程仓库AI-For-Beginners的开发者工作流。你将掌握:用 conda 一键还原ai4beg环境、本地 / VS Code / 云端三种方式运行 Jupyter 课程、调试 GPU 与内核问题、开发与部署etc/quiz-app下的 Vue.js 测验应用,以及参与课程内容与多语言翻译贡献的完整流程。文中所有命令与配置均以仓库内实际文件为证据,可直接复制运行。
一、项目概览:这是一个“课程内容仓库”而非传统软件项目
在动手之前,先明确本仓库的定位:AI-For-Beginners 是一个教育内容仓库,核心资产是围绕人工智能基础编排的 12 周、24 课时课程,包含 Jupyter Notebooks、测验与动手实验。它不是一个需要编译打包的应用程序,因此没有传统意义的构建流水线,也没有单元测试套件——这一特性决定了后续所有工作流的设计。
课程覆盖面如下:
- 符号式 AI(Symbolic AI):知识表示与专家系统;
- 神经网络与深度学习:基于 TensorFlow 与 PyTorch;
- 计算机视觉:技术演进与经典网络结构;
- 自然语言处理(NLP):包括 Transformer 与 BERT;
- 专题方向:遗传算法、强化学习、多智能体系统;
- AI 伦理:负责任 AI 原则。
从仓库结构看,其“架构”可概括为:按主题目录组织的 Jupyter Notebook 内容主体 + Vue.js 测验应用 + 广泛的多语言翻译支撑。核心技术栈为 Python 3、Jupyter Notebooks、TensorFlow、PyTorch、Keras、OpenCV,以及用于测验应用的 Vue.js。
二、环境搭建:用 conda 一键还原课程环境
2.1 推荐路径:miniconda 创建ai4beg环境
课程为 Python + Jupyter Notebooks 设计,官方推荐使用 miniconda。完整步骤如下:
# 克隆仓库 git clone https://gitcode.com/GitHub_Trending/ai/AI-For-Beginners cd AI-For-Beginners # 创建并激活 conda 环境 conda env create --name ai4beg --file environment.yml conda activate ai4beg # 启动 Jupyter jupyter notebook # 或使用 Jupyter Lab jupyter lab需要说明的是,仓库根目录的 environment.yml 是环境还原的唯一事实来源,其真实内容比文档摘要更完整:
name: ai4beg channels: - defaults - conda-forge dependencies: - ipykernel - ipython - ipywidgets - jupyter - matplotlib=3.9 - numpy=1.26 - python - requests=2.32 - scikit-learn - scipy=1.13 - pip - conda-forge::opencv - setuptools - pytorch::pytorch - pytorch::torchtext - pytorch::torchvision - pytorch::torchdata - pip: - -r requirements.txt几个值得注意的细节:
- PyTorch 全家桶走 conda 通道(
pytorch::pytorch、torchvision、torchtext、torchdata),便于 conda 自动匹配 CUDA 版本;TensorFlow 则通过requirements.txt经 pip 安装。 - OpenCV 明确来自
conda-forge,避免了 pip 与 conda 混合安装时常见的动态库冲突。 requirements.txt采用 pip 嵌套引用,requirements.txt 中锁定了tensorflow==2.17.0、keras==3.13.2、pandas==2.2.2、numpy==1.26、gensim==4.3.3、gym==0.26.2等与课程实验配套的版本。
2.2 备选方案:VS Code devcontainer
仓库同样支持容器化开发:在 VS Code 中打开仓库后,根据提示选择"Reopen in Container",devcontainer 会自动完成环境配置,无需手动执行 conda 命令。
2.3 测验应用(Quiz App)环境
测验应用是与课程主体解耦的独立 Vue.js 项目,位于 etc/quiz-app/,需要 Node 生态单独安装:
cd etc/quiz-app npm install npm run serve # 开发服务器 npm run build # 生产构建 npm run lint # 代码检查并自动修复从 etc/quiz-app/package.json 可以看到三个脚本分别映射到vue-cli-service serve / build / lint,其依赖为vue@^2.6.11(Vue 2.x)、vue-i18n@^8.28.2与vue-router@^3.4.9——这印证了文档中“Vue 2.x 约定 + 组件化结构 + ESLint 配置”的描述。
三、开发工作流:三种方式运行 Jupyter 课程
3.1 本地开发
conda activate ai4beg jupyter notebook # 或 jupyter lab然后进入lessons/下对应课程的目录,打开.ipynb文件,逐单元格交互式执行即可跟随课程进度。
3.2 VS Code + Python 扩展
打开仓库并安装官方 Python 扩展后,VS Code 会自动检测并使用已激活的 conda 环境(ai4beg),.ipynb文件可以直接在 VS Code 中打开与运行,无需额外启动 Jupyter 服务。
3.3 云端开发
- GitHub Codespaces:仓库主页点击
Code → Codespaces → Create codespace on main即可获得云端 VS Code,适合快速上手; - Binder:通过 README 上的 Binder 徽章在浏览器中直接启动 Jupyter。注意 Binder资源有限,且有部分网页访问限制,大型模型训练与数据下载场景不适合;
- Azure ML Notebooks / Google Colab:可逐份上传 Notebook 运行,Colab 提供免费 GPU 层(详见下文“代码执行选项”)。
3.4 GPU 支持:进阶课程的加速关键
文档明确:课程后期内容(CNN、GAN 等)对 GPU 加速收益巨大。三种常见 GPU 环境:
- Azure Data Science VM:选用 NC 系列(GPU 机型)虚拟机;
- Azure Machine Learning:使用带 GPU 算力的 Notebook 功能;
- Google Colab:逐份上传 Notebook,免费提供 GPU。
仓库源码也印证了 GPU 检测逻辑,例如 lessons/4-ComputerVision/07-ConvNets/pytorchcv.py 开头就通过一行代码完成设备自动选择:
default_device = 'cuda' if torch.cuda.is_available() else 'cpu'这意味着即使没有 GPU,同一份 Notebook 也能自动退回到 CPU 执行(仅训练更慢)。
四、测试与验证:面向学习内容而非软件的“验证策略”
本仓库没有传统测试套件,它的“测试”围绕内容质量展开,验证手段有四类:
- Jupyter Notebooks:按顺序执行单元格,验证代码示例可用;
- 测验应用:通过开发服务器人工点击测试(
npm run serve后访问 http://localhost:8080); - 翻译校验:检查 translations 目录下各语言内容是否与英文版同步;
- 测验应用 Lint:在 etc/quiz-app 目录执行
npm run lint。
运行代码示例的两种典型方式:
# 先激活环境 conda activate ai4beg # 直接运行 Python 脚本 python lessons/4-ComputerVision/07-ConvNets/pytorchcv.py # 或执行 Notebook jupyter notebook lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb其中pytorchcv.py是一个将 PyTorch 计算机视觉模块实现细节“隐藏”起来的辅助脚本,它封装了 MNIST 数据加载(load_mnist)、训练循环等通用逻辑,方便课程 Notebook 聚焦概念本身;Perceptron.ipynb则是神经网络基础课的经典入口。
五、代码风格约定
5.1 Python(课程内容)
- 遵循标准 Python 约定,但以教学优先于优化为原则;
- 代码清晰可读,用注释解释关键概念;
- 面向 Jupyter Notebook:单元格尽量自包含;
- 课程内容没有强制的 lint 要求。
5.2 JavaScript / Vue.js(测验应用)
- ESLint 配置位于 etc/quiz-app/package.json 的
eslintConfig字段(plugin:vue/essential+eslint:recommended,parser 为babel-eslint); - 提交前执行
npm run lint检查并自动修复; - 遵循Vue 2.x 约定与组件化架构。
从 etc/quiz-app/src/main.js 可看到测验应用的最小入口:Vue 实例挂载App.vue,并注册vue-i18n(默认locale: 'en')与 router——这正是多语言测验的基础设施。
六、目录结构:内容按主题组织
lessons/ ├── 0-course-setup/ # 环境与课程设置说明 ├── 1-Intro/ # AI 导论 ├── 2-Symbolic/ # 符号式 AI ├── 3-NeuralNetworks/ # 神经网络基础 ├── 4-ComputerVision/ # 计算机视觉 ├── 5-NLP/ # 自然语言处理 ├── 6-Other/ # 其他 AI 技术 ├── 7-Ethics/ # AI 伦理 └── X-Extras/ # 附加内容 etc/ ├── quiz-app/ # Vue.js 测验应用 └── quiz-src/ # 测验题源文件 translations/ # 多语言翻译这一结构与仓库实际布局完全一致:每个lessons/<N>-<Topic>/下均含README.md、assignment.md及 Notebook/实验文件,例如03-Perceptron/下就有 Perceptron.ipynb。
七、构建与部署
7.1 Jupyter 内容
无需构建——Notebook 直接被 Jupyter 内核解释执行。
7.2 测验应用
cd etc/quiz-app # 开发模式 npm run serve # 生产构建(输出到 etc/quiz-app/dist/) npm run build # 部署到 Azure Static Web Apps # Azure 会自动生成 GitHub Actions 工作流 # 详细部署步骤见 etc/quiz-app/README.md关于部署细节,etc/quiz-app/README.md 提供了完整的 Azure Static Web Apps 部署说明。部署到 Azure 时需要环境变量AZURE_STATIC_WEB_APPS_API_TOKEN(由 Azure 自动注入,无需手动配置)。
7.3 文档站点
仓库使用Docsify构建文档站点:
- 根目录的 index.html 作为入口点;
- 无需构建,直接托管即可访问。
八、贡献指南:从 PR 到多语言翻译
8.1 Pull Request 流程
- 标题规范:使用清晰、描述性的标题说明改动内容;
- CLA 要求:必须签署 CLA(自动化检查);
- 内容准则:
- 保持教育导向与初学者友好的行文;
- 在 Notebook 中实际运行验证所有代码示例;
- 确保 Notebook 从头到尾可完整运行;
- 修改英文内容时同步更新对应翻译;
- 测验应用改动:提交前先运行
npm run lint。
8.2 翻译贡献
- 翻译由 GitHub Actions 借助co-op-translator自动化完成;
- 人工翻译放入
translations/<language-code>/目录; - 测验应用内的翻译文本位于
etc/quiz-app/src/assets/translations/(当前含en/、es/及聚合入口index.js); - 支持40+ 种语言,完整清单见 README.md。
8.3 当前活跃贡献方向
etc/CONTRIBUTING.md 列出了社区正在寻求帮助的领域:
- 深度强化学习章节;
- 目标检测改进;
- 命名实体识别示例;
- 自定义 Embedding 训练样例。
九、环境配置与依赖
9.1 核心 Python 依赖
以下版本以仓库根目录 requirements.txt 的实际锁定版本为准:
| 包 | 版本 | 说明 |
|---|---|---|
| tensorflow | 2.17.0 | 深度学习框架(pip 安装) |
| keras | 3.13.2 | 高层 API |
| torch / torchvision | 通过 conda | 走pytorch通道 |
| opencv | 通过 conda | 来自conda-forge |
| scikit-learn | 随环境安装 | 经典机器学习 |
| numpy | 1.26 | 数值计算 |
| pandas | 2.2.2 | 数据分析 |
| matplotlib | 3.9 | 可视化 |
| jupyter | 随环境安装 | Notebook 运行时 |
注意:AGENTS.md 摘要中列出的
keras==3.5.0与仓库当前 requirements.txt 锁定的keras==3.13.2不一致,实际安装请以仓库文件为准。
9.2 环境变量
- 基础使用:无需任何特殊环境变量;
- Azure 部署(测验应用):需要
AZURE_STATIC_WEB_APPS_API_TOKEN,由 Azure 自动设置。
十、故障排查手册
10.1 常见问题与官方解法
问题:conda 环境创建失败
- 先更新 conda:
conda update conda -y; - 确认磁盘空间充足(建议 50GB)。
问题:Jupyter 找不到内核
conda activate ai4beg python -m ipykernel install --user --name ai4beg问题:Notebook 中未检测到 GPU
# 检查 CUDA 安装 nvidia-smi # 检查 PyTorch 是否可用 GPU python -c "import torch; print(torch.cuda.is_available())" # 检查 TensorFlow 物理设备 python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"问题:测验应用无法启动
cd etc/quiz-app # 清理并重装依赖 rm -rf node_modules package-lock.json npm install npm run serve问题:Binder 超时或阻止下载
- 改用 GitHub Codespaces 或本地环境,以获得更好的资源访问能力。
10.2 内存问题
部分课程(尤其是 NLP Transformer 相关)需要8GB+ 内存:
- 资源密集课程优先使用云 VM;
- 训练模型时关闭其他应用程序;
- 内存不足时调小 Notebook 中的 batch size。
十一、附加实践建议
11.1 面向教师
- 教学指引见 lessons/0-course-setup/for-teachers.md,支持 GitHub Classroom 建班或直接按仓库授课;
- 课程自包含,可顺序讲授,也可单独挑选章节;
- 建议节奏:每周 2 课时,共 12 周。
11.2 代码执行选项对比
| 方式 | 特点 |
|---|---|
| 本地(推荐) | 完全控制、性能最佳、支持 GPU |
| GitHub Codespaces | 云端 VS Code,适合快速访问 |
| Binder | 浏览器运行 Jupyter,免费但资源受限 |
| Azure ML Notebooks | 企业级选项,支持 GPU 算力 |
| Google Colab | 逐份上传 Notebook,有免费 GPU 层 |
11.3 Notebook 使用须知
- Notebook 设计为逐单元格执行以利学习;
- 许多 Notebook 在首次运行时下载数据集(可能耗时较长);
- 部分模型需要 GPU 才能获得可接受的训练时间;
- 仓库尽可能使用预训练模型以降低计算需求。
11.4 性能考量
- 课程后期的计算机视觉内容(CNN、GAN)受益于 GPU;
- NLP Transformer 课程可能需要大量内存;
- 从零训练具有教学价值但耗时;
- 迁移学习示例可显著缩短训练时间。
十二、结语:先看 AGENTS.md,再动手
对于任何想要在本仓库上开发、教学或贡献的开发者,根目录的 AGENTS.md 都是一份高信息密度的“仓库使用契约”:它一次性回答了环境怎么装、课程怎么跑、GPU 怎么用、翻译怎么贡献、部署怎么落地。本文以它为骨架、以仓库内真实配置文件(environment.yml、requirements.txt、etc/quiz-app/package.json)与源码(如 pytorchcv.py 的 GPU 检测逻辑)为佐证,希望帮助你从“读者”快速转变为“贡献者”。
最后提醒:本文依据的 translations/ar/AGENTS.md 是由 AI 翻译服务(Co-op Translator)生成的多语言译本,翻译可能存在误差,涉及关键决策时请以根目录 AGENTS.md 英文原版为准。
- 教程
- 人工智能
- 机器学习
- 深度学习
【免费下载链接】AI-For-Beginners
12 Weeks, 24 Lessons, AI for All!
相关推荐
AI-For-Beginners 仓库开发与维护完全指南:基于 AGENTS.md 的环境搭建、课程开发、测试与部署实操
AI For Beginners 仓库开发与维护完全指南:基于 AGENTS.md 的环境搭建、课程开发、测试与部署实操 导读 AGENTS.md 是本仓库面向
教程人工智能机器学习深度学习WeChatMsg:微信聊天记录导出成 HTML、Word、CSV,免费存档并生成年度聊天报告
WeChatMsg:微信聊天记录导出成 HTML、Word、CSV,免费存档并生成年度聊天报告 换手机前,你想把和家人的聊天记录完整带走,微信却没有任何导出入口
XcodeGen 完整指南:YAML 生成工程
XcodeGen 完整指南:YAML 生成工程 XcodeGen 是一个用 Swift 写的命令行工具:你给一份 YAML 配置,它还你一个能直接打开的 Xco
开发工具代码生成CLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考