当前位置: 首页 > 面试题库 >

Flask和Keras模型错误“ _thread._local”对象没有属性“值”?

尉迟景福
2023-03-14
问题内容

我正在使用以下内容:python 3.6.4

flask= 1.1.1,

Keras = 2.3.0,

TensorFlow = 1.14.0,我有一个Flask服务器,可以从客户端获取图片。将Keras模型与TensorFlow后端结合使用时,我尝试从预先训练的模型中获得预测。

我正在使用以下函数上传模型(作为类的一部分)

 model_path = self.conf["model_path"] // path in conf to model
 self.model = load_model(model_path)  // uploading the model
 self.model._make_predict_function()
 p_log.info("model had been upload successfully ")

我使用以下代码进行预测:

cm_prediction = self.model.predict([face, reye, leye, fg])[0]

直到今天,我还没有任何问题,总能得到一个预测。 现在我得到以下错误:

Traceback (most recent call last):
  File "D:\code_project\path to project", line 75, in predict
    cm_prediction = self.model.predict([face, reye, leye, fg])[0]
  File "D:\code_project\path to project", line 1462, in predict
    callbacks=callbacks)
  File "D:\code_project\predictserver\venv\lib\site-packages\keras\engine\training_arrays.py", line 276, in predict_loop
    callbacks.model.stop_training = False
  File "D:\code_project\predictserver\venv\lib\site-packages\keras\engine\network.py", line 323, in __setattr__
    super(Network, self).__setattr__(name, value)
  File "D:\code_project\predictserver\venv\lib\site-packages\keras\engine\base_layer.py", line 1215, in __setattr__
    if not _DISABLE_TRACKING.value:
AttributeError: '_thread._local' object has no attribute 'value'

我有一个运行的简单Flask服务器:

if __name__ == '__main__':
    pre = predictor()
    # app.run(debug=True)
    app.run(host='0.0.0.0', port=12345)

模型总是被上传。

如果我在没有Flask服务器的情况下运行程序,因此手动输入,我会得到一个预测,但是一旦服务器启动,就会出现错误,并且我将停止获取预测


问题答案:

Keras在19年9月17日发布了新版本2.3.0。作为修订版本的一部分,我更新了所有库,其中包括Keras。自从我做完这个消息就出现了。

在我降级到Keras 2.2.5之后,问题消失了。



 类似资料:
  • 我在Jupyter Notebook中运行Keras神经网络模型(Python 3.6) 我得到以下错误 属性错误:列表对象没有属性ndim 从K调用. fi()方法后eras.model 我检查了Keras的requirements.txt文件(在Anaconda3中),Numpy、smpy和六个模块版本都是最新的。 什么可以解释这个属性错误? 完整的错误消息如下(似乎与Numpy有些关联):

  • 问题内容: 我在执行selenium代码时遇到错误。 码: 错误: AttributeError:类型对象“ Keys”没有属性“ chord” 我已经导入了所有必需的文件。 问题答案: 没有与课堂上一样的功能(请检查文档)。您可以简单地将其拆分为2个语句。 或者,如果您想同时按下按键,则可以尝试使用。

  • 我使用要连接到mysql,下面是我的Python语句: 但是有一个错误,这里是日志: 这是我的代码: 我已经创建数据库在谢谢

  • 当我执行代码时,我得到一个错误, 属性错误:“WebDriver”对象没有属性“find_element_by_xpath”

  • 问题内容: 我对Python比较陌生,并且一直关注Miguel Grinberg Flask Mega-Tutorial。 我有一个非常简单的表格,当我尝试提交时,收到以下错误: AttributeError:’StringField’对象没有属性’translate’ 形式如下: views.py: 我的模板如下: 我一直无法解决这个问题,但这就是我所关注的。 一个担忧来自PyCharm告诉我,

  • 问题内容: 我正在尝试通过以下文档设置此基本示例: http://flask.pocoo.org/docs/patterns/celery/ 但是到目前为止,我一直收到以下错误: AttributeError:“ Flask”对象没有属性“ user_options” 我正在使用芹菜3.1.15。 例: 回溯错误: 问题答案: “基于Flask Celery的后台任务”页面(http://flas