1. В машинном обучении обычно обучают на минибатчах - блоках по N примеров, где N обычно не больше 100 - а не по одному.
2. Поэтому там на вход подается не двумерный, а трехмерный массив - <кол-во примеров в минибатче>*<максимальная длина последовательности>*<количество фич \ размерность вектора слова>
3. Прогонять текст через word2vec можно в составе нейронной сети на Keras - есть слой Embedding, в котором можно предустанавливать значения весов. Тогда входные значения - это последовательности id'шников слов.
4. Есть же примеры:
https://github.com/keras-team/keras/blob/master/ex...