n_jobs=-1的GridSearchCV内核重新启动



我正在Azure机器中运行Jupyter笔记本,具有以下设置:

  • 操作系统:Ubuntu 18.04.5 LTS
  • 内存:64Gb
  • 芯数:16
  • 蟒蛇环境
  • 体系结构:x86_64
  • CPU操作模式:32位、64位
  • 字节顺序:Little Endian
  • CPU:16
  • 联机CPU列表:0-15
  • 每个芯线的螺纹数:2
  • 每个插座的芯数:8
  • 插座:1
  • NUMA节点:2
  • 供应商ID:AuthenticAMD
  • CPU系列:23
  • 型号:49
  • 型号名称:AMD EPYC 7452 32核处理器
  • 步进:0
  • CPU兆赫:2345.605
  • BogoMIPS:4691.21
  • 虚拟机监控程序供应商:Microsoft
  • 虚拟化类型:完整
  • L1d缓存:32K
  • L1i缓存:32K
  • 二级缓存:512K
  • 三级缓存:16384K
  • NUMA node0 CPU:0-7
  • NUMA节点1 CPU:8-15

我正试图启动这样的GridSearchCV:

# DecissionTreeClassifier
arbol = DTC()
grid_arbol = {"max_depth":list(range(5,15)),
"class_weight":["balanced"]}
gs_arbol = GridSearchCV(arbol,
grid_arbol,
cv=2,
scoring=scoring,
verbose=4,
n_jobs=-1) # -1 should use all cores (16)
grid_search.fit(X_training, y_training)

一旦我启动了这段代码,内核就会重新启动。我必须更改n_jobs=8(占总内核的一半(才能正确启动此GridSearchCV。

问题是,我想使用所有的CPU核心(和所有的运行内存(,但我找不到从Ubuntu使用它们的线索。

是否有任何OS/Jupyter/Python/Anaconda选项可以与所有n_jobs一起启动?

提前感谢

我在为安装LassoCV时遇到的问题寻找解决方案时遇到了这个问题。每当我指定n_jobs=-1时,就会出现内核崩溃。我在2018年6核i7 MacBook Pro上使用带有Jupyter扩展的VS代码。当我使用n_jobs=5或更少时,一切都很酷。

我发现这个资源似乎可以解释这个问题。

为什么我有时会在n_jobs>1在OSX或Linux下?

最新更新