LoginSignup
0
0

More than 1 year has passed since last update.

Jupyter notebookでセルの出力を制御する

Last updated at Posted at 2021-12-16

imageonline-gifspeed-8918972.gif

はじめに

ディープラーニングの学習をjupyter notebookで行っている際、ログの出力でページが埋め尽くされます。
学習には時間がかかりますので、ログ出力は必要なんですが、たまに邪魔に感じる時もありますので、制御できないか調べてみました。

セルを参照するために延々と上スクロールが必要

スクリーンショット 2021-12-16 15.57.30.png

セルの出力を消してみる

IPythonを利用してセルの出力を消してみました。
imageonline-gifspeed-8878378.gif

(Pythonコード)

# 表示の消去
from IPython.display import clear_output
import time

for i in range(10):
    clear_output()
    print('このメッセージを表示後に消します。を繰り返します。')
    time.sleep(1)
print('終わり')

出力行の更新をしてみる

出力した行の更新をしてみました。
imageonline-gifspeed-8918972.gif
(Pythonコード)

# 表示行の更新
from IPython.display import display
from time import sleep

print('次行の表示内容を更新します。')
update_line = display('更新前です。 -', display_id=True)
sleep(1)
for i in range(10):
    update_line.update( str(i) + '回目の更新をしました。')
    sleep(1)
print('終わり')

出力行の更新をしてみる(キャリッジリターンを利用)

IPythonではなく「キャリッジリターン」でやってみます。
imageonline-gifspeed-9107570.gif
(Pythonコード)

# 表示行の更新(キャリッジリターンを利用)
from time import sleep

print('次行の表示内容を更新します。')
print("\r"+ '更新前です。', end="")
sleep(1)
for i in range(10):
    print("\r"+ str(i) + '回目の更新をしました。',end="")
    sleep(1)

print("\n"+'終わり')

print命令にend=""がないと改行していまいますので注意です。

まとめ

これでログだらけのページを整理できそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0