Перестановка вектора признаков при обучении модели керас - PullRequest
0 голосов
/ 27 мая 2019

У меня есть вектор объектов длиной 2000 байтов. И вектор признаков формируется путем объединения векторов признаков некоторых основных признаков изображения. Например, в изображении rgb обрабатываются данные цвета r, в результате чего получается векторный 200-байтовый объект. После получения всех векторов базовых признаков формируется конечный вектор признаков путем объединения их вместе, как показано на следующем рисунке.

Модифицированный векторный элемент формирования

Проблема заключается в том, что все векторы объектов уже сохранены в виде простой карты памяти с размерами (2000, 100000). Теперь я построил модель keras с несколькими входами и несколькими общими слоями. Теперь вектор объекта необходимо разделить на 4 500 байтовых векторов, как показано на рисунке.

# imports
import numpy as np

# all input layers take 500 byte vector
model = Model(inputs = [input1, input2, input3, input4], outputs = [output])

x_train = np.memmap("x_train.dat", dtype = "float32", mode = 'r', shape=(2000, 100000))
y_train = np.memmap("y_train.dat", dtype = "float32", mode = 'r', shape=100000)

model.compile()  # compiling

# now how can I split x_train into [500,500,500,500] as shown in figure?
model.fit(split(x_train), y_train)

Теперь вопрос в том, как разделить вектор по желанию, как показано на рисунке, без загрузки всех преобразованных векторов объектов в память?

Я могу упустить что-то очень простое. Но я не могу понять это сам. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...