【发布时间】:2020-12-09 22:08:18
【问题描述】:
我想创建ESRGAN TF hub saved model 架构的副本。
原因是直接使用 tf.saved_model.load() 加载它不适用于云 TPU,而且我无权访问 Google Cloud 存储桶。
我尝试创建一个 Keras Sequential 模型,然后创建它的副本并将副本保存为 .h5 格式
model = tf.keras.models.Sequential([Input(shape=(32,32,3)),
hub.KerasLayer("https://tfhub.dev/captain-pool/esrgan-tf2/1", trainable=False)])
model_copy = keras.models.clone_model(model)
model_copy.set_weights(model.get_weights())
model_copy.save("model.h5")
但是当我加载保存的模型时,它仍然从 tfhub.dev 站点获取模型架构,这是我想要克服的。 也可以在本地下载 tfhub 模型文件。但是从本地下载的文件中加载它们也无法在云 TPU 上运行。
唯一可行的方法是将模型架构保存在独立的 .h5 模型中,然后从中加载。 有什么办法吗?
【问题讨论】:
-
您能否详细说明用例是什么?是否在 Cloud TPU 上使用此架构进行微调?
标签: tensorflow keras tpu