यह मेरा पहली बार Tensorflow का उपयोग कर रहा है और मेरे पास यह कोड है:
import tensorflow as tf
# Task: predict whether each sentence is a question or not.
sentences = tf.constant(
['What makes you think she is a witch?',
'She turned me into a newt.',
'A newt?',
'Well, I got better.'])
is_question = tf.constant([True, False, True, False])
# Build the Keras model.
keras_model = tf.keras.Sequential([
tf.keras.layers.Input(shape=[None], ragged=True),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(10)
])
keras_model.compile(loss='mse', optimizer='rmsprop',metrics=['accuracy'])
keras_model.fit(sentences, is_question, epochs=5)
test_loss, test_acc = keras_model.evaluate(sentences, is_question)
print('\nTest accuracy:', test_acc)
लेकिन जब मैं इसका उपयोग करने का प्रयास करता हूं तो मुझे यह त्रुटि मिलती है:
ValueError: The last dimension of the inputs to `Dense` should be defined. Found `None`.
2 जवाब
कोड के साथ कुछ समस्याएं हैं:
- आपको इनपुट परत के आकार को निर्दिष्ट करने की आवश्यकता है।
- आप कच्चे पाठ को एक गहरे मॉडल में नहीं खिला सकते। आपको इसे पूर्णांक में टोकन करने की आवश्यकता है।
- (वह जो वास्तव में उल्लिखित त्रुटि उठाता है :) आप उस मॉडल को इनपुट नहीं खिला सकते हैं जिसने पिछले आयाम को रैग किया है। निरंतर अनुक्रम लंबाई तक पहुंचने के लिए आपको शून्य के साथ इनपुट को पैड करने की आवश्यकता है।
टोकनिंग और पैडिंग के लिए आप निम्न कोड का उपयोग कर सकते हैं:
from keras.preprocessing.text import Tokenizer
tokenizer = Tokenizer(num_words=my_max)
tokenizer.fit_on_texts(text)
sequences = tokenizer.texts_to_sequences(text)
sequences_matrix = sequence.pad_sequences(sequences, maxlen=max_sequence_length,
truncating='post', padding='post')
आप रैग्ड अंतिम आयाम (जहां वाक्यों की लंबाई अलग-अलग हैं) के साथ टेंसर के साथ अपने मॉडल का उपयोग नहीं कर सकते।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।