Например предположим, у меня есть код:Scikit-Learn с Dask-Распространяется с использованием вложенного параллелизма?
vectorizer = CountVectorizer(input=u'filename', decode_error=u'replace')
classifier = OneVsRestClassifier(LinearSVC())
pipeline = Pipeline([
('vect', vectorizer),
('clf', classifier)])
with parallel_backend('distributed', scheduler_host=host_port):
scores = cross_val_score(pipeline, X, y, cv=10)
Если я выполняю этот код можно увидеть в DASK WebView (через Bokeh), что 10 создаются задачи (1 для каждого раза). Однако, если я выполню:
(Я знаю, что X и y следует разделить на обучение и тестирование, но это только для целей тестирования).
with parallel_backend('distributed', scheduler_host=host_port):
pipeline.fit(X,y)
Я вижу 1 задачу для каждого создаваемого класса y (20 в моем случае). Есть ли способ, чтобы cross_val_score выполнялся параллельно? И базовый OneVsRestClassifier работает параллельно? Или это оригинальный код
with parallel_backend('distributed', scheduler_host=host_port):
scores = cross_val_score(pipeline, X, y, cv=10)
запуска OneVsRestClassifier параллельно вместе с cross_val_score в параллель, и я просто не видел его? Должен ли я реализовать это вручную с распределением dask?