人工智能基础与实践:从 Python 练习到可演示的作品
发表于|更新于|课程
这里整理一下交大人工智能入门课程的内容。仓库保存了按周组织的实践、期末复习、自测页面和期末项目,从 Python 基础一直涉及神经网络、CNN、目标检测、大语言模型、生成式 AI、Agent 和 AI 伦理。
练习与复习
实践部分有回归、MNIST 和 CNN 相关 Notebook。看实验的时候,除了模型结构,还可以顺着输入、标签、损失函数、训练循环和结果分析,把整个过程走一遍。
Final_term_review/ 按章节整理了概念,Final_exercises/ 里有复习笔记和 HTML 自测页面。复习完一个章节之后可以用问题检查一下自己是否真的记住了。
期末项目
期末项目《别点那个链接!》是一个校园反诈互动网页,包括三关剧情、风险线索复盘、AI 问答和报告导出。项目有静态演示模式,也可以通过本地 Flask 后端连接模型接口。
项目的具体介绍放在另一篇文章,课程代码和复习资料见下面的仓库。
相关链接
相关推荐

2026-10-27
DeepInfer Part2 —— The adaptive verification of Dspark
DeepInfer Part2—— DSpark的动态验证调度 简单来说,DeepInfer的设计算法是 一个以GPU有效吞吐为目标的全局预算分配算法 核心的思考来说,就是可以参考这篇文章的一个观察: Speculative Decoding: Performance or Illusion?](https://arxiv.org/abs/2601.11580) 想必看到这里的读者,其实都明白一个道理 所谓投机解码,就是一种利用GPU的多余算力,做一些额外的计算和工作,从而让核心的路径达到更高的计算速度的一种方式。Drafter做了很多额外的proposal tokens,其中只有相当一部分最终能被接受。 想必敏锐的读者到现在已经发现问题所在了。 投机解码的技术能够在单卡单请求上面得到不错的加速比例(一般是2~5x), 其根本原因是因为一般来说我们说Decode阶段是 Memory-bound的。而投机解码 激进的计算能够提高计算强度。从而达到加速。而现在我们的目光到了serving阶段,多个请求一般来说能够直接给我们的Compute打满。到了这种时候,我们再用投机解码,被拒绝掉...

2026-10-11
别点那个链接!把反诈题目变成一次对话
《别点那个链接!》是人工智能导论的课程大作业。项目把校园反诈做成互动网页,让用户在模拟场景里选择怎么处理,再回看其中的风险线索。 三个场景 场景包括奖学金诈骗短信、陌生人催促付款和可疑自行车二维码。用户通过对话和操作推进,而不是一开始就看到所有提示。 前端使用 HTML、CSS 和 JavaScript。离线模拟模式可以直接演示交互;实时模式通过 Flask 后端连接兼容 OpenAI 格式的 API,凭据通过环境配置提供。 复盘和报告 项目会保存交互轨迹,围绕信息来源核验、资金边界、未知入口和紧迫感等方面生成复盘,也提供行动清单和 Markdown 报告导出。 这些反馈是教学项目中的设计,方便回看当时的选择,并不能作为经过验证的防骗能力测评。课程整体内容可以看人工智能导论学习记录。 相关链接 课程项目说明

2026-10-27
From Surface To Deep—— An overview of DeepInfer Part1
DeepInfer 相信的心就是你的力量。 1.总览 DeepInfer主要支持DeepSeek - V4.1 - Flash 高性能 Attention / MoE Kernels Attention DP\ MoE EP and Expert Load Balancing Dspark Speculative Decoding and mobile verification Sliding- Window Attention State recovery Batch- invariant Inference and Deterministic Sampling 局限性: Deepinfer 并不是完全开放的Online Inference Serving. ReadMe says that the complete serbing needs KV Cache ... etc. 本Markdown将以一个请求为例,自顶向下来分析。 注意:本blog分析去掉了大量的多模态代码和多模态的分析 2.STAGE1. 一条请求怎么穿过DeepInfer 2.1 llm.py f...

2026-10-11
ACMOJ 作业整理:接口约束与对象生命周期
这篇记录一下 ACMOJ 上的 C++ 作业。仓库按照 Homework 和题号保存代码,这里挑两道比较有意思的题。 逻辑构造 Homework1/2354/ans.hpp 里面先定义了一个函数:只有两个输入都为真时才返回假。再利用这个函数组合出逻辑与和逻辑非。 题目对可用操作有限制,所以不能只看最后的结果。需要想清楚在给定操作下,怎么把想要的逻辑组合出来。 Defer 与对象生命周期 Homework2/1048/DeferClass.hpp 使用 std::function<void()> 保存动作,在对象析构时从容器尾部逐个取出执行。复制构造和复制赋值被禁用,避免一组动作被复制到另一个对象之后执行两遍。 这里需要注意保存顺序和执行顺序,也需要想清楚对象什么时候离开作用域。作业代码和题目接口可以在下面的仓库里查看。 相关链接 作业仓库 · 逻辑构造 · Defer 实现

2026-10-11
CS61A 学习记录:从函数走向对象与状态
之前在随笔里提过 Recursion、OOP。这些内容在 CS61A 里都能碰到,仓库按照学习日保存了 Discussion、Lab、Homework,也有 Cats 项目的文件。 对象和状态 Day11/lab06/lab06.py 里有银行账户练习。存款和取款要修改余额,也要记录交易前后的状态,后面才能从历史记录中看出发生了什么。 Day12/hw06/hw06.py 里的自动售货机则要处理库存、余额和商品价格。缺货、钱不够、购买和找零分别对应不同的情况,写的时候需要把这些状态变化理清楚。 作业的 docstring 里有调用和预期输出。看代码之前可以先按例子推一下:补货之后库存是多少,投币之后余额是多少,购买之后又会发生什么。 仓库中同时有题目模板、测试和个人代码,具体进度可以直接查看对应目录。 相关链接 学习仓库 · 账户与交易练习 · 售货机练习

2026-10-11
李宏毅机器学习 2023:把模型、训练和实验放在一起
这里记录一下李宏毅 Machine Learning 2023 Spring 的笔记和作业。仓库把讲义笔记和 Notebook 分开保存,也记录了从机器学习基础继续到 CS336、按需要补充数学与概率的学习路线。 课程内容 前面的笔记包括 PyTorch、机器学习基础和网络训练问题的排查。作业目录则涉及 CNN、Self-Attention、Transformer、BERT、Autoencoder、可解释模型、对抗攻击、领域适应、强化学习和网络压缩。 内容比较多,回看的时候可以先从每份作业的输入和目标入手,再看模型结构和评估方式。例如领域适应会遇到训练分布与目标分布不同的问题,而网络压缩需要考虑资源限制。 具体 Notebook 和笔记放在下面的仓库里。目录中包含预测或提交文件,这里就不列未经重新核对的成绩了。 相关链接 学习路线 · 讲义笔记 · 作业记录




