【发布时间】:2022-04-24 20:21:11
【问题描述】:
我正在尝试将 keras 模型转换为 google colab 中的 tpu 模型,但是这个模型里面有另一个模型。
看一下代码: https://colab.research.google.com/drive/1EmIrheKnrNYNNHPp0J7EBjw2WjsPXFVJ
这是 google tpu 文档中的示例之一的修改版本: https://colab.research.google.com/github/tensorflow/tpu/blob/master/tools/colab/fashion_mnist.ipynb
如果 sub_model 被转换并直接使用它可以工作,但如果子模型在另一个模型中它就不起作用。我需要子模型类型的网络,因为我正在尝试训练一个内部有 2 个网络(gan=generator+discriminator)的 GAN 网络,所以如果这个测试有效,它可能也适用于 gan。
我已经尝试了几件事:
- 在不转换子模型的情况下将模型转换为 tpu,这样在开始训练时会提示与子模型的输入相关的错误。
- 将模型和子模型都转换为tpu,这样在转换“父”模型时会提示错误,异常只在“层”末尾说。
- 仅将子模型转换为tpu,在这种情况下不会提示错误,但tpu不会加速训练,并且非常慢,就像根本没有转换为tpu一样。
- 无论是否使用固定批量大小,两者的结果相同,模型都不起作用。
有什么想法吗?非常感谢。
【问题讨论】:
-
设置每个人都可以在 google drive 上看到权限:colab.research.google.com/github/tensorflow/tpu/blob/master/… 以获得更好的帮助
标签: python keras deep-learning generative-adversarial-network tpu