擅长:python、mysql、java
<p>您可以使用<em>tf.boolean\u mask</em>和<em>tf.scatter\u nd</em>为(重复的)数据创建布尔向量。
首先,创建索引张量以指示要遮罩的值:</p>
<pre><code>row = tf.constant([0,1,2,3,4,5,6,7,8] ,dtype = tf.int64)
mask_for_each_row = tf.stack([row ,presentIndices[: , 1]],axis = 1 )
</code></pre>
<p>然后将每行的掩码用作<em>tf.scatter\u和</em>方法中的索引:</p>
<pre><code>samples =tf.boolean_mask(data ,~tf.scatter_nd(mask_for_each_row ,
tf.ones((9,),dtype = tf.bool),(9,5)))
samples = tf.reshape(samples ,(9,4))
</code></pre>
<p>样本张量:</p>
<pre><code> <tf.Tensor: shape=(9, 4), dtype=int32, numpy=
array([[ 1, 10, 10, 2],
[ 4, 10, 10, 2],
[ 4, 1, 10, 10],
[10, 9, 10, 10],
[10, 7, 10, 10],
[ 8, 10, 3, 5],
[ 6, 10, 3, 5],
[ 6, 8, 10, 5],
[ 6, 8, 10, 3]])>
</code></pre>