|
1
79
与dano和Connor的答案相比,还有一步要走,那就是将整个事情作为一个上下文管理器:
然后,您可以这样使用它,并且在完成后不要留下猴子补丁代码:
我认为这太棒了,它看起来像tqdm熊猫集成。 |
|
|
2
24
为什么不能简单地使用
|
|
3
22
您链接到的文档说明
...
这里是
老实说,他们实现这一点的方式有点奇怪——似乎假设任务总是按照开始的顺序完成。这个
我认为你最好的方法是创建自己的CallBack类,并使用monkey补丁Parallel:
输出:
这样,每当作业完成时都会调用回调,而不是默认的回调。 |
|
|
4
11
扩展dano对joblib库最新版本的回答。内部实现有一些变化。
|
|
|
5
8
TLDR解决方案 : 使用python 3.5与joblib 0.14.0和tqdm 4.46.0配合使用。感谢frenzykriger提供的上下文建议,感谢dano和Connor提出的猴子修补方案。
你可以用frenzykroger描述的相同方式使用
更长的解释: Jon的解决方案很容易实现,但它只测量分派的任务。如果任务需要很长时间,则在等待最后一个分派的任务完成执行时,条形图将保持在100%。
frenzykroger的上下文管理器方法(由dano和Connor改进而来)更好,但
而不是猴子修补
这在joblib 0.14.0和tqdm 4.46.0中使用python 3.5进行了测试。 |
|
|
6
4
文本进度条 对于那些想要文本进度条而不需要像tqdm这样的附加模块的人来说,还有一个变体。joblib=0.11,python 3.5.2在2018年4月16日在linux上的实际值,并显示子任务完成时的进度。 重新定义本机类:
在使用作业总数之前定义全局常量:
这将导致如下情况:
|
|
|
7
1
以下是您的问题的另一个答案,语法如下:
|
|
|
8
0
在Jupyter中,tqdm每次输出时都会在输出中开始一行。 因此,对于Jupyter Notebook,它将是: 用于Jupyter笔记本。 不睡觉:
100%1000/1000[00:06<00:00,143.70it/s] 有时间睡眠:
我当前使用的是什么而不是joblib。Parallel:
|
|
|
9
0
背景
我在stderr上看到一行代码,内容如下:
|
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 1 年前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
|
András Takács · Python多线程问题 1 年前 |
|
|
András Takács · Python多线程错误 1 年前 |