Zhe Yang

tensorflow和thenao比较

tensor flow 和 theano 是最近比较流行的深度学习框架,两者非常相似但是两者又不一样,下面就我个人体验比较下两者的异同。

1. 难易程度

就使用难度而言,tensorflow的便易性要远胜于theano,毕竟theano是一堆学者研究出来的,而tensorflow是Google研究出来的,比较面向工业化。tensor flow直接集成了学术界的很多方法,比如像RNN、LSTM等都已经被tensorflow集成了,还有比如参数更新方法如梯度下降、Adadelta等也已经被tensorflow写好了,但是对于theano这个就得自己写,当然难易程度不一样了。

2. 灵活性

就灵活性而言,theano是要胜过tensor flow的,正是因为上一点theano的门槛稍高,却也使得theano有着更大的弹性,可以实现自己任意定义的网络结果,这里不是说tensorflow不行,tensorflow也能写,但是使用tensorflow久了之后,写一些自定义的结构能力就会生疏许多,比如修改LSTM内的一些结构。而Theano则没有这个约束。

3. 容错性 

我个人觉得theano的容错性是比tensor flow要高的,theano定义变量,只需要制定类型,比如imatrix、ivertor之类的而不用制定任何的维度,只要你输入的数据和你的网络结构图能够对的上的话,就没问题,而tensorflow择需要预先指定一些参数(如上面代码的num_step参数),相比而言,theano的容错能力多得多,当然这样也有坏处,那就是可能对导致代码调试起来比较费劲儿。

码字很辛苦,转载请注明来自Zhe Yang – Shandong University《tensorflow和thenao比较》

评论