Python 重新分配批处理会导致多线程Tensorflow

Python 重新分配批处理会导致多线程Tensorflow,python,multithreading,tensorflow,Python,Multithreading,Tensorflow,我正在使用 q = tf.FIFOQueue(...) 数据由线程生成,每个线程使用q.enqueue加载一个数据点,并等待求值。一旦一批准备好了,我就使用 batch = q.dequeue_many(batch_size) 并利用神经网络对数据进行处理。 现在,我的问题是: 如何将结果重新分配给每个线程,以便每个线程都能获得其数据点的预测?换句话说,我如何知道哪个线程放置了条目#1,以便向其提供输出#1 或者,我应该以不同的方式处理这个问题吗?您可以将张量元组排队/出列到tf队列中。一种

我正在使用

q = tf.FIFOQueue(...)
数据由线程生成,每个线程使用q.enqueue加载一个数据点,并等待求值。一旦一批准备好了,我就使用

batch = q.dequeue_many(batch_size)
并利用神经网络对数据进行处理。 现在,我的问题是: 如何将结果重新分配给每个线程,以便每个线程都能获得其数据点的预测?换句话说,我如何知道哪个线程放置了条目#1,以便向其提供输出#1


或者,我应该以不同的方式处理这个问题吗?

您可以将张量元组排队/出列到tf队列中。一种简单的方法是将一对
(线程id,数据点)
排队,而不是仅仅
数据点
<例如,代码>线程id可以是常量整数或字符串张量。

您可以将张量元组排入tf队列或从tf队列中取出。一种简单的方法是将一对
(线程id,数据点)
排队,而不是仅仅
数据点
<例如,代码>线程id可以是常量整数或字符串张量