【问题标题】:How Can I Python Function Export and Recall (Pickle,Joblib,Dump)?如何使用 Python 函数导出和调用(Pickle、Joblib、Dump)?
【发布时间】:2020-03-26 09:08:48
【问题描述】:
def square(a):
    return a*a

joblib.dump(square,"squre.pkl")
joblib.load("square.pkl")(5)

output: 25

当我在同一个笔记本中调用 pickle 时没问题。但是当我打开另一个笔记本(新笔记本)并回忆起泡菜时,我收到以下错误。请帮忙解决。

joblib.load("square.pkl")(5)
output=AttributeError: module '__main__' has no attribute 'square'

所以我的主要问题是这个。回忆我保存的任何模型(lgbm、kmeans 等)都没有问题。但我不记得我注册的功能。谢谢

【问题讨论】:

  • 函数未腌制。解析为函数的完全限定名称被腌制。查看this Q&A,尤其是 Jeremy Brown 的answer,因为它包含指向相关文档的链接和摘录。
  • 谢谢。我有一个模型(kmeans)。我也有异常检测功能(规则库)。我需要同时导出我的模型和函数,然后才能顺利调用。我不太擅长编程。你有什么建议?

标签: python function pickle joblib


【解决方案1】:

我是这样解决的

 import dill as pickle
    def square(a):
        return a*a
    with open('square.pkl', 'wb') as file:
        pickle.dump(square,file)

并打开新笔记本(python3)

 with open('square.pkl', 'rb') as file:
    B = pickle.load(file)
    B(5)
    output:25

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 2020-12-18
    • 1970-01-01
    相关资源
    最近更新 更多