在 pmap() Julia 中设置 batch_size
setting batch_size in pmap() Julia
在 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 参数的正确方法?
批量大小是为了拆分您正在映射的列表,这意味着如果您有一个列表 1:100 并且您选择批量大小 10,每次工作进程 "goes a round"它采用 fx [1,2,3,4,5,6,7,8,9,10] 而不是 1 或 2 的 map 函数,如果您要映射的函数很简单,这是首选,所以它使调度器(进程 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)
在 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 参数的正确方法?
批量大小是为了拆分您正在映射的列表,这意味着如果您有一个列表 1:100 并且您选择批量大小 10,每次工作进程 "goes a round"它采用 fx [1,2,3,4,5,6,7,8,9,10] 而不是 1 或 2 的 map 函数,如果您要映射的函数很简单,这是首选,所以它使调度器(进程 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)