如何将tf.image.per_image_standardization()应用于形状错误的张量?

时间:2018-01-08 14:15:50

标签: python tensorflow

我有一张32x32x3格式的10,000幅图片。所以Tensor是D4(形状(10000,32,32,3)。

Tensor("...", shape=(10000, 32, 32, 3), dtype=float32)

现在我想将tf.image.per_image_standardization操作应用于单个图像:

tf. image. per_image_standardization (...)

在这种情况下,最佳做法是什么?也许用10000个张量的张量切片形状(32,32,3)?

1 个答案:

答案 0 :(得分:1)

您可以使用import tensorflow as tf a = tf.get_variable("a", (10000,32,32,3)) a = tf.map_fn(lambda x: tf.image.per_image_standardization(x), a, parallel_iterations=10000) print(a.shape) 将指定函数应用于张量的每个元素(从第一维展开它):

      ex---------

      [ { user: 'VAY9090', value: [ 'KL65' ] },
      { user: 'VAY9090', value: [ 'KL6I' ] },
      { user: 'VAY9092', value: [ 'KLMF' ] },
      { user: 'VAY9092', value: [ 'KLMQ' ] },
      { user: 'VAY9090', value: [ 'KLMR' ] },
      { user: 'BTD9891', value: [ 'KLMS' ] },
      { user: 'VAY9090', value: [ 'KLVZ' ] },
      { user: 'VAY9033', value: [ 'KMYJ' ] },
      { user: 'BTD9891', value: [ 'KMYK' ] } ]

      convert to 

      [

     { user: 'VAY9090', value: [ 'KL65','KL6I','KLMR','KLVZ' ] },
     { user: 'VAY9092', value: [ 'KLMQ','KLMQ' ]},
     { user: 'BTD9891', value: [ 'KLMS','KMYK'] },
     { user: 'VAY9033', value: [ 'KMYJ' ] }
     ]