<p>doMC ํŒจํ‚ค์ง€์™€ ํ•จ๊ป˜ ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ค„?</p>

์— ๋งŒ๋“  2016๋…„ 04์›” 18์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: r-lib/progress

ํ”„๋กœ๊ทธ๋ ˆ์Šค ํŒจํ‚ค์ง€๋Š” doMC ํŒจํ‚ค์ง€์—๋„ ์ ํ•ฉํ•ฉ๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•„๋‹ˆ๋ฉด ๋ณ‘๋ ฌ ํŒจํ‚ค์ง€? ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด +1ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์•„๋‹ˆ๋ฉด ๋ณ‘๋ ฌ ํŒจํ‚ค์ง€? ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด +1ํ•ฉ๋‹ˆ๋‹ค.

์†”์งํžˆ ๋งํ•ด์„œ ์ด๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ๋ฌด์—‡์ด ํ•„์š”ํ•œ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณ‘๋ ฌ์˜ ๊ฒฝ์šฐ ์ด๋ฏธ ์ˆ˜ํ–‰๋œ ์ž‘์—…์˜ ์–‘์„ ๋‹ค์‹œ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋ณ‘๋ ฌ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ๊ฐ€๋Šฅํ• ๊นŒ์š”?

@gaborcsardi ๋‚˜๋Š” ์•ฝ๊ฐ„์˜ ๊ฒ€์ƒ‰์„ํ–ˆ๊ณ  ๋‹ค์Œ์€ ๋‚ด๊ฐ€ ์ฐพ์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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)

txtProgressBar ๋Š” stype์ด 2 ๋˜๋Š” 3์ผ ๋•Œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ๋งค๋‰ด์–ผ์— ๋”ฐ๋ฅด๋ฉด:

style = 1 ๋ฐ style = 2๋Š” char ํ•œ ์ค„๋งŒ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ€์ผ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค = 2๋Š” ๋งค๋ฒˆ ๋ผ์ธ์„ ๋‹ค์‹œ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค๋ฅธ ์ฝ”๋“œ๊ฐ€ R ์ฝ˜์†”์— ๊ธฐ๋ก๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. style = 3์€ |๋กœ ๋ฒ”์œ„์˜ ๋์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ง‰๋Œ€ ์˜ค๋ฅธ์ชฝ์— ๋ฐฑ๋ถ„์œจ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

txtProgressBar ์ž‘๋™ํ•˜๋Š” ์ด์œ ๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋™์•ˆ outfile = "" ์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์Šคํƒ€์ผ 2์— ๋Œ€ํ•ด txtProgressBar ๊ฐ€ ํ•˜๋Š” ๊ฒƒ์„ ๋ชจ๋ฐฉํ•˜๋ฉด ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