##質問
kerasで損失関数を自作しました.その中で,損失関数が呼ばれた回数を使いたいと思いまして,以下のようにcountに逐次+1をするようにコードを書きました.しかし,最後のprint(count)の出力が1になってしまいます.
損失関数は1回しか呼ばれてないのでしょうか.
##code
python
1count = 0 2 3def encoder(input_): 4 d1 = Dense(3, activation='relu', name='encoder_input')(input_) 5 d2 = Dense(2, 'encoder_output')(d1) 6 return d2 7 8def decoder(input_): 9 d1 = Dense(3, activation='relu', name='decoder_input')(input_) 10 d2 = Dense(2, name='decoder_output')(d1) 11 return d2 12 13def my_loss_function(y_pred, y_true): 14 global count 15 count += 1 16 return K.mean(K.square(y_pred - y_true), axis=-1) 17 18# input 19input = Input(shape=(2,)) 20 21# output 22output = decoder(encoder(input)) 23 24# model 25model = Model(input=input, output=output) 26 27model.compile(optimizer='adam', loss='my_loss_function') 28model_hist = model.fit(x_train, x_test, 29 epochs=n_epoch, 30 batch_size=1, 31 verbose=verbose, 32 shuffle=True) 33 34print('count=',count) 35#count=1

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/31 12:56
2019/07/31 13:09
2019/07/31 13:21