Ccmmutty logo
Commutty IT
1 min read

【Python】大量のデータ読み込み時に進捗確認用のプログレスバーを表示する

https://cdn.magicode.io/media/notebox/3dac6ee2-476a-43e5-ba30-cb49e0e22a13.jpeg

概要

機械学習をしていると大量のデータをfor文で読み込むことが多々あると思います。
その際に何%読み込みが完了したか可視化する方法があるので共有します。

tqdmライブラリを利用する

tqdmライブラリを利用することで可視化できます。使い方は下記のコードを参考にしてください。 使用前にpip install tqdmでインストールを忘れずに。
下記の参考コードが実行できるのでお試しください。
python
from tqdm import tqdm
import time

for i in tqdm(range(10)):
  time.sleep(0.5)

0%| | 0/10 [00:00<?, ?it/s]
10%|█ | 1/10 [00:00<00:04, 2.00it/s]
20%|██ | 2/10 [00:01<00:04, 1.99it/s]
30%|███ | 3/10 [00:01<00:03, 1.99it/s]
40%|████ | 4/10 [00:02<00:03, 1.99it/s]
50%|█████ | 5/10 [00:02<00:02, 1.99it/s]
60%|██████ | 6/10 [00:03<00:02, 1.99it/s]
70%|███████ | 7/10 [00:03<00:01, 1.99it/s]
80%|████████ | 8/10 [00:04<00:01, 1.99it/s]
90%|█████████ | 9/10 [00:04<00:00, 1.99it/s]
100%|██████████| 10/10 [00:05<00:00, 1.99it/s]
100%|██████████| 10/10 [00:05<00:00, 1.99it/s]

余談

for文は便利ですがパフォーマンス的にあまりよろしくないです。
機械学習でデータは同じでモデルを変えて実験を繰り返す時は、numpyやpickleでデータを固めて保存しておくことで読み込みのオーバーヘッドを短縮することができます。次回はこの辺りの記事を書く予定です。

Discussion

コメントにはログインが必要です。