Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从1D tensor-TensorFlow.js中删除零?_Javascript_Tensorflow.js - Fatal编程技术网

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
    的张量上使用
    tf.wheresync
    找到非零值的索引。这样,除0值之外的所有值都是
    true
    ,因此收集它们的索引

  • 通过
    tf.gather
    我们通过收集以前索引中的值来创建一个新的张量

t=tf.tensor1d([0,2,0,1,-3])
索引=等待tf.wheresync(t.cast('bool'))
tf.gather(t,index.reformate([-1])).print()

这样一个聪明的解决方案