簡體   English   中英

Dask-ML 的 Client() function 中參數的默認值是多少

[英]What are the default values for the parameters in Dask-ML's Client() function

我試圖了解 Dask-ML 的Client() function 參數。 假設我使用 Dask-ML 的Client() function 有以下代碼:

from dask.distributed import Client
import joblib

client = Client()

如果我沒有為Client() function中的參數指定任何值,參數的默認值是什么:

(i) n_workers

(ii) threads_per_worker

(iii) memory_limit

據我了解,Python 具有防止多線程的全局解釋器鎖 (GIL) 功能。 如果是這樣,為什么在 Python 中阻止多線程時,Dask-ML 的Client() function 有參數threads_per_worker

memory_limit是指每個工作人員/機器/節點允許的最大 memory 限制,還是指所有組合工作人員/機器/節點允許的最大 memory 限制?

我已經查看了 Dask-ML 中的文檔(請參閱此處: https://docs.dask.org/en/latest/setup/single-distributed.html ),但關於上述這些問題的文檔尚不清楚.

提前謝謝你,如果有人能解釋一下嗎?

在沒有任何 arguments 的情況下調用Client()默認會啟動LocalCluster() ,所以

client = Client()

真的是一樣的

cluster = LocalCluster()
client = Client(cluster)

因此,首先,您可以查看 LocalCluster 文檔。

參數的默認值是什么:

理想值取決於您的硬件和工作負載。 我們不預先了解您的工作量,但我們確實了解您的硬件,因此我們嘗試在此基礎上做出明智的決定。

今天,該策略是將所有邏輯核心和 memory 平均分配在您擁有的核心數量的平方根中。 因此,如果您有 12 個內核,那么我們將創建四個進程,每個進程具有三個線程。

在大多數情況下,這往往是一個不錯的默認設置,但我們鼓勵您嘗試一下,看看您的工作負載在不同情況下是否表現得更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM