python - 如何使用 Python 函数导出和调用(Pickle、Joblib、Dump)?
问题描述
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 等)都没有问题。但我不记得我注册的功能。谢谢
解决方案
我解决了如下
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
推荐阅读
- google-cloud-platform - (gcloud.dataflow.flex-template.build) PERMISSION_DENIED:调用者没有权限
- gitlab-ci - 在 gitlab-ci 中触发管道失败
- java - 在横向模式下无法隐藏导航栏
- django - Django创建嵌套模型
- postgresql - 无法在postgres中使用spring数据jdbc保存实体
- php - 当通过 PHP 动态提供 CSS 时,为什么我会在 Edge 中遇到内容类型兼容性问题?
- java - 如何更新片段中的 recyclerview 列表?(notifyDataSetChanged 不起作用)
- python - Python matplotlib 每个级别都有不同的颜色
- apache - Here-api Autosuggest 通过服务器代理时偶尔会返回 401 Unauthorized
- r - 使用 LpSolveAPI 赋值,如何以类似广度优先的方式填充参数?