[英]CPU usage/speed in Jupyter Notebooks for machine learning tasks
我刚刚构建了一个全新的强大的台式电脑,以加快我的 scikit 学习计算(此处的规格)。
我在 Jupyter Notebook 中运行我的代码,我注意到,如果我在我即将死去的旧笔记本电脑和我的超级 PC 上运行相同的计算,时间差异通常很小,尽管在一些非常苛刻的单元上,可能会从简单到两倍之间变化两台电脑……但我的新电脑应该比我的旧笔记本电脑至少强大 5 倍!
要求苛刻的代码示例:
y_train_large = (y_train >= 7)
y_train_odd = (y_train % 2 == 1)
y_multilabel = np.c_[y_train_large, y_train_odd]
knn_clf = KNeighborsClassifier()
knn_clf.fit(X_train, y_multilabel)
y_train_knn_pred = cross_val_predict(knn_clf, X_train, y_multilabel, cv=3)
f1_score(y_multilabel, y_train_knn_pred, average="macro")
此外,例如,当我在分类器训练期间检查 CPU 使用率时,两台计算机上的 CPU 使用率都非常低(新计算机约为 5%,旧计算机约为 15-20%)。
我意识到这可能是一个很大的菜鸟问题,但为什么呢? 我在这里读到 Jupyter Notebooks 在不是我的主机上运行。 如何改用我自己的硬件? 我可能搜索错误的方式,但我找不到很多关于该主题的信息。 要搜索什么?
谢谢 !
上面代码的时间报告,对于 cross_val_predict() 设置 n_jobs=4 的小变化:
AMD Ryzen 9 3900x 12 核、RAM 32Go 的计算时间:约12'45'' 平均 CPU 使用率 15%
Intel i7 4750HQ @ 2.00 GHz,RAM 16Go 的计算时间:约19'50'' 平均 CPU 使用率 62%
好的,所以对于这段特定的代码,将 cross_val_predict() 的 n_jobs 参数增加到 n_jobs=4 会带来很好的改进,但我仍然不清楚:
仍然欢迎任何有关这些问题的专家回答:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.