将python迭代方法转换为并行

时间:2018-10-24 19:52:56

标签: python numpy tensorflow scipy itertools

我正在使用python itertools,并且有一种方法可以创建数组中元素的乘积。看起来像这样:

import itertools as it
c=it.product('AB', repeat=10)
for elem in c:
     print (''.join(elem))

结果是:

AAAAAAAAAA
AAAAAAAAAB
AAAAAAAABA
AAAAAAAABB
AAAAAAABAA
AAAAAAABAB
.
.
.
BBBBBBBBBB

我正在寻找一种将迭代过程转换为矩阵计算的方法。 NumPy或TensorFlow或其他此类方法是否可用于转换?如果是这样,怎么办?使用GPU可以更好或更快速地完成这项工作吗?

1 个答案:

答案 0 :(得分:0)

生成器和功能将运行得更快。

生成器:

import itertools as it
c=it.product('AB', repeat=10)
a = [''.join(elem) for elem in c]

功能:

import itertools as it
c=it.product('AB', repeat=10)
a = map(lambda x: ''.join(x),c)