출처 (reference)
https://keras.io/examples/keras_recipes/debugging_tips/
https://discuss.tensorflow.org/t/what-does-the-run-eagerly-parameter-in-model-compile-do/1924/9

Tensorflow Keras를 사용해 모델을 훈련할 때, 학습 과정에서 tensor의 값을 확인하기 위해 code를 debug mode로 실행하는 방법을 소개한다.

compile()에 run_eargerly=True를 넘겨주고 fit()을 호출하는 방식이다.

...
model = get_model()

model.compile(loss=..., optimizer='...', ..., run_eagerly=True) # add 'run_eagerly=True'

model.fit(X_train, Y_train, epochs=1, batch_size=512, verbose=0, shuffle=True)

이 방법은 중간 단계의 tensor 값들을 출력하며 확인할 때 유용하게 쓸 수 있다. 특히 python debugger를 사용할 때 중간 값들을 바로 찍어볼 수 있어서, 학습 오류를 잡거나 계산 과정을 세밀하게 살펴볼 때 도움이 된다.

단, run_eargerly=True는 fit() 내부의 debugging을 위해 사용되고 이를 사용하면 속도가 느려지기 때문에, code가 정상적으로 돌아가고 학습이 잘 진행되는 것을 확인한 이후에는 최적의 runtime 성능을 위해 삭제해 주는 것이 좋다.