Я пытаюсь создать нейронную сеть с многомерной входной матрицей. Входные данные могут иметь размер 2x7, 8x7 или любое другое измерение с 7 столбцами. (Этот вход используется для структуры l oop, показанной ниже)
Мой вопрос: как создать обучающий DataFrame, который мог бы содержать несколько таких матриц с разными измерениями для питания нейронной сети? Я пытался обучить модель для l oop для каждой матрицы, но должен быть более подходящий метод для создания такого набора данных.
Примечание: я пытаюсь получить один вход со всеми такими различными размерными матрицами и это может легко сопоставить с их соответствующими выходами. Таким образом, входные данные должны выглядеть следующим образом (a, b, 7), где a - это число точек данных, которые являются матрицами с различной длиной строк, b - это количество строк в этом конкретном matrix and 7 - количество столбцов во всех матрицах.
Данные являются примером данных временного ряда, которые пользователи создали по времени. Поэтому мне нужно держать каждый ряд отдельных матриц в своем порядке. И вывод будет сгенерирован в следующий раз, когда пользователь создаст новую строку. Пожалуйста, поймите, в центре этого вопроса находится не модель, а способ представления этих данных для модели.
Вот код моей модели:
model.add(Lambda(lambda x: tf.expand_dims(x, axis=1), input_shape=[7]))
model.add(Dense(2048, activation='tanh'))
model.add(Dense(1024, activation='tanh'))
model.add(Dense(512, activation='tanh'))
model.add(Dense(216, activation='tanh'))
model.add(Flatten())
model.add(Dense(128, activation='tanh'))
model.add(Dense(7, activation='tanh'))
model.summary()
Мой l oop для Подходящая модель выглядит следующим образом:
for user_id in user_ids:
df = dailytable[dailytable['user_id']==user_id]
if df.shape[0] > 3:
X = df.iloc[:-1, :]
Y = df.iloc[-1, :]
Y = tf.reshape(Y, (1, 7))
if len(X.axes[0].tolist()) > 3:
model.fit(X, Y, epochs=5, steps_per_epoch=1)
Я хочу создать некоторую структуру данных, которая содержит все мои матрицы. Это будет выглядеть как трехмерная матрица. И все эти матрицы имеют разные входные формы, как описано выше. Но имеют одинаковый выход, т.е. 1x7. Вместо использования структуры l oop я хочу пропустить один ввод в начале обучения.