如何使用TensorFlow将for循环与条件语句并行化?

时间:2018-07-09 19:52:11

标签: python tensorflow parallel-processing

在以下原型代码中,我想在使用Tensorflow的GPU上并行比较数组I与数组F[0]F[1]。我过去常常使用Pyopencl

import numpy as np

F = np.array([[4, 10, 1], [4, 12, 1]], np.int32)
I = np.array([5, 11, 1], np.int32)

output = [0, 0]

for f_id in range(len(F)):  # no of threads should be equal to len(F)
    f = F[f_id]

    # When the first condition is false, code stops checking further and f_id is incremented
    if I[0] > f[0] and I[1] < f[1] and I[2] == f[2]:
        output[f_id] = 1

print(output)

在上面的if语句中,当第一个条件为False时,执行将停止并继续执行for循环中的下一个值。

如何使用TensorFlow在GPU上实现此目的?我希望2个GPU线程并行运行,一个用于F[0],另一个用于F[1]F[0]中的第一个条件为假时,第一个线程停止执行,并且不检查接下来的两位。

以上只是一个原型代码,可以帮助我更好地了解Tensorflow。在实际情况下,F是大小为10**10的数组,而I是大小为10**8的数组

0 个答案:

没有答案