다음은 isinstance로 조건이 True/False인지 확인한 결과입니다.
True False True
따라서 assert c == 'M' or isinstance(c, int) 의미는 c가 'M'이 아니거나 int가 아니라면 오류가 발생합니다.
get_vgg_layers() 함수를 호출하여 모델의 계층을 생성합니다. 이때 배치 정규화(batch normalization)에 대한 계층도 추가합니다.
코드 6-43 모델 계층 생성
vgg11_layers = get_vgg_layers(vgg11_config, batch_norm=True) ------ ①
① batch_norm(Batch Normalization)은 데이터의 평균을 0으로, 표준편차를 1로 분포시키는 것입니다. 각 계층에서 입력 데이터의 분포는 앞 계층에서 업데이트된 가중치에 따라 변합니다. 즉, 각 계층마다 변화되는 분포는 학습 속도를 늦출 뿐만 아니라 학습도 어렵게 합니다. 따라서 각 계층의 입력에 대한 분산을 평균 0, 표준편차 1로 분포시키는 것이 batch_norm(배치 정규화)입니다. 배치 정규화는 8장에서 자세히 다룹니다.
생성한 계층을 확인해 보겠습니다.
코드 6-44 VGG11 계층 확인
print(vgg11_layers)