Попытка преобразовать «форму» в тензор и не удалось.Ошибка: фигуры должны быть одинакового ранга, но 0 и 3 - PullRequest
0 голосов
/ 15 апреля 2019

Это cnn-lstm со случайным набором данных.Я пытаюсь запустить это, но я всегда нахожу эту ошибку.

Попытка преобразовать 'shape' в тензор и не удалось.Ошибка: фигуры должны иметь одинаковый ранг, но равны 0 и 3. От слияния фигуры 0 с другими фигурами.для 'reshape_18 / Reshape / pack' (op: 'Pack') с входными формами: [], [32,32,1], [32,32,1], [32,32,1], [32,32, 1], [32,32,1], [32,32,1], [32,32,1].

row=32 
col=32 
canale=1 
n_samples=10
data = np.random.random((n_samples,row,col,canale))
label=np.random.random((10,1))
x_train=data[0:7,:]
y_train=label[0:7]
x_test=data[8:,:]
y_test=label[8:,:]
model=Sequential() 
ker=2                       
fil=32 
canale=1 
dim=2
model.add(Reshape((x_train)))
model.add(TimeDistributed(Conv2D(fil, (ker, ker), padding='same'), 
input_shape=x_train.shape[1:]))
model.add(TimeDistributed(AveragePooling2D(pool_size=(dim, dim))))
model.add(TimeDistributed(Flatten()))
units=1 
model.add(LSTM(units, return_sequences=True, name="lstm_layer"))
unitsdense=1 
model.add(Dense(unitsdense))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics= 
['accuracy'])
model.fit(x_train, y_train, epochs=2, batch_size=30)
scores = model.evaluate(x_train, y_train)
...