Предоставленные данные содержат набор данных с записанными числами (45000 строк, 784 столбцов), набор данных из произносимых чисел (45000 строк, 1 столбец) и набор данных, содержащий метки со значениями TRUE или FALSE (45000, логическое значение).Значение метки равно TRUE, когда устное и письменное значение соответствуют одному и тому же номеру.Поэтому мне нужно создать нейронную сеть, чтобы предсказать, будет ли результат ИСТИНА или ЛОЖЬ.
Во-первых, я суммировал данные (мин, макс, среднее, стандартное отклонение) и применил Перцептрон, но коэффициент ошибокбыл слишком высокПоэтому сейчас я пытаюсь создать нейронную сеть для решения этой проблемы.Но я застреваю.
Сначала я изменил данные, чтобы заставить их работать:
written_train = written_train.reshape(45000,28,28)
spoken_train = spoken_train.reshape(45000,1,1)
После этого я хотел применить эту модель к данным:
def model(i,p,data_a,data_b,labels):
x=Input(shape=(28,28))
y=Input(shape=(1,1))
admi=LSTM(40,return_sequences=False)(x)
pla=LSTM(40,return_sequences=False)(y)
out=concatenate([admi,pla],axis=-1)
print(pla)
print(out)
output=Dense(1, activation='sigmoid')(out)
model = Model(inputs=[x, y], outputs=output)
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuracy'])
n=model.fit([data_a, data_b],labels,batch_size=1, epochs=10)
return n
re=model(1,4,written_train,spoken_train,match_train)
print(re)
Это приводит кследующее сообщение об ошибке:
ValueError: setting an array element with a sequence.
Так что я думаю, что требуется некоторая предварительная обработка, но я не знаю, как и что делать.Кроме того, это мой первый раз на Stackoverflow.Так что если есть что-то, что мне нужно улучшить, пожалуйста, дайте мне знать:)