Error de dimensión negativa al usar keras Convolutional1D Layer

Estoy tratando de crear un personaje usando Keras. Ese tipo de cnn requiere que usesConvolutional1D capa. Pero todas las formas en que trato de agregarlos a mi modelo, me da errores en la etapa de creación. Aquí está mi código:

def char_cnn(n_vocab, max_len, n_classes):
    conv_layers = [[256, 7, 3],
                   [256, 7, 3],
                   [256, 3, None],
                   [256, 3, None],
                   [256, 3, None],
                   [256, 3, 3]]
    fully_layers = [1024, 1024]
    th = 1e-6

    embedding_size = 128

    inputs = Input(shape=(max_len,), name='sent_input', dtype='int64')

    # Embedding layer

    x = Embedding(n_vocab, embedding_size, input_length=max_len)(inputs)

    # Convolution layers
    for cl in conv_layers:
        x = Convolution1D(cl[0], cl[1])(x)
        x = ThresholdedReLU(th)(x)
        if not cl[2] is None:
            x = MaxPooling1D(cl[2])(x)


    x = Flatten()(x)


    #Fully connected layers

    for fl in fully_layers:
        x = Dense(fl)(x)
        x = ThresholdedReLU(th)(x)
        x = Dropout(0.5)(x)


    predictions = Dense(n_classes, activation='softmax')(x)

    model = Model(input=inputs, output=predictions)

    model.compile(optimizer='adam', loss='categorical_crossentropy')

    return model

Y aquí está el error que recibo cuando intento llamarchar_cnn función

InvalidArgumentError                      Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/common_shapes.py in _call_cpp_shape_fn_impl(op, input_tensors_needed, input_tensors_as_shapes_needed, require_shape_fn)
    685           graph_def_version, node_def_str, input_shapes, input_tensors,
--> 686           input_tensors_as_shapes, status)
    687   except errors.InvalidArgumentError as err:

/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/errors_impl.py in __exit__(self, type_arg, value_arg, traceback_arg)
    515             compat.as_text(c_api.TF_Message(self.status.status)),
--> 516             c_api.TF_GetCode(self.status.status))
    517     # Delete the underlying status object from memory otherwise it stays alive

InvalidArgumentError: Negative dimension size caused by subtracting 3 from 1 for 'conv1d_26/convolution/Conv2D' (op: 'Conv2D') with input shapes: [?,1,1,256], [1,3,256,256].

¿Como arreglarlo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta