我正在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下?