Javascript 如何从1D tensor-TensorFlow.js中删除零?
给定一个一维张量(为了清楚起见,不是数组):Javascript 如何从1D tensor-TensorFlow.js中删除零?,javascript,tensorflow.js,Javascript,Tensorflow.js,给定一个一维张量(为了清楚起见,不是数组):[0,2,0,1,-3],我只想返回与零不同的值。按照这个例子,我想返回[2,1,-3]作为结果。如何在TensorFlow.js中实现这一点? 首先,我们需要通过在投射到bool的张量上使用tf.wheresync找到非零值的索引。这样,除0值之外的所有值都是true,因此收集它们的索引 通过tf.gather我们通过收集以前索引中的值来创建一个新的张量 t=tf.tensor1d([0,2,0,1,-3]) 索引=等待tf.wheresync
[0,2,0,1,-3]
,我只想返回与零不同的值。按照这个例子,我想返回[2,1,-3]
作为结果。如何在TensorFlow.js中实现这一点?- 首先,我们需要通过在投射到
的张量上使用bool
找到非零值的索引。这样,除0值之外的所有值都是tf.wheresync
,因此收集它们的索引true
- 通过
我们通过收集以前索引中的值来创建一个新的张量tf.gather
t=tf.tensor1d([0,2,0,1,-3])
索引=等待tf.wheresync(t.cast('bool'))
tf.gather(t,index.reformate([-1])).print()
这样一个聪明的解决方案