本仓库用于记录笔者对 Stanford CS231n 课程作业(Assignment 1/2/3)的实现过程与实验结果。
全程在本地环境完成,没有使用 Google Colab。
后续将持续补充整理后的学习笔记与复盘内容。
CS231n/
├── assignment1/
│ └── assignment1/
├── assignment2/
│ └── assignment2/
├── assignment3/
│ └── assignment3/
├── cs231n_blog.pdf
└── images/
说明:
assignment1/assignment1:A1(KNN、SVM/Softmax、两层网络、全连接网络、特征工程)assignment2/assignment2:A2(BatchNorm、Dropout、CNN、PyTorch、RNN Captioning)assignment3/assignment3:A3(Transformer Captioning、Self-Supervised Learning、DDPM、CLIP/DINO)cs231n_blog.pdf:课程笔记 PDF(从线性分类器到扩散模型)images/:笔记中使用的 slides / 插图资源
已将历史目录中的 *_colab 后缀移除,统一为:
assignment1assignment2assignment3
注:部分 notebook 元数据中仍可能保留 colab 字段,这是原始模板遗留信息,不影响本地运行。
- 安装 Python(建议 3.9/3.10)与
pip。 - 建议使用
conda或venv创建独立环境。 - 在每个 assignment 目录单独安装依赖并运行 notebook。
工作目录:
cd assignment1/assignment1数据下载:
bash cs231n/datasets/get_datasets.sh建议按 notebook 顺序运行:
knn.ipynbsoftmax.ipynbtwo_layer_net.ipynbfeatures.ipynbFullyConnectedNets.ipynb
打包提交(代码 + PDF):
bash collectSubmission.sh工作目录:
cd assignment2/assignment2数据下载:
bash cs231n/datasets/get_datasets.sh
bash cs231n/datasets/get_coco_dataset.sh如需编译 Cython(卷积加速相关):
cd cs231n
python setup.py build_ext --inplace
cd ..建议按 notebook 顺序运行:
BatchNormalization.ipynbDropout.ipynbConvolutionalNetworks.ipynbPyTorch.ipynbRNN_Captioning_pytorch.ipynb
打包提交(代码 + PDF):
bash collectSubmission.sh工作目录:
cd assignment3/assignment3安装依赖(仓库内提供 requirements):
pip install -r requirements.txt数据下载(按需):
bash cs231n/datasets/get_datasets.sh
bash cs231n/datasets/get_coco_dataset.sh建议按 notebook 顺序运行:
Transformer_Captioning.ipynbSelf_Supervised_Learning.ipynbDDPM.ipynbCLIP_DINO.ipynb
打包提交(代码 + PDF):
bash collectSubmission.sh当前已提交:
cs231n_blog.pdf(完整课程笔记)images/CNN.pngimages/ReLUvsGELU.pngimages/cnn.jpegimages/ddpm.pngimages/im2col.pngimages/transformer.pngimages/vit.jpg
.gitignore已配置数据集与大文件忽略规则,避免提交超大实验产物。- 如 notebook 中存在绝对路径,请按本机实际路径修改对应变量(通常在前几格)。
- 本仓库的重点是“可复现的本地作业实现记录”,不是 Colab 教程。