Tensorflow ma wiele transformacji, które można zastosować do tensorów 3D reprezentujących obrazy ([wysokość, szerokość, głębokość]), takich jak na przykład tf.image.rot90()
lub tf.image.random_flip_left_right()
.Czy istnieje sposób efektywnego wektoryzacji obrazów Tensorflow na obrazach?
Wiem, że mają być używane z kolejkami, stąd fakt, że działają tylko na jednym obrazie.
Ale czy istnieje sposób na wektorowanie operacji, aby przekształcić tensor 4D ([batch_size, wysokość, szerokość, głębokość]) na tensor o tym samym rozmiarze, z operacją obrazową w pierwszym wymiarze bez wyraźnego zapętlenia się przez nie tf.while_loop()
?
(EDIT: chodzi rot90()
sprytny hack, zaczerpnięte z NumPy rot90 byłoby zrobić:
rot90=tf.reverse(x,tf.convert_to_tensor((False,False,True,False)))
rot90=tf.transpose(rot90,([0,2,1,3])
EDIT 2: Okazuje się to pytanie już odpowiedział kilka razy (one example) wydaje się, że map_fn
jest drogą do zrobienia, jeśli chcesz zoptymalizowaną wersję.Miałem już to zobaczyć, ale zapomniałem.Myślę, że to sprawia, że to pytanie duplikat ...
Jednak dla losowego op lub bardziej złożony op byłoby miło mieć ogólną metodę wektoryzacji istniejących funkcji ...)
Dzięki! Wygląda obiecująco ! – jean