Once you have the starter code, you will need to download the CIFAR-10 dataset.
Run the following from the `assignment2` directory:
```bash
cd cs231n/datasets
./get_datasets.sh
```
After you have the CIFAR-10 data, you should start the IPython notebook server from the
`assignment2` directory. If you are unfamiliar with IPython, you should read our
[IPython tutorial](http://cs231n.github.io/ipython-tutorial/).
NOTE 1:This year, the `assignment2` code has been tested to be compatible with python versions `2.7`, `3.5`, `3.6` (it may work with other versions of `3.x`, but we won't be officially supporting them). You will need to make sure that during your virtual environment setup that the correct version of python is used. You can confirm your python version by (1) activating your virtualenv and (2) running `python --version`.
NOTE 2:If you are working in a virtual environment on OSX, you may*potentially*encounter
errors with matplotlib due to the [issues described here](http://matplotlib.org/faq/virtualenv_faq.html). In our testing, it seems that this issue is no longer present with the most recent version of matplotlib, but if you do end up running into this issue you may have to use the `start_ipython_osx.sh` script from the `assignment2` directory (instead of `ipython notebook` below) to launch your IPython notebook server. Note that you may have to modify some variables within the script to match your version of python/installation directory. The script assumes that your virtual environment is named `.env`.
Whether you work on the assignment locally or using a virtual machine on AWS, you
will need to submit the assignment for grading. There aretwosteps to submit
your work.
1. Run the `collectSubmission.sh` script from the assignment2 directory. This will
produce a file called `assignment2.zip`.
2. Submit `assignment2.zip` through [Canvas](https://canvas.stanford.edu/courses/72024).
The IPython notebook `FullyConnectedNets.ipynb` will introduce you to our
modular layer design, and then use those layers to implement fully-connected
networks of arbitrary depth. To optimize these models you will implement several
popular update rules.
In the IPython notebook `BatchNormalization.ipynb` you will implement batch
normalization, and use it to train deep fully-connected networks.
The IPython notebook `Dropout.ipynb` will help you implement Dropout and explore
its effects on model generalization.
In the IPython Notebook `ConvolutionalNetworks.ipynb` you will implement several
new layers that are commonly used in convolutional networks. You will train a
(shallow) convolutional network on CIFAR-10, and it will then be up to you to
train the best network that you can.
For this last part, you will be working in either TensorFlow or PyTorch, two popular and powerful deep learning frameworks.You only need to complete ONE of these two notebooks.You do NOT need to do both, but a very small amount of extra credit will be awarded to those who do.
Open up either `PyTorch.ipynb` or `TensorFlow.ipynb`. There, you will learn how the framework works, culminating in training a convolutional network of your own design on CIFAR-10 to get the best performance you can.
In the process of training your network, you should feel free to implement
anything that you want to get better performance. You can modify the solver,
implement additional layers, use different types of regularization, use an
ensemble of models, or anything else that comes to mind. If you implement these
or other ideas not covered in the assignment then you will be awarded some bonus
points.
For this to count, you must submit code for the extra credit portion to Gradescope and clearly describe what you did in the extra credit portion of the writeup.We will not award credit for extra things that you did if we don’t know what they are.
版权说明:电话:18026290016 (24小时)
📧 业务邮箱:4085008@qq.com
💬 QQ技术售后:4085008 (工单快速响应)
🏢 广州市天河区科韵北路108号三楼
微信扫码添加咨询
销售经理 李经理