雷锋网消息:昨晚,Keras 之父 François Chollet 在 GItHub 发布了最新的 Keras 2.0.7 版。这是自今年三月Keras 2.0 发布以来的最重大更新之一。各项主要改进方面如下:
修复漏洞;
性能提升;
文件改善;
为在 TensorFlow 的数据张量(比如 Datasets, TFRecords)上训练模型提供了更好的支持。添加了一个相关案例文本;
提升 TensorBoard 用户体验——对 ops 更好地用名称范围进行分组;
提升测试覆盖范围。
API 的变化:
加入 clone_model 方法, 能够把已有模型作为模板创建新模型。即便 TensorFlow 图和原始模型不一样也可以。
向 compile 中加入 target_tensors 参数,用户能把定制张量或占位符作为模型目标。
把 steps_per_epoch 参数加入 fit,用户能采用和 Numpy 数组一致的方法来训练数据张量。
把该 steps 参数加入 predict 和 evaluate。
加入 Subtract merge 层,以及关联层 function subtract。
把 weighted_metrics 参数加入 compile,进一步规定 metric 函数,以把 sample_weight 或 class_weight 纳入考虑。
让 stop_gradients 后端函数在整个后端保持一致性。
允许 repeat_elements 后端函数有动态的形态。
支持 CNTK 的全状态 RNN
重大变化:
让约束管理(constraint management)基于变量属性;
把层和模型中已经不再使用的约束属性移除(不会影响任何用户)。
其 GitHub 地址在这里:https://github.com/fchollet/keras/releases/tag/2.0.7
今年的谷歌 I/O 开发者大会上,Keras 之父 François Chollet 对该工具进行了介绍,雷锋网整理如下:
François Chollet:简而言之,它就是一个用于创建 TensorFlow 模型的高级 API,你可以与它一起使用 estimator class 以及 experiment class。
众所周知,TensorFlow 的特点是非常低级的编程界面,你大多数时间花在矩阵、矢量乘法上。这使它成为一件非常强力的深度学习工具。但对于创建十分复杂先进的模型,这种操作方式说不上“理想”。
在谷歌,我们相信,未来深度学习将存在于每一个普通 IT 开发者的工具箱中,不再局限于机器学习专家。原因很简单:每个开发者都需要做出更智能的应用。
为了让这成为现实,我们需要降低深度学习的使用门槛,搞出每一个人都能用的工具,而不应该只有专家才能用深度学习解决问题。
我有一个问题想让大家思考:
如果设计一个没有任何束缚限制的深度学习界面,它应该是什么样的?
深度学习的核心理念很容易理解,它的实现也不应该复杂。对于模型核心部件,与其从头实现所有功能,应该让开发者利用现存部件,快速搭建数据处理流水线;就像乐高积木那样。这正是我们设计 Keras 的理念——成为“深度学习的乐高”。 雷锋网
相关文章:
Keras 之父讲解 Keras:几行代码就能在分布式环境训练模型 | Google I/O 2017
不到 200 行代码,教你如何用 Keras 搭建生成对抗网络(GAN)