質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

678閲覧

tqdmをkerasと併用するとjupyter notebookのログが崩れる

Ryomax

総合スコア68

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/07/14 14:13

Windows10+Anaconda環境にてkerasを使用しています。
最近になってtqdmが便利なことを知り、使い始めたのですが、
どうも自分の環境ではtqdmをインポートするとkerasの学習中のログが崩れてしまいます。
実際にコード内でtqdmを使用していなくても崩れてしまいます。
自分の環境では今のところ再現性は100%なので、tqdmが悪さをしているのは間違いないと思います。
挙動的には内部で「\r」がうまく効いてなさそうな感じなのですが...。
Anacondaの再インストール、仮想環境の新規作成、tqdmの過去バージョンのインストール、
tqdmのconda経由およびpip経由でのインストール等も試してみましたが、変わりません。
どなたか解決方法をご存じの方がいたらよろしくお願いいたします。

発生している問題・エラーメッセージ

MNISTチュートリアルのコード実行例

  • tqdmインポートあり
Train on 60000 samples, validate on 10000 samples Epoch 1/20 60000/60000 [==============================] - ETA: 14:10 - loss: 2.3458 - acc: 0.07 - ETA: 1:17 - loss: 1.3900 - acc: 0.5391 - ETA: 40s - loss: 1.0298 - acc: 0.658 - ETA: 27s - loss: 0.8557 - acc: 0.71 - ETA: 20s - loss: 0.7458 - acc: 0.75 - ETA: 16s - loss: 0.6699 - acc: 0.78 - ETA: 13s - loss: 0.6096 - acc: 0.80 - ETA: 11s - loss: 0.5708 - acc: 0.81 - ETA: 9s - loss: 0.5340 - acc: 0.8280 - ETA: 8s - loss: 0.5024 - acc: 0.839 - ETA: 7s - loss: 0.4833 - acc: 0.846 - ETA: 6s - loss: 0.4624 - acc: 0.853 - ETA: 6s - loss: 0.4440 - acc: 0.859 - ETA: 5s - loss: 0.4305 - acc: 0.865 - ETA: 5s - loss: 0.4201 - acc: 0.868 - ETA: 5s - loss: 0.4065 - acc: 0.872 - ETA: 4s - loss: 0.3941 - acc: 0.875 - ETA: 4s - loss: 0.3851 - acc: 0.878 - ETA: 4s - loss: 0.3758 - acc: 0.882 - ETA: 3s - loss: 0.3670 - acc: 0.884 - ETA: 3s - loss: 0.3577 - acc: 0.888 - ETA: 3s - loss: 0.3499 - acc: 0.890 - ETA: 3s - loss: 0.3418 - acc: 0.893 - ETA: 2s - loss: 0.3340 - acc: 0.895 - ETA: 2s - loss: 0.3281 - acc: 0.897 - ETA: 2s - loss: 0.3223 - acc: 0.899 - ETA: 2s - loss: 0.3187 - acc: 0.900 - ETA: 2s - loss: 0.3132 - acc: 0.902 - ETA: 1s - loss: 0.3088 - acc: 0.903 - ETA: 1s - loss: 0.3035 - acc: 0.905 - ETA: 1s - loss: 0.2979 - acc: 0.907 - ETA: 1s - loss: 0.2930 - acc: 0.908 - ETA: 1s - loss: 0.2883 - acc: 0.910 - ETA: 1s - loss: 0.2845 - acc: 0.911 - ETA: 1s - loss: 0.2805 - acc: 0.912 - ETA: 1s - loss: 0.2771 - acc: 0.913 - ETA: 0s - loss: 0.2731 - acc: 0.914 - ETA: 0s - loss: 0.2696 - acc: 0.915 - ETA: 0s - loss: 0.2659 - acc: 0.916 - ETA: 0s - loss: 0.2635 - acc: 0.917 - ETA: 0s - loss: 0.2606 - acc: 0.918 - ETA: 0s - loss: 0.2574 - acc: 0.919 - ETA: 0s - loss: 0.2544 - acc: 0.920 - ETA: 0s - loss: 0.2511 - acc: 0.921 - ETA: 0s - loss: 0.2493 - acc: 0.922 - ETA: 0s - loss: 0.2479 - acc: 0.922 - ETA: 0s - loss: 0.2455 - acc: 0.923 - 4s 73us/step - loss: 0.2454 - acc: 0.9235 - val_loss: 0.1531 - val_acc: 0.9523 Epoch 2/20 60000/60000 [==============================] - ETA: 4s - loss: 0.1293 - acc: 0.953 - ETA: 3s - loss: 0.1000 - acc: 0.969 - ETA: 2s - loss: 0.1068 - acc: 0.967 - ETA: 2s - loss: 0.1030 - acc: 0.969 - ETA: 2s - loss: 0.1066 - acc: 0.968 - ETA: 2s - loss: 0.1034 - acc: 0.970 - ETA: 2s - loss: 0.1036 - acc: 0.969 - ETA: 2s - loss: 0.1065 - acc: 0.969 - ETA: 2s - loss: 0.1084 - acc: 0.967 - ETA: 2s - loss: 0.1123 - acc: 0.966 - ETA: 2s - loss: 0.1091 - acc: 0.967 - ETA: 2s - loss: 0.1086 - acc: 0.967 - ETA: 2s - loss: 0.1078 - acc: 0.968 - ETA: 2s - loss: 0.1057 - acc: 0.968 - ETA: 2s - loss: 0.1054 - acc: 0.968 - ETA: 1s - loss: 0.1083 - acc: 0.968 - ETA: 1s - loss: 0.1077 - acc: 0.968 - ETA: 1s - loss: 0.1101 - acc: 0.967 - ETA: 1s - loss: 0.1099 - acc: 0.967 - ETA: 1s - loss: 0.1097 - acc: 0.967 - ETA: 1s - loss: 0.1092 - acc: 0.967 - ETA: 1s - loss: 0.1094 - acc: 0.967 - ETA: 1s - loss: 0.1090 - acc: 0.967 - ETA: 1s - loss: 0.1085 - acc: 0.968 - ETA: 1s - loss: 0.1084 - acc: 0.968 - ETA: 1s - loss: 0.1083 - acc: 0.968 - ETA: 1s - loss: 0.1085 - acc: 0.967 - ETA: 1s - loss: 0.1079 - acc: 0.967 - ETA: 1s - loss: 0.1080 - acc: 0.968 - ETA: 1s - loss: 0.1077 - acc: 0.968 - ETA: 1s - loss: 0.1075 - acc: 0.968 - ETA: 1s - loss: 0.1071 - acc: 0.968 - ETA: 1s - loss: 0.1067 - acc: 0.968 - ETA: 1s - loss: 0.1069 - acc: 0.968 - ETA: 1s - loss: 0.1067 - acc: 0.968 - ETA: 0s - loss: 0.1065 - acc: 0.968 - ETA: 0s - loss: 0.1066 - acc: 0.968 - ETA: 0s - loss: 0.1063 - acc: 0.968 - ETA: 0s - loss: 0.1063 - acc: 0.968 - ETA: 0s - loss: 0.1056 - acc: 0.968 - ETA: 0s - loss: 0.1051 - acc: 0.969 - ETA: 0s - loss: 0.1051 - acc: 0.969 - ETA: 0s - loss: 0.1045 - acc: 0.969 - ETA: 0s - loss: 0.1044 - acc: 0.969 - ETA: 0s - loss: 0.1044 - acc: 0.969 - ETA: 0s - loss: 0.1039 - acc: 0.969 - ETA: 0s - loss: 0.1040 - acc: 0.969 - ETA: 0s - loss: 0.1044 - acc: 0.969 - ETA: 0s - loss: 0.1037 - acc: 0.969 - ETA: 0s - loss: 0.1042 - acc: 0.969 - ETA: 0s - loss: 0.1038 - acc: 0.969 - ETA: 0s - loss: 0.1035 - acc: 0.969 - ETA: 0s - loss: 0.1032 - acc: 0.969 - ETA: 0s - loss: 0.1035 - acc: 0.969 - ETA: 0s - loss: 0.1035 - acc: 0.969 - 3s 50us/step - loss: 0.1035 - acc: 0.9694 - val_loss: 0.0872 - val_acc: 0.9731
  • tqdmインポートなし
