最近课题组里某位从事深度学习研究应用的博士,利用Tensorflow编写了一个图像分类和分割模型,代码是在windows环境下用Python语言编写的。
我对其代码进行了打包封装,但在测试过程中发现了一个问题。
问题描述如下:打开模型界面,输入一张测试图像时,模型没有任何问题,能够正常运行;但在输入另一张图像时,报出了下列错误:
W tensorflow/core/framework/op_kernel.cc:1502] OP_REQUIRES failed at save_restore_v2_ops.cc:184 : Not found: Key conv2d_21/bias not found in checkpoint
看不懂,不知道是什么意思。遂又重新启动模型,模型依然存在,一次只能测试一张图像的情况,再输入另一张图像就出错!
于是,初步猜想:会不会是模型界面没有关闭,程序没有释放内存,导致内存不够?
试了一些杀内存的方法,但涉及到后续要打包,貌似操作起来比较麻烦。
于是乎,百度了一下,发现了一篇博客:批量图片验证模型错误: OP_REQUIRES failed at save_restore_v2_ops.cc:184 : Not found: Key conv1_1/bias not found,遇到的问题,和我的十分相似,报出的错误一模一样。
因此,试了一下博客中的解决方法:直接在模型中加入 tf.reset_default_graph() ,程序正常运行,解决了之前的问题。
再一次对模型代码打包编译后,模型程序运行正常。
感谢该博主!相关解决方案的详细介绍参见上述文章。