解决服务器运行Flask与keras多线程扰动的问题

服务器上运行Flask接口时,由于Keras后端Tensorflow的多线程特性,出现线程扰动导致模型预测结果不一致甚至失效。解决方法是在文件开头设置Tensorflow线程,并在接口调用模型推理时使用`tf.keras.backend.set_session`确保图的稳定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现象:

  • 服务器上 运行flask接口;
  • keras后端是tensorflow;
  • 会出现线程扰动。

经常出现

FailedPreconditionError: Attempting to use uninitialized value batchnormalization_

或者Tensor Tensor("crf_1/cond/Merge:0", shape=(?, ?, 260), dtype=float32) is not an element of this graph.

使用keras.backend.clear_session()可能会导致前后两处预测结果不一样,因为图发生了变化
或者直接失效。

解决办法:

mianFlask.py文件开头写上:

#### 开头
myYolo = YOLO()
global graph
graph = tf.get_default_graph()
#--
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值