私は訓練されたモデルの結果を持ち、numpy出力ファイルではFlattenレイヤーで終わります。 私はそれらをロードして密集層の入力として使用しようとしています。連続した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長アレイが必要です。
>>> train_data.shape[1]
1536
どうすればよいですか? 多くの感謝!
train_data.shapeとは何ですか? –
良い点、私はその情報を私の質問に加えました。 – user2182857