fastai打印选项的嵌套进度
fastprogress的Python项目详细描述
快速进度
一个快速和简单的进度条为jupyter笔记本和控制台。由Sylvain Gugger为Fast.ai创作。
版权所有2017年以后,fast.ai。根据apache许可证2.0版(以下简称“许可证”)授权;除非符合许可证,否则您不能使用此文件。此存储库的许可证文件中提供了许可证的副本。
安装
要安装,只需使用
pip install fastprogress
或:
conda install -c fastai fastprogress
请注意,这需要Python3.6或更高版本。
用法
这里有一个简单的例子。每个条都将迭代器作为主参数,我们可以通过添加参数parent=mb来指定第二个条与第一个条嵌套。然后我们就可以
- 通过更改mb.first_bar.comment的值在第一个栏中添加注释
- 通过更改mb.child.comment的值在第一个栏中添加注释
- 在两个栏之间用MB写一行。write('message')
fromfastprogressimportmaster_bar,progress_barfromtimeimportsleepmb=master_bar(range(10))foriinmb:forjinprogress_bar(range(100),parent=mb):sleep(0.01)mb.child.comment=f'second bar stat'mb.first_bar.comment=f'first bar stat'mb.write(f'Finished loop {i}.')#mb.update_graph(graphs, x_bounds, y_bounds)
要添加一个在训练过程中获取绘图的图形,只需使用命令mb.update_graphs。它将在第一次使用时创建图形。参数是:
- 图:要绘制的图的列表(每种形式[x,y])
- XyLime: X轴的最小值和最大值(如果没有,它将由图给出) y轴的最小值和最大值(如果没有,则由图给出)
请注意,最好指定x_边界和_边界,否则框将随着循环的进行而更改。
此外,我们可以通过命令mb.names(应该有与graphs参数一样多的元素)给出每个图的标签。
importnumpyasnpmb=master_bar(range(10))mb.names=['cos','sin']foriinmb:forjinprogress_bar(range(100),parent=mb):ifj%10==0:k=100*i+jx=np.arange(0,2*k*np.pi/1000,0.01)y1,y2=np.cos(x),np.sin(x)graphs=[[x,y1],[x,y2]]x_bounds=[0,2*np.pi]y_bounds=[-1,1]mb.update_graph(graphs,x_bounds,y_bounds)mb.child.comment=f'second bar stat'mb.first_bar.comment=f'first bar stat'mb.write(f'Finished loop {i}.')
这是控制台中的渲染:
如果使用此方法的脚本是在重定向到文件的情况下执行的,则该文件中将只打印.write方法的结果。