aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <bsteiner@google.com>2016-07-29 15:32:36 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2016-07-29 16:48:08 -0700
commitaebdf7744e8495855e564ec90f958498dcc6bc10 (patch)
treec13d2ea88d42624fc308134991296922b9e7ee14
parentd4a04061794520d02cdc49c3b2ca879714e8e43a (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.py4
-rw-r--r--tensorflow/python/ops/image_ops.py3
-rw-r--r--tensorflow/python/ops/math_grad.py2
-rw-r--r--tensorflow/python/ops/nn_ops.py2
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