mirror of https://github.com/open-mmlab/mmcv.git
1.5 KiB
1.5 KiB
辅助函数
进度条
如果你想跟踪函数批处理任务的进度,可以使用 track_progress
。它能以进度条的形式展示任务的完成情况以及剩余任务所需的时间(内部实现为for循环)。
import mmcv
def func(item):
# 执行相关操作
pass
tasks = [item_1, item_2, ..., item_n]
mmcv.track_progress(func, tasks)
如果你想可视化多进程任务的进度,你可以使用 track_parallel_progress
。
mmcv.track_parallel_progress(func, tasks, 8) # 8 workers
如果你想要迭代或枚举数据列表并可视化进度,你可以使用 track_iter_progress
。
import mmcv
tasks = [item_1, item_2, ..., item_n]
for task in mmcv.track_iter_progress(tasks):
# do something like print
print(task)
for i, task in enumerate(mmcv.track_iter_progress(tasks)):
# do something like print
print(i)
print(task)
计时器
mmcv提供的 Timer
可以很方便地计算代码块的执行时间。
import time
with mmcv.Timer():
# simulate some code block
time.sleep(1)
你也可以使用 since_start()
和 since_last_check()
。前者返回计时器启动后的运行时长,后者返回最近一次查看计时器后的运行时长。
timer = mmcv.Timer()
# code block 1 here
print(timer.since_start())
# code block 2 here
print(timer.since_last_check())
print(timer.since_start())