• Python 并行计算


    from joblib import Parallel, delayed  
    import time  
      
    # 定义一个函数,模拟一个耗时的操作  
    def slow_function(n):  
        time.sleep(n)  # 模拟耗时  
        return n * n  
      
    # 创建一个包含数字的列表  
    numbers = [1, 2, 3, 4, 5]  
      
    # 使用Parallel和delayed来并行地对每个数字执行slow_function  
    results = Parallel(n_jobs=-1)(delayed(slow_function)(n) for n in numbers)  
      
    # 打印结果  
    print(results)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这个示例中,我们定义了一个模拟耗时操作的函数slow_function。然后,我们创建了一个包含数字的列表numbers。通过使用Parallel和delayed,我们并行地对列表中的每个数字执行了slow_function函数。最后,我们打印了结果。

    请注意,在使用Parallel时,你可以通过设置n_jobs参数来控制并行任务的数量。在上面的示例中,我们设置了n_jobs=-1,这意味着用最大资源进行并行计算。

    如果函数有两个变量,代码如下:

    from joblib import Parallel, delayed  
    import time  
      
    # 定义一个函数,模拟一个耗时的操作,接受两个变量  
    def slow_function(x, y):  
        time.sleep(x + y)  # 模拟耗时  
        return x * y  
      
    # 创建一个包含输入变量的列表  
    inputs = [(1, 2), (3, 4), (5, 6)]  
      
    # 使用Parallel和delayed来并行地对每个输入执行slow_function  
    results = Parallel(n_jobs=3)(delayed(slow_function)(x, y) for x, y in inputs)  
      
    # 打印结果  
    print(results)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这个示例中,我们定义了一个函数slow_function,它接受两个变量x和y。然后,我们创建了一个包含输入变量的列表inputs,其中每个元素都是一个元组,包含两个变量。通过使用Parallel和delayed,我们并行地对列表中的每个输入执行了slow_function函数。最后,我们打印了结果。

    请注意,在使用Parallel时,你可以通过设置n_jobs参数来控制并行任务的数量。在上面的示例中,我们设置了n_jobs=3,这意味着最多同时执行3个任务。你可以根据自己的需求调整这个参数。

  • 相关阅读:
    初步认识Java
    猿创征文|走技术创新路,展时代宏图梦
    vue项目 i18n 国际化完整教程
    共享停车位小程序,微信小程序停车场车位,微信小程序停车场系统毕设作品
    【Java】自定义协议
    C语言练习题解析:挑战与突破,开启编程新篇章!(4)
    线程的创建和两种线程实现方式的区别
    『忘了再学』Shell基础 — 14、环境变量(二)
    ffmpeg花屏解决(修改源码,丢弃不完整帧)
    零经验,小白变大厨!
  • 原文地址:https://blog.csdn.net/weixin_46604505/article/details/132869431