第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

增加n_jobs對(duì)GridSearchCV沒(méi)有影響

增加n_jobs對(duì)GridSearchCV沒(méi)有影響

眼眸繁星 2021-04-02 11:07:03
我設(shè)置了一個(gè)簡(jiǎn)單的實(shí)驗(yàn),以在運(yùn)行sklearnGridSearchCV時(shí)檢查多核CPU的重要性KNeighborsClassifier。我得到的結(jié)果令我感到驚訝,我想知道我是否誤解了多核的好處,或者我做得不好。2-8個(gè)工作之間的完成時(shí)間沒(méi)有差異。怎么來(lái)的 ?我已經(jīng)注意到“ CPU性能”選項(xiàng)卡上的差異。在第一個(gè)單元運(yùn)行時(shí),CPU使用率約為13%,而最后一個(gè)單元?jiǎng)t逐漸增加到100%。我期望它能更快完成。也許不是線(xiàn)性地更快,也就是8個(gè)工作將比4個(gè)工作快2倍,但要快一點(diǎn)。這是我的設(shè)置方式:我正在使用jupyter-notebook,單元格是指jupyter-notebook單元格。我已經(jīng)加載了MNIST,并在中使用0.05了3000數(shù)字的測(cè)試大小X_play。from sklearn.datasets import fetch_mldatafrom sklearn.model_selection import train_test_splitmnist = fetch_mldata('MNIST original')X, y = mnist["data"], mnist['target']X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]_, X_play, _, y_play = train_test_split(X_train, y_train, test_size=0.05, random_state=42, stratify=y_train, shuffle=True)在下一個(gè)單元格中,我將進(jìn)行設(shè)置KNN并設(shè)置一個(gè)GridSearchCVfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn.model_selection import GridSearchCVknn_clf = KNeighborsClassifier()param_grid = [{'weights': ["uniform", "distance"], 'n_neighbors': [3, 4, 5]}]然后,我為8個(gè)n_jobs值完成了8個(gè)單元格。我的CPU是具有4核8線(xiàn)程的i7-4770。grid_search = GridSearchCV(knn_clf, param_grid, cv=3, verbose=3, n_jobs=N_JOB_1_TO_8)grid_search.fit(X_play, y_play)結(jié)果Parallel(n_jobs=1)]: Done  18 out of  18 | elapsed:  2.0min finishedParallel(n_jobs=2)]: Done  18 out of  18 | elapsed:  1.4min finishedParallel(n_jobs=3)]: Done  18 out of  18 | elapsed:  1.3min finishedParallel(n_jobs=4)]: Done  18 out of  18 | elapsed:  1.3min finishedParallel(n_jobs=5)]: Done  18 out of  18 | elapsed:  1.4min finishedParallel(n_jobs=6)]: Done  18 out of  18 | elapsed:  1.4min finishedParallel(n_jobs=7)]: Done  18 out of  18 | elapsed:  1.4min finishedParallel(n_jobs=8)]: Done  18 out of  18 | elapsed:  1.4min finished第二次測(cè)試隨機(jī)森林分類(lèi)器的使用要好得多。測(cè)試大小為0.5,30000圖片。from sklearn.ensemble import RandomForestClassifierrf_clf = RandomForestClassifier()param_grid = [{'n_estimators': [20, 30, 40, 50, 60], 'max_features': [100, 200, 300, 400, 500], 'criterion': ['gini', 'entropy']}]
查看完整描述

1 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

以下是一些可能導(dǎo)致此行為的原因

  • 隨著數(shù)量的增加 線(xiàn)程數(shù),初始化和釋放每個(gè)線(xiàn)程會(huì)產(chǎn)生明顯的開(kāi)銷(xiāo)。我在i7 7700HQ上運(yùn)行了您的代碼,每次增加時(shí),我都會(huì)看到以下行為n_job

    • 當(dāng)n_job=1n_job=2每個(gè)線(xiàn)程的時(shí)間(時(shí)間由每模型GridSearchCV評(píng)價(jià)充分訓(xùn)練模型和測(cè)試)為2.9s(總時(shí)間約2分鐘)

    • 時(shí)n_job=3,時(shí)間為3.4s(總時(shí)間1.4分鐘)

    • 時(shí)n_job=4,時(shí)間為3.8S(總時(shí)間58秒)

    • 當(dāng)n_job=5,時(shí)間為4.2s(總時(shí)間51秒)

    • 當(dāng)n_job=6,時(shí)間為4.2秒(總時(shí)間約為49秒)

    • 當(dāng)n_job=7,時(shí)間為4.2秒(總時(shí)間約為49秒)

    • 當(dāng)n_job=8,時(shí)間為4.2秒(總時(shí)間約為49秒)

  • 現(xiàn)在您可以看到,每個(gè)線(xiàn)程的時(shí)間增加了,但總體時(shí)間似乎有所減少(盡管超過(guò)了n_job=4 the different was not exactly linear) and remained constained withn_jobs> = 6`,這是由于初始化和釋放線(xiàn)程會(huì)產(chǎn)生成本)。請(qǐng)參見(jiàn)github問(wèn)題和本期。

  • 此外,可能還有其他瓶頸,例如數(shù)據(jù)量太大,無(wú)法同時(shí)廣播到所有線(xiàn)程,線(xiàn)程在RAM上搶占(或其他資源等),如何將數(shù)據(jù)推入每個(gè)線(xiàn)程等。

  • 我建議您閱讀有關(guān)Ahmdal定律的信息,該定律指出通過(guò)并行化可以實(shí)現(xiàn)加速的理論界限,該界限由以下公式提供: 

  • http://img1.sycdn.imooc.com//6075609300016f2d07870161.jpg

  • Image Source:Ahmdal定律:Wikipedia

  • 最后,這可能是由于數(shù)據(jù)大小以及用于訓(xùn)練的模型的復(fù)雜性所致。

這是一篇博客文章,解釋了有關(guān)多線(xiàn)程的相同問(wèn)題。


查看完整回答
反對(duì) 回復(fù) 2021-04-13
  • 1 回答
  • 0 關(guān)注
  • 455 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)