У меня проблемы с выполнением однократного кодирования последовательностей переменной длины.У меня есть словарь с 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