“BatchNormalization”未定义

尝试训练一个 Robust CNN 模型,其定义如下:


from keras.datasets import cifar10

from keras.utils import np_utils

from keras import metrics

from keras.models import Sequential

from keras.layers import Dense, Flatten, Conv2D, MaxPooling2D, LSTM, merge

from keras.layers import BatchNormalization

from keras import metrics

from keras.losses import categorical_crossentropy

from keras.optimizers import SGD

import pickle

import matplotlib.pyplot as plt

import numpy as np 

from keras.preprocessing.image import ImageDataGenerator

from keras import layers

from keras.callbacks import EarlyStopping




def Robust_CNN():

    

    model = Sequential()

    model.add(Conv2D(256, (3, 3), activation='relu', padding='same', init='glorot_uniform', input_shape=(2,128,1)))

    model.add(BatchNormalization())

    model.add(MaxPooling2D(pool_size=(1, 2), padding='valid',  data_format=None))

    model.add(layers.Dropout(.3))

    model.add(Conv2D(128, (3, 3), activation='relu', init='glorot_uniform', padding='same'))

    model.add(BatchNormalization())

    model.add(MaxPooling2D(pool_size=(1, 2), padding='valid', data_format=None))

    model.add(layers.Dropout(.3))

    model.add(Conv2D(64, (3, 3), activation='relu', init='glorot_uniform', padding='same'))

    model.add(BatchNormalization())

    model.add(MaxPooling2D(pool_size=(1, 2), padding='valid', data_format=None))

    model.add(layers.Dropout(.3))

    model.add(Conv2D(64, (3, 3), activation='relu', init='glorot_uniform', padding='same'))

    model.add(BatchNormalization())

    model.add(MaxPooling2D(pool_size=(1, 2), padding='valid', data_format=None))

    model.add(layers.Dropout(.3))

    model.add(Flatten())

    model.add(Dense(128, activation='relu', init='he_normal'))

    model.add(BatchNormalization())

    model.add(Dense(11, activation='softmax', init='he_normal'))

    

    return model


即使我已经导入了 BatchNormalization,似乎也无法弄清楚为什么会这样。


冉冉说
浏览 113回答 5
5回答

隔江千里

首先BatchNormalization从导入tensorflow.keras.layers,然后运行您的代码:from tensorflow.keras.layers import BatchNormalization

慕丝7291255

将其添加到您的代码中 -from tensorflow.keras.layers import BatchNormalization

qq_花开花谢_0

将其添加到您的代码中 -from tensorflow.keras.layers import BatchNormalization

皈依舞

# import BatchNormalizationfrom keras.layers.normalization import BatchNormalization

江户川乱折腾

导入批量归一化从tensorflow.keras.layers导入BatchNormalization
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python