源地址 https://www.zhihu.com/question/35396126
Tensorflow, theano, Keras, lasagne, caffe我都用过。由于我做的实验是很crazy的RNN结构。所以theano和tensorflow用的比较多。但说一下Keras。 四个字,相当不错。 易使用:对于想把它作为黑箱子使用的人,keras超级易上手。 扩展性:keras的设计是把大量内部运算都隐藏了。大家很自然而然的就认为它的功能比较狭窄。其实它有的扩展性并不差,有很多办法实现框架上没有的功能。用户始终可以用theano或tensorflow的语句来写扩展功能并和keras结合使用。 theano和tensorflow两个backend这一点就不用说了。 但是我个人的建议是,至少一次,手动从零开始写一个神经网络的代码后,再用keras。否则容易依赖于keras的易使用性而忽略底层原理。并且很多扩展只有在懂得底层原理后才可以实现的。