亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

R語言并行運算(snow包)

2019-11-10 18:01:10
字體:
來源:轉載
供稿:網友

snow包

snow包主要運行于傳統的集群計算。它主要用于蒙特卡洛模擬(Monte Carlo simulations),boostrapping,交叉驗證(cross validation),集成機器學習算法(ensemble machine learning algorithms)和K均值聚類(K-Means clustering)等,并且也很好支持并行隨機數的生成。 snow包的安裝一般應用install.packages('snow'). 要使用snow包進行并行運算,首先要創建一個集群對象,主要用于與內核的交互,一般傳遞與snow包中函數的第一個參數。 基本的集群創建函數為makeCluster(),它能創建任何類型的集群,例如,在本地機器上創建一個4核的集群:

cl <- makeCluster(4, type="SOCK")

第一個參數為集群設定,即設定使用的CPU數;第二個參數是集群類型。 注意:在結束集群時使用stopCluster()。 下面使用snow包做一個并行運算。

并行運算K均值聚類

數據是MASS包自帶的Boston數據集。 K均值函數使用stats包中的kmeans()。

library(MASS)result <- kmeans(Boston, 4, nstart = 100)

在使用并行計算前,首先看看使用lapply函數的運行情況

results <- lapply(rep(25,4), function(nstart) kmeans(Boston, 4, nstart = nstart)i <- sapply(results, function(result) result$tot.withiness)result <- results[[which.min(i)]]

使用clusterApply并行計算

library(snow)cl <- makeCluster(4, type="SOCK")ignore <- clusterEvalQ(cl, {library(MASS); NULL}) #用clusterEvalQ函數初始化內核,在每一個內核中載入包results <- clusterApply(cl, rep(25, 4), function(nstart) kmeans(Boston, 4, nstart=nstart)) #parallel computingi <- sapply(results, function(result) result$tot.withinss)result <- results[[which.min(i)]]

相比較clusterEvalQ而言,clusterCall更好用,它的第一個參數為集群對象,第二個參數為一個函數,并且其他的參數可以傳遞給這個函數。最終返回一個列表。

clusterCall(cl, function() { library(MASS); NULL })

clusterCall函數可以調用多個包,

worker.init <- function(packages) {for (p in packages) {library(p, character.only=TRUE)}NULL}clusterCall(cl, worker.init, c('MASS', 'boot'))

character.only=TRUE是使library把參數解釋為字符向量,否則library會重復載入名稱為p的包。

使用clusterApplyLB并行運算

clusterApplyLBclusterApply函數相似,但clusterApplyLB的運行效率更高。在使用clusterApply并行運算時,如果每一個內核花費不同的時間進行運算,那么在那個運行時間長的內核結束之前,運行時間短的內核不能進行下一次運算,而clusterApplyLB不同,它是在運行時間短的內核結束之后接著就運行下一次的運算,這樣就減少了時間的浪費,因此提高了效率。 為了說明clusterApplyLB的效率,我們使用控制任務時間長度的函數Sys.sleep。用snow.time收集整個執行過程的時間信息。

set.seed(7777442)sleeptime <- abs(rnorm(10, 10, 10))tm <- snow.time(clusterApplyLB(cl, sleeptime, Sys.sleep))plot(tm)

clusterApplyLB 作為對照,我們用clusterApply函數來觀察運行時間

tm1 <- snow.time(clusterApply(cl, sleeptime, Sys.sleep))plot(tm1)

clusterApply 由此看出clusterApplyLB效率更高。

使用parLapply并行運算

parLapply是snow包中的一個高級函數,它比clusterApply函數更高效,如果參數x的長度與內核的數量相等,parLapply的優勢不明顯,如果參數x的長度遠大于內核的數量,parLapply相比于clusterApply是一個更好的選擇。 應用一個并行休眠函數的用法,首先使用clusterApply

bigsleep <- function(sleeptime, mat) Sys.sleep(sleeptime)bigmatrix <- matrix(0, 2000, 2000)sleeptime <- rep(1, 100)tm2 <- snow.time(clusterApply(cl, sleeptime, bigsleep, bigmatrix))plot(tm2)

clusterApply 由圖看出并不高效,因為有大量的輸入輸出時間,下面再試一試clusterApplyLB

tm3 <- snow.time(clusterApplyLB(cl, sleeptime, bigsleep, bigmatrix))plot(tm3)

clusterApplyLB 由上圖看出,運算集中在第1、2和3個內核上,第4個內核上運算的時間非常少,及運算效率差,但總體還是比clusterApply函數要好一些。 看看最終的函數parLapply

tm4 <- snow.time(parLapply(cl, sleeptime, bigsleep, bigmatrix))plot(tm4)

parLapply 由此看出,傳輸交換的時間大大縮短了,因此提高了效率。

參考文獻 1. Luke Tierney, A. J. Rossini, Na Li, H. Sevcikova, package snow. 2. Q. Ethan McCallum and Stephen Weston, Parallel R.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综合伊人色综合网站| 这里只有精品久久| 久久久影视精品| 国产噜噜噜噜久久久久久久久| 国产拍精品一二三| 91欧美精品午夜性色福利在线| 97免费中文视频在线观看| 亚洲免费一在线| 一区二区三区国产视频| 亚洲国产精品久久| 亚洲精品成人久久| 欧美劲爆第一页| 中文字幕精品久久| 日韩在线视频免费观看| 亚洲一区二区三区久久| 国产精品久久久久久中文字| 不卡毛片在线看| 亚洲精品国产精品久久清纯直播| 日韩在线国产精品| 日韩在线中文字| 高清日韩电视剧大全免费播放在线观看| 久久精品国产亚洲一区二区| 亚洲国产美女久久久久| 法国裸体一区二区| 精品国偷自产在线视频| 国产精品久久久久久久久久久新郎| 日日狠狠久久偷偷四色综合免费| 日韩中文字幕在线看| 欧美国产日韩免费| 欧美大片网站在线观看| 最好看的2019的中文字幕视频| 韩国国内大量揄拍精品视频| 日韩在线观看电影| 亚洲另类欧美自拍| 精品中文字幕视频| 久久夜精品va视频免费观看| 亚洲欧美精品伊人久久| 亚洲一区二区三区香蕉| 成人免费视频a| 国产视频精品xxxx| 俺去了亚洲欧美日韩| 欧美日韩在线免费观看| 精品一区二区三区三区| 国产精品嫩草影院一区二区| 丰满岳妇乱一区二区三区| 91免费国产视频| 日韩中文字幕在线视频播放| 日韩电影在线观看永久视频免费网站| 国产丝袜精品视频| 亚洲91精品在线观看| 欧美老少配视频| 日韩电影免费在线观看| 亚洲码在线观看| 亚洲成人国产精品| 日韩精品中文字| 欧美成人免费全部观看天天性色| 日韩视频在线免费| 国产一区视频在线| 欧美成人免费观看| 7m第一福利500精品视频| 欧美日韩国内自拍| 性欧美视频videos6一9| 4388成人网| 亚洲精品国偷自产在线99热| 2023亚洲男人天堂| 色悠久久久久综合先锋影音下载| 日韩视频一区在线| 清纯唯美日韩制服另类| 日韩风俗一区 二区| 亚洲www永久成人夜色| 久青草国产97香蕉在线视频| 色综合天天综合网国产成人网| 国产精品一香蕉国产线看观看| 国内免费精品永久在线视频| 久久久精品一区二区三区| 久久99国产精品久久久久久久久| 免费91麻豆精品国产自产在线观看| 国产日韩欧美成人| 国产99久久精品一区二区 夜夜躁日日躁| 国产国产精品人在线视| 国产国产精品人在线视| 欧美性感美女h网站在线观看免费| 亚洲欧美国产精品va在线观看| 成人黄色激情网| 色中色综合影院手机版在线观看| 欧美日韩中文在线| 午夜精品久久久久久久99黑人| 奇米一区二区三区四区久久| 亚洲一区二区三区在线免费观看| 色狠狠久久aa北条麻妃| 欧美午夜影院在线视频| 欧美在线观看一区二区三区| 久久亚洲国产成人| 91社影院在线观看| 精品偷拍各种wc美女嘘嘘| 亚洲国产福利在线| 亚洲国产精品成人精品| 国产精品美女呻吟| 欧美野外猛男的大粗鳮| 狠狠躁夜夜躁久久躁别揉| 久久99国产精品自在自在app| 久久久国产成人精品| 欧美成aaa人片免费看| 欧美激情精品久久久久久免费印度| 国产啪精品视频| 91香蕉电影院| 精品亚洲男同gayvideo网站| 美女少妇精品视频| 欧美一级淫片videoshd| 91精品久久久久久久| 欧美性极品少妇精品网站| 亚洲电影成人av99爱色| 日韩亚洲欧美中文高清在线| 亚洲欧美精品一区二区| 午夜精品99久久免费| www.欧美视频| 亚洲成人黄色网址| 国产欧美日韩丝袜精品一区| 国产国语videosex另类| 亚洲国产91色在线| 欧美老女人性视频| 456亚洲影院| 69久久夜色精品国产69| 中文字幕日本精品| 精品在线观看国产| 日韩av电影手机在线观看| 亚洲欧美综合区自拍另类| 成人黄色av免费在线观看| 亚洲欧美日韩图片| 亚洲第一精品夜夜躁人人躁| 亚洲精品第一国产综合精品| 日韩精品在线免费观看视频| 国产精品久久久久久久7电影| 色偷偷888欧美精品久久久| 久久久av亚洲男天堂| 日韩av高清不卡| 国产精品久久婷婷六月丁香| 精品人伦一区二区三区蜜桃免费| 国产精品免费小视频| 国产精品极品美女粉嫩高清在线| 欧美视频专区一二在线观看| 欧美亚洲视频一区二区| 日本精品久久久久久久| 国产精品色悠悠| 日韩欧美在线免费观看| 亚洲视频在线免费看| 国产成人精品在线视频| 久久久久久久久久久av| 国产日本欧美一区二区三区在线| 久久国产精品免费视频| 日韩欧美一区视频| 国产精品成人一区| 91在线播放国产| 国产精品久久99久久| 中文字幕亚洲国产| 国产精品中文字幕在线观看| 美女撒尿一区二区三区| 欧美在线观看一区二区三区| 91av在线视频观看| 欧美高清在线播放| 亚洲第一中文字幕在线观看| 精品一区电影国产| 在线观看国产精品日韩av| 欧美国产日韩二区|