h2o
を使用して、データセットのさまざまな部分について2つのアルゴリズム(random forest
およびgbm
)の最適化グリッドを実行しようとしています。私はラインにR h2o接続(メモリ)問題
# shutdown h2o
h2o.shutdown(prompt = FALSE)
# setup h2o cluster
h2o <- h2o.init(ip = "localhost", port = 54321, nthreads = detectCores()-1)
を使用しています:私のコードは
for (...)
{
read data
# setup h2o cluster
h2o <- h2o.init(ip = "localhost", port = 54321, nthreads = detectCores()-1)
gbm.grid <- h2o.grid("gbm", grid_id = "gbm.grid", x = names(td.train.h2o)[!names(td.train.h2o)%like%segment_binary], y = segment_binary,
seed = 42, distribution = "bernoulli",
training_frame = td.train.h2o, validation_frame = td.train.hyper.h2o,
hyper_params = hyper_params, search_criteria = search_criteria)
# shutdown h2o
h2o.shutdown(prompt = FALSE)
# setup h2o cluster
h2o <- h2o.init(ip = "localhost", port = 54321, nthreads = detectCores()-1)
rf.grid <- h2o.grid("randomForest", grid_id = "rf.grid", x = names(td.train.h2o)[!names(td.train.h2o)%like%segment_binary], y = segment_binary,
seed = 42, distribution = "bernoulli",
training_frame = td.train.h2o, validation_frame = td.train.hyper.h2o,
hyper_params = hyper_params, search_criteria = search_criteria)
h2o.shutdown(prompt = FALSE)
}
のように見える問題は、私は一度にfor loop
を実行する場合、私はエラー
Error in .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = urlSuffix, :
Unexpected CURL error: Failed to connect to localhost port 54321: Connection refused
PSを得ることですをリセットして、メモリが不足しないようにしてください。
私もを読んでいますしかし、それがどのように動作するかはわかりません。 Matteuszのコメントを以下の後
UPDATE
、私for loop
外init
と私はh2o.removeAll()
を使用for loop
の内側。これが何であるかrandom forest
ためgrid optimization
に任意のアイデアをだから今私のコードは、それが動作しているようです。この
h2o <- h2o.init(ip = "localhost", port = 54321, nthreads = detectCores()-1)
for(...)
{
read data
gbm.grid <- h2o.grid("gbm", grid_id = "gbm.grid", x = names(td.train.h2o)[!names(td.train.h2o)%like%segment_binary], y = segment_binary,
seed = 42, distribution = "bernoulli",
training_frame = td.train.h2o, validation_frame = td.train.hyper.h2o,
hyper_params = hyper_params, search_criteria = search_criteria)
h2o.removeAll()
rf.grid <- h2o.grid("randomForest", grid_id = "rf.grid", x = names(td.train.h2o)[!names(td.train.h2o)%like%segment_binary], y = segment_binary,
seed = 42, distribution = "bernoulli",
training_frame = td.train.h2o, validation_frame = td.train.hyper.h2o,
hyper_params = hyper_params, search_criteria = search_criteria)
h2o.removeAll() }
のように見えますが、今、私はこのエラーを取得しますか(?)?
私は '(h2o.clusterIsUp())'のようなものの中に 'init'を置くべきですか? – quant
あなたはまず 'while(h2o.clusterIsUp())'を実行して(できればループ内に 'sleep 'を入れて)、そのループの後に' h2o.init'を実行する必要があります。しかし、すべてが無駄だと述べたので、毎回ノードを開始/停止する必要はありません。 –
update – quant