2015-06-17 23 views
6

Próbuję losowy model klasyfikacji lasu za pomocą biblioteki H2O wewnątrz R na zestaw szkoleniowy mający 70 milionów wierszy i 25 funkcji numerycznych. Całkowity rozmiar pliku wynosi 5,6 GB.Dlaczego połączenie kończy się

Rozmiar pliku sprawdzania to 1 GB.

Mam 16 GB pamięci RAM i 8 rdzeni procesorów w moim systemie.

System pomyślnie odczytał oba pliki w obiekcie H2O.

Potem daję poniżej komendy do budowy modelu:

model <- h2o.randomForest(x = c(1:18,20:25), y = 19, training_frame = traindata, 
          validation_frame = testdata, ntrees = 150, mtries = 6) 

Ale po kilku minutach (bez generowania żadnego drzewa), otrzymuję następujący błąd:

"Error in .h2o.doSafeREST(conn = conn, h2oRestApiVersion = h2oRestApiVersion, : Unexpected CURL error: Recv failure: Connection reset by peer"

Jeśli jednak Próbowałem powyżej kodu z 1 drzewem, jego działanie zakończyło się pomyślnie.

Czy powyższy błąd występuje z powodu problemu z pamięcią? Każda pomoc zostanie doceniona.

Odpowiedz

3

Prawdopodobnie brak Ci pamięci. Spróbuj spojrzeć na wykorzystanie pamięci systemu podczas uprawy lasu. Spróbuj również uruchomić trening bezpośrednio z konsoli internetowej H2O (domyślnie http://localhost:54321/), może to spowodować bardziej szczegółowy błąd.

+0

Mam sprawdzić zużycie pamięci podczas uprawy lasu. Pamięć szybko spada i na końcu dostaję błąd połączenia. zabiję inny proces i uruchomię tylko algo RF. – rks

+0

Daj nam znać, jeśli to pomogło. Alternatywnie możesz spróbować mniej wymagającego zasobu podejścia ML, takiego jak głębokie sieci neuronowe, które istnieją również w podstawowej wersji H2O. – cyberj0g

+1

To był mój błąd. Wcześniej korzystałem z instancji H2O z domyślną opcją pamięci (To było zbyt mało dla moich danych). Teraz uruchamiam instancję H2O z opcją -Xmx14g i algo działa poprawnie. Twoje zdrowie...:). Rozważę twoją sugestię głębokiego uczenia się, jeśli dostanę dokładność mniejszą niż próg w moim przypadku. – rks

2

To jest OutOfMemoryError. Odmianą tego komunikatu o błędzie po stronie R jest:

Error in .h2o.doSafeREST(conn = conn, h2oRestApiVersion = h2oRestApiVersion, : 
    Unexpected CURL error: Empty reply from server 

Sprawdzanie logów serwera H2O, którą należy zrobić jak dobrze, powie ci:

10-08 20:11:57.165 192.168.0.4:54321  2125 #58072-18 INFO: Total file size: 1.81 GB 
10-08 20:11:57.165 192.168.0.4:54321  2125 #58072-18 INFO: Parse chunk size 4194304 
     onExCompletion for [email protected] 
     java.lang.OutOfMemoryError: Java heap space 
: 
: 
Exception in thread "FJ-0-11" java.lang.OutOfMemoryError: Java heap space 
2015-10-08 20:13:14.493:WARN:oejut.QueuedThreadPool:1 threads could not be stopped 
10-08 20:13:23.033 192.168.0.4:54321  2125 FJ-0-5 ERRR: Out of Memory, Heap Space exceeded, increase Heap Size, from /192.168.0.4:54321 
10-08 20:13:23.458 192.168.0.4:54321  2125 FJ-0-3 ERRR: Out of Memory, Heap Space exceeded, increase Heap Size, from /192.168.0.4:54321 
10-08 20:13:23.033 192.168.0.4:54321  2125 FJ-0-13 ERRR: Out of Memory, Heap Space exceeded, increase Heap Size, from /192.168.0.4:54321 
10-08 20:13:23.033 192.168.0.4:54321  2125 FJ-0-7 ERRR: Out of Memory, Heap Space exceeded, increase Heap Size, from /192.168.0.4:54321 
10-08 20:13:26.541 192.168.0.4:54321  2125 FJ-0-5 FATAL: Exiting. 
10-08 20:13:26.574 192.168.0.4:54321  2125 FJ-0-7 FATAL: Exiting. 
10-08 20:13:26.575 192.168.0.4:54321  2125 FJ-0-3 FATAL: Exiting. 
10-08 20:13:26.575 192.168.0.4:54321  2125 FJ-0-13 FATAL: Exiting. 

Używam tego na h2o Slater (3.2.0.5), więc w zależności od wersji może się to różnić.