📅  最后修改于: 2023-12-03 15:40:53.916000             🧑  作者: Mango
在进行大量数据处理和训练模型时,经常需要耗费大量的时间。为了能够及时了解运行进度,循环进度条成为了程序员必备的工具。在 Jupyter Notebook 上,我们可以使用 tqdm 库来对循环进度条进行简单的实现。
首先需要安装 tqdm 库,可以通过 pip 进行安装:
!pip install tqdm
假设我们有一个需要耗费时间的 for 循环,可以通过以下步骤实现循环进度条。首先导入 tqdm 库:
from tqdm import tqdm
然后在 for 循环的外层加上 tqdm() 函数,其中第一个参数为可迭代对象(如 list、range 等),第二个参数为描述文本:
pbar = tqdm(range(100), desc='Processing')
for i in pbar:
# 模拟一些耗费时间的操作
time.sleep(0.1)
pbar.set_postfix({'i': i})
在 for 循环中,我们可以调用 tqdm() 函数返回迭代器,在实际循环中使用。同时,在循环结束前,我们还可以通过 pbar.set_postfix() 函数来更新统计信息。比如,我们可以把当前循环次数 i 作为后缀显示出来。
默认情况下,tqdm 库会以黑色的进度条样式进行展示。如果你希望修改进度条的样式,可以通过以下代码实现:
from tqdm import tqdm
import time
class Customtqdm(tqdm):
def __init__(self, *args, **kwargs):
# 设置进度条样式
self.custom_style()
super(Customtqdm, self).__init__(*args, **kwargs)
def custom_style(self):
# 自定义样式
self.bar_format = '{l_bar}{bar}| {n_fmt}/{total_fmt} [{elapsed}<{remaining}]'
pbar = Customtqdm(range(100), desc='Processing')
for i in pbar:
# 模拟一些耗费时间的操作
time.sleep(0.1)
pbar.set_postfix({'i': i})
在上述代码中,我们通过自定义 Customtqdm 类来修改进度条样式。具体的修改步骤可以参考 tqdm 官方文档。
通过安装 tqdm 库并运用在 for 循环中,我们可以快速实现循环进度条,便于对代码效率进行有效的监控。同时,通过进一步的定制化,我们还可以快速实现自己所需要的进度条样式。