5

この関数をTensorFlowで使用したいのですが、4Dテンソルではなく3Dテンソルで動作します:バッチサイズの外寸があります。言っ 4F画像バッチでTensorFlow "tf.image"関数を使用する

tf.image.random_flip_left_right(input_image_data) 

は、この関数は、形状のテンソル(画像)を期待:

(width, height, channels) 

をしかし、私は、次のような複数の画像があります。私は、ランダムなフリップをマップすることができどのよう

(batch_size, width, height, channels) 

を関数をバッチサイズの各画像に適用し、同じ4D形状のテンソルを出力として取得しますか?

私の推測では、関数の後ろに関数の形や輪郭が必要ですが、データの構造を破って、それを適用するときにバッチでイメージをブレンドするかどうかはわかりません鏡。さらに、このアプローチは、画像ごとにではなく、バッチ全体で単一のランダム化を行うことになります。

ご了承ください。

+0

私はこれらのメソッドがもともとTensorflow Webサイトのcifar10の例のようにキューで使用するために開発されたと思います。 – jean

+0

[リンク](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/models/image/cifar10/cifar10_input.py) – jean

+0

ありがとうございます、実際に私はすでにそれを見てきましたが、私は欲しいです私の現在のプロジェクトにはより単純なパイプラインを使用します。テンソルグラフ/セッション内で4Dから3Dへと移動して4Dに再び結合する方法があるはずです。 –

答えて

0

4D配列から3D配列に変換するには、tf.pack、tf.unpack、tf.gather、tf.concatenateのようなものを使用する必要があります。

データの読み込み方法に応じて、numpyで処理できます。もう1つの方法は、各イメージをバッチに入れる前に各イメージを処理することです。

tf.packやその他の仕組みの説明が必要な場合は教えてください。

関連する問題