Ist das Progress-Paket auch für das doMC-Paket geeignet?
Oder das Parallelpaket? Wenn nicht, +1 für diese Funktion.
Ich bin mir ehrlich gesagt nicht sicher, was es braucht, um dies zu implementieren. ZB für parallel müsste man parallel zurückmelden, wie viel Arbeit schon erledigt ist. Ist das überhaupt möglich?
@gaborcsardi Ich habe etwas gesucht und Folgendes gefunden:
library("foreach")
library("doParallel")
library("progress")
registerDoParallel(parallel::makeCluster(7, outfile = ""))
pb <- progress_bar$new(
format = " [:bar] :percent in :elapsed",
total = 30, clear = FALSE, width = 80, force = T)
a <- foreach (i = 1:30) %dopar% {
pb$tick()
Sys.sleep(0.5)
}
pb <- txtProgressBar(title = "Iterative training", min = 0, max = 30, style = 3)
foreach (i = 1:30) %dopar% {
setTxtProgressBar(pb, i)
Sys.sleep(0.5)
}
stopCluster(cl)
Das txtProgressBar
funktioniert nur, wenn der stype 2 oder 3 ist. Laut Handbuch der Funktion:
style = 1 und style = 2 zeigt nur eine Zeile mit char an. Sie unterscheiden sich darin, dass style = 2 die Zeile jedes Mal neu zeichnet, was nützlich ist, wenn möglicherweise anderer Code in die R-Konsole schreibt. style = 3 markiert das Ende des Bereichs mit | und gibt einen Prozentsatz rechts vom Balken an.
Ich denke, der Grund, warum txtProgressBar
funktioniert, ist, dass outfile = ""
beim Erstellen des Clusters vorhanden ist.
Ich denke, das nachzuahmen, was txtProgressBar
für Stil 2 macht, würde dies lösen.
Hilfreichster Kommentar
Oder das Parallelpaket? Wenn nicht, +1 für diese Funktion.