उपयोगकर्ता 1 9 .8: यदि आप टेंस्फोर्लो में चीजें "ज्यादातर" रखना चाहते हैं तो ऐसा करने का तरीका यह होगा कि आप और बर्सी टिप्पणियों पर चर्चा कर रहे थे: उस बिंदु तक tensorflow ग्राफ को चलाएं जहां तक आप रैखिक प्रणाली को हल करने की आवश्यकता है, और फिर फ़ीड_डिक्ट के साथ परिणामों को वापस फ़ीड करें। स्यूडोकोड में:
saved_tensor1 = tf.Variable(...)
saved_tensor2 = tf.Variable(...)
start_of_model...
tensor1, tensor2 = various stuff...
do_save_tensor1 = saved_tensor1.assign(tensor1)
do_save_tensor2 = saved_tensor2.assign(tensor2)
your_cholesky = tf.cholesky(your_other_tensor, ...)
## THIS IS THE SPLIT POINT
# Second half of your model starts here
solved_system = tf.placeholder(...) # You'll feed this in with feed_dict
final_answer = do_something_with(saved_tensor1, saved_tensor2, solved_system)
तो पूरी बात को चलाने के लिए, कार्य करें:
_, _, cho = tf.run([do_save_tensor1, do_save_tensor2, your_cholesky])
solution = ... solve your linear system with scipy ...
feed_dict = {solved_system: solution}
answer = tf.run(final_answer, feed_dict=feed_dict)
कुंजी यहाँ tf.Variables में अपने मध्यवर्ती परिणाम stashing है, ताकि आप गणना बाद में फिर से शुरू कर सकते हैं।
(मैं यह वादा नहीं कर रहा हूं कि आप tf.cholesky से बाहर निकलने के लिए सही तरीके से फ़ीड करने के लिए सही प्रारूप में हैं, या आपको केवल पहले चरण में मैट्रिक्स को खींचना नहीं चाहिए और इसे ठीक करने के लिए फ़ीड नहीं करना चाहिए , लेकिन यह समग्र वर्कफ़्लो आपके लिए काम करना चाहिए)।
ध्यान दें कि यदि आप भारी मल्टीकोर या जीपीयू ऑपरेशंस कर रहे हैं तो यह एक प्रदर्शन बाधा उत्पन्न करेगा और फिर मैट्रिक्स को थप्पड़ मारने पर क्रमबद्ध करना होगा, लेकिन यह भी ठीक हो सकता है - आपकी सेटिंग पर बहुत निर्भर करता है।
सिसि में लागू किए गए किसी के साथ क्या गलत है? वैसे भी, आप सरल प्रतिस्थापन का उपयोग कर अपना स्वयं का कार्यान्वयन कर सकते हैं (https://en.wikipedia.org/wiki/Triangular_matrix#Forward_and_back_substitution देखें) – Berci
मेरी इंप्रेशन यह है कि यदि मैं एक टेंसरफ्लो सत्र निष्पादित करता हूं तो एक हाथी सरणी प्राप्त करने के लिए scipy मैं समय-समय पर कम्प्यूटेशनल ग्राफ को समाप्त कर दूंगा जो टेंसरफ्लो बनाता है (क्योंकि रैखिक प्रणाली को हल करना मेरे उद्देश्यों के लिए रेखा का अंत नहीं है)। अनुमोदित, मैंने यह कोशिश नहीं की है, लेकिन थानो इस तरह से काम करेगा और मुझे लगता है कि यह टेंसरफ्लो तक भी बढ़ेगा। एक अंतर्निहित समाधान उभरने तक मैं अपना खुद का रोल करूंगा। – user1936768