我需要从Keras model获取.pb.pbtxt文件,以便将经过训练的Keras模型与C++中的OpenCV的DNN模块一起使用。

我可以通过执行.pb来获取model.save('model',save_format='tf')文件,但是我还没有找到获取.pbtxt文件的方法。

最佳答案

我正在使用相同的设置,并且遇到了相同的问题,所以这是我发现的内容:

  • 在OpenCV中,如果您使用dnn::readNetFromTensorflow(),则实际上不需要“.pbtxt”文件,仅“.pb”就足够了
  • 使用keras model.save()方法生成的是一个tensorflow SavedModel,它生成多个文件(以及.pb),但是.pb不能单独工作,并且OpenCV不接受SavedModel格式。因此,您需要生成一个冻结图。更多信息here,以及为your model生成冻结图的解决方案。
  • 07-24 09:44
    查看更多