tqdm 在循环开始时打印额外内容
tqdm printing extra content at the start of a cycle
我正在开发一个简单的批处理迭代器,它应该能够在 运行 通过一整套值时跟踪进度。为此,我正在使用 tqdm,但在迭代开始时它打印的是空内容。
代码:
for start_idx in trange(0, len(inputs) - batchsize + 1, batchsize):
excerpt = slice(start_idx, start_idx + batchsize)
输出类似:
Epoch: 0
100%|██████████| 1562/1562 [00:02<00:00, 630.24it/s]
0%| | 0/1562 [00:00<?, ?it/s]Epoch: 1
62%|██████▏ | 965/1562 [00:01<00:00, 623.74it/s]
我在 progressbar 模块上遇到过类似的问题,我只需要将输出类型换成 sys.stdout
但在这个模块中我找不到设置它的参数。有什么建议吗?
Edit1:这发生在 PyCharm 终端
线索是第二行末尾的Epoch: 1
。
在您的代码中的某处,您正在打印它,这会导致 tqdm
关闭;它通常会使用 \r
(回车 return)字符到 return 到行的开头,但是您正在打印换行符,所以上一行仍然存在。
我正在开发一个简单的批处理迭代器,它应该能够在 运行 通过一整套值时跟踪进度。为此,我正在使用 tqdm,但在迭代开始时它打印的是空内容。
代码:
for start_idx in trange(0, len(inputs) - batchsize + 1, batchsize):
excerpt = slice(start_idx, start_idx + batchsize)
输出类似:
Epoch: 0
100%|██████████| 1562/1562 [00:02<00:00, 630.24it/s]
0%| | 0/1562 [00:00<?, ?it/s]Epoch: 1
62%|██████▏ | 965/1562 [00:01<00:00, 623.74it/s]
我在 progressbar 模块上遇到过类似的问题,我只需要将输出类型换成 sys.stdout
但在这个模块中我找不到设置它的参数。有什么建议吗?
Edit1:这发生在 PyCharm 终端
线索是第二行末尾的Epoch: 1
。
在您的代码中的某处,您正在打印它,这会导致 tqdm
关闭;它通常会使用 \r
(回车 return)字符到 return 到行的开头,但是您正在打印换行符,所以上一行仍然存在。