- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 s3 中保存了两个文件(模型、矢量化器),并尝试从 s3 下载并使用我的 Flask 应用程序文件运行它。但是,当前返回 dill.dill (没有名为错误的模块)。有趣的是,我没有在任何地方导入“dill”,但看起来它是在内部导入并提示的。
import flask
from flask import Flask, request, render_template, jsonify
from sklearn.externals import joblib
import numpy as np
from scipy import misc
from sklearn.feature_extraction.text import TfidfVectorizer
import boto3
import pickle
BUCKET_NAME = 'xxxx'
MODEL_FILE_NAME = 'text-classification-model-v1.pk'
VECTORIZER_FILE_NAME = 'word_vectorizer.pk'
ACCESS_KEY="QQQQ"
SECRET_KEY="ZZZZZ"
S3 = boto3.client('s3', aws_access_key_id=ACCESS_KEY,aws_secret_access_key=SECRET_KEY, region_name='us-west-2')
app = Flask(__name__)
@app.route('/', methods=['GET'])
def index():
payload = [request.args.get('description')]
prediction = predict_(payload)
return parse_data()
def predict_(payload):
transformed_text_features = load_vectorizer(payload)
return load_model(MODEL_FILE_NAME).predict(transformed_text_features)
def parse_data():
return 'xxx'
def load_vectorizer(payload):
with open("downloaded_vectorizer.pk", 'wb') as data:
S3.download_fileobj(BUCKET_NAME, VECTORIZER_FILE_NAME, data)
infile = open("downloaded_vectorizer.pk","rb")
loaded_vectorizer = joblib.load(infile)
infile.close()
transformed_text_features = loaded_vectorizer.transform(payload)
return transformed_text_features
def load_model(model):
with open("downloaded_model_textclassification.pkl", 'wb') as data:
S3.download_fileobj(BUCKET_NAME, MODEL_FILE_NAME, data)
infile = open("downloaded_model_textclassification.pkl","rb")
model = pickle.load(infile)
infile.close()
return model
==========
error message
==========
File "\flask\predict_commodity.py", line 32, in index
prediction = predict_(payload)
File "\flask\predict_commodity.py", line 38, in predict_
transformed_text_features = load_vectorizer(payload)
File "\flask\predict_commodity.py", line 60, in load_vectorize
loaded_vectorizer = joblib.load(infile)
File " \lib\site-packages\sklearn\externals\joblib\numpy_pickle.py", line 568, in load
obj = _unpickle(fobj)
File " \lib\site-packages\sklearn\externals\joblib\numpy_pickle.py", line 508, in _unpickle
obj = unpickler.load()
File " \anaconda3\Lib\pickle.py", line 1050, in load
dispatch[key[0]](self)
File "\Lib\pickle.py", line 1338, in load_global
klass = self.find_class(module, name)
File "\Lib\pickle.py", line 1388, in find_class
__import__(module, level=0)
ModuleNotFoundError: No module named 'dill.dill'
最佳答案
在您的代码中,您使用 pickle
和 sklearn.externals.joblib
。这可能是一个问题。
此外,您可以尝试更新软件包:pip install dill --upgrade
。这帮助我解决了同样的问题。
关于python - 加载保存的文件时,Flask 出现错误并显示 dill.dill 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51546019/
我在 s3 中保存了两个文件(模型、矢量化器),并尝试从 s3 下载并使用我的 Flask 应用程序文件运行它。但是,当前返回 dill.dill (没有名为错误的模块)。有趣的是,我没有在任何地方导
如果我创建一个导入库的类并使用 dill 对其进行 pickle,当我对其进行 unpickle 时,我找不到该库: import dill from sklearn.metrics.cluster
我认为这对许多知道如何处理 pickle 的人来说是最基本的。但是,尝试了几个小时后,我仍然无法完全正确。我有以下代码: 在第一个文件中 import pandas as pd names = ["J
来自https://github.com/uqfoundation/dill/blob/master/dill/dill.py#L43 : from pickle import _Pickler as
在下面的示例中,我将类 Foo 放在它自己的模块 foo 中。 为什么外部类会被ref dump?实例 ff 未与其源代码一起转储。 我正在使用 Python 3.4.3 和 dill-0.2.4。
在对 Python pickle: dealing with updated class definitions 的回答中,dill 包的作者写道: “好的,我已经在 github 上的最新修订版中将
我想在 Python 中使用 multiprocessing 库。遗憾的是,multiprocessing 使用了 pickle,它不支持带有闭包的函数、lambdas 或 __main__ 中的函数
一开始,我尝试了conda install dill , 和 conda无法在互联网上找到它。 然后我下载了.tgz和 .zip我的默认 IPython 目录中的文件从这里开始: https://py
我有一个 Jupyter 笔记本,我想使用 dill.dump_session 保存其状态,但是如果笔记本使用 getpass 模块,该函数会引发错误。有什么办法可以解决这个问题吗?我理解不转储密码的
我遇到了一个让我抓狂的错误。我生成一些数值模拟数据 sim_data.dill 并使用 将其保存到我的计算机上的目录中 with open(os.path.join(original_director
dill 是一个用于 pickle 大多数 Python 对象的好工具,我在 IPython 中使用它来并行化计算。我一直在研究的一个问题是钻取类定义。下面解释了我遇到的错误之一。 在尝试序列化类定义
Dill显然是一个非常有用的模块,而且只要你小心管理文件,它似乎是相对安全的。但我被以下声明推迟了: Thus dill is not intended to be secure against er
尝试将一个大的且(可能非常)不可拾取的对象渲染到文件中以供以后使用。 dill.dump(file) 方面没有任何投诉: In [1]: import echonest.remix.audio as
使用dill序列化类时: import dill, pickle class project(object): def __init__(self, name='', folder='', u
我做了 flutter build iOS 并且我收到了这 3 个与 platform_strong.dill 文件相关的错误: Xcode's output: ↳ === BUILD TAR
这个问题可能看起来有点基础,但无法在互联网上找到我理解的任何内容。如何储存用 dill pickle 的东西? 我走到这一步是为了保存我的构造(pandas DataFrame,它也包含自定义类):
我正在尝试序列化数千个对象,其中一些对象是 lambda 对象。 由于 cPickle 不适用于 lambda,我尝试使用 dill。然而,在 unpickleing(或 undilling(?))时
我想开始使用 jupyter lab 而不是 spyder,但我遇到了问题。我无法将变量保存在我的工作区中。 我正在尝试使用 jupyter lab 来运行这样的代码: import dill imp
我正在使用 PyMemoize 库来缓存协程。我装饰了协程,但是当 Python 调用它时,我得到: TypeError: can't pickle coroutine objects 发生这种情况是
我想将 poll 类数据的状态保存到文件中,如果我的脚本重新启动,则将其加载回来。我弹出了部分程序来重现该问题。这是我的文件。 pickleclass.py #POLL RECORD class PO
我是一名优秀的程序员,十分优秀!