#keras를 통한 배치 정규화 코드 예시

model = keras.models.Sequential([
    keras.layers.Flatten(input_shape=[28,28]),
    keras.layers.BatchNormalization(),
    keras.layers.Dense(300 , activation="elu" , kernel_initializer="he_normal"),
    keras.layers.BatchNormalization(),
    #......

위와 같이 hidden layer의 위나 아래에 배치 정규화 층을 추가한다. 배치 정규화 층은 입력마다 이동 parameter가 추가되어 이전층의 bias를 뺄 수 있는데, 만약 빼고 싶은 경우에는 아래 코드처럼 use_bias = False로 두면 된다.

#keras를 통한 배치 정규화 코드 예시 - use_bias=False

model = keras.models.Sequential([
    keras.layers.Flatten(input_shape=[28,28]),
    keras.layers.BatchNormalization(),
    keras.layers.Dense(300 , activation="elu" , 
    	kernel_initializer="he_normal" , use_bias=False),
    keras.layers.BatchNormalization(),
    #......

실제 배치 정규화를 적용할 때 팁은 배치 정규화 논문의 저자들에 따르면 activation function 이후보다 이전에 배치 정규화 층을 추가하는 것이 좋다고 한다. 하지만 이는 정해진 답이 아니고 결국 데이터셋에 따라 답은 달라지기 때문에 두 가지 방법 모두 해보고 괜찮은 결과를 택하는 것을 권장한다.