Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tf.image.non_max_抑制给出未初始化张量_Python_Tensorflow_Non Maximum Suppression - Fatal编程技术网

Python tf.image.non_max_抑制给出未初始化张量

Python tf.image.non_max_抑制给出未初始化张量,python,tensorflow,non-maximum-suppression,Python,Tensorflow,Non Maximum Suppression,我在更快的RCNN网络中使用tensorflow的tf.image.non_max_suppression。tensorflow图构建成功,并且运行时没有错误,但运行该图时,输出为空张量,取决于输入的维度大小为0(例如,我得到形状为(0,4)的输出张量)。所以我使用了tfdbg工具来查看发生了什么。我发现tf.image.non_max_suppressionop的张量值是Uninitialized tensor。取决于nms op输出的所有后续张量也显示为unnitialized tensor

我在更快的RCNN网络中使用tensorflow的
tf.image.non_max_suppression
。tensorflow图构建成功,并且运行时没有错误,但运行该图时,输出为空张量,取决于输入的维度大小为0(例如,我得到形状为(0,4)的输出张量)。所以我使用了
tfdbg
工具来查看发生了什么。我发现
tf.image.non_max_suppression
op的张量值是
Uninitialized tensor
。取决于nms op输出的所有后续张量也显示为
unnitialized tensor

我训练了这个更快的RCNN网络,并使用
tf.train.Saver(..).save(..)
保存了权重。当我训练网络时,我使用一个python numpy函数来执行NMS,并使用op wrapper
tf.py_func
将其插入网络,然后在训练模型后,我决定将python函数更改为tensorflow实现

tf.image.non_max_suppression
没有可学习的参数,因此我不明白为什么现在加载保存的模型并运行图表时,张量未初始化。在使用
tf.train.Saver(..).restore(..)加载模型之前,我还尝试执行
sess.run(tf.global\u variables\u initializer())
,但没有任何更改,仍然在
tfdbg
中看到NMS和后续ops的
未初始化张量

对这种行为有什么想法以及如何解决

这就是我如何使用tf.image.non_max_suppression的方法


你能包括完整的错误信息,包括任何张量名称吗?我在构建或运行过程中没有收到任何错误。运行时只需获取空张量,其中第一个维度(其大小取决于输入)的大小为0。当我使用
tfdbg
进行调试时,我看到nms op是
未初始化张量
,以及所有后续张量,具体取决于nms op@mrry的输出
keep = tf.image.non_max_suppression(proposals_yxyx, 
                             scores, 
                             tf.constant(cfg[cfg_key].RPN_POST_NMS_TOP_N), 
                             cfg[cfg_key].RPN_NMS_THRESH, 
                             name="Non-maximal-suppression")