टेंसरफ़्लो में मैं सोच रहा था कि आप एक टेंसर कैसे लेंगे, कहें,

t1 = [a1, a2, a3, a4, a5, ...]

और एक टेंसर आउटपुट करें

t2 = [0, (a1)/2, (a1+a2)/2, (a2+a3)/2, (a3+a4)/2, ...]

तो मूल रूप से, इनपुट टेंसर की पिछली दो प्रविष्टियों का औसत आउटपुट टेंसर के लिए मान है, शून्य की शुरुआत में कुछ पैडिंग के साथ। मैं समय बचाने के लिए इसे बैच/वेक्टराइज्ड फैशन में करना चाहता हूं।

कोई सुझाव?

0
Petrarch 15 मार्च 2021, 00:55

1 उत्तर

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

क्या यही तुम्हें चाहिए था?

t1 = tf.constant([1, 2, 3, 4, 5], dtype='float32')

# Adding two zeros to match your output
t1 = tf.concat([[0, 0], t1], axis=0)

res = (t1[:-1] + t1[1:])/2.0

print(res)

देता है

tf.Tensor([0.  1.5 2.5 3.5 4.5], shape=(5,), dtype=float32)
1
thushv89 15 मार्च 2021, 01:57
1
यह एकदम सही है, बहुत बहुत धन्यवाद, मुझे आश्चर्य है कि यह इतना आसान था। तकनीकी रूप से यह res = (t1[:-2] + t1[1:-1])/2.0 के लिए ठीक वैसा ही होगा जैसा मैंने इसे देखने वाले किसी भी व्यक्ति के लिए लिखा था, लेकिन अवधारणा एकदम सही है। पुनः आपका बहुत - बहुत धन्यवाद।
 – 
Petrarch
15 मार्च 2021, 03:49