abd*_*oub 7 python pickle scikit-learn joblib tensorflow
我遇到了这个错误,我无法解开我的 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()
Run Code Online (Sandbox Code Playgroud)
它总是显示以下错误消息,即使我升级了所有库
错误信息:
FileNotFoundError:不成功的 TensorSliceReader 构造函数:无法找到 ram://89506590-ec42-44a9-b67c-3ee4cc8e884e/variables/variables 的任何匹配文件您可能正在尝试从计算设备加载到不同的设备上。考虑在 io_device
experimental_io_device中设置选项tf.saved_model.LoadOptions,例如“/job:localhost”。
我尝试升级我的库,但仍然没有成功。
小智 5
当我尝试将Sequential模型存储在 .pkl 文件中时,我也遇到了同样的错误,因为Sequential模型是 TensorFlow Keras 模型,因此我们必须将其存储在 .h5 文件中,而 Keras 以这种格式保存模型,因为它可以轻松存储权重和模型配置位于单个文件中。
代码:
from keras.models import load_model
model.save('model.h5')
model_final = load_model('model.h5')
Run Code Online (Sandbox Code Playgroud)
小智 0
我不知道你是否还在这里,但我找到了解决方案。基本上你不应该将张量流模型保存到pickle文件中,而是保存到h5文件中
## save model
save_path = './model.h5'
model.save(save_path)
## load tensorflow model
model = keras.models.load_model(save_path)
Run Code Online (Sandbox Code Playgroud)
这对我有用。希望这也对您有帮助。