cs231n(2017 spring)听完前5课后开始做assignment1,结果菜鸡如我搭个环境就花了3天,最后还是抱大腿才搭好,当然也是因为确实存在一些坑。
assignment1的环境搭建tutorial给了两种方法。1.Google cloud:本来打算用这个,因为迟早要用,然而注册需要提供信用卡信息(visa卡或者master卡),而我的visa卡刚在前不久被冻结了,gg。2.本地虚拟环境(已装有Python3.6):我就完全按着tutorial里一步一步敲到终端里,然而gg,出现许多问题。tutorial中给出的命令行序列如下:
cd assignment1
sudo pip install virtualenv
virtualenv -p python3 .env # Create a virtual environment(python3)
source .env/bin/activate # Activate the virtual environment
pip install -r requirements.txt # Install dependencies
# Work on the assignment for a while …
deactivate # Exit the virtual environment
试过在实验室的台式机Windows系统上搭建环境,但tutorial提供的是linux命令,只有菜鸡我不知道,各种改环境变量。。。然后知道了WSL( 在Windows上使用ubuntu系统 ),于是从Windows商店下载,这个免去了使用虚拟机或者双系统的烦恼。后来因为requirements.txt里的一个坑(之后会提到)放弃用实验室电脑。不过大腿说其实直接装个anaconda就好了,用conda来搭建虚拟环境。
在mac上敲命令行至 pip install -r requirements.txt,报错:
No matching distribution found for site==0.0.1
Google了一圈只有Libraries.io上有site的发布信息,所以我怀疑这已经是个废弃的库?site==0.0.1在requirements.txt的40行左右,所以终端显示了之前行的collecting,于是我就以为之前行的要求已经装好了,并没有!collecting和downloading是两回事!
所以在IPython上运行knn.ipynb时一开始就报错:
No module named ‘past’
就是因为虚拟环境里根本啥库都没安装上啊!在requirements.txt中将site==0.0.1删掉,问题解决。
然后在jupyter notebook增加kernel,在虚拟环境下输入:(我将kernel命名为cs231n)
python -m ipykernel install --name cs231n
然后在IPython里需要切换kernel:
到这里环境搭成,可以开始写作业了。
jupyter kernel python2/python3