【问题标题】:tqdm_notebook description is truncatedtqdm_notebook 描述被截断
【发布时间】:2018-12-05 18:05:06
【问题描述】:

我使用tqdm_notebook 来显示进度,并更新描述以跟踪迭代次数的损失。如何使描述不被截断(下图)。

我定义ebar = tqdm_notebook(range(NUM_EPOCHS)) 并使用以下方式更新描述:

ebar.set_description('c_loss: {:.5f}, r_loss: {:.5f}, v_loss: {:.5F}'.format(av_class_loss,
                                                                             av_recon_loss,
                                                                             av_valid_loss))

【问题讨论】:

    标签: tqdm


    【解决方案1】:

    最近一直在找这个问题,好在tqdm从4.28.1版本开始就已经解决了,也就是available on Pypi

    参考this commit

    也就是说,进度条是来自ipywidgets 的一个小部件,它有一个不能正式改变大小的专用进度条小部件。有关小部件描述的更多信息,请参阅here

    现在,您的描述似乎很长,将描述长度设置为“初始”可能会使您最终得到一个 1 像素宽的进度条。

    如果你需要一个更大的进度条,最简单的方法是两行显示,带有一个Label小部件,直接改变它的值

    from ipywidgets import HBox, Label, IntProgress
    import time
    from IPython.display import display
    from tqdm import tqdm_notebook as tqdm
    a = Label('A too long description')
    display(a)
    b = tqdm(range(100))
    for i in b:
        time.sleep(0.1)
        a.value = 'a too long descriptio' + 'o'*i +'n'
    

    如果你真的需要把所有东西都放在一行中,你可以修改 tqdm 的代码here 使 tqdm 小部件是一个带有文本的 Hbox,IntProgres,再次文本。

    ptext = HTML()
    pdesc = HTML()
    container = HBox(children=[pdesc, pbar, ptext])
    

    完成后,您可以像here一样更新描述 但here 用于描述

    【讨论】:

      猜你喜欢
      • 2015-12-19
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      • 2023-02-21
      • 2020-10-29
      • 1970-01-01
      • 2023-03-09
      • 2012-02-04
      相关资源
      最近更新 更多