मैं एक अजगर आवेदन में साथ model.fit() समानांतर कुछ विभिन्न मॉडलों को प्रशिक्षित करना चाहते हैं। प्रयुक्त मॉडल में कुछ सामान्य नहीं होता है, वे अलग-अलग समय में एक आवेदन में शुरू होते हैं।बहु सूत्रण/keras
सबसे पहले मैं एक अलग धागा तो मुख्य थ्रेड में कोई समस्या नहीं के साथ एक model.fit() शुरू करते हैं।
start_learn(self:)
tf_session = K.get_session() # this creates a new session since one doesn't exist already.
tf_graph = tf.get_default_graph()
keras_learn_thread.Learn(learning_data, model, self.env_cont, tf_session, tf_graph)
learning_results.start()
:
Exception in thread Thread-1:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Node 'hidden_1/BiasAdd': Unknown input node 'hidden_1/MatMul'
वे दोनों कोड का एक ही लाइनों द्वारा एक विधि से शुरू हो रही है कर रहे हैं: अब मैं) एक दूसरे model.fit (शुरू करने के लिए चाहते हैं, तो मैं निम्न त्रुटि संदेश मिलता है गु बुलाया वर्ग/विधि इस प्रकार है:
def run(self):
tf_session = self.tf_session # take that from __init__()
tf_graph = self.tf_graph # take that from __init__()
with tf_session.as_default():
with tf_graph.as_default():
self.learn(self.learning_data, self.model, self.env_cont)
# now my learn method where model.fit() is located is being started
मुझे लगता है कि मैं किसी भी तरह एक नया tf_session और प्रत्येक एकल थ्रेड के लिए एक नया tf_graph आवंटित करने के लिए किया है। लेकिन मुझे इसके बारे में बिल्कुल यकीन नहीं है। मैं हर संक्षिप्त विचार के बारे में खुश हूं, क्योंकि मैं इस पर बहुत लंबे समय से बैठा हूं।
धन्यवाद