Одно горячее кодирование с входами переменной длины - PullRequest
0 голосов
/ 26 февраля 2019

У меня проблемы с выполнением однократного кодирования последовательностей переменной длины.У меня есть словарь с 21 символом, и я хочу, чтобы все мои выходные данные имели размерность (длина 21).В настоящее время у меня есть список из примерно 4000 последовательностей, которые были токенизированы (то есть все они числовые) переменной длины.

Проблема в том, что я не могу вызвать функцию keras.utils.to_categorical в списке длиной 4000потому что элементы имеют различный размер.Чтобы попытаться преодолеть это, попытался преобразовать их в один горячий элемент кодирования.

Проблема в том, что я получаю различные вторичные измерения, т.е. я получу (длина 20), (длина 18) и т. Д. Есть идеи?Вот сломанный код для справки.(train_aa_seq - список длиной 4000).

tokenizer = Tokenizer(char_level = True)
tokenizer.fit_on_texts(train_aa_seq)
X_train = tokenizer.texts_to_sequences(train_aa_seq)
X_train_ERROR = to_categorical(X_train) ##THIS WONT WORK
# X_train = X_train = sequence.pad_sequences(X_train, maxlen = maxlen, padding = 'post')
for i in range(len(X_train)):
    X_train_example = to_categorical(X_train[i])
    print(X_train_example.shape)
    # WORKS BUT WRONG SECOND DIMENSION
...