[scikit-learn] Need Urgent help please in resolving JobLibMemoryError
Debabrata Ghosh
mailfordebu at gmail.com
Fri Dec 9 04:56:53 EST 2016
Hi Piotr,
Yes, I did use n_jobs = - 1 as well. But the code
didn't run successfully. On my output screen , I got the following message
instead of the JobLibMemoryError:
16/12/08 22:12:26 INFO YarnExtensionServices: In shutdown hook for
org.apache.spark.scheduler.cluster.YarnExtensionServices$$anon$1 at 176b071d
16/12/08 22:12:26 INFO YarnHistoryService: Shutting down: pushing out 0
events
16/12/08 22:12:26 INFO YarnHistoryService: Event handler thread stopping
the service
16/12/08 22:12:26 INFO YarnHistoryService: Stopping dequeue service, final
queue size is 0
16/12/08 22:12:26 INFO YarnHistoryService: Stopped: Service History Service
in state History Service: STOPPED endpoint=
<https://w3-01.ibm.com/tools/forms/ica/icaroute.nsf/bysrcall/ica201612786?OpenDocument>
http://servername.com:8188/ws/v1/timeline/
<http://toplxhdmp001.rails.rwy.bnsf.com:8188/ws/v1/timeline/>; bonded to
ATS=false; listening=true; batchSize=3; flush count=17; current queue
size=0; total number queued=52, processed=50; post failures=0;
16/12/08 22:12:26 INFO SparkContext: Invoking stop() from shutdown hook
16/12/08 22:12:26 INFO YarnHistoryService: History service stopped;
ignoring queued event : [1481256746854]: SparkListenerApplicationEnd(
1481256746854)
Just to get you a background I am executing the
scikit-learn Random Classifier using pyspark command. I am not getting what
has gone wrong while using n_jobs = -1 and suddenly the program is shutting
down certain services. Please can you suggest a remedy as I have been given
the task to run this via pyspark itself.
Thanks in advance !
Cheers,
Debu
On Fri, Dec 9, 2016 at 2:48 PM, Piotr Bialecki <piotr.bialecki at hotmail.de>
wrote:
> Hi Debu,
>
> it seems that you run out of memory.
> Try using fewer processes.
> I don't think that n_jobs = 1000 will perform as you wish.
>
> Setting n_jobs to -1 uses the number of cores in your system.
>
>
> Greets,
> Piotr
>
>
> On 09.12.2016 08:16, Debabrata Ghosh wrote:
>
> Hi All,
>
> Greetings !
>
>
>
> I am getting JoblibMemoryError while executing a scikit-learn
> RandomForestClassifier code. Here is my algorithm in short:
>
>
>
> from sklearn.ensemble import RandomForestClassifier
>
> from sklearn.cross_validation import train_test_split
>
> import pandas as pd
>
> import numpy as np
>
> clf = RandomForestClassifier(n_estimators=5000, n_jobs=1000)
>
> clf.fit(p_input_features_train,p_input_labels_train)
>
>
> The dataframe p_input_features contain 134 columns (features) and 5
> million rows (observations). The exact *error message* is given below:
>
>
> Executing Random Forest Classifier
> Traceback (most recent call last):
> File "/home/user/rf_fold.py", line 43, in <module>
> clf.fit(p_features_train,p_labels_train)
> File "/var/opt/ lib/python2.7/site-packages/sklearn/ensemble/forest.py",
> line 290, in fit
> for i, t in enumerate(trees))
> File "/var/opt/lib/python2.7/site-packages/sklearn/externals/joblib/parallel.py",
> line 810, in __call__
> self.retrieve()
> File "/var/opt/lib /python2.7/site-packages/sklearn/externals/joblib/parallel.py",
> line 757, in retrieve
> raise exception
> sklearn.externals.joblib.my_exceptions.JoblibMemoryError:
> JoblibMemoryError
> ____________________________________________________________
> _______________
> Multiprocessing exception:
> ............................................................
> ...............
>
> /var/opt/lib/python2.7/site-packages/sklearn/ensemble/forest.py in
> fit(self=RandomForestClassifier(bootstrap=True, class_wei...te=None,
> verbose=0,
> warm_start=False), X=array([[ 0. , 0. ,
> 0. , .... 0. , 0. ]], dtype=float32),
> y=array([[ 0.],
> [ 0.],
> [ 0.],
> ...,
> [ 0.],
> [ 0.],
> [ 0.]]), sample_weight=None)
> 285 trees = Parallel(n_jobs=self.n_jobs,
> verbose=self.verbose,
> 286 backend="threading")(
> 287 delayed(_parallel_build_trees)(
> 288 t, self, X, y, sample_weight, i, len(trees),
> 289 verbose=self.verbose, class_weight=self.class_
> weight)
> --> 290 for i, t in enumerate(trees))
> i = 4999
> 291
> 292 # Collect newly grown trees
> 293 self.estimators_.extend(trees)
> 294
>
> ............................................................
> ...............
>
>
>
> Please can you help me to identify a possible resolution to this.
>
>
> Thanks,
>
> Debu
>
>
> _______________________________________________
> scikit-learn mailing listscikit-learn at python.orghttps://mail.python.org/mailman/listinfo/scikit-learn
>
>
>
> _______________________________________________
> scikit-learn mailing list
> scikit-learn at python.org
> https://mail.python.org/mailman/listinfo/scikit-learn
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-learn/attachments/20161209/29cbf46f/attachment.html>
More information about the scikit-learn
mailing list