Counter:一个简单的进度计数器
一个简单的进度计数器,用于打印 for 循环执行中的迭代次数和耗时。
from mlxtend.utils import Counter
概述
Counter
类实现了一个对象,用于显示 for 循环中的迭代次数和耗时。请注意,实现 Counter
是为了效率;因此,Counter
只提供了非常基本的功能,以避免相对昂贵的评估(例如 if-else 语句)。
参考资料
- -
示例 1 - 在 for 循环中计数迭代次数
from mlxtend.utils import Counter
import time
cnt = Counter()
for i in range(20):
# do some computation
time.sleep(0.1)
cnt.update()
20 iter | 2 sec
请注意,第一个数字显示当前迭代次数,第二个数字显示初始化 Counter
后经过的时间。
API
Counter(stderr=False, start_newline=True, precision=0, name=None)
用于显示 for 循环迭代器进度的类。
参数
-
stderr
: bool (默认值: True)如果为 True,则将输出打印到 sys.stderr;否则使用 sys.stdout。
-
start_newline
: bool (默认值: True)在计数器前添加新行,防止多个计数器连续打印时相互覆盖。 precision: int (默认值: 0) 设置显示经过时间(秒)时的小数位数。
-
name
: string (默认值: None)在计数器前添加指定的名称,以便区分多个计数器。
属性
-
curr_iter
: int当前迭代次数。
-
start_time
: float计数器初始化时的系统时间(秒)。
-
end_time
: float计数器上次更新时的系统时间(秒)。
示例
>>> cnt = Counter()
>>> for i in range(20):
... # do some computation
... time.sleep(0.1)
... cnt.update()
20 iter | 2 sec
>>> print('The counter was initialized.'
' %d seconds ago.' % (time.time() - cnt.start_time))
The counter was initialized 2 seconds ago
>>> print('The counter was last updated'
' %d seconds ago.' % (time.time() - cnt.end_time))
The counter was last updated 0 seconds ago.
更多使用示例,请参阅 https://mlxtend.cn/mlxtend/user_guide/utils/Counter/
方法
update()
打印当前迭代次数和耗时。