使用Keras定义CNN架构时出错

2024-05-19 16:30:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图建立一个卷积神经网络来训练我之前用word2vec获得的单词向量。在

我的CNN输入的是句子。每个句子都是一个大小为(1,50)的词向量数组。因此,根据N(句子中的单词数),输入是一个大小为(N,50)的向量

CNN的定义如下:

def word2vec2intentions(num_classes):
    # create model
    model = Sequential()
    model.add(Conv2D(5, (2, 50), input_shape=(1, 50, None), activation='relu', strides=1, padding="valid"))
    model.add(MaxPooling2D(pool_size=(1, 5)))
    model.add(Dense(5, activation='sigmoid'))
    model.add(Dropout(0.1))
    model.add(Dense(10, activation='sigmoid'))
    model.add(Dense(num_classes, activation='softmax'))
    # Compile model
    model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
    return model

但是,当我尝试运行该函数时,我得到以下错误:

Using TensorFlow backend. Traceback (most recent call last): File "/Users/zakariael/darija-word2vec/keras_intent_classifier.py", line 35, in model = word2vec2intentions(22) File "/Users/zakariael/darija-word2vec/keras_intent_classifier.py", line 27, in word2vec2intentions model.add(Dense(5, activation='sigmoid')) File "/Users/zakariael/.virtualenvs/tf/lib/python3.6/site-packages/keras/models.py", line 469, in add output_tensor = layer(self.outputs[0]) File "/Users/zakariael/.virtualenvs/tf/lib/python3.6/site-packages/keras/engine/topology.py", line 569, in call self.build(input_shapes[0]) File "/Users/zakariael/.virtualenvs/tf/lib/python3.6/site-packages/keras/layers/core.py", line 825, in build constraint=self.kernel_constraint) File "/Users/zakariael/.virtualenvs/tf/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 87, in wrapper return func(*args, **kwargs) File "/Users/zakariael/.virtualenvs/tf/lib/python3.6/site-packages/keras/engine/topology.py", line 391, in add_weight weight = K.variable(initializer(shape), dtype=dtype, name=name) File "/Users/zakariael/.virtualenvs/tf/lib/python3.6/site-packages/keras/initializers.py", line 200, in call scale /= max(1., float(fan_in + fan_out) / 2)

TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

你知道怎么解决这个问题吗?谢谢您。在


Tags: inpyaddmodellibpackagestfline