flask项目中调用keras神经网络模型的一个坑
来源:互联网 发布:js构造函数的使用实例 编辑:程序博客网 时间:2024/05/16 11:53
问题描述
事先训练好一个keras的神经网络model。在某一个网站项目flask中,启动服务的时候会把这个model加载进来,当用户访问某一个页面A的时候,会调用model的预测函数。线上一直没有问题,可是在某一次本地开发调试中,本地环境启动后,访问A页面,在调用model的预测函数时,出现如下的错误:
raise ValueError("Tensor %s is not an element of this graph." % obj)ValueError: Tensor Tensor("dense_3/Sigmoid:0", shape=(?, 59), dtype=float32) is not an element of this graph.
调查过程
不通过服务,单独调用model的预测函数没有任何错误。
只要启动了服务,调用就会报错。
我尝试在service代码的构造函数中自动调用一次模型,然后再在A页面调用模型,就不会报错。
花了1个多小时研究这个问题。最后发现由于本地flask是开启debug模式的,因此服务启动的时候,debug模式又会来一个tensorflow的线程。这样导致服务调用tensorflow的时候,graph产生了错位。关闭flask的debug模式,问题消失。
经验总结
在调用keras的tensorflow的应用程序中,保证tensorflow的模型是单线程加载的。如果多线程加载模型的话,可能需要人为指定不同的Graph,具体还没有研究。
阅读全文
0 0
- flask项目中调用keras神经网络模型的一个坑
- 基于keras 的神经网络股价预测模型
- 【Keras】DNN神经网络模型
- ubuntu中利用h5py保存训练好的keras 神经网络模型
- Ubuntu中利用h5py保存训练好的keras神经网络模型
- Keras中神经网络可视化模块keras.utils.visualize_util 的安装
- keras学习之二:神经网络模型的使用
- keras:保存keras学习好的深度神经网络模型参数为二进制和txt文件
- 利用tensorflow keras搭建一个简单的卷积神经网络
- Keras中实现mnist神经网络训练与模型保存(采用LeNet-5模型)
- 可视化Keras深度学习神经网络模型
- 可视化Keras深度学习神经网络模型
- Keras中神经网络可视化模块keras.utils.visualize_util 的安装配置与错误解决办法
- keras的模型可视化
- 【Flask】Flask中关于url_for()的坑
- 【Flask】Flask中关于url_for()的坑
- keras中无法用save保存模型的问题
- Keras中建立神经网络测试XOR问题
- Java的前期绑定和后期绑定[新]
- 阿里云容器服务Spring Cloud应用开发
- #1014:trie树
- 由.java文件到.class文件转化成.dex文件再转化.smali文件的过程
- 浅析Java中的访问权限控制
- flask项目中调用keras神经网络模型的一个坑
- 栈的应用之括号匹配
- HDU 2022 海选女主角(water)
- android真机使用Charles抓包
- 176. Second Highest Salary(Leetcode)
- 使用MVP模式实现简单的登录功能
- 647. Palindromic Substrings
- Windows安装FFmpeg
- 现场赛日历图片2