0
我試圖做:TensorFlow等效的np.in1d
一個= [1,2,3,4,5,6] B = [1,5]
結果= [真,假,假,假,真,假]
這是np.in1d功能https://docs.scipy.org/doc/numpy/reference/generated/numpy.in1d.html
是否有TensorFlow實現這個的方法嗎?
謝謝!
我試圖做:TensorFlow等效的np.in1d
一個= [1,2,3,4,5,6] B = [1,5]
結果= [真,假,假,假,真,假]
這是np.in1d功能https://docs.scipy.org/doc/numpy/reference/generated/numpy.in1d.html
是否有TensorFlow實現這個的方法嗎?
謝謝!
您可以使用tf.equal
與廣電形成5x2
矩陣,其中i,j
項具有True
如果a[i]==b[j]
,然後tf.reduce_any
崩潰爲bool向量
a = [1,2,3,4,5,6]
b = [1,5]
a0 = tf.expand_dims(a, 1)
b0 = tf.expand_dims(b, 0)
result = sess.run(tf.reduce_any(tf.equal(a0, b0), 1))
assert result == np.in1d(a, b)
邊注:除非這是你的模型的一部分,將有沒有與TF實施它的優勢。這也可能是TF沒有它的原因。我的經驗法則:如果你不能支持它,不要使用TensorFlow。這基本上意味着只要你有模型的輸出(例如預測),就可以安全地繼續numpy或庫,以執行例如指標,分析等。輸入預處理也是如此。在TF中實現所有這些東西並不是真的可能,甚至在可能的情況下,這是一項巨大的工作,浪費了大量時間,沒有明顯的優勢。 – Drop