[英]Measure the cpu usage/execution time for tesorflow in python
我想比较两个 tensorflow 程序,我的假设是其中一个程序的 CPU 使用率较低。 我不太确定我应该使用 time.clock() 还是 time.time()。 我目前使用python2。
start = time.time()
for _ in range(100):
sess.run(main.op)
end = time.time()
print((end - start)/100)
# or use clock to measure cpu time.
start = time.clock()
for _ in range(100):
sess.run(main.op)
end = time.clock()
print((end - start)/100)
我认为 'time.time()' 将测量执行时间,也可以将其视为延迟(一个线程可能等待另一个线程),而 'time.clock()' 将测量 cpu 时间(总 cpu时间,线程之间没有等待时间)。
如果我想知道我的程序是否会降低 CPU 使用率,我应该关注 'time.clock()',对吗?
另一个问题是“time.clock()”是否能正确测量 Tensorflow 程序的 CPU 时间?
您可以使用psutil从 python 获取 CPU 使用率、memory 使用率、磁盘使用率等。 这真的很简单。 这是一个例子。
import psutil
print(psutil.cpu_percent()) # for cpu usage
print(psutil.cpu_freq()) # for cpu frequncy
print(psutil.cpu_freq(True)) # for cpu frequency per core
print(psutil.disk_usage('/')) # for disk usage
print(psutil.virtual_memory()) # for RAM
print(psutil.sensors_temperatures()) # It might be CPU, Disk or other hardware depending on config.
他们有很好的文档,请查看他们的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.