二元矩阵,其中 1 位于沿行的最大值处

sh1ng

假设我有一个张量

[[0.3, 0.7],
[0.9,  0.1]]

如何在沿轴的最大位置创建一个 1.0 的张量,所以结果应该是轴 = 1

[[0., 1.],
[1.,  0.]]

在我的情况下,第一维是批量大小,所以它是 '?'

萨尔瓦多·达利

提出的两个答案在内存/计算方面都是低效的。

您可以在线性时间内(no-matmul)计算它,而无需在一行中分配不必要的内存:

tf.cast(tf.equal(a, tf.reshape(tf.reduce_max(a, axis=1), (-1, 1))), tf.int16)

完整的例子在这里:

import tensorflow as tf
a = tf.constant([
    [1, 9, 1, 6],
    [6, 5, 0, 6],
    [4, 0, 7, 6],
    [1, 5, 9, 1]
])
b = tf.cast(tf.equal(a, tf.reshape(tf.reduce_max(a, axis=1), (-1, 1))), tf.int16)

with tf.Session() as sess:
    print sess.run(b)

哪个会给你

[[0 1 0 0]
 [1 0 0 1]
 [0 0 1 0]
 [0 0 1 0]]

正如你看到它使用广播tf.equal减少的内存数量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中,提取列1的值,其中后续列为最大值

来自分类Dev

熊猫值列表到二元列

来自分类Dev

如何计算组内二元观测值的数量?

来自分类Dev

如何标准化矩阵设置0的最小值和1的最大值?

来自分类Dev

如何标准化矩阵设置0的最小值和1的最大值?

来自分类Dev

具有最大值的SQL列,其中单独的列= 1

来自分类Dev

如何设计一个二元分类器在 Keras 中输出 1 和 -1

来自分类Dev

查找非固定长度x的每个子数组的最小值的最大值,其中1 <= x <= N

来自分类Dev

二元矩阵与约束的所有可能组合

来自分类Dev

什么是聚类二元矩阵的适当方法

来自分类Dev

使用二元组创建共现矩阵

来自分类Dev

在由col1分组时获取col2的第二个最大值

来自分类Dev

在二元数据结构中的条件下求和相同的值

来自分类Dev

(整数的最大值+ 1)+(整数的最大值+ 1)= 0?

来自分类Dev

(整数的最大值+ 1)+(整数的最大值+ 1)= 0?

来自分类Dev

R中二元向量中1个带0个分隔符的块的累积计数

来自分类Dev

二元向量

来自分类Dev

获取矩阵中最大值的位置

来自分类Dev

索引numpy矩阵的最大值

来自分类Dev

在CUDA中查找矩阵的最大值

来自分类Dev

矩阵列中的最大值

来自分类Dev

坐标矩阵Spark的逐行最大值

来自分类Dev

合并两个三列矩阵:第 1 列和第 2 列中的唯一值,第 3 列中的最大值

来自分类Dev

数组第二列的最大值

来自分类Dev

R的最大值,其中不同的列等于特定值

来自分类Dev

python:二维矩阵中更快的局部最大值

来自分类Dev

如何在二维数组(矩阵)中找到局部最大值的索引?

来自分类Dev

二元腐蚀查询

来自分类Dev

C二元运算

Related 相关文章

热门标签

归档