我想在一个简单的例子上运行一个并行循环。
我在做什么错?写一个并行循环
from joblib import Parallel, delayed
import multiprocessing
def processInput(i):
return i * i
if __name__ == '__main__':
# what are your inputs, and what operation do you want to
# perform on each input. For example...
inputs = range(1000000)
num_cores = multiprocessing.cpu_count()
results = Parallel(n_jobs=4)(delayed(processInput)(i) for i in inputs)
print(results)
与代码的问题是,当在Python 3在Windows环境中执行时,它蟒蛇执行并行作业的num_cores
实例,但只有一个是积极的。这不应该是这种情况,因为处理器的活动应该是100%而不是14%(在i7-8逻辑核心下)。
为什么额外的实例没有做任何事情?
您是否收到任何错误消息?它对我来说运行良好......。缩进应该是4个空格而不是一个... –
我有同样的问题。问题是代码只能运行在一个核心而不是n核心上。 –