如何跟踪执行时间?

时间:2016-06-05 18:16:51

标签: python timing

设置

我正在研究一些神经网络。它们有很多超参数,通常你会看到每组超参数的表现,然后选择你喜欢的。这通常通过(比方说)训练具有n时期的给定参数的网络来完成,然后评估其性能,产生每组参数的数值分数并允许您选择最佳参数。

但是,这有一个问题。一些参数可以让您更快地浏览更多的纪元,但每个纪元的收益更少。此外,几乎任何一组参数总是会做得更好,给定更多的时代,所以如果给予无限时间,他们都会做得很好(至关重要,但现在不是重点)。

问题

我更喜欢做的是让每个过程弄清楚它运行了多长时间,并在指定的秒数后关闭(优雅地)。问题是,我想多线程,所以只是因为程序运行了60秒并不意味着该进程有60秒的CPU时间。

那么如何衡量流程本身实际可用的时间在流程本身内?

time.clock()方法给出系统时间,这是有问题的(如上所述)。

timeit模块看起来好一些,但它在脚本外部,因此该过程不知道何时停止。

有更好的方法吗?我对上述方法之一有误吗?

具体问题

python进程如何看到它到目前为止分配了多少秒?不是已经过去的时间量,而是它本身被允许执行多少秒?

1 个答案:

答案 0 :(得分:1)

使用os.times()。 这为您提供了当前进程的用户和系统时间。以下是限制用户时间的示例。

Local