मेरे पास एक आयाम a
आयाम (1, 5) है जो मैं अपने मिनी-बैच के आकार के रूप में कई बार 'टाइल' करना चाहता हूं। उदाहरण के लिए, यदि मिनी-बैच आकार 32 है तो मैं आयाम (32, 5) का एक टेंसर c
बनाना चाहता हूं जहां प्रत्येक पंक्ति के मूल (1, 5) चर a
के समान मान होते हैं।टाइलफोर्लो आकार एक टाइल वाले टेंसर
लेकिन मैं केवल रन टाइम पर मिनी बैच आकार पता है: यह एक प्लेसहोल्डर b
के आयाम 0 के आकार है:
a = tf.Variable(np.random.uniform(size=(1,5)))
b = tf.placeholder(shape=[None, 12], dtype=tf.float32)
batch_size = tf.shape(b)[0]
c = tf.tile(a, tf.pack([batch_size, 1]))
यह ठीक चलाता है: tf.shape(b)[0]
यहाँ ग के निर्माण के लिए मेरा कोड यह है । हालांकि c.get_shape()
रिटर्न (?,?)। मुझे समझ में नहीं आता कि यह क्यों नहीं लौटाता है (?, 5) इसके बजाय।
यह मेरे कोड में बाद में एक समस्या उत्पन्न कर रहा है जब मैं मैट्रिक्स वेरिएबल W
का निर्माण कॉलम c.get_shape()[1]
की संख्या के साथ करता हूं, जिसे मैं 5 की बजाय वापस लौटने की उम्मीद करता हूं?
किसी भी मदद की सराहना की जाएगी। धन्यवाद।
कौन सा संस्करण? एक समान मुद्दा 0.10 आरसी में संबोधित किया गया था। इसके अलावा आप set_shape को वर्कअराउंड –
के रूप में उपयोग कर सकते हैं धन्यवाद, set_shape नौकरी करता है। । संस्करण 0.8.0rc0 है। –