【新智元导读】 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 就是正确的道路。”