для проекта машинного обучения я генерирую случайные матрицы. Новая матрица, которой еще не существует, хранится в массиве. Если создается матрица, которая уже существует, ее не следует добавлять. Пока я делаю это с помощью цикла и функции allclose numpy для сравнения каждой матрицы в массиве с фактически созданной случайной матрицей. Однако мне нужно 500000 матриц, и код займет соответственно много времени. Знаете ли вы лучшее решение для сравнения матрицы с каждой матрицей в массиве? Буду признателен за любую помощь. Вот мой фактический код:
import numpy as np
a_total = np.zeros((1,3,3))
while j < 500000:
atol = 1e-06
h = 0
a_add = np.random.rand(3,3).reshape(1,3,3)
for y in range(a_total.shape[0]):
mask = np.allclose(a_total[y], a_add, atol)
if mask == False:
h+=1
if (h==a_total.shape(0)):
a_total = np.concatenate((a_total, a_add), axis=0)
j=+1