Assignment One
在本作业中,您将练习根据k最近邻居或SVM / Softmax分类器来组合一个简单的图像分类管道。 该任务的目标如下:
了解基本的图像分类管道和数据驱动方法(训练/预测阶段)
了解训练/验证/测试拆分以及将验证数据用于超参数调整。
熟练使用numpy编写高效的矢量化代码
实施并应用k最近邻(kNN)分类器
实现并应用多类支持向量机(SVM)分类器
实施并应用Softmax分类器
实现并应用两层神经网络分类器
了解这些分类器之间的差异和权衡
通过使用高级表示(而不是原始像素)来基本了解性能提升, 颜色直方图,梯度直方图(HOG)功能等。
一、前提–环境调制与数据集
1)安装Assignment 1所需要的库(在虚拟环境cs231n中)
pip install -r D:\CS231nAssignment1\assignment1\requirements.txt
2)下载CIFAR-10数据库解压到assignment1/cs231n/datasets目录下
3)打开Anaconda Prompt,输入:jupyter notebook --generate-config
注意选择我们建立的虚拟环境cs231n
4)到这个目录下去:C:\Users\Administrator.jupyter
找到配置默认打开路径的语句: The directory to use for notebooks and kernels.
解开注释,填入放置代码的位置(注意双斜杠)
打开Anaconda Prompt,输入:jupyter notebook(在cs231n中)
至此,配置完成
二、任务清单
Q1:k最近邻分类器
knn.ipynb,实现kNN分类器。
Q2:训练支持向量机
笔记本svm.ipynb将引导您实现SVM分类器。
Q3:实施Softmax分类器
softmax.ipynb实现Softmax分类器。
Q4:两层神经网络
two_layer_net.ipynb完成两层神经网络分类器的实现。
Q5:高级表示形式:图像功能
features.ipynb将检查通过使用更高级别的表示(而不是使用原始像素值)获得的改进。
工作总结