我正在使用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))
答案 0 :(得分:2)
我最近一直在搜索此问题,幸运的是,自4.28.1版本available on Pypi起,它已经在tqdm中得以解决
请参见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小部件成为具有文本,IntProgres和文本的Hbox。
ptext = HTML()
pdesc = HTML()
container = HBox(children=[pdesc, pbar, ptext])