Dask-ML 的 Client() 函数中参数的默认值是什么

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

我正在尝试了解 Dask-ML 的 Client() 函数参数。假设我有以下使用 Dask-ML 的 Client() 函数的代码:

from dask.distributed import Client
import joblib

client = Client()

如果我没有为 Client() 函数中的参数指定任何值,那么参数的默认值是什么:

(i) n_workers

(ii) threads_per_worker

(iii) memory_limit

据我了解,Python 具有防止多线程的全局解释器锁 (GIL) 功能。如果是这样,为什么在 Python 中阻止多线程时,Dask-ML 的 Client() 函数具有参数 threads_per_worker

memory_limit是指eachworker/machine/node允许的最大内存限制还是指允许的最大内存限制]全部合并 worker/machine/node?

我已经查看了 Dask-ML 中的文档(请参阅此处:https://docs.dask.org/en/latest/setup/single-distributed.html),但是对于上述这些问题,文档并不清楚。

如果有人能解释一下,先谢谢你了?

不带任何参数调用 Client() 默认情况下会启动 LocalCluster(),因此

client = Client()

真的和

一样
cluster = LocalCluster()
client = Client(cluster)

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

what are the default values for the parameters:

理想 值取决于您的硬件和工作负载。我们事先不知道您的工作负载,但我们确实了解您的硬件,因此我们会尝试基于此做出明智的决定。

今天的政策是将所有逻辑内核和内存平均分配给您拥有的内核数的平方根。因此,如果您有 12 个内核,那么我们将创建四个进程,每个进程具有三个线程。

在大多数情况下,这往往是一个不错的默认设置,但我们鼓励您尝试一下,看看您的工作负载在不同情况下是否表现更好。