TensorFlow';s目标修剪可以';找不到节点

TensorFlow';s目标修剪可以';找不到节点,tensorflow,Tensorflow,我使用TensorFlow API编写了一个Python脚本,其中包括一个转储图形定义的SummaryWriter,以便在TensorBoard中查看它 运行脚本时,会抛出一个NotFoundError,说明PruneForTargets:Some target node not found:Reading/data\u queue\u EnqueueMany\u 1。顾名思义,所讨论的节点是由FIFOQueue上的enqueue\u many调用创建的(然后在QueueRunner中启动);它

我使用TensorFlow API编写了一个Python脚本,其中包括一个转储图形定义的
SummaryWriter
,以便在TensorBoard中查看它

运行脚本时,会抛出一个
NotFoundError
,说明
PruneForTargets:Some target node not found:Reading/data\u queue\u EnqueueMany\u 1
。顾名思义,所讨论的节点是由
FIFOQueue
上的
enqueue\u many
调用创建的(然后在
QueueRunner
中启动);它确实存在,并且可以在张力板上清楚地看到


什么会导致TensorFlow找不到某些节点?

这是一个已知的问题,当您在向图中添加更多节点之前启动访问TensorFlow图的线程(例如,您的
QueueRunner
)时会发生此问题。(对于并发读写,底层的
tf.Graph
数据结构不是线程安全的。)

解决方案是在构造最后一个节点后移动(以及启动线程的任何其他代码)。双重检查的一种方法是在调用
start\u queue\u runners()
之前立即添加对的调用