【发布时间】:2020-01-20 18:03:22
【问题描述】:
我正在使用以下内容: 蟒蛇3.6.4
烧瓶 = 1.1.1,
Keras = 2.3.0,
TensorFlow = 1.14.0, 我有一个从客户端获取图片的 Flask 服务器。使用带有 TensorFlow 后端的 Keras 模型,我尝试从预训练模型中获得预测。
我正在使用以下函数上传模型(作为类的一部分)
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 服务器,因此手动输入,我得到一个预测,但只要 服务器开启 出现错误,我停止获得预测
我试图在网上寻找一些类似的问题,但没有找到任何问题,如果有人知道问题以及如何解决它,我将不胜感激。
【问题讨论】:
-
我现在也遇到同样的情况。就我而言,我已将原因缩小到从我正在使用的包的另一部分导入的一些内容。在这开始发生之前,您是否添加了任何新的导入?
-
我唯一能想到的是我之前添加的
from scipy.spatial import distance as dist
标签: python tensorflow flask keras