Вычисление точечного произведения на очень больших матрицах

#python #numpy #matrix #scipy

#python #numpy #матрица #scipy

Вопрос:

как подойти к вычислению точечного произведения для формы M1 5e7x50 и формы M2 50x5e7? Также деление одной матрицы 5e7x5e7 на другую матрицу того же размера?

Является ли подмножество способом?

Комментарии:

1. У вас есть ~ 10/20 ТБ для хранения этой результирующей матрицы? Я думаю, вам здесь не хватает чего-то важного. Это выглядит не очень выполнимым во времени и пространстве. Если это то, что вы действительно хотите сделать: google out-of-core или распределенное матричное умножение.

Ответ №1:

Вы можете использовать tensorflow с графическим процессором:

 import numpy as np
import tensorflow as tf

tf.matmul(np.array(....), np.array(....))
  

Ответ №2:

попробуйте использовать numpy :

 np.dot(mat_a, mat_b)
  

если под делением вы подразумеваете поэлементное деление, вы также можете использовать:

 np.divide(x1, x2)
  

Ответ №3:

Вы можете использовать @ оператор в numpy.

 import numpy as np

np.array(...) @ np.array(...)