我在尝试进行一个基于CNN的项目时遇到了一些问题。当我构建CNN模型时,在第14行的”model.add(Dropout(0.25))”处得到了一个错误。然而,在之前的第9行的”model.add(Dropout(0.25))”处并没有出现错误。能有人告诉我这里的问题是什么吗?为什么会出现这个错误?
model = Sequential()model.add(Conv2D(32 , kernel_size=(3,3), acitvation ='relu' , padding='same' , input_shape = (28,28,1)))model.add(BatchNormalization())model.add(Conv2D(32,kernel_size=(3,3),activation='relu' , padding='same'))model.add(BatchNormalization())model.add(MaxPool2D(pool_size=(2,2) ,strides=2))model.add(Dropout(0.25))model.add(Conv2D(64,kernel_size=(3,3),activation='relu' , padding='same'))model.add(BatchNormalization())model.add(MaxPool2D(pool_size=(2,2),strides=2,padding='valid')model.add( Dropout(0.25))model.add(Flatten())model.add(Dense(512,activation='relu'))model.add(BatchNormalization())model.add(Dropout(0.25))model.add(Dense(1024,activation='relu'))model.add(BatchNormalization())model.add(Dropout(0.5)) model.add(Dense(10,activation='softmax'))
错误信息如下:
File "<ipython-input-53-e1c5cf3b08b4>", line 14 model.add( Dropout(0.25)) ^SyntaxError: invalid syntax
回答:
你在上一行忘记加括号了。只需在第13行末尾加上括号即可。
model = Sequential() model.add(Conv2D(32 , kernel_size=(3,3), acitvation ='relu' , padding='same' , input_shape = (28,28,1))) model.add(BatchNormalization()) model.add(Conv2D(32,kernel_size=(3,3),activation='relu' , padding='same')) model.add(BatchNormalization()) model.add(MaxPool2D(pool_size=(2,2) ,strides=2)) model.add(Dropout(0.25)) model.add(Conv2D(64,kernel_size=(3,3),activation='relu' , padding='same')) model.add(BatchNormalization()) model.add(MaxPool2D(pool_size=(2,2),strides=2,padding='valid')) model.add( Dropout(0.25)) model.add(Flatten()) model.add(Dense(512,activation='relu')) model.add(BatchNormalization()) model.add(Dropout(0.25)) model.add(Dense(1024,activation='relu')) model.add(BatchNormalization()) model.add(Dropout(0.5)) model.add(Dense(10,activation='softmax'))