Я работаю над большим набором данных и пытаюсь найти гиперпараметры моей модели благодаря GridSearchCV из dask_ml, как представлено в учебнике dask_ml .
, вот мой python code:
import pandas as pd
from sklearn.model_selection import GroupKFold
from dask_ml.model_selection import GridSearchCV
from dask.distributed import Client, progress
from dask_jobqueue import PBSCluster
from sklearn.externals import joblib
df_features = pd.read_sql_query(...)
df_labels = pd.read_sql_query(...)
df_groups = pd.read_sql_query(...)
splitter = list(GroupKFold(n_splits=cv_folds).split(features_values,
labels_values,
groups))
clf = RandomForestClassifier()
clf = GridSearchCV(clf,
cv_parameters,
cv=splitter,
return_train_score=True)
cluster = PBSCluster(cores=12,
memory="60GB")
cluster.adapt(minimum_jobs=5, maximum_jobs=10)
client = Client(cluster)
with joblib.parallel_backend('dask'):
clf.fit(features_values, labels_values)
, а затем dask попросил меня использовать client.scatter для развертывания данных на рабочих следующим образом:
(_CVIterableWrapper(cv=[(array([ 3, 4, .. ... e, False, True)
Consider scattering large objects ahead of time
with client.scatter to reduce scheduler burden and
keep data on workers
future = client.submit(func, big_data) # bad
big_future = client.scatter(big_data) # good
future = client.submit(func, big_future) # good
% (format_bytes(len(b)), s)
Но если я использую серверную часть, как в учебнике ( с разбросом):
with joblib.parallel_backend('dask', scatter=[features_values, labels_values]):
clf.fit(features_values, labels_values)
тогда не может быть найдено ни одного работника:
distributed.core - ERROR - No workers found
Traceback (most recent call last):
File "/.../lib/python3.6/site-packages/distributed/core.py", line 412, in handle_comm
result = await result
File "/.../lib/python3.6/site-packages/distributed/scheduler.py", line 2703, in scatter
raise gen.TimeoutError("No workers found")
tornado.util.TimeoutError: No workers found
Любые предложения приветствуются.
Примечание : Если Я использую меньший набор данных, все работает.