在深度学领域,有好几个开源框架,最著名的有Caffe,Theano和Torch。这三个框架各有所长。
Caffe的用户界面是做得最好的也是最容易上手的,但模块都是固定的,扩展性不佳。而且只能处理有向无环图,这就意味着它不能处理recurrent neural network。(似乎有人说可以,但我还不确定)
Theano的特色是能自动求导数。如果你想从底层自己实现反向传播算法,它会省去很多求导的运算。但如果你想用别人实现好的模块像搭积木一样搭建网络的话,这个求导的功能就似乎是一个鸡肋,反而还要占用编译的时间。
Torch的灵活性介于Caffe和Theano之间。它替我们封装好了网络模块,同时又允许我们对模块进行扩展。我现在大部分时间都使用Torch来训练网络。另一个好处是网上很多RNN的例子都是用torch写的,所以torch是学习RNN的一个很好的途径。唯一不好的地方是它使用Lua语言,学习曲线会陡峭一些。
这三个框架独立发展,短时期内不会出现一家独大的局面。所以我们在学习deep learning的时候最好每个框架都能有所了解。
下面记录了我在ubuntu上安装这三个框架的详细过程。顺序是:安装Ubuntu--》安装Cuda--》安装Caffe--》安装DIGITS--》安装Theano--》安装Torch。
安装Ubuntu
现在用优盘安装ubuntu很方便,只有分区这里需要配置一下,如