37837


python3を用いて、GPU上でKeras+Tensorflowを用いて簡単な計算をさせています。

現在、計算途中で、出力を表示させない方法を探しております。

自分の理解では、Kerasは毎回計算結果として以下のような出力を表示します。

[code]

    Epoch 1/500
    69/69 [==============================] - 3s - loss: 9828.8662
    Epoch 2/500
    69/69 [==============================] - 0s - loss: 338466.6562
    
[/code]

KerasのDocumentを調べた限りでは、Callbackというところでどうやらこの情報のやり取りは行われていますが、その出力を止める方法に関しては、わかりませんでした。

もし誰かご存知の方が追われましたら、ご教授をお願いします。  
よろしくお願いいたします。


CC BY-SA 3.0
2017-09-09T14:08:41.153
37831
2017-09-09T18:34:58.837
2017-09-09T18:34:58.837
19110
11048
question
python python3 keras
Kerasを用いたとき計算途中にログを出力させない方法


たとえば、以下のように、model.fit の verbose を 0 にして出力を抑止できます。

[code]

    model = Sequential([
        Dense(input_dim=2, units=1),
        Activation('sigmoid')
    ])
    model.compile(loss='binary_crossentropy', optimizer=SGD(lr=0.1))
    X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
    Y = np.array([[0], [1], [1], [1]])
    model.fit(X, Y, epochs=200, batch_size=1, verbose=0)
    # verbose: 0 for no logging to stdout, 1 for progress bar logging, 2 for one log line per epoch.
    
[/code]


CC BY-SA 3.0
2017-09-09T18:20:21.540
37837
2017-09-09T18:20:21.540
37831
answer


`.fit()` や `.fit_generator()` のオプション引数で `verbose = 0`
とするとログが出力されなくなります。このオプションはデフォルト値が `1` であり、プログレスバーを出力する設定になっています。

たとえば Sequential モデルの [`fit`
メソッドのマニュアル](https://keras.io/ja/models/sequential/#fit) には次のように書いてあります。

> **verbose** : 0とすると標準出力にログを出力しません． 1の場合はログをプログレスバーで標準出力，2
> の場合はエポックごとに1行のログを出力します．


CC BY-SA 3.0
2017-09-09T18:21:50.227
37838
2017-09-09T18:21:50.227
19110
37831
answer