В настоящее время мне нужно умножить два массива A и B, оба из которых составляют 512 * 256 * 256. Под этим я понимаю: форма (A или B) = (512,256,256)Как декомбинировать и рекомбинировать массивы для ускорения процессов
Поскольку я хочу многократно обрабатывать его, мне нужно разрезать его на кусочки, чтобы ускорить работу.
Моя идея: Я хочу сделать A1, который будет (0: 256,0: 128,0: 128) и A2 (257:, 129:, 129 :), тот же для B.
Сделайте вычисления таким образом: C1 = A1 * B1; C2 = A2 * B2 А затем рекомбинировать C1 (256, 128, 128) + C2 (256, 128, 128) = C (512256256).
Имеет ли это смысл? Под этим я подразумеваю в математическом/массивном способе думать об этом (я новичок в этой области). В настоящее время я просто делаю C = A * B, и я в порядке, для небольших массивов.
Если да, то как я могу сделать работу? Особенно для рекомбинации. Добавить? Расширить?
Спасибо!
Знакомы с numpy? Он умножает массивы на тривиальные. http://www.numpy.org/ –
Привет Моя проблема связана с тем, что мои массивы слишком велики для пакета обработки, который я использую. Так что да, я знаю, как их умножать, я делаю это для небольших массивов, но мне нужно научиться их резать и правильно их восстанавливать, чтобы избежать проблемы с «большими массивами». – Magea
Вы имеете в виду somethling как strassen algo? https://en.wikipedia.org/wiki/Strassen_algorithm –