Ошибка Tensorflow keras AttributeError: объект «кортеж» не имеет атрибута «нижний»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка Tensorflow keras AttributeError: объект «кортеж» не имеет атрибута «нижний»

Сообщение Anonymous »

У меня есть код:

Код: Выделить всё

import tensorflow as tf
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Embedding, LSTM, Dense

conversations = [
("Hello", "Hi there!"),
("How are you?", "I'm doing well, thanks."),
("What's your name?", "I'm a chatbot."),
]

tokenizer = Tokenizer()
tokenizer.fit_on_texts(conversations)

vocab_size = len(tokenizer.word_index) + 1

sequences = tokenizer.texts_to_sequences(conversations)
max_sequence_len = max([len(seq) for seq in sequences])

X, y = zip(*sequences)
X = pad_sequences(X, maxlen=max_sequence_len, padding='post')
y = pad_sequences(y, maxlen=max_sequence_len, padding='post')

model = Sequential([
Embedding(vocab_size, 64, input_length=max_sequence_len, mask_zero=True),
LSTM(100, return_sequences=True),
Dense(vocab_size, activation='softmax')
])

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

model.fit(X, y, epochs=50, verbose=1)

def generate_response(input_text):
input_seq = tokenizer.texts_to_sequences([input_text])
padded_input = pad_sequences(input_seq, maxlen=max_sequence_len, padding='post')
predicted_output = model.predict(padded_input)
predicted_word_index = tf.argmax(predicted_output, axis=-1).numpy()
response = tokenizer.sequences_to_texts(predicted_word_index)
return response[0]

while True:
user_input = input(">>> ")
response = generate_response(user_input)
print(f"Chatbot: {response}")
Но у меня ошибка:

Код: Выделить всё

Traceback (most recent call last):
File "C:\Users\mceca\Desktop\chatbot.py", line 14, in 
tokenizer.fit_on_texts(conversations)
File "C:\Users\mceca\AppData\Roaming\Python\Python310\site-packages\keras\preprocessing\text.py", line 293, in fit_on_texts
seq = text_to_word_sequence(
File "C:\Users\mceca\AppData\Roaming\Python\Python310\site-packages\keras\preprocessing\text.py", line 74, in text_to_word_sequence
input_text = input_text.lower()
AttributeError: 'tuple' object has no attribute 'lower'
Я установил tensorflow==2.12.0
Я не хочу менять версию tensorflow, а моя ОС — Windows 10, и я не хочу У меня нет графического процессора, у меня есть только процессор.
Я работаю с keras, но если у вас есть предложения по другому способу работы с тензорным потоком, вы можете предложить мне.
Как исправить эту ошибку? Если у вас есть дополнительные ответы, введите все.

Подробнее здесь: https://stackoverflow.com/questions/780 ... bute-lower
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»