Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';批量标准化&x27;没有定义_Python_Keras_Deep Learning_Nameerror_Batch Normalization - Fatal编程技术网

Python ';批量标准化&x27;没有定义

Python ';批量标准化&x27;没有定义,python,keras,deep-learning,nameerror,batch-normalization,Python,Keras,Deep Learning,Nameerror,Batch Normalization,尝试训练一个健壮的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 impor

尝试训练一个健壮的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
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-11-8084d29438f8> in <module>
     55 # >>>>>>>>>>>>>>>>>>>>> choose a model by un-commenting only one of the three <<<<<<<<<<<<<<<<<<<<<<<<<<<
     56 #xx_shape = (2,128,1)
---> 57 models = Robust_CNN()
     58 #models = CLDNN()
     59 #models = resnet(xx_shape)

~\AppData\Local\Programs\Python\Python37\Scripts\FYP\Optimizing-Modulation-Classification-with-Deep-Learning-master\Optimizing-Modulation-Classification-with-Deep-Learning-master\Robust_CNN Model\model.py in Robust_CNN()
     19 def Robust_CNN():
     20 
---> 21     model = Sequential()
     22     model.add(Conv2D(256, (3, 3), activation='relu', padding='same', init='glorot_uniform', input_shape=(2,128,1)))
     23     model.add(BatchNormalization())

NameError: name 'BatchNormalization' is not defined

但是,尝试执行此操作时,我收到一个名称错误,未定义名称“BatchNormalization”。完整的错误消息如下所示:

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
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-11-8084d29438f8> in <module>
     55 # >>>>>>>>>>>>>>>>>>>>> choose a model by un-commenting only one of the three <<<<<<<<<<<<<<<<<<<<<<<<<<<
     56 #xx_shape = (2,128,1)
---> 57 models = Robust_CNN()
     58 #models = CLDNN()
     59 #models = resnet(xx_shape)

~\AppData\Local\Programs\Python\Python37\Scripts\FYP\Optimizing-Modulation-Classification-with-Deep-Learning-master\Optimizing-Modulation-Classification-with-Deep-Learning-master\Robust_CNN Model\model.py in Robust_CNN()
     19 def Robust_CNN():
     20 
---> 21     model = Sequential()
     22     model.add(Conv2D(256, (3, 3), activation='relu', padding='same', init='glorot_uniform', input_shape=(2,128,1)))
     23     model.add(BatchNormalization())

NameError: name 'BatchNormalization' is not defined

---------------------------------------------------------------------------
NameError回溯(最近一次呼叫上次)
在里面

55#>>>>>>>>>>>>>>>>>>>>>>>通过仅取消注释三个选项中的一个来选择模型首先从tensorflow.keras.layers导入BatchNormalization,然后运行代码


从tensorflow.keras.layers导入批处理规范化

无法再现错误,我刚刚粘贴了您的代码,它正在工作,我想说您在其他地方有错误,可能是依赖性问题?哦,我明白了。我们将进一步调查此事。非常感谢你!