我正在尝试构建VGG16模型,但是遇到了
无效的语法错误
,同时进行编译。下一行的激活功能出错。
model.add(Convolution2D((64,3,3,activation='relu')))
但是,如果我按如下所示更改代码,则可以正常工作。
model.add(Convolution2D((64,3,3)))
model.add(Activation('relu'))
我已经看到许多相关的问题,答案说这是由于上面的代码行中缺少括号,但是我检查了括号,它们很好。当我在Convolution2D层中提到 activation 参数时,为什么代码会给我带来问题。我检查了documentation,它应该接受参数。我在这里想念什么。
这是详细的代码
from keras.models import Sequential
from keras.layers.core import Flatten,Dense,Dropout
from keras.layers.convolutional import Convolution2D, MaxPooling2D, ZeroPadding2D
from keras.layers import Activation
from keras.optimizers import SGD
import cv2, numpy as np
def VGG16(weights_path=none):
model = Sequential()
model.add(ZeroPadding2D((1,1),input=(3,224,224)))
model.add(Convolution2D(64,3,3,activation='relu'))
model.add(ZeroPadding2D((1,1)))
model.add(Convolution2D(64,3,3,activation='relu'))
model.add(MaxPooling2D((2,2),strides=(2,2)))