Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.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
Python 一个阵列上计算的多处理_Python_Arrays_Multidimensional Array_Multiprocessing - Fatal编程技术网

Python 一个阵列上计算的多处理

Python 一个阵列上计算的多处理,python,arrays,multidimensional-array,multiprocessing,Python,Arrays,Multidimensional Array,Multiprocessing,这个问题紧接着这个问题。我有一个大的3D阵列,我必须对它做一些繁重的计算。 我想将阵列的一部分分成4部分,并用计算机的每4个核心对每个部分进行计算。。。 对我的3D阵列的每个切片都这样做…最好的方法是什么 import numpy size = 8. Y=(arange(2000)) X=(arange(2000)) (xx,yy)=meshgrid(X,Y) array=zeros((Y.shape[0],X.shape[0],size)) array[:,:,0] = 0 array[

这个问题紧接着这个问题。我有一个大的3D阵列,我必须对它做一些繁重的计算。 我想将阵列的一部分分成4部分,并用计算机的每4个核心对每个部分进行计算。。。 对我的3D阵列的每个切片都这样做…最好的方法是什么

import numpy

size = 8.
Y=(arange(2000))
X=(arange(2000))
(xx,yy)=meshgrid(X,Y)

array=zeros((Y.shape[0],X.shape[0],size))

array[:,:,0] = 0
array[:,:,1] = X+Y
array[:,:,2] = X*cos(X)+Y*sin(Y)
array[:,:,3] = X**3+sin(X)+X**2+Y**2+sin(Y)

您可以使用模块中的

它同样适用于三维numpy阵列:

from multiprocessing import Pool
import numpy

def f(num):
  return num * 2 # replace with heavy computation

arr = numpy.array(
  [numpy.array([
    numpy.array([1,2,3]),
    numpy.array([4,5,6]),
    numpy.array([7,8,9])]),
   numpy.array([
     numpy.array([1,2,3]),
     numpy.array([4,5,6]),
     numpy.array([7,8,9])])])
p = Pool(4)
print p.map(f, arr)

您可以使用模块中的

它同样适用于三维numpy阵列:

from multiprocessing import Pool
import numpy

def f(num):
  return num * 2 # replace with heavy computation

arr = numpy.array(
  [numpy.array([
    numpy.array([1,2,3]),
    numpy.array([4,5,6]),
    numpy.array([7,8,9])]),
   numpy.array([
     numpy.array([1,2,3]),
     numpy.array([4,5,6]),
     numpy.array([7,8,9])])])
p = Pool(4)
print p.map(f, arr)

您可以使用模块中的

它同样适用于三维numpy阵列:

from multiprocessing import Pool
import numpy

def f(num):
  return num * 2 # replace with heavy computation

arr = numpy.array(
  [numpy.array([
    numpy.array([1,2,3]),
    numpy.array([4,5,6]),
    numpy.array([7,8,9])]),
   numpy.array([
     numpy.array([1,2,3]),
     numpy.array([4,5,6]),
     numpy.array([7,8,9])])])
p = Pool(4)
print p.map(f, arr)

您可以使用模块中的

它同样适用于三维numpy阵列:

from multiprocessing import Pool
import numpy

def f(num):
  return num * 2 # replace with heavy computation

arr = numpy.array(
  [numpy.array([
    numpy.array([1,2,3]),
    numpy.array([4,5,6]),
    numpy.array([7,8,9])]),
   numpy.array([
     numpy.array([1,2,3]),
     numpy.array([4,5,6]),
     numpy.array([7,8,9])])])
p = Pool(4)
print p.map(f, arr)

作为多处理的替代方案,您可以使用以下模块:


作为多处理的替代方案,您可以使用以下模块:


作为多处理的替代方案,您可以使用以下模块:


作为多处理的替代方案,您可以使用以下模块:



感谢您的帮助,但当我计算有无多进程的时间时……我发现没有多进程我会更快:s@user3601754每次调用
f
的费用有多高?如果
f
没有花费大量时间运行,那么
多处理
将不会有帮助,因为在进程之间传递数组内容的开销将大于同时运行4个
f
实例的好处。感谢您的帮助,但是当我计算有无多进程的时间时……我发现没有多进程我会更快:s@user3601754每次调用
f
的费用有多高?如果
f
没有花费大量时间运行,那么
多处理
将不会有帮助,因为在进程之间传递数组内容的开销将大于同时运行4个
f
实例的好处。感谢您的帮助,但是当我计算有无多进程的时间时……我发现没有多进程我会更快:s@user3601754每次调用
f
的费用有多高?如果
f
没有花费大量时间运行,那么
多处理
将不会有帮助,因为在进程之间传递数组内容的开销将大于同时运行4个
f
实例的好处。感谢您的帮助,但是当我计算有无多进程的时间时……我发现没有多进程我会更快:s@user3601754每次调用
f
的费用有多高?如果
f
没有花费大量时间运行,那么
多处理
不会有帮助,因为在进程之间传递数组内容的开销将大于同时运行4个
f
实例的好处。感谢您的帮助!我试过了,但是当我打印时,我得到了“”,我找不到如何读取我的结果:在python生成器上查看文档:。您可以使用for循环来迭代
exc.map()
的结果,这是迄今为止最简单的“对数组的每个项执行操作,并行执行”的方法。值得一提的是,谢谢你的帮助!我试过了,但是当我打印时,我得到了“”,我找不到如何读取我的结果:在python生成器上查看文档:。您可以使用for循环来迭代
exc.map()
的结果,这是迄今为止最简单的“对数组的每个项执行操作,并行执行”的方法。值得一提的是,谢谢你的帮助!我试过了,但是当我打印时,我得到了“”,我找不到如何读取我的结果:在python生成器上查看文档:。您可以使用for循环来迭代
exc.map()
的结果,这是迄今为止最简单的“对数组的每个项执行操作,并行执行”的方法。值得一提的是,谢谢你的帮助!我试过了,但是当我打印时,我得到了“”,我找不到如何读取我的结果:在python生成器上查看文档:。您可以使用for循环来迭代
exc.map()
的结果,这是迄今为止最简单的“对数组的每个项执行操作,并行执行”的方法。值得一提的是