मैं केरस-आरएल का उपयोग करके एक डीक्यूएन एजेंट को लागू करने की कोशिश कर रहा हूं। समस्या यह है कि जब मैं अपने मॉडल को परिभाषित करता हूं तो मुझे आर्किटेक्चर में LSTM परत का उपयोग करने की आवश्यकता होती है:

model = Sequential()
model.add(Flatten(input_shape=(1, 8000)))
model.add(Reshape(target_shape=(200, 40)))
model.add(LSTM(20))
model.add(Dense(3, activation='softmax'))
return model

आरएल-एजेंट को निष्पादित करने से मुझे निम्न त्रुटि मिलती है:

RuntimeError: Attempting to capture an EagerTensor without building a function.

जो LSTM के उपयोग और कोड की निम्नलिखित पंक्ति से संबंधित है:

tf.compat.v1.disable_eager_execution()

LSTM के बजाय सघन परत का उपयोग करना:

model = Sequential()
model.add(Flatten(input_shape=(1, 8000)))
model.add(Dense(20))
model.add(Dense(3, activation='softmax'))
return model

और उत्सुक निष्पादन को अक्षम बनाए रखना मेरे पास पहले से रिपोर्ट की गई त्रुटि नहीं है। अगर मैं LSTM परत के साथ उत्सुक निष्पादन को अक्षम करने को हटा देता हूं तो मेरे पास अन्य त्रुटियां हैं।

क्या कोई मुझे त्रुटि के कारण को समझने में मदद कर सकता है?

0
Anto 22 जिंदा 2020, 17:22

3 जवाब

सबसे बढ़िया उत्तर

keras-rl लाइब्रेरी में TensorFlow 2.0 के लिए स्पष्ट समर्थन नहीं है, इसलिए यह TensorFlow के ऐसे संस्करण के साथ काम नहीं करेगा। लाइब्रेरी को बहुत कम अपडेट किया गया है और अंतिम रिलीज़ लगभग 2 साल पुरानी है (2018 से), इसलिए यदि आप इसका उपयोग करना चाहते हैं तो आपको TensorFlow 1.x का उपयोग करना चाहिए।

1
Dr. Snoopy 22 जिंदा 2020, 19:13

जीथब सपोर्ट टेंसरफ़्लो 2.x . से केरस-आरएल2 स्थापित करें

1
maddy23 3 मई 2020, 14:29

हालांकि उत्सुक निष्पादन और इसलिए LSTM का उपयोग करने के लिए keras-rl के लिए कोड को माइग्रेट करना संभव है। LSTM को सीखने के पूरे एपिसोड के साथ अपडेट करने की आवश्यकता है ताकि यह सही साबित हो सके कि keras-rl समर्थन नहीं करता है। यहां और देखें: https://github.com/keras-rl/keras- आरएल/मुद्दों/41

0
FunkyGibbon 6 अप्रैल 2020, 16:23