0

When I run below code:

model.output(samples).getDouble(0);

I receive error:

org.deeplearning4j.exception.DL4JInvalidInputException: 
Cannot do forward pass in Convolution layer (layer name = conv1d_1, layer index = 0): input array channels does not match CNN layer configuration 
(data input channels = 80, [minibatch,inputDepth,height,width]=[1, 80, 3, 1]; expected input channels = 3) 
(layer name: conv1d_1, layer index: 0, layer type: Convolution1DLayer)

I created the data as float[] array, with length = 240. Creation of INDArray:

 INDArray features = Nd4j.create(data, new int[]{1, 240}, 'c');

Here is my keras model:

model = Sequential()
model.add(Reshape((const.PERIOD, const.N_FEATURES), input_shape=(240,)))
model.add(Conv1D(100, 10, activation='relu', input_shape=(const.PERIOD, const.N_FEATURES)))
model.add(Conv1D(100, 10, activation='relu'))
model.add(MaxPooling1D(const.N_FEATURES))
model.add(Conv1D(160, 10, activation='relu'))
model.add(Conv1D(160, 10, activation='relu'))
model.add(Flatten())
model.add(Dropout(0.5))
model.add(Dense(7, activation='softmax'))
model.summary()
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

Where PERIOD = 80, N_FEATURES = 3

If I set shape as:

 INDArray features = Nd4j.create(data, new int[]{240, 1});

Then error is:

IllegalStateException: Input shape [240, 1] and output shape[240, 1] do not match
    at org.deeplearning4j.nn.modelimport.keras.preprocessors.ReshapePreprocessor.preProcess(ReshapePreprocessor.java:103)
    at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.outputOfLayerDetached(MultiLayerNetwork.java:1256)
    at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.output(MultiLayerNetwork.java:2340)
    at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.output(MultiLayerNetwork.java:2303)
    at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.output(MultiLayerNetwork.java:2294)
    at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.output(MultiLayerNetwork.java:2281)
    at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.output(MultiLayerNetwork.java:2377)
yaw
  • 303
  • 2
  • 11

1 Answers1

0

Can you file an issue? This looks like a bug. Thanks. https://github.com/eclipse/deeplearning4j/issues

Susan Eraly
  • 339
  • 1
  • 7