Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何分解和重新组合阵列以加快进程_Arrays_Python 2.7_Numpy_Append_Extend - Fatal编程技术网

Arrays 如何分解和重新组合阵列以加快进程

Arrays 如何分解和重新组合阵列以加快进程,arrays,python-2.7,numpy,append,extend,Arrays,Python 2.7,Numpy,Append,Extend,我现在必须对两个数组A和B进行乘法,它们都是512*256*256。 由此我理解:形状(A或B)=(512256256) 因为我想对它进行多重处理,所以我需要将它切成小块,以便更快地完成工作 我的想法是:我想做一个A1,它是(0:256,0:128,0:128)和一个A2(257:,129:,129:),B也是一样 按如下方式进行计算:C1=A1*B1;C2=A2*B2 然后重组C1(256128128)+C2(256128128)=C(512256256) 这有意义吗?我的意思是以矩阵/数组的

我现在必须对两个数组A和B进行乘法,它们都是512*256*256。 由此我理解:形状(A或B)=(512256256)

因为我想对它进行多重处理,所以我需要将它切成小块,以便更快地完成工作

我的想法是:我想做一个A1,它是(0:256,0:128,0:128)和一个A2(257:,129:,129:),B也是一样

按如下方式进行计算:C1=A1*B1;C2=A2*B2 然后重组C1(256128128)+C2(256128128)=C(512256256)

这有意义吗?我的意思是以矩阵/数组的方式来思考(我是该领域的初学者)。目前我只做C=A*B,对于较小的阵列,我对此很满意

如果是这样,我怎样才能工作?特别是重组。追加延伸


谢谢大家!

我找到了一种方法,可能不是最好的,但仍然是

首先,获得两个太大的阵列。 然后在第一块上面垫上你想要的任何东西,长度等于碎片的形状。
然后将第二块的数据复制到第一块,用正确的值替换填充的值。

您熟悉numpy吗?它使乘法数组变得微不足道。嗨,我的问题来自这样一个事实,我的阵列对于我使用的多处理软件包来说太大了。是的,我知道如何对它们进行乘法,我对小数组进行乘法,但我需要学习如何对它们进行切割并正确地重新打包,以避免“到大数组”的问题。你是说像strassen算法之类的东西?这很有趣。但我之所以这么做,是因为Ram消耗。毕竟,我要寻找的是将数组堆叠到另一个数组的命令,就像我在消息中描述的那样。第1步:我切成两半(好);第二步:我乘(似乎没问题);步骤3:我重新打包(这是我真的不知道的),我想它可能与“d/h/vstack命令”或“concatenate”一起使用