У меня есть замороженный граф LSTM, который принимает 10 последовательностей, и каждая входная последовательность имеет 10 векторов длины 2002.
Мой код работает на Python, но я не знаю, как сделать то же самое в C ++.
Как я могу преобразовать мою последовательность векторов в последовательность LSTM-готовых последовательностей тензоров?
Код:
/// concatenate vector 1 and vector 2 features
std::vector<float> vecOne_vecTwo_concat;
/// preallocate memory
vecOne_vecTwo_concat.reserve(vecOne.size() + vecTwo.size());
/// concatenate (first half is vecOne; second half is vecTwo)
/// add vecOne
vecOne_vecTwo_concat.insert(vecOne_vecTwo_concat.end(),
vecOne.begin(), vecOne.end());
/// add vecTwo
vecOne_vecTwo_concat.insert(vecOne_vecTwo_concat.end(),
vecTwo.begin(), vecTwo.end() );
/// append to vector of features
sequence_vector_.push_back(vecOne_vecTwo_concat);
/// check if we have enough sequences to make a classification
/// here n_rnn_steps_ is 10
/// each vector in this sequence is of length 2002
/// so we have 10 vectors, each of length 2002
if (sequence_vector_.size() == n_rnn_steps_) {
/* Here we feed the concatenated vector sequence into
the session running the LSTM graph
*/
/// reset vector after we have feed it into the session
sequence_vector_.clear();
}
Задача ещё не решена.
Других решений пока нет …