Keras的作者、谷歌AI研究员Francois Chollet宣布了一条激动人心的消息:Keras将会成为第一个被添加到TensorFlow核心中的高级别框架,这将会让Keras变成Tensorflow的默认API。
在Reddit的一条评论中,Keras 的作者、谷歌AI研究员Francois Chollet宣布了一条激动人心的消息:Keras将会成为第一个被添加到TensorFlow核心中的高级别框架,这将会让Keras变成Tensorflow的默认API。
背景介绍:Keras是一个高级别的Python神经网络框架,能在 TensorFlow 或者 Theano 上运行。此外,能用到TensorFlow上的还有一些高级别的Python神经网络框架,比如,TF-Slim,虽然它们发展更不完善,也不是TensorFlow的核心部分。
神经网络研究者Rachel Thomas在fast.ai上撰文介绍了这一消息,并写下了他使用TensorFlow的心得体会:
他说,使用TensorFlow给我的感觉就是我还不够聪明,但是,在使用Keras的时候我会觉得神经网络要比我想象的简单。这是因为,TensorFlow的API过于冗长和混乱,也是因为Keras拥有我体验过的最贴心的、最具表达力的API。对我来说,在刚开始使用TensorFlow受挫后就来公开批评它有点尴尬,它让人觉得沉重、不自然。当然,其中有我自己的原因。但是,Keras和Theano确实证实了我的想法:tensors和神经网络不一定都是那么折磨人的。
在一次大学作业中,我曾经使用一个硬件描述语言,通过添加和改变CPU暂存器中的字节来编码除法(division)。这是一个很有趣的练习,但是我非常确定,我不想用这种方式对神经网络进行编码。使用一个更高级别的语言的好处是显而易见的:更快地编码、更少的bug,以及,更少的痛苦。Keras的好处还有更多——它更适配神经网络的概念,能促进新的发现。Keras让我更加擅长神经网络,因为语言抽象与神经网络的概念搭配得更加好。
使用与我的思维相同的概念语言写程序,能让我把注意力集中在需要解决的难题上,而不是编程语言的伪迹上。因为,当我把更多的精力花在头脑中的思维与编程语言之间的概念转换的时候,我的思考就会变慢。TensorFlow影响了我的生产力。
正如Chollet所写:“如果你想要长期使用一个更高级别的面向对象的TF API,Karas就是正确的道路。”