1
Iとして設定kerasモデルを持っているが(TF 1.2.1)以下:Kerasトレーニングループはどのように損失値をフィルタリングしますか?
import tensorflow.contrib.keras as keras
model = keras.models.Sequential()
...
model.compile(loss=keras.losses.mean_squared_error,
optimizer=keras.optimizers.Adam(lr=1e-4))
model.summary()
Layer (type) Output Shape Param #
=================================================================
conv2d_1 (Conv2D) (None, 29, 29, 64) 6336
_________________________________________________________________
conv2d_2 (Conv2D) (None, 13, 13, 128) 204928
_________________________________________________________________
conv2d_3 (Conv2D) (None, 11, 11, 256) 295168
_________________________________________________________________
conv2d_4 (Conv2D) (None, 5, 5, 256) 590080
_________________________________________________________________
flatten_1 (Flatten) (None, 6400) 0
_________________________________________________________________
dense_1 (Dense) (None, 2) 12802
=================================================================
Total params: 1,109,314
Trainable params: 1,109,314
Non-trainable params: 0
出力は、単純なフロートベクトルであり、所望のように、それが収束します。損失は平均平方誤差です。出力例:
18/100 [====>.........................] - ETA: 30s - loss: 31.5118
19/100 [====>.........................] - ETA: 29s - loss: 30.7577
20/100 [=====>........................] - ETA: 29s - loss: 29.7815
21/100 [=====>........................] - ETA: 28s - loss: 29.0535
22/100 [=====>........................] - ETA: 28s - loss: 28.1963
23/100 [=====>........................] - ETA: 28s - loss: 27.3314
24/100 [======>.......................] - ETA: 28s - loss: 26.7219
25/100 [======>.......................] - ETA: 28s - loss: 25.9702
26/100 [======>.......................] - ETA: 27s - loss: 25.4181
27/100 [=======>......................] - ETA: 27s - loss: 25.0638
28/100 [=======>......................] - ETA: 27s - loss: 24.6081
29/100 [=======>......................] - ETA: 26s - loss: 24.0928
損失は着実に減少しているようです。私は本当の損失([email protected]_batch_end
)を見たときしかし、それはとてもスムーズではありません。
25.473383
28.051779
20.519075
13.204493
20.74946
21.246254
25.611149
13.194682
13.268744
15.408422
17.183851
11.232637
14.493115
10.196851
私はKerasソースコードで掘ることを試みたが、ボンネットの下に何が起こっているのか理解できませんでした。 Kerasは実際の損失をどのようにフィルタリングしますか?どこでソースコードを見つけることができますか?
ありがとうございます!
入手しました。ありがとう! – Wilco