【记录】踩坑记录,Flask启动了两次
现象:最近在使用Flask编写模型服务的时候,出现了模型启动时候显存不足的状况,但是目标机器的显存是充裕的。模型预测时候,显存限制为0.5;
很显然单个模型是可以跑起来的,报OOM
错误是因为Flask程序启动了两次,排查后得出结论:
-
Flask的debug模式下,会启动一个子线程,当代码变动时候它会自动重启;相当于启动了两个模型,单个模型限制0.5,tensorflow下会默认占满,所以两个模型起不来;
-
最终部署服务的时候,在调用app.run()的时候,使用
debug=False
或者,添加use_reloader=False
, 可避免启动两次;当然,添加之后,再修改代码也不会更新了;
🍨