определение input_shape в плотном слое, когда input является массивом - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть входной массив для классификатора глубокого обучения, который выглядит следующим образом:

[[ a1, [b1,c1]
       [d1,e1]
       [f1,g1]]
 [ a2, [b2,c2]
       [d2,e2]
       [f2,g2]]
       [h2,i2]]
       .......]

Таким образом, у каждого набора есть один float и один массив (N, 2), где N не одинаково для каждого набора..

При поиске в Google я заметил, что могу ввести несколько размеров в значение input_shape, поэтому я попытался:

input_shape=(1,(2,None)) /None means undefined size

Я пытался изменить порядок, но это не помогло.Каждый раз, когда я меняю input_dim на input_shape, у меня есть:

TypeError: Error converting shape to a TensorShape: int() argument must be a string, a bytes-like object or a number, not 'tuple'.

Как мне определить входной дим в моем случае?Спасибо!

Код:

classifier = Sequential()
classifier.add(Dense(output_dim = 10, init = 'uniform', activation = 'relu', input_shape=(1,(2,None))))
classifier.add(Dense(output_dim = 10, init = 'uniform', activation = 'relu'))
classifier.add(Dense(output_dim = 1, init = 'uniform', activation = 'sigmoid'))
classifier.compile(optimizer = 'Adamax', loss = 'binary_crossentropy', metrics = ['accuracy'])
classifier.fit(X_train, y_train, batch_size = 10, epochs = 100)
...