【发布时间】:2021-03-28 14:04:54
【问题描述】:
我想在测试我的 ML 模型期间(在调用 predict 期间)获取 cpu 使用情况。这是我目前正在做的事情。 p是当前进程:
start = p.cpu_percent(interval=1)
y_hat = clf.predict(X_test)
print(abs(p.cpu_percent(interval=None) - start)) # prints cpu usage (%)
这是正确的方法还是有更好的方法来实现这一点?
【问题讨论】:
-
我喜欢在模型运行时在终端中运行
htop或top以监控使用情况。 -
我也对此进行了研究,对于特定的函数调用(在数据集上测试)执行此操作的命令是什么?另外,这不应该与使用 psutil 的上述相同吗?
-
我不确定具体的命令,但你可以寻找正在运行的
python可执行文件。您的示例不等效,因为您正在拍摄 cpu 百分比的两个快照(之前和之后),但您没有得到 cpu 百分比 during 预测。一种可能的解决方案是在单独的线程中定期运行cpu_percent()。 -
我编辑了我的问题中的代码,我相信它可以捕获调用预测期间的 cpu 使用情况?
-
如果你的 cpu_percent 函数返回所有进程的总 CPU 使用率,从运行后的使用量中减去运行前的原始使用量(你在做什么)应该可以工作。
标签: python cpu cpu-usage standard-library psutil