У меня небольшая проблема с моей сетью. У меня есть данные в форме, подобной:
z = np.array([1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1]).astype(float)
z = np.expand_dims(z, axis=0)
print(type(z))
print(z.dtype)
print(z.shape)
Вывод:
<class 'numpy.ndarray'>
float64
(1, 14)
, и я хочу добавить к своему сетевому слою конвив, безвсе работает нормально.
nn = Sequential()
nn.add(Dense(32, input_dim=14, activation='relu'))
nn.add(Dense(64, activation='relu'))
#nn.add(Conv2D(64, (3, 3), activation='relu'))
nn.add(Dense(1, activation='sigmoid'))
nn.compile(loss=keras.losses.binary_crossentropy,
optimizer='rmsprop',
metrics=['accuracy'])
, но когда я добавляю конв слой, я получаю ошибку:
nn = Sequential()
nn.add(Dense(32, input_dim=14, activation='relu'))
nn.add(Dense(64, activation='relu'))
nn.add(Conv2D(64, (3, 3), activation='relu'))
nn.add(Dense(1, activation='sigmoid'))
nn.compile(loss=keras.losses.binary_crossentropy,
optimizer='rmsprop',
metrics=['accuracy'])
ошибка:
Traceback (most recent call last):
File "/home/administrator/PycharmProjects/BankMarketinData/main.py", line 95, in
main()
File "/home/administrator/PycharmProjects/BankMarketinData/main.py", line 75, in main
bestmodel = nnmodel.best_model()
File "/home/administrator/PycharmProjects/BankMarketinData/NNmodel.py", line 25, in best_model
nn.add(Conv2D(64, (3, 3), activation='relu'))
File "/home/administrator/anaconda3/lib/python3.6/site-packages/keras/engine/sequential.py", line 181, in add
output_tensor = layer(self.outputs[0])
File "/home/administrator/anaconda3/lib/python3.6/site-packages/keras/engine/base_layer.py", line 414, in __call__
self.assert_input_compatibility(inputs)
File "/home/administrator/anaconda3/lib/python3.6/site-packages/keras/engine/base_layer.py", line 311, in assert_input_compatibility
str(K.ndim(x)))
ValueError: Input 0 is incompatible with layer conv2d_1: expected ndim=4, found ndim=2
мне нужно просто добавитьодин слой conv2d для школьного проекта, ты можешь мне помочь?