가장 자주 보게 될 에러 메시지
세 가지 TF 에러가 디버깅 시간의 80%를 잡아먹어. 보자마자 알아보면 시간 엄청 줄어.
에러 1: matmul shape 불일치. tf.matmul(a, b)는 a.shape[-1] == b.shape[-2] 필수. 보통 한쪽에 tf.transpose 걸면 해결. 짧게 tf.matmul(a, b, transpose_b=True)로 중간 tensor 안 만들고 처리.
에러 2: batch 차원 까먹음. (batch, ...)로 훈련된 model은 (...) 단일 샘플에 막혀. tf.expand_dims(x, axis=0) 또는 x[tf.newaxis]로 해결.
에러 3: dtype mismatch. NumPy는 default가 float64, TF는 float32 기대. 경계에서 캐스팅: tf.cast(np_array, tf.float32). PNG/JPEG 불러와서 uint8 0–255를 float32 0–1로 normalize 까먹는 image pipeline에서 가장 흔한 silent 버그가 이거.