tensorflow - 有效地从 TensorFlow 中的张量中删除零图像
问题描述
我有一组50
形状图像,(50,128,128,1)
在 TensorFlow 中表示为张量。假设25th
and30th
图像只是零图像,但我事先不知道哪些图像都为零(25th
在30th
此示例中只是为了使情况更清楚)。我希望删除这些图像并拥有一个大小为 的张量(48,128,128,1)
。如果不遍历0th
张量50
时间的维度并检查每个图像,如何在 Tensorflow 中实现这一点tf.reduce_sum(tf.abs(image_i))>0
。
解决方案
您可以使用Dataset.map(some_fn)
. 在这里,您可以定义some_fn
将使用您的逻辑检查每个张量的值tf.reduce_sum()
。所以,如果 的值total
为零,那么你可以忽略它,否则你可以保留它。
def some_fn():
image = tf.fill([8,8], 0)# dummy tensor values
image_row = tf.slice(image, [1,0], [1, -1])
total = tf.reduce_sum(tf.abs(image_row)) # total = 0
return total
你可以在这里阅读更多。这不是一个循环,它在每个元素(在你的情况下是每个图像)上并行工作。所以它很快。
推荐阅读
- python - 与 Oracle 数据库的 Python 连接:cx_Oracle
- python-3.x - 微调 res10_300x300_ssd_iter_140000.caffemodel
- wordpress - Symfony 4 Event Dispatcher - 是否有一些解决方案如何使用 Event Dispatcher 过滤值?(如 wordpress “add_filter” 功能)
- javascript - 合并 2 个 onclick 动作 (Javascript) 并用一个按钮触发它们
- gps - LoRaWan - 可以追踪运动员吗?
- java - Xalan-J:在扩展函数中解析 QName 文本值的命名空间
- javascript - 反应 {...props} 副作用
- laravel - Laravel PostgreSQL:SELECT DISTINCT ON 表达式必须匹配初始 ORDER BY 表达式
- javascript - 为什么当我使用数组原型创建对象时我得到一个对象
- ruby-on-rails - 升级后无法在 macOS 上安装 PG