2016-11-07 41 views
5

Tensorflow, görüntüyü temsil eden 3D tensörlere ([yükseklik, genişlik, derinlik]) örneğin tf.image.rot90() veya tf.image.random_flip_left_right() gibi uygulanabilecek çok sayıda dönüştürmeye sahiptir.Görüntülerde Tensorflow ops'ları etkili bir şekilde vektör etmenin bir yolu var mı?

Kuyrukların sırayla kullanılmaları gerektiğini, dolayısıyla tek bir görüntü üzerinde çalıştıklarını biliyorum.

Fakat 4D tensörünü ([batch_size, yükseklik, genişlik, derinlik]) aynı boyutta tensöre dönüştürmek için ops'leri vektörle düzeltmenin bir yolu var mı? tf.while_loop()?

(DÜZENLEME:

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

EDIT 2: İlişkin rot90() numpy rot90 alınan akıllı kesmek yapmak olacaktır Bu soru zaten tamamen birkaç kez yanıtlandı çıkıyor (one examplemap_fn en iyi duruma getirilmiş bir sürüm istiyorsanız gitmek için yol gibi görünüyor. Ben zaten görmüştüm ama unutmuştum.Ama bu soruyu yinelenen yapar ...

Rastgele op veya daha karmaşık op var olan işlevleri tanımlamak için genel bir yönteme sahip olmak güzel olurdu ...)

cevap

5

tf.map_fn'u deneyin.

processed_images = tf.map_fn(process_fn, images) 
+0

Teşekkürler! Umut verici görünüyor ! – jean