Tensorflow有大量的变换可以应用于表示图像([高度,宽度,深度])的3D张量,例如tf.image.rot90()
或tf.image.random_flip_left_right()
。
我知道它们意味着与队列一起使用,因此它们只能在一个图像上运行。
但是有没有办法对ops进行矢量化以将4D张量([batch_size,height,width,depth])转换为相同尺寸张量,并且沿着第一维应用图像方式,而不使用{明确地循环遍历它们{1}}?
(编辑:关于tf.while_loop()
从numpy rot90获取的聪明黑客将是:
rot90()
编辑2:事实证明这个问题已经被回答了很多次(one example)如果你想要优化它似乎是rot90=tf.reverse(x,tf.convert_to_tensor((False,False,True,False)))
rot90=tf.transpose(rot90,([0,2,1,3])
的方法版。我已经看过了,但我已经忘记了。我想这会使这个问题重复......
然而对于随机op或更复杂的op,有一个通用方法来矢量化现有函数会很好...)