欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力
对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:[email protected] 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。
专栏:
文章概述:对 tqdm模块实现进度条_Parallel并行加快速度 的介绍
关键词: tqdm模块实现进度条 Parallel并行加快速度
本文目录:
Python实现进度条
这个进度条在深度学习里非常常见
简介:
import math
: 导入 Python 的标准数学库math
,用于访问数学函数。这里使用math.factorial
函数来计算阶乘。from tqdm import tqdm
: 从tqdm
库中导入tqdm
函数。tqdm
是一个用于显示进度条的库,它可以帮助我们在长时间运行的操作中跟踪进度。
示例:
import math
from tqdm import tqdm
results = []
for i in tqdm(range(8000)):
results.append(math.factorial(i))
简化一下形式
results = [math.factorial(x) for x in tqdm(range(8000))]
加快一下计算速度
使用并行的方式:
from joblib import Parallel, delayed
joblib
: 一个用于并行计算和优化性能的库。Parallel
和delayed
是joblib
提供的两个重要工具,用于并行执行任务。
-
Parallel
: 用于并行执行任务的类。可以指定n_jobs
参数来设置并行运行的作业数量(即线程或进程数)。delayed
: 一个装饰器,用于将函数调用包装成一个延迟执行的任务,以便Parallel
能够并行处理这些任务。
import math
import time
from tqdm import tqdm
from joblib import Parallel, delayed
#没有并行的操作
results = [math.factorial(x) for x in tqdm(range(8000))]
#有并行的操作
results = Parallel(n_jobs=2)(delayed(math.factorial)(x) for x in tqdm(range(8000)))
通过两者的时间比较,可以发现并行的方式确实显著的提高了运行速度
使用trange,减慢运行速度
import math
import time
import random
from tqdm import tqdm, trange
with trange(1000) as t:
for i in t:
sleeping_time = random.randint(1, 100)/100
time.sleep(sleeping_time)
打印速度非常缓慢,就不显示了
分轮次分批次进行训练
import math
import time
import random
from tqdm import tqdm, trange
#写了trange自动有进度条
with trange(1000) as t:
#分轮次
for i in t:
sleeping_time = random.randint(1, 100)/100
time.sleep(sleeping_time)
#每个轮次分10个批次(不需要接受值,所以直接用下划线_)
for _ in trange(10):
time.sleep(0.5)
再添加一些信息
import math
import time
import random
from tqdm import tqdm, trange
#写了trange自动有进度条
with trange(1000) as t:
for i in t:
#增加轮次信息
t.set_description(f"Iteration number {i+1}")
sleeping_time = random.randint(1, 100)/100
time.sleep(sleeping_time)
#增加后缀,something是随便写的,一般深度学习的时候会写成测试的准确度
t.set_postfix(something=random.randint(0,100),
sleeping_time=sleeping_time)
if i%100 == 0 :
for _ in trange(10):
time.sleep(0.5)
上面是在jupyter notebook里运行的,没显示something
这个是在pycharm里运行的,显示了something
标签:tqdm,10,进度条,Parallel,time,import,trange,math From: https://blog.csdn.net/ta683280/article/details/140971800