천 번은 돌릴 네 가지 점검
거의 모든 TF 디버깅 세션은 헷갈리는 거에 .shape랑 .dtype 호출하면서 시작해. 이 속성들은 계산 안 돌려 — 메타데이터고 즉시 읽혀.
shape에 None 들어갈 수 있어. dynamic 차원이라는 뜻. model input spec에서 batch size나 sequence length가 graph build 시점에 고정 안 됐을 때 흔해. model.summary() 출력에서 (None, 224, 224, 3)는 "아무 batch size, 224×224 RGB image"라는 뜻.
.device 속성은 tensor가 어디 사는지 — CPU냐 GPU냐. GPU tensor에 .numpy() 부르면 CPU로 암묵적 복사가 일어나. 가끔 inspection엔 괜찮지만 tight loop에서는 비싸.