2016-11-01 5 views
5
import tensorflow as tf 
x = [[1,2,3],[4,5,6]] 
y = [0,1] 
z = [1,2] 
x = tf.constant(x) 
y = tf.constant(y) 
z = tf.constant(z) 
m = x[y,z] 

है। मैं tensorflow का उपयोग कर परिणाम कैसे मिलता है?tensorflow ValueError: आकार रैंक 1 होना चाहिए, लेकिन मैं क्या उम्मीद <code>m = [2,6]</code></p> <p>है मैं थेनो या numpy से परिणाम प्राप्त कर सकते हैं रैंक 2

+0

मुझे लगता है कि यह एक tensorflow समस्या नहीं है, पायथन में घटना काम नहीं करता है। यदि आप एक्स को परिभाषित करते हैं तो एक सूची है और आप अपनी इच्छानुसार किसी सूची तक पहुंच नहीं सकते हैं। X को numpy.array ([[1,2,3], [4,5,6]] के रूप में परिभाषित करें) और यह काम करेगा। – Mquinteiro

+0

numpy सरणी के साथ ही, मेरी टिप्पणी गलत है। – Mquinteiro

उत्तर

5

आप का उपयोग करने के tf.gather_nd

slices = tf.gather_nd(x, [y, z]) 

आशा इस मदद करता है चाहेंगे।

+0

धन्यवाद, मैं tf.pack() और tf.gather_nd() का उपयोग परिणाम प्राप्त करता हूं। –

+0

लेकिन फिर मुझे इकट्ठा करने के लिए ग्रेडियेंट की त्रुटि मिलती है। T_T, तो वैसे भी, धन्यवाद –

संबंधित मुद्दे