python - Tensorflow:获取 4D 张量的最大条目
问题描述
我有一个名为“标签”的张量,形状为 [-1, 256, 256, 10],其中包括大小为 256x256 的标记图像,从中我得到最后一个维度的三个最大条目,其中包含“tf.math.top_k”。
现在我想提取三个最大的条目,并使其每个都成为形状 [-1,256,256,1] 的张量,以将其显示为张量板中的图像。
该代码似乎有效,只是它没有给我每个批次的最大条目,而只是批次中的最后一个元素。
Y = tf.placeholder_with_default(targets, shape=None, name="label")
labels = tf.reshape(Y, [-1, 256, 256, 10])
hot_labels = tf.reduce_max(labels,(1,2),keepdims=True)
top3_val,top3_idx = tf.nn.top_k(hot_labels,3)
top3_idx = tf.transpose(tf.squeeze(top3_idx))
top_labels0 = tf.gather(labels,top3_idx[0,-1],axis=-1)
top_labels0 = tf.reshape(top_labels0,[-1,256,256,1])
top_labels1 = tf.gather(labels,top3_idx[1,-1],axis=-1)
top_labels1 = tf.reshape(top_labels1,[-1,256,256,1])
top_labels2 = tf.gather(labels,top3_idx[2,-1],axis=-1)
top_labels2 = tf.reshape(top_labels2,[-1,256,256,1])
最终目标是找到“标签”的最后三个最大条目,并在 tensorflow 中将它们显示为大小为 [-1,256,256,1] 的图像。
解决方案
推荐阅读
- javascript - Vue.js v-model 到本地状态
- java - Java 健康检查器最佳实践
- mysql - 我什么时候应该创建另一个字段作为主键?
- c# - ASP .NET Core 2.0 部署(代码未执行)
- c# - EntityFramework.dll 中发生 DbUpdateException
- swift - 在 Swift 的同一个类中实现 Hashable 和 NSCoding
- javascript - Javascript switch 语句比较让我陷入循环
- d3.js - 错误圈属性
: 预期长度 NaN - sql-server - nodejs mssql影响行在插入时总是没有
- linux - 如何在 Unix / Mac 上定位并直接连接到以太网卡