OSError:SavedModel 文件不存在于:C:\Users\Munib\New 文件夹/saved_model.pbtxt|saved_model.pb

Posted

技术标签:

【中文标题】OSError:SavedModel 文件不存在于:C:\\Users\\Munib\\New 文件夹/saved_model.pbtxt|saved_model.pb【英文标题】:OSError: SavedModel file does not exist at: C:\Users\Munib\New folder/saved_model.pbtxt|saved_model.pbOSError:SavedModel 文件不存在于:C:\Users\Munib\New 文件夹/saved_model.pbtxt|saved_model.pb 【发布时间】:2020-10-03 03:00:07 【问题描述】:

我想在 android studio 中使用我的 keras 训练模型。我在互联网上获得了此代码,以将我的代码从 keras 转换为 tensorflow-lite。但是当我尝试代码时,我得到了这个错误:

OSError: SavedModel file does not exist at: C:\Users\Munib\New folder/saved_model.pbtxt|saved_model.pb

我从 keras 转换到 tensorflow-lite 时使用的代码:

import tensorflow as tf
# Converting a SavedModel to a TensorFlow Lite model.
saved_model_dir = r"C:\Users\Munib\New folder"
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()

# Converting a tf.Keras model to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()

# Converting ConcreteFunctions to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.from_concrete_functions([func])
tflite_model = converter.convert()

【问题讨论】:

你能解决这个问题吗? ,我也卡住了。 【参考方案1】:

首先最好使用相对路径而不是绝对路径。其次,如果您使用model.save('my_model'),那么 keras 将为您创建一个名为 my_model 的目录,您应该在其中找到一个扩展名为 pbpbtxt 的文件,这是您应该用于 tflite 转换器的目录

【讨论】:

【参考方案2】:

我在使用 google Colab 时也遇到了这个问题。看来,我的 Colab 丢失了模型所在的目录路径数据。只需再次运行这两行并重试。希望这能解决问题:

import os
os.chdir("/content/drive/My Drive/path/to/your/model")

【讨论】:

或者只是 %cd /content/drive/My Drive/path/to/your/model 应该可以工作

以上是关于OSError:SavedModel 文件不存在于:C:\Users\Munib\New 文件夹/saved_model.pbtxt|saved_model.pb的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow 2,将 .h5 模型转换为 .tflite,缺少 .pb 和 .pbtext

OSError:[Errno 2]没有这样的文件或目录。文件已存在于当前目录中

我应该为不存在的文件参数引发 ValueError 或 OSError 吗?

os.mkdir(path) 在目录不存在时返回 OSError

Python3基础 try-指定except-as reason 捕获打开一个不存在的文件的时候,会产生OSError异常的示例

如何将 TensorRT SavedModel 加载到 TensorFlow Estimator?