今天可以说是完成了本地服务器的搭建工作,之前每次打开服务器之后,只能识别第一张图片,后面的所有图片全部报错
TypeError: Cannot interpret feed_dict key as Tensor: Tensor Tensor(“Placeholde r:0”, shape=(40001,50), dtype=float32) is not an element of this graph.
肝了许久,最终发现应该是使用load_model加载模型时,因为基于Django框架的web开发,是多线程的,导致调用时session会很混乱,每位用户都会加载新的模型。想了几个解决办法
1.一开始以为是浏览器缓存的问题,清理了cookie,后来渐渐想到是模型层面的问题
2.考虑设计一个model的全局变量,每个用户都使用同一个模型,就不会混乱了,但是后来发现模型和测试不能分开,否则会报错,所以这个方法失败了。
参考:https://blog.csdn.net/xiaotongsunny/article/details/80952411
3.参考上述资料后发现,可以通过调用 keras.backend.clear_session() ,对临时加载模型进行清空。一开始想放在模型加载前面,然后发现会影响第一次加载模型,最后,把这句话加载了每次模型使用完的位置。终于解决了bug。