La función de impresión de Keras dentro de la pérdida no funciona

Estoy tratando de crear una función de pérdida en keras (Tensorflow Backend) pero estoy un poco atascado para verificar el interior de la función de pérdida personalizada. De hecho, la impresión aparece en la consola solo cuando compilo el modelo, después de eso no hay impresión. (Solo estoy probando una función personalizada muy simple, crearé la verdadera función cuando resuelva este problema). Entreno el modelo usando la función train_on_batch. Como puedó resolver esté problema ?

def loss_yolo(self, y_true, y_pred):  
    '''
        4*7*7 = 196
        1*7*7 = 49
        7*7*20 = 980
    '''
    print('inside loss function')
    loss = K.mean(y_true- y_pred)
    return loss
model.compile(optimizer='sgd', loss=loss_yolo)
print('train on batch')
print(model.train_on_batch(x, y))

mi salida:

función de pérdida interna

entrenar en lote

-0,481604

Respuestas a la pregunta(1)

Su respuesta a la pregunta