【问题标题】:setting batch_size in pmap() Julia在 pmap() Julia 中设置 batch_size
【发布时间】:2016-11-28 18:09:38
【问题描述】:

在 Julia Lang 中,文档指出您可以使用 batch_size 设置工作进程的数量:

pmap([::AbstractWorkerPool, ]f, c...; distributed=true, batch_size=1, on_error=nothing, retry_n=0, retry_max_delay=DEFAULT_RETRY_MAX_DELAY, retry_on=DEFAULT_RETRY_ON) → collection

但我似乎找不到如何传递参数的有效示例。

我试过了: pmap(f,x;true,10) 和 pmap(f,x;distributed=true,batch_size=10) 两种方法都不起作用。有谁知道传递 batch_size 参数的正确方法?

【问题讨论】:

    标签: julia pmap


    【解决方案1】:

    batch size 用于拆分您要映射的列表,这意味着如果您有一个 1:100 的列表并且您选择了 batch size 10,那么每次工作进程使用 map 函数“转一圈”它采用 fx [1,2,3,4,5,6,7,8,9,10] 而不是 1 或 2,如果您要映射的函数很简单,这是首选,因此它更容易调度器(进程 1)来调度

    无论如何...关于命名参数的使用...您已经证实了我对分号的怀疑,我想知道人们是否认为他们应该输入它...您不应该输入它,分号在那里你知道什么是命名参数

    即不要使用分号

    pmap(f, c..., batch_size=10)
    

    为了更好地理解我的意思,尝试创建以下方法

    function foo(x)
        myid()
    end
    

    并测试调用

    pmap(foo, 1:100, batch_size = 1)
    

    pmap(foo, 1:100, batch_size = 10)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-29
      • 1970-01-01
      • 1970-01-01
      • 2020-04-14
      • 2023-03-23
      • 2018-08-05
      • 1970-01-01
      • 2017-08-05
      相关资源
      最近更新 更多