0
例如,假設我的代碼:Scikit學習與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網頁視圖看見(通過散景),該10個任務創建(1對於每個倍)。但是,如果我執行:
(我知道X和Y應該分成訓練和測試,但這只是爲了測試目的)。
with parallel_backend('distributed', scheduler_host=host_port):
pipeline.fit(X,y)
我可以看到每創建一個y類1個任務(在我的情況下爲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-distributed手動實現嗎?