[英]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.