解决Linux服务器(Windows)tqdm进度条不待在一行,总是换行的情况。(tqdm详解)

在运行代码时,会有一个进度条,显示当前代码运行的进度,但是有时会出现进度条总是换行的情况,这就让人很不爽,必须找个方法解决了。

我们来看一下tqdm的参数,及其说明:

    def __init__(self, iterable=None, desc=None, total=None, leave=True, file=None,
                 ncols=None, mininterval=0.1, maxinterval=10.0, miniters=None,
                 ascii=None, disable=False, unit='it', unit_scale=False,
                 dynamic_ncols=False, smoothing=0.3, bar_format=None, initial=0,
                 position=None, postfix=None, unit_divisor=1000, write_bytes=None,
                 lock_args=None, nrows=None, colour=None, delay=0, gui=False,
                 **kwargs):

iterable :可迭代,可选
            可迭代以使用进度条进行装饰。
            留空以手动管理更新。

desc:str,可选,传入一个字符串,是进度条的前缀。

total:整数或浮点数,可选
            预期的迭代次数。如果未指定,
            如果可能,将使用 len(可迭代)。如果 float(“inf”) 或作为最后一个
            度假村,仅显示基本进度统计信息
            (没有ETA,没有进度条)。
            如果“gui”为 True,并且此参数需要后续更新,
            指定一个初始任意大正数,
            例如 9e9。

leave:bool,可选
            如果 [默认值:True],则保留进度条的所有痕迹
            迭代终止时。

file:'io.TextIOWrapper“或”io.”StringIO',可选
            指定输出进度消息的位置
            (默认值:sys.stderr)。使用 'file.write(str)' 和 'file.flush()'
            方法。 有关编码,请参阅“write_bytes”。

ncols:int,可选
            整个输出消息的宽度。如果指定,
            动态调整进度条的大小以保持在此范围内。
            如果未指定,则尝试使用环境宽度。这
            回退是 10 米宽,计数器和计数器没有限制
            统计学。如果为 0,则不会打印任何仪表(仅统计)。

mininterval:float,可选
            最小进度显示更新间隔 [默认:0.1] 秒。

maxinterval:float,可选
            最大进度显示更新间隔 [默认:10] 秒。
            自动调整“最小值”以对应于“最小值”
            长时间显示更新滞后。仅当“dynamic_miniters”时才有效
            或启用了监视线程。

miniters:整数或浮点数,可选
            最小进度显示迭代更新间隔。
            如果 0 和 “dynamic_miniters”,将自动调整为相等
            “mininterval”(CPU 效率更高,适合紧密循环)。
            如果> 0,将跳过显示指定的迭代次数。调整这个和“mininterval”以获得非常有效的循环。
            如果您的进度不稳定,快速和缓慢的迭代
            (网络,跳过项目等)您应该设置最小值 = 1。

ascii:布尔或 str,可选
            如果未指定或为 False,请使用 unicode(平滑块)填充
            计量器。回退是使用 ASCII 字符“123456789#”。

disable:布尔,可选
            是否禁用整个进度条包装器
            [默认值:假]。如果设置为“无”,则在非 TTY 上禁用。

unit:str,可选
            将用于定义每次迭代单位的字符串
            [默认值:它]。

unit_scale:布尔或int或float,可选
            如果为 1 或 True,则迭代次数将减少/缩放
            自动和指标前缀,跟在
            将增加国际单位制标准
            (公斤、兆等)[默认值:假]。如果任何其他非零
            数字,将缩放“总计”和“n”。

dynamic_ncols:布尔,可选
            如果设置,则不断将“ncols”和“nrows”更改为
            环境(允许窗口调整大小)[默认值:False]。

smoothing:float,可选
            用于速度估计的指数移动平均线平滑因子
            (在 GUI 模式下忽略)。范围从 0(平均速度)到 1
            (当前/瞬时速度)[默认值:0.3]。

bar_format:str,可选
            指定自定义条形字符串格式。可能会影响性能。
            [默认值:'{l_bar}{bar}{r_bar}'],其中
            l_bar='{desc}: {percentage:3.0f}%|' and
            r_bar='|{n_fmt}/{total_fmt} [{elapsed}<{remaining}, '
              '{rate_fmt}{postfix}]'

initial:整数或浮点数,可选
            初始计数器值。在重新启动进度时很有用
            如果使用浮点数,请考虑指定 '{n:.3f}'
            或在“bar_format”中类似,或指定“unit_scale”。

position:int,可选
            指定打印此条形图的线偏移量(从 0 开始)
            如果未指定,则自动。
            一次管理多个柱非常有用(例如,从线程)。

postfix:dict 或 *,可选
            指定要在栏尾显示的其他统计信息。
            如果可能,请调用“set_postfix(**后缀)”(字典)。

unit_divisor:float,可选
            [默认值:1000],除非“unit_scale”为 True,否则将忽略。

write_bytes:布尔,可选
            如果(默认值:无)和“文件”未指定,
            字节将用Python 2编写。如果“True”也会写
            字节。在所有其他情况下,将默认为 unicode。

lock_args:元组,可选
            传递给中间输出的“刷新”
            (初始化、迭代和更新)。

nrows:int,可选
            屏幕高度。如果指定,则将嵌套条隐藏在此栏之外
            绑定。如果未指定,则尝试使用环境高度。
            回退为 20。

colour:str,可选
            条形图颜色(例如“绿色”、“#00ff00”)。

delay:float,可选
            在 [默认值: 0] 秒过去之前不显示。

gui:布尔,可选
            警告:内部参数 - 请勿使用。
            改用 tqdm.gui.tqdm(...)。如果设置,将尝试使用
            用于图形输出的 matplotlib 动画 [默认值:False]。

回到最开始的进度条问题:

我们去修改tqdm的 ncols,指定进度条的长度,可以根据自己的显示设备进行指定:

train_bar = tqdm(train_loader,ncols=85)

解决问题:

 

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值