将模型从colab转换为tf.keras h5模型的问题

时间:2019-07-19 21:59:26

标签: tensorflow keras tensorflow-serving tensorflow-lite tf.keras

将这个模型转换为s h5模型非常困难,因此我可以将其转换为Tensorflow lite。我在这里分享了合作: 我非常感谢我所能提供的任何帮助。 这是我的合作: https://colab.research.google.com/drive/1ZON8lvha8sI9ZCJEF0Ad8au2NNc9sUkU

我使用了这种方法:

from docproduct.models import MedicalQAModelwithBert

medical_qa_model = MedicalQAModelwithBert(
        config_file=os.path.join(
            pretrained_path, 'bert_config.json'),
        checkpoint_file=os.path.join(pretrained_path, 'biobert_model.ckpt'))

medical_qa_model.save("model.h5")

我得到的错误是

  

NotImplementedError:save方法要求模型是功能模型或顺序模型。它不适用于子类化模型,因为此类模型是通过Python方法的主体定义的,该方法无法安全地序列化。考虑使用save_weights,以节省模型的权重。

我可以save_weights,但是用tflite转换会遇到问题,因为这需要整个模型。有人对如何解决这个问题有什么建议吗?

我的最终目标是将模型转换为tflite。

谢谢

更新:

似乎问题在于它们创建了自己的Model子类,并且未实现save()。

https://github.com/re-search/DocProduct/blob/master/docproduct/models.py#L62

是否有任何变通办法能够在不从头训练的情况下转换模型?

0 个答案:

没有答案