【问题标题】:TF wrappers: Performance of Keras vs TensorpackTF 包装器:Keras 与 Tensorpack 的性能对比
【发布时间】:2018-01-06 18:45:58
【问题描述】:

我有一个关于 Keras 与 Tensorpack 等其他 TF Wrapper 的训练性能的问题。

a Q&A session期间,Keras 的作者表示该软件包没有性能成本:

Keras 提供了一种更简单、更快捷的方法来在 TensorFlow 中构建和训练模型,而且没有性能成本,因为这些模型仍然由同一个 TensorFlow 引擎运行。

另一方面,Tensorpack github 声称它比 Keras 快 2 倍,即使是一个很小的 ​​CNN:

Tensorpack 训练器几乎总是比基于 feed_dict 的包装器快。即使在一个很小的 ​​CNN 示例上,训练的运行速度也比等效的 Keras 代码快 2 倍。

所以现在我想知道以下问题:谁是对的? 在训练中,二分之一对我来说非常重要。

【问题讨论】:

  • 你自己试过了吗?
  • 是的,我一直在使用 Keras(虽然从未使用过 Tensorpack)。我真的很关心性能,因为我有数百 GB 的 4D 数据集,一个“图像”是 11x13x18x50。目前,我在单个节点中使用带有 TF 后端和 4 个 GTX1080 的 Keras(多节点目前无法很好地扩展)。

标签: performance tensorflow keras


【解决方案1】:

我是 tensorpack 的作者。 主要性能改进的原因总结在文档的输入管道页面中:https://tensorpack.readthedocs.io/tutorial/extend/input-source.html 这些参数适用于单个 GPU 训练案例。对于多 GPU 训练,我们有更多性能改进以匹配 Google 的基准代码。

@jdehesa 的回答是不对的,我们从不使用 TFRecord 读取数据(虽然它能够这样做,但我看不出有多大优势)。你可以用纯 Python 阅读所有内容并获得这样的速度。

另外,2 倍加速可能有点过时,我知道 Keras 一直在改进减少框架开销。

【讨论】:

    猜你喜欢
    • 2017-06-06
    • 2018-07-08
    • 2016-08-18
    • 2018-03-14
    • 2013-01-16
    • 2012-03-06
    相关资源
    最近更新 更多