首先,安装Jupyter,本文时基于Ubuntu14.04的LTS版本,即首先需要搭建一个适于安装JupyterNotebook的环境。
在Ubuntu Linux14.04上安装Jupyter Notebook(首先要保证网络畅通),操作如下:
打开Terminal,输入
sudo pip install jupyter 回车
输入开机密码 回车
如果没报错,会出现如下界面:
安装完成时,会显示如下,注意看里面有一堆successfully。
如何开启Jupyter?
同样,在Terminal输入
Jupyter Notebook 回车
我的机器上的开启界面是下面的样子:
由此,打开了Jupyter的大门。正在修改的neural_style.py的界面:
个人感受——为什么选择Jupyter Notebook:
原因很简单:使用Jupyter Notebook做数据向的,尤其是科学计算类的编程开发非常方便。
怎么个方便法呢,先看老宅的学习血泪史——
本科时,我是个数学超级战五渣,听到高等数学的第一反应是。躲,所以听说了Matlab的老宅,就像那句歌词一样:一笑而过。
后来,读了研的我,本想在开发语言学习的道路上一试身手,听说大神都再用Vim,我又开始了解Vim,在能够使用Vim做些开发和调试之后,
又掉进了喜欢用Notepad做开发的同学团队,
再后来,我利用研一寒假的时间,又学会了Charm,
再后来,我被导师推向了图像算法的研究路线上,百不情愿的我硬着头皮又开始摸索Matlab。(顺带着把C++又看了一遍,又玩了一把社区版的VS2015,WTF)
然而,要知道,任何一行,入行时没个师傅,意味着你一切要从零开始,
给一群“读研只为拿文凭”的师兄师姐们当师弟,我我独自一人在实验室里起早贪黑模算法的日子,你懂得。
再后来,我的数学也恶补上了,算法做出来了,实验也成功了,我凄凉的发现,想用单纯的平面的数学算法解决现实的图像问题,既没什么实际意义,然后,
做这个我能找到工作么?
再后来,我开始了解DL,又是一个寒假,我碰到了Jupyter Notebook。
在打开Jupyter Notebook的那一刻,我被Jupyter Notebook感动了。
在我用过的这些代码编译器里,只有Matlab和Jupyter Notebook最像,区别就在于,使用Matlab调试,尤其大规模的计算结果输出时,经常输出结果就会随着屏幕的滚动而淹没在屏幕的上边缘,即使鼠标回滚也没办法调出来,而且非常难做断点调试。
Vim一直被代码开发者推崇,但是,我的体会是,Vim确实轻便,只占用几个MB甚至也就十几个MB,虽然轻便,但软件轻便了,脑子就腹中了,用它起步,代码门槛高,许多操作需要直接用命令执行,虽然安装容易,但是上手麻烦,初学小白切勿模仿。
再有,像Visual Studio、Eclipse这类IDE,确实功能异常强大,体积也大,我记得,06年安装一个VC++6.0,体积大约是550MB,也就是一张CD光盘的容量,如今一个VS2015的社区版动辄几个GB,当然,我们的硬盘容量也确实更大了。不过,我刚才说过,对于科学计算,我想就想很阶段算个数字,你却让我先int main()...然后还要考虑定义int还是double还是float等等等等,说好的科学计算呢?
Jupyter就不一样了,它几乎结合了上面所说的所有IDE的长处,先Matlab一样的简单方便的计算方式,我可以输入将要计算的一部分,然后执行,执行结果就放在公式的下面,滚动条可以无限延长,不管多么大规模的输出都可以回滚到源头看公式,体积也不大,只要有网络,几条命令就可以完成安装。界面干净整洁,几乎做到了所有无关的信息全部不显示。最重要的,使用python做数据分析,使用四个库就基本够用,不用像大型IDE那样,还要安装各种各样的插件。最后,用Jupyter完全免费啊,用VS和Matlab还要去找破解版呢。