【问题标题】:tqdm notebook: increase bar widthtqdm notebook:增加条宽
【发布时间】:2020-01-18 06:16:57
【问题描述】:

我有一个任务要监控进度;这是在while 循环中运行的蛮力 np 问题。

对于循环的前 x(未知数)次迭代,它会发现未知的额外数量的未来组合(每个循环很多),最终它通过解决方案前进到解决难题的点(每个循环都是一个解决方案)比它找到新的可能谜题要快,它最终会解决它找到的最后一个谜题(100%)。

我创建了一些虚假的增长来提供可重复的示例:

from tqdm import tqdm_notebook as tqdm

growthFactorA = 19
growthFactorB = 2

prog = tqdm(total=50, dynamic_ncols=True)

done = []
todo = [1]
while len(todo)>0:
    current = todo.pop(0)
    if current < growthFactorA:
        todo.extend(range(current+1, growthFactorA+growthFactorB))
    done.append(current)
    prog.total = len(todo) + len(done)
    prog.update()

您会看到总数最终停止在389814,起初循环解决谜题的速度增长得更快,但在某个点系统停止增长。

在运行算法之前无法计算迭代次数。

蓝条仅限于初始化时使用的原始总量。我的目标是实现类似于初始总数设置为 389814 的情况,在增长期(试验早期)进度条似乎会随着总数的增加而向后移动或不移动。

【问题讨论】:

    标签: python-3.x progress-bar tqdm


    【解决方案1】:

    正如在https://github.com/tqdm/tqdm/issues/883#issuecomment-575873544 中发布的那样,您现在可以这样做: prog.container.children[0].max = prog.total(设置新的prog.total后)。

    如果编写代码同时在笔记本和 CLI (from tqdm.auto import tqdm) 上运行,这会更加烦人,您必须首先检查 hasattr(prog, 'container')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-04
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-10
      相关资源
      最近更新 更多