有没有一种方法可以有效地矢量化图像上的张量流运算?

2024-09-28 19:02:18 发布

您现在位置:Python中文网/ 问答频道 /正文

Tensorflow有很多转换,可以应用于表示图像的3D张量([高度、宽度、深度]),例如tf.image.rot90()或{}。在

我知道它们是用来和队列一起使用的,因此它们只对一个映像进行操作。在

但是,有没有一种方法可以将ops矢量化,将4D张量([batch_size,height,width,depth])转换成与op应用的图像沿着第一维相同大小的张量,而不使用tf.while_loop()显式地循环使用它们吗?在

编辑:关于rot90()一个从numpyrot90获得的聪明的黑客可以做到:

rot90=tf.reverse(x,tf.convert_to_tensor((False,False,True,False)))
rot90=tf.transpose(rot90,([0,2,1,3])

编辑2:这个问题已经被回答了很多次(one example),如果你想要一个优化的版本,map_fn似乎是一个好办法。我已经看过了,但我忘了。我想这让这个问题重复了。。。在

但是对于随机操作或更复杂的操作,最好有一个通用方法来矢量化现有函数…)


Tags: 方法图像imagefalse编辑size宽度高度