如何有效地使用 Keras 与后端无关
Posted
技术标签:
【中文标题】如何有效地使用 Keras 与后端无关【英文标题】:How to use Keras effectively agnostic to backend 【发布时间】:2021-12-14 15:38:49 【问题描述】:我正在尝试一些使用 keras 模型的示例,这些示例已经可用。大多数示例都使用带有 tensorflow(或 pytorch 或 theano)的 keras。
由于有限的可用资源和成本削减,我正在使用 plaidml 与 amd gpu 一起工作。由于 keras 支持可插拔后端,我认为这可能不是问题。
请分享您对使用 keras api 以及稍后插入所需后端的想法。
我有这个担忧是因为samples 和this 使用的是来自 tensorflow (import tensorflow.keras
) 的 keras,而我使用的是来自 keras(import keras
) 的普通版和可插拔后端。
什么是等价的陈述
img = tf.io.decode_png(img, channels=1)
# 3. Convert to float32 in [0, 1] range
img = tf.image.convert_image_dtype(img, tf.float32)
普通的 keras api 有什么限制吗?
【问题讨论】:
【参考方案1】:我只是使用 PIL Image 来读取和转换图像。它的工作原理与不使用 tensorflow api 相同。无论后端如何,都可以使用大多数 keras api。 PlaidML 也有一些警告,有一些功能,如 CTC Loss ctc_batch_cost
找不到。我遇到了类似的错误
Keras 后端函数 'ctc_batch_cost' 尚未在 格子花呢。您可以通过让我们知道此功能来帮助我们确定优先级 对您很重要,并且一如既往地欢迎您的贡献!
有些帖子提供了一些示例实现,但并不直接。来自 PLaidML,response 是它可能不会很快推出。
【讨论】:
以上是关于如何有效地使用 Keras 与后端无关的主要内容,如果未能解决你的问题,请参考以下文章