diff options
author | 2016-07-29 15:32:36 -0800 | |
---|---|---|
committer | 2016-07-29 16:48:08 -0700 | |
commit | aebdf7744e8495855e564ec90f958498dcc6bc10 (patch) | |
tree | c13d2ea88d42624fc308134991296922b9e7ee14 | |
parent | d4a04061794520d02cdc49c3b2ca879714e8e43a (diff) |
Use a division directly instead of multiplying by the inverse. Also use the rsqrt operation instead of taking the inverse of the square root.
Change: 128859647
-rw-r--r-- | tensorflow/contrib/layers/python/layers/layers_test.py | 4 | ||||
-rw-r--r-- | tensorflow/python/ops/image_ops.py | 3 | ||||
-rw-r--r-- | tensorflow/python/ops/math_grad.py | 2 | ||||
-rw-r--r-- | tensorflow/python/ops/nn_ops.py | 2 |
4 files changed, 5 insertions, 6 deletions
diff --git a/tensorflow/contrib/layers/python/layers/layers_test.py b/tensorflow/contrib/layers/python/layers/layers_test.py index 9c9cfe4c99..4d84989405 100644 --- a/tensorflow/contrib/layers/python/layers/layers_test.py +++ b/tensorflow/contrib/layers/python/layers/layers_test.py @@ -818,7 +818,7 @@ class DropoutTest(tf.test.TestCase): with self.test_session(): images = np.random.uniform(size=(5, height, width, 3)) output = tf.contrib.layers.dropout(images) - self.assertEquals(output.op.name, 'Dropout/dropout/mul_1') + self.assertEquals(output.op.name, 'Dropout/dropout/mul') output.get_shape().assert_is_compatible_with( tf.convert_to_tensor(images).get_shape()) @@ -828,7 +828,7 @@ class DropoutTest(tf.test.TestCase): is_training = tf.constant(True) images = tf.random_uniform((5, height, width, 3), seed=1) output = tf.contrib.layers.dropout(images, is_training=is_training) - self.assertEquals(output.op.name, 'Dropout/dropout/mul_1') + self.assertEquals(output.op.name, 'Dropout/dropout/mul') output.get_shape().assert_is_compatible_with(images.get_shape()) def testCreateDropoutWithConstantFalse(self): diff --git a/tensorflow/python/ops/image_ops.py b/tensorflow/python/ops/image_ops.py index f63cf81247..abed6b5777 100644 --- a/tensorflow/python/ops/image_ops.py +++ b/tensorflow/python/ops/image_ops.py @@ -846,8 +846,7 @@ def per_image_whitening(image): stddev = math_ops.sqrt(variance) # Apply a minimum normalization that protects us against uniform images. - min_stddev = math_ops.inv( - math_ops.sqrt(math_ops.cast(num_pixels, dtypes.float32))) + min_stddev = math_ops.rsqrt(math_ops.cast(num_pixels, dtypes.float32)) pixel_value_scale = math_ops.maximum(stddev, min_stddev) pixel_value_offset = image_mean diff --git a/tensorflow/python/ops/math_grad.py b/tensorflow/python/ops/math_grad.py index 0620a3da2c..2331f21d47 100644 --- a/tensorflow/python/ops/math_grad.py +++ b/tensorflow/python/ops/math_grad.py @@ -161,7 +161,7 @@ def _SegmentMeanGrad(op, grad): array_ops.fill(array_ops.expand_dims(input_rank - 1, 0), 1)]) ones = array_ops.fill(ones_shape, constant_op.constant(1, dtype=grad.dtype)) - scaled_grad = grad * math_ops.inv(math_ops.segment_sum(ones, op.inputs[1])) + scaled_grad = math_ops.div(grad, math_ops.segment_sum(ones, op.inputs[1])) return array_ops.gather(scaled_grad, op.inputs[1]), None diff --git a/tensorflow/python/ops/nn_ops.py b/tensorflow/python/ops/nn_ops.py index 73e51aab7d..562c0408b9 100644 --- a/tensorflow/python/ops/nn_ops.py +++ b/tensorflow/python/ops/nn_ops.py @@ -1125,7 +1125,7 @@ def dropout(x, keep_prob, noise_shape=None, seed=None, name=None): dtype=x.dtype) # 0. if [keep_prob, 1.0) and 1. if [1.0, 1.0 + keep_prob) binary_tensor = math_ops.floor(random_tensor) - ret = x * math_ops.inv(keep_prob) * binary_tensor + ret = math_ops.div(x, keep_prob) * binary_tensor ret.set_shape(x.get_shape()) return ret |