훈련 된 모델의 결과가 numpy 출력 파일의 Flatten 레이어로 끝납니다. 나는 그들을로드하고 Dense 레이어의 입력으로 사용하려고합니다.순차적 Keras 모델의 Dense 레이어에 1 차원 데이터로드
train_data = np.load(open('bottleneck_flat_features_train.npy'))
train_labels = np.array([0] * (nb_train_samples/2) + [1] * (nb_train_samples/2))
#
validation_data = np.load(open('bottleneck_flat_features_validation.npy'))
validation_labels = np.array([0] * (nb_validation_samples/2) + [1] * (nb_validation_samples/2))
#
top_m = Sequential()
top_m.add(Dense(2,input_shape=train_data.shape[1:], activation='sigmoid', name='top_dense1'))
top_m.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
#
top_m.fit(train_data, train_labels,
nb_epoch=nb_epoch, batch_size=my_batch_size,
validation_data=(validation_data, validation_labels))
그러나 나는 다음과 같은 오류 메시지가 :
ValueError: Error when checking model target: expected top_dense1 to have
shape (None, 2) but got array with shape (13, 1)
내 입력 치수는 (16,1536) -이 제한 트레일 런 1536 개 기능에 대한 16 개 이미지.
>>> train_data.shape
(16, 1536)
조밀 한 레이어에는 1 차원 1536 long 배열이 있어야합니다.
>>> train_data.shape[1]
1536
어떻게해야합니까? 많은 감사!
train_data.shape이란 무엇입니까? –
좋은 지적으로, 나는 그 정보를 내 질문에 추가했다. – user2182857