深層学習とその他

機械学習したいマン

tqdmで精神衛生を保つ

アドベントカレンダー5日目です。
adventar.org


今日はプログレスバーを表示するtqdmについて書いていきます。

tqdmとは

tqdm means “progress” in Arabic (taqadum, تقدّم) and is an abbreviation for “I love you so much” in Spanish (te quiero demasiado)

https://pypi.org/project/tqdm/

tqdmはアラビア語プログレスを意味し、
スペイン語での "I love you so much"の略語らしいです(豆知識)。

機能としてはプログレスバーを表示し、処理速度も簡易ですが表示されます。

使用例

for文の中に組み込むことで、プログレスバーを表示できます。

from tqdm import tqdm
import time
for i in tqdm(range(10)):
   time.sleep(1)


f:id:looseleaf0727:20181205213913p:plain
tqdm


jupyter notebookを使っている際にはimportを変えることで、よりリッチな表示にできます。

from tqdm import tqdm_notebook as tqdm
import time
for i in tqdm(range(10)):
   time.sleep(1)

f:id:looseleaf0727:20181205214302p:plain
tqdm_nb


アニメーションにしました。
ちょっと楽しいですね。

f:id:looseleaf0727:20181205222535g:plain
tqdm_anime


プログレスバーについて説明を出すこともできます。

from tqdm import tqdm_notebook as tqdm
import time
for i in tqdm(range(3), desc="first loop"):
    for j in tqdm(range(10), desc="second loop"):
        time.sleep(0.1)

f:id:looseleaf0727:20181205224151g:plain
tqdm description

まとめ

今回はtqdmについて書きました。
前処理などの時間がかかる処理や、プログレスバー機能がない深層学習の学習ループに使うとずっと見てなくてすむかもしれません。
今回紹介してない機能もまだまだあるのでこちらを参考にしてください。
pypi.org