首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >tensorflow中的boolean_mask或稀疏点积

tensorflow中的boolean_mask或稀疏点积
EN

Stack Overflow用户
提问于 2018-05-17 14:39:20
回答 1查看 537关注 0票数 1

动态选择张量某些条目的最有效方法是什么?

我正在尝试在Tensorflow中implement syntactic GCN。基本上,我需要每个标签都有一个不同的权重矩阵(让我们忽略这个问题的偏差),并在每次运行时选择要使用的相关条目,这些条目将由稀疏矩阵选择(对于每个条目,在一个方向上最多有一个标签,并且几乎没有边,所以甚至没有)。

更具体地说,当我有一个带有标签的边的稀疏矩阵(0-1)时,是在掩码中使用它更好,还是使用稀疏-密集张量乘法更好,或者只使用正常乘法(我猜不是后者,但为了简单起见,在示例中使用它)

示例:

代码语言:javascript
运行
复制
    units = 6 # output size 
    x = ops.convert_to_tensor(inputs[0], dtype=self.dtype)
    labeled_edges = ops.convert_to_tensor(inputs[1], dtype=self.dtype)
    edges_shape = labeled_edges.get_shape().as_list()
    labeled_edges = expand_dims(labeled_edges, -2)
    labeled_edges = tile(
        labeled_edges, [1] * (len(edges_shape) - 1) + [units, 1])
    graph_kernel = math_ops.multiply(self.kernel, labeled_edges) # here is the question basically
    outputs = standard_ops.tensordot(x, graph_kernel, [[1], [0]])
    outputs = math_ops.reduce_sum(outputs, [-1])
EN

回答 1

Stack Overflow用户

发布于 2018-05-18 09:47:42

要回答tl;dr问题,您可以尝试使用以下任一方法:

定义:与Tensor tf.nn.embedding_lookup相同,但以ids为索引

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50384894

复制
相关文章

相似问题

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