Ввод 0 слоя «dense_22» несовместим со слоем: ожидалось, что ось -1 входной формы будет иметь значение 100, но получен ввод с формой (100, 1).

      def addSpaces(text, minLength):
    while(len(text) < minLength):
        text += " "
    return text

def convertToTokens(text):
    return [ord(token) for token in text]

def buildExamples(text, paddedLength):
    trainExamples = []
    for i in range(len(text)):
        trainExample = addSpaces(text[:i], paddedLength)
        trainExamples.append(convertToTokens(trainExample))
    return trainExamples
        

paddedLength = 100
trainExamples = list(buildExamples(trainText[:-1], paddedLength))
trainLabels = [ord(token) for token in trainText[:-1]]
testExamples = list(buildExamples(testText[:-1], paddedLength))
testLabels = [ord(token) for token in testText[1:]]
trainDataset = tf.data.Dataset.from_tensor_slices((trainExamples, trainLabels))
testDataset = tf.data.Dataset.from_tensor_slices((testExamples, testLabels))
model = tf.keras.Sequential([
    tf.keras.layers.Flatten(input_shape=(100,)),
    tf.keras.layers.Dense(128, activation="relu"),
    tf.keras.layers.Dense(128)
])

Я пытаюсь построить простую модель генерации текста. Очевидно, что RNN или трансформаторная сеть были бы более эффективными, но я не настолько опытен. В этой последовательной модели я получаю следующую ошибку. Ввод 0 слоя «dense_22» несовместим со слоем: ожидалось, что ось -1 входной формы будет иметь значение 100, но получен ввод с формой (100, 1). К сожалению, я не уверен, что делать.

Я пытался настроить форму ввода, но безрезультатно.

0 ответов

Другие вопросы по тегам