Я использую 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 или другой подобный метод для его преобразования? Если да, то как? Это что-то лучше или быстрее с графическим процессором?
Вы подсчитали, сколько результатов это даст? Что вы собираетесь делать с результатом?
Цель состоит в том, чтобы как можно быстрее создать различные возможности. Так что решающим фактором является скорость.
Когда у вас есть продукт, что вы собираетесь с ним делать? Всегда ли это всего два элемента или это переменная сумма?
Генераторы и функции будут работать немного быстрее.
Генератор:
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)
Простое создание различных комбинаций продуктов с помощью
product
происходит так же быстро, как и раньше, использование другой библиотеки не ускорит процесс. - Вы ничего не рассчитываете