我正在迭代地運行交叉驗證深度學習訓練(nfolds = 4),以通過R在H2O上進行特徵選擇。目前,我只有2層(即不深)以及每層有8到50個神經元。只有323個輸入和12個輸出類。H2O是否應該如此緩慢?
在我的英特爾4770K(32 GB RAM)上訓練一個模型平均需要大約40秒。在培訓期間,H2o能夠最大化所有cpu內核。
現在,爲了加快培訓速度,我在亞馬遜雲中建立了一個EC2實例。我嘗試過最大的計算單元(c4.8xlarge),但加速很小。用相同的設置訓練一個模型需要大約24秒。因此,我懷疑有些事情我忽略了。 我開始這樣的訓練:
localH2O <- h2o.init(ip = 'localhost', port = 54321, max_mem_size = '24G', nthreads=-1)
只是爲了比較的處理器,在4770K得到了10163的CPU基準,而英特爾至強E5-2666 V3拿到24804(vCPU的是36)。
這個加速是非常令人失望的,至少可以說,並不值得在亞馬遜雲中安裝和設置所有東西,同時支付超過2美元/小時的額外工作。
除了設置nthreads = -1之外,是否還有其他需要完成的工作來使所有內核工作?
我是否需要開始製作多個集羣以縮短培訓時間,還是應該從一個支持GPU的新型深度學習庫開始?
Downvoters,請解釋你爲什麼downvote。 – user979899
這裏沒有足夠的元素可以回答。問題太廣泛了。 – YCR
我的博客[post](http://www.parallelr.com/r-dnn-parallel-acceleration/)用於DNN的並行加速,與H2O相比。 – Patric