【问题标题】:Error , Unsuccessful TensorSliceReader constructor: Failed to find any matching files for ram to unpickle a file错误,TensorSliceReader 构造函数不成功:找不到任何匹配的文件供 ram 解压文件
【发布时间】:2022-08-04 02:27:09
【问题描述】:

我遇到了这个错误,我无法在我的 jupyter 笔记本上解压文件:

import os 
import pickle
import joblib
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
filename = open(\"loan_model3.pkl\", \"rb\")
mdl = pickle.load(filename)
mdl.close()

它总是显示以下错误消息,即使我升级了我的所有库

错误信息:

FileNotFoundError: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for ram://89506590-ec42-44a9-b67c-3ee4cc8e884e/variables/variables 您可能正试图从计算设备加载到不同的设备。考虑将tf.saved_model.LoadOptions 中的experimental_io_device选项设置为io_device,例如\'/job:localhost\'。

我试图升级我的库,但仍然没有工作。

  • 嗨@abdalla 在文件名前面添加./ 像这样filename = open(\"./loan_model3.pkl\", \"rb\") 应该会有所帮助。让我们知道错误是否仍然存在。谢谢!
  • 嗨@Tfer3,我试过了,但不幸的是错误仍然存​​在。
  • 泡菜文件和笔记本在同一个文件夹中吗?
  • 嗨@Tfer3 抱歉回复晚了,是的,它们都在同一个文件夹中,我使用的是 jupyter 笔记本,所以它们在同一个文件夹中,我保存了我的 .py 文件
  • 您能否分享用于保存模型的步骤?谢谢!

标签: python tensorflow scikit-learn pickle joblib


【解决方案1】:

当我尝试存储我的顺序的.pkl 文件中的模型,因为顺序的model 是一个 TensorFlow Keras 模型,因此我们必须将其存储在 .h5 文件中,并且 Keras 以这种格式保存模型,因为它可以轻松地将权重和模型配置存储在单个文件中。

代码:

   from keras.models import load_model
   model.save('model.h5')
   model_final = load_model('model.h5')

【讨论】:

    【解决方案2】:

    如果您还在这里,我想知道,但我找到了解决方案。基本上你不应该将 tensorflow 模型保存到 pickle 文件中,而是保存到 h5 文件中

    ## save model
    save_path = './model.h5'
    model.save(save_path)
    ## load tensorflow model
    model = keras.models.load_model(save_path)
    

    这对我有用。希望这对你也有帮助。

    【讨论】:

    • 嗨阿卜杜勒穆尼姆,谢谢您的回复,我会试试这个并回复给您。
    【解决方案3】:

    这对我有用:

    import tensorflow as tf
    path = './model.h5'
    model.save(path )
    loaded_model= tf.keras.models.load_model(path )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-04
      • 2022-09-23
      • 2021-06-11
      • 2018-10-23
      • 2019-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多