gpt4 book ai didi

python - 每次在 tqdm 对象(VSCode 终端)上调用更新时,进度条(使用 tqdm)都会在新行中打印

转载 作者:行者123 更新时间:2023-12-04 14:11:32 32 4
gpt4 key购买 nike

我正在尝试使用 Python 中可用的 tqdm 模块打印优化算法的进度状态,但是,每次我尝试更新它时,它都会在新行中打印进度,有没有办法我只能更新最初正在实例化的原始 tqdm 条?我的代码如下,它基于 backtrader 回测库:

def optimizer_callbacks(cb):
pbar.update()

def strategy_optim(**kwargs):

total = np.prod([len(value) for key,value in kwargs.items()])

csv_file = FDaxCSVData(---data---)
cerebro = bt.Cerebro()
cerebro.adddata(csv_file)
cerebro.broker.setcash(500000.0)
cerebro.broker.setcommission(commission=2.0)

strats = cerebro.optstrategy(strategy_name, printlog = False, **kwargs)

global pbar
pbar = tqdm.tqdm(smoothing=0.05, desc='Optimization Runs', total=total)
cerebro.optcallback(optimizer_callbacks)

runnings = cerebro.run(optreturn=False, maxcpus=2)

if __name__=="__main__":
strategy_optim(periods = [100, 200, 300], abs_margin= [25, 50, 75], trail_stop=[10, 20, 30, 40])
输出:
Optimization Runs:   0%|                                                    | 0/12 [00:00<?, ?it/s]
Optimization Runs: 8%|██████▉ | 1/12 [00:18<03:21, 18.29s/it]
Optimization Runs: 17%|█████████████▊ | 2/12 [00:19<01:35, 9.59s/it]
Optimization Runs: 25%|████████████████████▊ | 3/12 [00:40<02:19, 15.55s/it]
我确实查看了关于类似问题的 stackoverflow 上的其他帖子(其中大部分都集中在 jupyter notebook 界面上),但它们没有解决我的错误。此外,这是一个多线程处理和 cerebro.optcallback 在每次迭代一组唯一的参数值后调用 optimizer_callbacks 函数

最佳答案

我经常遇到这个问题,有时 position = 0 & leave = True不起作用。所以,我找到了另一种方法。
而不是 tqdm.tqdm 您可以使用 tqdm.auto.tqdm
或者
代替

from tqdm import tqdm
尝试使用
from tqdm.auto import tqdm

关于python - 每次在 tqdm 对象(VSCode 终端)上调用更新时,进度条(使用 tqdm)都会在新行中打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63908917/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com