【发布时间】:2018-09-17 07:34:04
【问题描述】:
我有大小为 (N, 256, 256) 的蒙版图像,其中 N 是介于 1000-10000 之间的值。
每个像素都有一个介于 0-2 之间的整数值(0 只是背景)。
不幸的是,掩码图像未编码为 (N,256,256,2)
我有几千个这样的口罩。我的目标是找到最快的方法来计算每个标签(1 和 2)的每帧像素。
使用 numpy 在一张大约 6000 帧的蒙版图像上运行需要
np.sum(ma==1,axis=(1,2))
np.sum(ma==2,axis=(1,2))
如果我使用单进程,我预计运行整个数据需要几个小时,如果我使用多处理 (CPU),可能不到一个小时。
我很好奇如果我使用 GPU 是否可以让它更快。实现对轴上的张量求和的部分似乎很容易,但我找不到如何在 tensorflow 上实现 ma==1 部分。
我考虑过首先将输入输入到编码形状 (N,256,256,2) 并传递给张量占位符,但意识到制作具有该形状的数组需要比上面更长的时间。
或者,有没有更好的方法来使用 tensorflow 在这个掩码数据上实现像素计数?
【问题讨论】:
-
我不太相信它会产生巨大的影响,因为这样的任务需要线性时间,并且将图像加载到 GPU 内存中也需要线性时间。
标签: python numpy tensorflow