首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow在轴上分配稀疏输入

Tensorflow在轴上分配稀疏输入
EN

Stack Overflow用户
提问于 2021-08-09 06:06:28
回答 1查看 18关注 0票数 0

我有一个轴上的稀疏数据,例如

代码语言:javascript
复制
[[0,0,0],
 [1,2,3],
 [0,0,0],
 [0,0,0],
 [4,5,6]]

为了提高效率,我希望输入以下格式的批处理

代码语言:javascript
复制
sparse_axes = [1,4]
sparse_data = [[1,2,3],[4,6,6]]

在tensorflow中,对数据进行去稀疏。

我知道有函数tf.sparse,但它在轴上不起作用,在这种情况下效率很低。tensorflow中有没有一个函数可以做这样的事情:

代码语言:javascript
复制
> dense_data = tf.zeros((5,3))
> dense_data.assign(sparse_axes, sparse_data) # <--- this is the function I am looking for. 
> dense_data
[[0,0,0],
 [1,2,3],
 [0,0,0],
 [0,0,0],
 [4,5,6]]
EN

回答 1

Stack Overflow用户

发布于 2021-08-09 06:16:35

我找到了一个解决方案:

代码语言:javascript
复制
> sparse_axes = [1,4]
> sparse_data = [[1.0,2.0,3.0],[4.0,6.0,6.0]]
> dense_data = tf.IndexedSlices(
>     tf.Variable(sparse_data), sparse_axes, dense_shape=(5,3)
> )
> dense_data.dense_shape
[5,3]
> dense_data * tf.ones((5,3))
<tf.Tensor: shape=(5, 3), dtype=float32, numpy=
array([[0., 0., 0.],
       [1., 2., 3.],
       [0., 0., 0.],
       [0., 0., 0.],
       [4., 6., 6.]], dtype=float32)>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68707494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档