Conv1D
You might remember Convolution Neural Networks (ConvNets, or CNNs) from Chapter 3, Utilizing Computer Vision, where we looked briefly at roofs and insurance. In computer vision, convolutional filters slide over the image two-dimensionally. There is also a version of convolutional filters that can slide over a sequence one-dimensionally. The output is another sequence, much like the output of a two-dimensional convolution was another image. Everything else about one-dimensional convolutions is exactly the same as two-dimensional convolutions.
In this section, we're going to start by building a ConvNet that expects a fixed input length:
n_features = 29 max_len = 100 model = Sequential() model.add(Conv1D(16,5, input_shape=(100,29))) model.add(Activation('relu')) model.add(MaxPool1D(5)) model.add(Conv1D(16,5)) model.add(Activation('relu')) model.add(MaxPool1D(5)) model.add(Flatten()) model.add(Dense(1))
Notice that next to Conv1D
and Activation
, there are two more layers in this network...