Le package de progression convient-il également au package doMC ?
Ou le package parallèle ? Sinon, +1 pour cette fonctionnalité.
Je ne sais pas ce qu'il faudrait pour mettre cela en œuvre, pour être honnête. Par exemple, pour le parallèle, il faudrait un parallèle pour communiquer en retour la quantité de travail déjà effectuée. Est-ce que c'est possible?
@gaborcsardi J'ai fait quelques recherches et voici ce que j'ai trouvé :
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)
Le txtProgressBar
ne fonctionne que lorsque le stype est 2 ou 3. Selon le manuel de la fonction :
style = 1 et style = 2 montre juste une ligne de char. Ils diffèrent par ce style = 2 redessine la ligne à chaque fois, ce qui est utile si un autre code est en train d'écrire sur la console R. style = 3 marque la fin de la plage par | et donne un pourcentage à droite de la barre.
Je pense que la raison txtProgressBar
laquelle outfile = ""
existe lors de la création du cluster.
Je pense qu'imiter ce que fait txtProgressBar
pour le style 2 résoudrait ce problème.
Commentaire le plus utile
Ou le package parallèle ? Sinon, +1 pour cette fonctionnalité.