是否有一种简便的方法可以在Julia中获得map / pmap的“状态”?

如果我有一个数组a = [1:10],我想:

1:枚举数组并使用if-conditional添加打印命令

((index,value) -> 5*value ......, enumerate(a)


以及“ .......”所在的位置,将有一种方法可以将匿名函数“链接”到类似

"5*value and then print index/length(a) if index%200 == 0"


2:知道是否已经存在用于此目的的选项,因为pmap用于并行任务,通常用于大型进程,因此它已经存在吗?

另外,是否有一种方法可以使匿名函数一个接一个地做两件“分开的”事情?



如果我有

a = [1:1000]
function f(n) #something that takes a huge ammount of time
end


然后我执行

map(x -> f(x), a)


REPL将打印状态

"0.1 completed"
.
.
.
"0.9 completed"




Chris Rackauckas answer

有点奇怪,默认情况下ProgressMeter软件包不包含此文件

Pkg.add("ProgressMeter")
Pkg.clone("https://github.com/slundberg/PmapProgressMeter.jl")
@everywhere using ProgressMeter
@everywhere using PmapProgressmeter
pmap(x->begin sleep(1); x end, Progress(10), 1:10)


PmapProgressMeter在github上

最佳答案

ProgressMeter.jl有一个pmap分支。

您也可以使Juno进度栏在pmap中起作用。这种方式使用的是未记录的东西,因此您应该在Gitter中询问是否需要更多信息,因为发布此公开信息只会使人们感到困惑,如果它/何时更改。

10-06 02:13