Python

Kerasのprogress barがbatchごとに改行されてウザいときの対処法

こんにちは、チズチズです。

最近DLに入門しようとしています。

問題点

下のようにプログレスバーが長すぎてウザい!って思ったことありませんか。

https://stackoverflow.com/questions/41442276/keras-verbose-training-progress-bar-writing-a-new-line-on-each-batch-issuehttps://stackoverflow.com/questions/41442276/keras-verbose-training-progress-bar-writing-a-new-line-on-each-batch-issue から

理想はこの下のようなepochごとに改行されるプログレスバーです。

https://github.com/keras-team/keras/issues/5906 から

環境は以下のとおりです。

  • Python 3.7.6
  • keras 2.3.1

ですが、多少バージョンが違っていても大丈夫だと思います。(参考にしたissueが3年前のものだったので)

解決方法

ライブラリの中身をいじります。どうしようもないらしいです。

それではまず以下のコードを編集できる状態にしましょう。

keras/utils/generic_utils.py

そして、sys.std.writeなどでファイル内検索でもしてこのコードを見つけてください。(自分のバージョンでは384行目あたり)

そして、if文を全てコメントアウトしてsys.stdout.write('\r')を追加しましょう。

要するに表示するものが多くなった時、改行する設定をコメントアウトしています。(恐らく)

参考

https://github.com/keras-team/keras/issues/5906

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です