Mir*_*nib 7 python keras tensorflow tensorflow-lite
我想在 android studio 中使用我的 keras 训练模型。我在互联网上得到了这段代码,将我的代码从 keras 转换为 tensorflow-lite。但是当我尝试代码时,我收到了这个错误:
OSError: SavedModel file does not exist at: C:\Users\Munib\New folder/{saved_model.pbtxt|saved_model.pb}
Run Code Online (Sandbox Code Playgroud)
我从 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()
Run Code Online (Sandbox Code Playgroud)
小智 6
由于这篇文章,我已经能够调试此错误: https: //codeutility.org/savedmodel-file-does-not-exist-when-using-tensorflow-hub-stack-overflow/
对我有用的步骤是:
找到缺少先前加载的模型的临时文件夹。在 Mac 上我使用以下命令执行此操作:
打开$TMPDIR
然后我找到错误消息中的临时目录,并将其删除。
OSError:SavedModel 文件不存在于:/var/folders/px/7npbfl2n0vs4yqfq5skm9pnw0000gn/T/tfhub_modules/ 87f7b0d2504a48175f521bcaed174acabc93672c /{saved_model.pbtxt|saved_model.pb}
我搜索了粗体文件名并找到了空目录。
然后,删除它后,我能够加载模型并成功训练它。
基本上我从上面的文章中了解到的是,TensorFlow 将创建一个临时目录来保存加载的模型;但是,大约几天后,文件夹中的内容(加载的模型)将被删除。然后,当您再次加载模型时,TensorFlow 将路由到临时目录,但模型将从临时目录中删除。
这是有道理的,并解释了为什么如果您的代码在过去几天运行得很好,然后突然出现此错误,则可能与删除旧的临时目录有关。
首先最好使用相对路径而不是绝对路径。其次,如果您使用model.save('my_model')
,那么 keras 将为您创建一个目录,my_model
您应该在其中找到带有pb
或pbtxt
扩展名的文件,这是您应该用于 tflite 转换器的目录
归档时间: |
|
查看次数: |
15910 次 |
最近记录: |