TensorFlow 2.0 C ++-加载预训练模型

时间:2020-05-01 23:31:38

标签: python c++ keras load tensorflow2.0

有人可以给我一个提示,告诉我如何使用tensorflow 2.0的C ++ API加载使用keras在python中训练和导出的模型吗?

仅在tensorflow版本<2中,我找不到有关此信息。

亲切的问候

1 个答案:

答案 0 :(得分:1)

好吧,我找到了解决其他问题的解决方案:

在Python中,您必须使用以下命令将其导出:

tf.keras.models.save_model(model, 'model')

在C ++中,您必须使用以下命令加载它:

tensorflow::SavedModelBundle model;
tensorflow::Status status = tensorflow::LoadSavedModel(
  tensorflow::SessionOptions(), 
  tensorflow::RunOptions(), 
  "path/to/model/folder", 
  {tensorflow::kSavedModelTagServe}, 
  &model);

基于此帖子:Using Tensorflow checkpoint to restore model in C++

如果我现在尝试设置输入和输出,则会引发错误:“找不到名称为'outputlayer'的节点”和“无效的参数:在feed_devices或fetch_devices中指定的Tensor input:0不在图形中”

有人知道这里怎么了吗?