Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 加载使用joblib/pickle保存的ML模型时出现问题_Python_Jupyter Notebook_Pickle_Statsmodels_Joblib - Fatal编程技术网

Python 加载使用joblib/pickle保存的ML模型时出现问题

Python 加载使用joblib/pickle保存的ML模型时出现问题,python,jupyter-notebook,pickle,statsmodels,joblib,Python,Jupyter Notebook,Pickle,Statsmodels,Joblib,我使用joblib将jupyter notebook.pynb文件保存为.pickle格式 我的ML模型是使用pandas、numpy和statsmodels python库构建的 我将fitted模型保存到一个名为fitted_model的变量中,下面是我如何使用joblib的: from sklearn.externals import joblib # Save RL_Model to file in the current working directory joblib_file =

我使用joblib将jupyter notebook.pynb文件保存为.pickle格式

我的ML模型是使用pandas、numpy和statsmodels python库构建的

我将fitted模型保存到一个名为fitted_model的变量中,下面是我如何使用joblib的:

from sklearn.externals import joblib
# Save RL_Model to file in the current working directory

joblib_file = "joblib_RL_Model.pkl"  
joblib.dump(fitted_model, joblib_file)
我将此作为输出:

['joblib_RL_Model.pkl']
但当我尝试从文件加载时,在新的jupyter笔记本中,使用:

# Load from file
joblib_file = "joblib_RL_Model.pkl"  
joblib_LR_model = joblib.load(joblib_file)
joblib_LR_model
我只拿回这个:


而且没有模型。我希望在那里看到模型加载,并看到与原始笔记本相同的图形输出。

与open一起使用会更好,因为它会自动打开和关闭文件。也有适当的模式

with open('joblib_RL_Model.pkl', 'wb') as f:
    pickle.dump(fitted_model, f)

                                    
with open('joblib_RL_Model.pkl', 'rb') as f:
    joblib_LR_model = pickle.load(f)

我在Colab中的实现是。检查它。

与open一起使用,它更好,因为它会自动打开和关闭文件。也有适当的模式

with open('joblib_RL_Model.pkl', 'wb') as f:
    pickle.dump(fitted_model, f)

                                    
with open('joblib_RL_Model.pkl', 'rb') as f:
    joblib_LR_model = pickle.load(f)

我在Colab中的实现是。检查它。

您可以使用更可量化的包,这是python的pickle默认包来保存模型

您可以使用以下功能保存ML模型

import pickle

def save_model(model):
    pickle.dump(model, open("model.pkl", "wb"))

函数的模板是

import pickle

def save_model(model):
    pickle.dump(model, open(PATH_AND_FILE_NAME_TO_BE_SAVED, "wb"))

要在从pickle库保存模型时加载模型,可以执行以下函数

def load_model(path):
    return pickle.load(open(path, 'rb'))
其中path是模型保存到的文件的路径和名称。 注:

这只适用于基本的ML模型和PyTorch模型,不适用于需要使用的基于Tensorflow的模型
其中,模型的类型为tensorflow.keras.models

您可以使用更可量化的包,即python的pickle默认包来保存模型

您可以使用以下功能保存ML模型

import pickle

def save_model(model):
    pickle.dump(model, open("model.pkl", "wb"))

函数的模板是

import pickle

def save_model(model):
    pickle.dump(model, open(PATH_AND_FILE_NAME_TO_BE_SAVED, "wb"))

要在从pickle库保存模型时加载模型,可以执行以下函数

def load_model(path):
    return pickle.load(open(path, 'rb'))
其中path是模型保存到的文件的路径和名称。 注:

这只适用于基本的ML模型和PyTorch模型,不适用于需要使用的基于Tensorflow的模型
如果模型类型为tensorflow.keras.models

使用导入库导入它,则错误现在为:EOFError:输入不足检查模型是否为空。有关详细信息,请确定,现在的错误是:未定义名称“fitted_model”。fitted_model是您要保存的所需模型。使用import Pickle导入库导入时,错误是:EOFError:输入不足检查您的模型是否为空。要了解更多信息,请确定,现在的错误是:未定义名称“fitted_model”。fitted_model是您要保存的所需模型。然后您将使用什么来重新加载它?该死,与其他方法相同的错误“输入不足”。我这样做了:def load_model:pickle.loadopenmodel.pkl,“rb”在新文件中你能用编辑过的答案检查一下吗,因为我忘了在函数中返回,请像pickle.loadopen./model.pkl,rb那样做,然后你会用什么来重新加载它?该死,与其他方法相同的错误。”“输入不足”。我这样做了:def load_model:pickle.loadopenmodel.pkl,“rb”在新文件中,你能用编辑过的答案检查一下吗,因为我忘记了函数中的返回,请像pickle.loadopen./model.pkl,rb那样做