一般我们需要一段代码(主要是workhorse,程序的核心负重代码,如bp神经网络的整个SGD随机梯度下降的过程)的运行时间:
import timeit
start_time = timeit.default_timer()
for j in range(epochs):
for i in range(n_train_batches):
end_time = timeit.default_timer()
print('ran for %.2fm'%(end_time-start_time)/60.)
# timeit.default_timer()单位是秒
通过任一python IDE(PyCharm or Eclipse),我们可轻易地查看timeit.default_timer()
的源码:
if sys.platform == "win32":
# On Windows, the best timer is time.clock()
default_timer = time.clock
else:
# On most other platforms the best timer is time.time()
defalut_time = time.time
显然这一层封装的最终目的是为了系统兼容性。
# On Windows
>>> sys.platform
'Win32'
# On CentOS 6.5
>>> sys.platform
'linux2'