diff options
author | A. Unique TensorFlower <gardener@tensorflow.org> | 2018-01-10 15:38:44 -0800 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2018-01-10 15:42:47 -0800 |
commit | b977ebeca140189b02ba003f9a456d86c34459cd (patch) | |
tree | 383d9d684e4a4a980ee0bd3527cac51bfd9fc638 | |
parent | 65e18e8e78c9f83d5f8e784eff9d13359b81448e (diff) |
Improved performance of tf.image.rgb_to_grayscale. Roughly 4 times faster on CPU and 10% faster on GPU.
PiperOrigin-RevId: 181528321
-rw-r--r-- | tensorflow/python/ops/image_ops_impl.py | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/tensorflow/python/ops/image_ops_impl.py b/tensorflow/python/ops/image_ops_impl.py index 9bebffd8d6..7d69e8fab3 100644 --- a/tensorflow/python/ops/image_ops_impl.py +++ b/tensorflow/python/ops/image_ops_impl.py @@ -1140,10 +1140,8 @@ def rgb_to_grayscale(images, name=None): # Reference for converting between RGB and grayscale. # https://en.wikipedia.org/wiki/Luma_%28video%29 rgb_weights = [0.2989, 0.5870, 0.1140] - rank_1 = array_ops.expand_dims(array_ops.rank(images) - 1, 0) - gray_float = math_ops.reduce_sum( - flt_image * rgb_weights, rank_1, keepdims=True) - gray_float.set_shape(images.get_shape()[:-1].concatenate([1])) + gray_float = math_ops.tensordot(flt_image, rgb_weights, [-1, -1]) + gray_float = array_ops.expand_dims(gray_float, -1) return convert_image_dtype(gray_float, orig_dtype, name=name) |