Привет всем, я пытаюсь построить модель для предсказания эмоций в речи. Поскольку аудио имеет разную длину, матрицы функций также имеют разную длину, и поэтому у меня есть переменный временной шаг. На других ответах я прочел, что могу оставить форму ввода LSTM следующим образом: model.add(LSTM(1, input_shape=(None, 31)))
Затем мне нужно изменить форму входных данных тренировки, это список двумерных массивов переменной длины временного шага (Tx, Возможности ) в список трехмерных массивов длины (1, Tx, Features) для Model.fit()
Я надеюсь, логика c, стоящая за тем, что я делаю, верна, но в любом случае я получаю ошибку при изменении формы. Я убедился, что типы были правильными, я не знаю, в чем может быть проблема, вот код:
def rnn(x_train, x_test, y_train, y_test):
for e in x_train:
print(type(e))
print(type(e.shape[0]))
print(type(e.shape[1]))
x_train[e]=np.reshape(e,(1,e.shape[0],e.shape[1]))
model = Sequential()
model.add(LSTM(1, input_shape=(None, 31)))
model.add(Dropout(0.2))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(5, activation='softmax'))
opt = tf.keras.optimizers.Adam(lr=1e-3, decay=1e-5)
model.compile(loss='sparse_categorical_crossentropy', optimizer=opt, metrics=['accuracy'])
model.fit(x_train, y_train, epochs=3, validation_data=(x_test, y_test))
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.3\plugins\python-ce\helpers\pydev\pydevd.py", line 1434, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.3\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:/Users/mp95/PycharmProjects/Thesis/Main.py", line 16, in <module>
rnn(x_train, x_test, y_train, y_test)
File "C:\Users\mp95\PycharmProjects\Thesis\models.py", line 15, in rnn
x_train[e]=np.reshape(e,(1,e.shape[0],e.shape[1]))
TypeError: only integer scalar arrays can be converted to a scalar index
<class 'numpy.ndarray'>
<class 'int'>
<class 'int'>
Большое спасибо, мой набор данных небольшой (450 примеров) также любые другие советы о том, что мне делать с моделью, очень приветствуются, так как я новичок в этом деле!