retarfiの日記

自然言語処理などの研究やゴルフ、音楽など。

tqdmのprogress barが改行しまくらないようにする

ディスプレイの横いっぱいにターミナルを展開していると、tqdmが横いっぱいに開いてしまってウィンドウ幅を半分にすると改行しまくってしまう時がある.。

f:id:retarfi:20220129161447p:plain

この場合はすぐ100%になるから良いが、少しずつのときは困る。
tqdmのドキュメントtqdm.tqdm - tqdm documentationを見ると、引数にdynamic_ncolsというのがあった。
これをTrueにしておくと、ウィンドウサイズに合わせてbarの幅をいい感じにしてくれるとのこと。
なお、defaultで設定されていない理由は、ウィンドウサイズを何度も読み込み直すため遅くなってしまうからとのこと。
私は試していないが、barを出して幅をいい感じにしたい場合は良さそう。

ちなみに私は

bar_format='Optuna {n_fmt}/{total_fmt}: {percentage:3.0f}%, [{elapsed}<{remaining}, {rate_fmt}{postfix}]'

にして横長の進捗bar自体を消し、数値だけ表示させている。