Train on 60000 samples, validate on 10000 samples Epoch 1/20 60000/60000 [==============================] - 4s 70us/step - loss: 0.2448 - acc: 0.9247 - val_loss: 0.1020 - val_acc: 0.9681 Epoch 2/20 60000/60000 [==============================] - 2s 41us/step - loss: 0.0998 - acc: 0.9690 - val_loss: 0.0814 - val_acc: 0.9742

補足情報(FW/ツールのバージョンなど)

Windows10
Anaconda 1.9.7
python 3.6.8
tensorflow-gpu 1.14.0
keras 2.2.4
tqdm 4.25.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

これは自分も調べて初耳だったのですが、keras-tqdmと呼ばれるライブラリが別途あるらしいです。

https://blog.shoby.jp/entry/2017/05/31/100000

もし差し支えなければ、こちらを利用してみてはどうでしょうか?

投稿2019/07/14 16:28

bamboo-nova

総合スコア1408

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ryomax

2019/07/14 23:14

ご回答ありがとうございます。 こんなライブラリがあるんですね。keras-tqdmにて一応今回の問題は解決いたしました。 ただ、根本的にはtqdmとkerasの問題は未解決です。 やはりこのあたりは依存性の問題が強く、特定の環境下ではこのようなことが起こってしまうものだと 諦めるしかないのでしょうか? ありがとうございました。
bamboo-nova

2019/07/15 03:30

fit関数などを使うとプログレスバーを出力してくれてくれるのですが、そこの機能とtqdmが競合してしまうんだと思います。あくまで推測ですが...汗
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問