- 1.Instruction of this assignment (课业导引)
- 2.Video record of this class (课程视频)
- 3.Tutorial to start (如何安装和开始)
- 4.Solution in Detail (方案详解)
In this assignment you will practice putting together a simple image classification pipeline based on the k-Nearest Neighbor or the SVM/Softmax classifier. The goals of this assignment are as follows:
- Understand the basic Image Classification pipeline and the data-driven approach (train/predict stages) (了解 图像分类 和 数据驱动算法 的大致过程)
- Understand the train/val/test splits and the use of validation data for hyperparameter tuning. (理解 数据集分割 和利用验证集进行 超参数调优 )
- Develop proficiency in writing efficient vectorized code with numpy (利用numpy矩阵化运算 提升性能 )
- Implement and apply a k-Nearest Neighbor (kNN) classifier (实现 kNN分类器 )
- Implement and apply a Multiclass Support Vector Machine (SVM) classifier (实现 SVM分类器 )
- Implement and apply a Softmax classifier (实现 SoftMax分类器 )
- Implement and apply a Two layer neural network classifier (实现 两层神经网络分类器 )
- Understand the differences and tradeoffs between these classifiers (理解 各个分类器 的 不同和优劣之处 )
- Get a basic understanding of performance improvements from using higher-level representations as opposed to raw pixels, e.g. color histograms, Histogram of Gradient (HOG) features, etc. (对于诸如 HOG 等不同于单位像素的 高级表达形式 对于表现的提升做一个初步的了解)
- Lecture2: Data-driven approach, kNN, Linear Classification 1
- Lecture3: Linear Classification2, Optimization
- Lecture4: Backpropagation, Neural Networks 1
Download. Starter code containing jupyter notebooks can be downloaded here.
Install Packages. Once you have the starter code, activate your environment (the one you installed in the Software Setup page) and run (运行脚本安装运行环境,强烈推荐此教程方法)
pip install -r requirements.txt.
如果需要在conda虚拟环境中安装,则运行以下命令(具体见上一段链接):
python -m pip install -r requirements.txt.
Download CIFAR-10. Next, you will need to download the CIFAR-10 dataset. Run the following from the assignment1 directory: (运行脚本下载cifar-10数据集)
cd cs231n/datasets
./get_datasets.sh
Start Jupyter Server. After you have the CIFAR-10 data, you should start the Jupyter server from the assignment1 directory by executing jupyter notebook in your terminal.
Details about this assignment can be found on the course webpage, under Assignment #1 of Spring 2019.