aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Asim Shankar <ashankar@google.com>2018-09-04 18:32:44 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-09-04 18:39:34 -0700
commit30db26a5f4983b248bd4565d08c59155ad8bb36c (patch)
treeb531d8d39712ab41cdd6167a67f2aff9189f1c2a
parente1ba7ee122d218dd39cd423b821078d36b5663d1 (diff)
Test cleanups
- Remove unnecessary use of test_session() in tests that run with eager execution enabled. - Use cached_session() instead of test_session() (self.test_session() has been deprecated in 9962eb5e84b15e309410071b06c2ed2d6148ed44 as its name confuses readers of the test. Moving to cached_session() instead which is more explicit about: * the fact that the session may be reused. * the session is not closed even when doing a "with self.test_session()" statement.) PiperOrigin-RevId: 211562969
-rw-r--r--tensorflow/contrib/rnn/python/kernel_tests/core_rnn_cell_test.py73
-rw-r--r--tensorflow/python/data/kernel_tests/iterator_ops_test.py87
-rw-r--r--tensorflow/python/eager/backprop_test.py8
-rw-r--r--tensorflow/python/kernel_tests/check_ops_test.py80
-rw-r--r--tensorflow/python/kernel_tests/functional_ops_test.py405
-rw-r--r--tensorflow/python/kernel_tests/list_ops_test.py12
-rw-r--r--tensorflow/python/kernel_tests/py_func_test.py87
-rw-r--r--tensorflow/python/kernel_tests/resource_variable_ops_test.py39
-rw-r--r--tensorflow/python/kernel_tests/rnn_test.py18
9 files changed, 388 insertions, 421 deletions
diff --git a/tensorflow/contrib/rnn/python/kernel_tests/core_rnn_cell_test.py b/tensorflow/contrib/rnn/python/kernel_tests/core_rnn_cell_test.py
index 15ce9d1ce7..be0306cb07 100644
--- a/tensorflow/contrib/rnn/python/kernel_tests/core_rnn_cell_test.py
+++ b/tensorflow/contrib/rnn/python/kernel_tests/core_rnn_cell_test.py
@@ -48,7 +48,7 @@ Linear = core_rnn_cell._Linear # pylint: disable=invalid-name
class RNNCellTest(test.TestCase):
def testLinear(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(1.0)):
x = array_ops.zeros([1, 2])
@@ -69,7 +69,7 @@ class RNNCellTest(test.TestCase):
self.assertEqual(len(variables_lib.trainable_variables()), 2)
def testBasicRNNCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 2])
@@ -89,7 +89,7 @@ class RNNCellTest(test.TestCase):
self.assertEqual(res[0].shape, (1, 2))
def testBasicRNNCellNotTrainable(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
def not_trainable_getter(getter, *args, **kwargs):
kwargs["trainable"] = False
@@ -116,7 +116,7 @@ class RNNCellTest(test.TestCase):
self.assertEqual(res[0].shape, (1, 2))
def testIndRNNCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 2])
@@ -137,7 +137,7 @@ class RNNCellTest(test.TestCase):
self.assertEqual(res[0].shape, (1, 2))
def testGRUCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 2])
@@ -165,7 +165,7 @@ class RNNCellTest(test.TestCase):
self.assertAllClose(res[0], [[0.156736, 0.156736]])
def testIndyGRUCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 2])
@@ -193,7 +193,7 @@ class RNNCellTest(test.TestCase):
self.assertAllClose(res[0], [[0.155127, 0.157328]])
def testSRUCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 2])
@@ -208,7 +208,7 @@ class RNNCellTest(test.TestCase):
self.assertAllClose(res[0], [[0.509682, 0.509682]])
def testSRUCellWithDiffSize(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 3])
@@ -288,7 +288,7 @@ class RNNCellTest(test.TestCase):
def testBasicLSTMCellDimension0Error(self):
"""Tests that dimension 0 in both(x and m) shape must be equal."""
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
num_units = 2
@@ -309,7 +309,7 @@ class RNNCellTest(test.TestCase):
def testBasicLSTMCellStateSizeError(self):
"""Tests that state_size must be num_units * 2."""
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
num_units = 2
@@ -329,7 +329,7 @@ class RNNCellTest(test.TestCase):
})
def testBasicLSTMCellStateTupleType(self):
- with self.test_session():
+ with self.cached_session():
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 2])
@@ -360,7 +360,7 @@ class RNNCellTest(test.TestCase):
self.assertTrue(isinstance(out_m1, rnn_cell_impl.LSTMStateTuple))
def testBasicLSTMCellWithStateTuple(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 2])
@@ -459,7 +459,7 @@ class RNNCellTest(test.TestCase):
self.assertEqual(len(res), 2)
def testLSTMCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
num_units = 8
num_proj = 6
state_size = num_units + num_proj
@@ -494,7 +494,7 @@ class RNNCellTest(test.TestCase):
float(np.linalg.norm((res[1][0, :] - res[1][i, :]))) > 1e-6)
def testLSTMCellVariables(self):
- with self.test_session():
+ with self.cached_session():
num_units = 8
num_proj = 6
state_size = num_units + num_proj
@@ -517,7 +517,7 @@ class RNNCellTest(test.TestCase):
"root/lstm_cell/projection/kernel")
def testLSTMCellLayerNorm(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
num_units = 2
num_proj = 3
batch_size = 1
@@ -562,22 +562,21 @@ class RNNCellTest(test.TestCase):
rnn_cell_impl.DropoutWrapper,
rnn_cell_impl.ResidualWrapper,
lambda cell: rnn_cell_impl.MultiRNNCell([cell])]:
- with self.test_session():
- cell = rnn_cell_impl.BasicRNNCell(1)
- wrapper = wrapper_type(cell)
- wrapper(array_ops.ones([1, 1]),
- state=wrapper.zero_state(batch_size=1, dtype=dtypes.float32))
- self.evaluate([v.initializer for v in cell.variables])
- checkpoint = checkpointable_utils.Checkpoint(wrapper=wrapper)
- prefix = os.path.join(self.get_temp_dir(), "ckpt")
- self.evaluate(cell._bias.assign([40.]))
- save_path = checkpoint.save(prefix)
- self.evaluate(cell._bias.assign([0.]))
- checkpoint.restore(save_path).assert_consumed().run_restore_ops()
- self.assertAllEqual([40.], self.evaluate(cell._bias))
+ cell = rnn_cell_impl.BasicRNNCell(1)
+ wrapper = wrapper_type(cell)
+ wrapper(array_ops.ones([1, 1]),
+ state=wrapper.zero_state(batch_size=1, dtype=dtypes.float32))
+ self.evaluate([v.initializer for v in cell.variables])
+ checkpoint = checkpointable_utils.Checkpoint(wrapper=wrapper)
+ prefix = os.path.join(self.get_temp_dir(), "ckpt")
+ self.evaluate(cell._bias.assign([40.]))
+ save_path = checkpoint.save(prefix)
+ self.evaluate(cell._bias.assign([0.]))
+ checkpoint.restore(save_path).assert_consumed().run_restore_ops()
+ self.assertAllEqual([40.], self.evaluate(cell._bias))
def testOutputProjectionWrapper(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 3])
@@ -594,7 +593,7 @@ class RNNCellTest(test.TestCase):
self.assertAllClose(res[0], [[0.231907, 0.231907]])
def testInputProjectionWrapper(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 2])
@@ -612,7 +611,7 @@ class RNNCellTest(test.TestCase):
self.assertAllClose(res[0], [[0.154605, 0.154605, 0.154605]])
def testResidualWrapper(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 3])
@@ -638,7 +637,7 @@ class RNNCellTest(test.TestCase):
self.assertAllClose(res[2], res[3])
def testResidualWrapperWithSlice(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 5])
@@ -716,7 +715,7 @@ class RNNCellTest(test.TestCase):
self.assertTrue([s for s in gpu_stats if "gru_cell" in s.node_name])
def testEmbeddingWrapper(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 1], dtype=dtypes.int32)
@@ -735,7 +734,7 @@ class RNNCellTest(test.TestCase):
self.assertAllClose(res[0], [[0.17139, 0.17139]])
def testEmbeddingWrapperWithDynamicRnn(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope("root"):
inputs = ops.convert_to_tensor([[[0], [0]]], dtype=dtypes.int64)
input_lengths = ops.convert_to_tensor([2], dtype=dtypes.int64)
@@ -753,7 +752,7 @@ class RNNCellTest(test.TestCase):
sess.run(outputs)
def testMultiRNNCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 2])
@@ -770,7 +769,7 @@ class RNNCellTest(test.TestCase):
self.assertAllClose(res, [[0.175991, 0.175991, 0.13248, 0.13248]])
def testMultiRNNCellWithStateTuple(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
x = array_ops.zeros([1, 2])
@@ -809,7 +808,7 @@ class DropoutWrapperTest(test.TestCase):
time_steps=None,
parallel_iterations=None,
**kwargs):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope(
"root", initializer=init_ops.constant_initializer(0.5)):
if batch_size is None and time_steps is None:
diff --git a/tensorflow/python/data/kernel_tests/iterator_ops_test.py b/tensorflow/python/data/kernel_tests/iterator_ops_test.py
index b0414ad655..671e5d4812 100644
--- a/tensorflow/python/data/kernel_tests/iterator_ops_test.py
+++ b/tensorflow/python/data/kernel_tests/iterator_ops_test.py
@@ -91,7 +91,7 @@ class IteratorTest(test.TestCase):
self.assertEqual([c.shape[1:] for c in components],
[t.shape for t in get_next])
- with self.test_session() as sess:
+ with self.cached_session() as sess:
for _ in range(14):
for i in range(7):
result = sess.run(get_next)
@@ -117,7 +117,7 @@ class IteratorTest(test.TestCase):
self.assertEqual([c.shape[1:] for c in components],
[t.shape for t in get_next])
- with self.test_session() as sess:
+ with self.cached_session() as sess:
for _ in range(14):
for i in range(7):
result = sess.run(get_next)
@@ -208,7 +208,7 @@ class IteratorTest(test.TestCase):
iterator = dataset.make_one_shot_iterator()
next_element = iterator.get_next()
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with self.assertRaisesRegexp(errors.InvalidArgumentError, "oops"):
sess.run(next_element)
@@ -216,7 +216,7 @@ class IteratorTest(test.TestCase):
with self.assertRaisesRegexp(errors.InvalidArgumentError, "oops"):
sess.run(next_element)
- with self.test_session() as sess:
+ with self.cached_session() as sess:
def consumer_thread():
with self.assertRaisesRegexp(errors.InvalidArgumentError, "oops"):
@@ -287,7 +287,7 @@ class IteratorTest(test.TestCase):
.make_initializable_iterator())
get_next = iterator.get_next()
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with self.assertRaisesRegexp(errors.FailedPreconditionError,
"iterator has not been initialized"):
sess.run(get_next)
@@ -308,7 +308,7 @@ class IteratorTest(test.TestCase):
self.assertEqual(dataset_4.output_types, iterator.output_types)
self.assertEqual([None], iterator.output_shapes.as_list())
- with self.test_session() as sess:
+ with self.cached_session() as sess:
# The iterator is initially uninitialized.
with self.assertRaises(errors.FailedPreconditionError):
sess.run(get_next)
@@ -380,7 +380,7 @@ class IteratorTest(test.TestCase):
self.assertEqual(dataset_4.output_types, feedable_iterator.output_types)
self.assertEqual([], feedable_iterator.output_shapes)
- with self.test_session() as sess:
+ with self.cached_session() as sess:
iterator_3_handle = sess.run(iterator_3.string_handle())
iterator_4_handle = sess.run(iterator_4.string_handle())
@@ -436,7 +436,7 @@ class IteratorTest(test.TestCase):
self.assertEqual(dataset_4.output_types, feedable_iterator.output_types)
self.assertEqual([], feedable_iterator.output_shapes)
- with self.test_session() as sess:
+ with self.cached_session() as sess:
iterator_3_handle = sess.run(iterator_3.string_handle())
iterator_4_handle = sess.run(iterator_4.string_handle())
@@ -524,7 +524,7 @@ class IteratorTest(test.TestCase):
feedable_int_any = iterator_ops.Iterator.from_string_handle(
handle_placeholder, dtypes.int32)
- with self.test_session() as sess:
+ with self.cached_session() as sess:
handle_int_scalar = sess.run(
dataset_int_scalar.make_one_shot_iterator().string_handle())
handle_float_vector = sess.run(
@@ -687,7 +687,7 @@ class IteratorTest(test.TestCase):
f=_remote_fn,
target=target_placeholder)
- with self.test_session() as sess:
+ with self.cached_session() as sess:
elem = sess.run(
remote_op,
feed_dict={
@@ -803,16 +803,15 @@ class IteratorCheckpointingTest(test.TestCase):
get_next = iterator.get_next if context.executing_eagerly(
) else functools.partial(self.evaluate, iterator.get_next())
checkpoint = checkpointable_utils.Checkpoint(iterator=iterator)
- with self.test_session() as sess:
- self.assertAllEqual([1, 4], get_next())
- save_path = checkpoint.save(checkpoint_prefix)
- self.assertAllEqual([9, 16], get_next())
- self.assertAllEqual([25, 36], get_next())
- checkpoint.restore(save_path).run_restore_ops(sess)
- self.assertAllEqual([9, 16], get_next())
- self.assertAllEqual([25, 36], get_next())
- with self.assertRaises(errors.OutOfRangeError):
- get_next()
+ self.assertAllEqual([1, 4], get_next())
+ save_path = checkpoint.save(checkpoint_prefix)
+ self.assertAllEqual([9, 16], get_next())
+ self.assertAllEqual([25, 36], get_next())
+ checkpoint.restore(save_path).run_restore_ops()
+ self.assertAllEqual([9, 16], get_next())
+ self.assertAllEqual([25, 36], get_next())
+ with self.assertRaises(errors.OutOfRangeError):
+ get_next()
@test_util.run_in_graph_and_eager_modes
def testSaveRestoreMultipleIterator(self):
@@ -833,19 +832,18 @@ class IteratorCheckpointingTest(test.TestCase):
) else functools.partial(self.evaluate, iterator_3.get_next())
checkpoint = checkpointable_utils.Checkpoint(
iterator_1=iterator_1, iterator_2=iterator_2, iterator_3=iterator_3)
- with self.test_session() as sess:
- self.assertAllEqual([1, 4], get_next_1())
- self.assertAllEqual(0, get_next_3())
- self.assertAllEqual(1, get_next_3())
- self.assertAllEqual(2, get_next_3())
- save_path = checkpoint.save(checkpoint_prefix)
- self.assertAllEqual([1, 4], get_next_2())
- self.assertAllEqual([9, 16], get_next_2())
- self.assertAllEqual(3, get_next_3())
- checkpoint.restore(save_path).run_restore_ops(sess)
- self.assertAllEqual([9, 16], get_next_1())
- self.assertAllEqual([1, 4], get_next_2())
- self.assertAllEqual(3, get_next_3())
+ self.assertAllEqual([1, 4], get_next_1())
+ self.assertAllEqual(0, get_next_3())
+ self.assertAllEqual(1, get_next_3())
+ self.assertAllEqual(2, get_next_3())
+ save_path = checkpoint.save(checkpoint_prefix)
+ self.assertAllEqual([1, 4], get_next_2())
+ self.assertAllEqual([9, 16], get_next_2())
+ self.assertAllEqual(3, get_next_3())
+ checkpoint.restore(save_path).run_restore_ops()
+ self.assertAllEqual([9, 16], get_next_1())
+ self.assertAllEqual([1, 4], get_next_2())
+ self.assertAllEqual(3, get_next_3())
@test_util.run_in_graph_and_eager_modes
def testRestoreExhaustedIterator(self):
@@ -856,17 +854,16 @@ class IteratorCheckpointingTest(test.TestCase):
get_next = iterator.get_next if context.executing_eagerly(
) else functools.partial(self.evaluate, iterator.get_next())
checkpoint = checkpointable_utils.Checkpoint(iterator=iterator)
- with self.test_session() as sess:
- self.assertAllEqual(0, get_next())
- self.assertAllEqual(1, get_next())
- save_path = checkpoint.save(checkpoint_prefix)
- self.assertAllEqual(2, get_next())
- checkpoint.restore(save_path).run_restore_ops(sess)
- self.assertAllEqual(2, get_next())
- save_path = checkpoint.save(checkpoint_prefix)
- checkpoint.restore(save_path).run_restore_ops(sess)
- with self.assertRaises(errors.OutOfRangeError):
- get_next()
+ self.assertAllEqual(0, get_next())
+ self.assertAllEqual(1, get_next())
+ save_path = checkpoint.save(checkpoint_prefix)
+ self.assertAllEqual(2, get_next())
+ checkpoint.restore(save_path).run_restore_ops()
+ self.assertAllEqual(2, get_next())
+ save_path = checkpoint.save(checkpoint_prefix)
+ checkpoint.restore(save_path).run_restore_ops()
+ with self.assertRaises(errors.OutOfRangeError):
+ get_next()
def testRestoreInReconstructedIteratorInitializable(self):
checkpoint_directory = self.get_temp_dir()
@@ -876,7 +873,7 @@ class IteratorCheckpointingTest(test.TestCase):
get_next = iterator.get_next()
checkpoint = checkpointable_utils.Checkpoint(iterator=iterator)
for i in range(5):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
checkpoint.restore(checkpoint_management.latest_checkpoint(
checkpoint_directory)).initialize_or_restore(sess)
for j in range(2):
diff --git a/tensorflow/python/eager/backprop_test.py b/tensorflow/python/eager/backprop_test.py
index caf36b6a36..6673178ee7 100644
--- a/tensorflow/python/eager/backprop_test.py
+++ b/tensorflow/python/eager/backprop_test.py
@@ -64,7 +64,7 @@ class BackpropTest(test.TestCase):
grad = backprop.gradients_function(fn, [0])(var)[0]
grad = self.evaluate(ops.convert_to_tensor(grad))
- with context.graph_mode(), self.test_session():
+ with context.graph_mode():
tf_var = array_ops.constant(var_np, dtypes.float32)
tf_ind1 = array_ops.constant([0, 1])
tf_ind2 = array_ops.constant([2, 3])
@@ -79,7 +79,7 @@ class BackpropTest(test.TestCase):
tf_dense_grad = math_ops.unsorted_segment_sum(
tf_grad.values, tf_grad.indices, tf_grad.dense_shape[0])
- self.assertAllClose(grad, tf_dense_grad.eval())
+ self.assertAllClose(grad, self.evaluate(tf_dense_grad))
def testImplicitGradWithResourceVariable(self):
x = resource_variable_ops.ResourceVariable(
@@ -198,7 +198,7 @@ class BackpropTest(test.TestCase):
grad = backprop.implicit_grad(f)()[0][0]
opt = training.GradientDescentOptimizer(lrn_rate)
- with context.graph_mode(), self.test_session():
+ with context.graph_mode(), self.cached_session():
tf_x = array_ops.ones((batch_size), dtypes.int64)
# TODO(ashankar,apassos): Change to ResourceVariable.
tf_embedding = variables.Variable(
@@ -941,7 +941,7 @@ class BackpropTest(test.TestCase):
def testZerosCacheDoesntLeakAcrossGraphs(self):
with context.graph_mode():
def get_grad():
- with ops.Graph().as_default(), self.test_session():
+ with ops.Graph().as_default(), self.cached_session():
t = constant_op.constant(1, dtype=dtypes.float32, shape=(10, 4))
x = constant_op.constant(2, dtype=dtypes.float32, shape=(10, 4))
with backprop.GradientTape() as tape:
diff --git a/tensorflow/python/kernel_tests/check_ops_test.py b/tensorflow/python/kernel_tests/check_ops_test.py
index 05f998d0d2..680d0c97cc 100644
--- a/tensorflow/python/kernel_tests/check_ops_test.py
+++ b/tensorflow/python/kernel_tests/check_ops_test.py
@@ -116,7 +116,7 @@ class AssertEqualTest(test.TestCase):
check_ops.assert_equal(static_big, static_small, message="fail")
def test_raises_when_greater_dynamic(self):
- with self.test_session():
+ with self.cached_session():
small = array_ops.placeholder(dtypes.int32, name="small")
big = array_ops.placeholder(dtypes.int32, name="big")
with ops.control_dependencies(
@@ -194,7 +194,7 @@ First 2 elements of y:
check_ops.assert_equal(static_big, static_small, message="fail")
def test_raises_when_less_dynamic(self):
- with self.test_session():
+ with self.cached_session():
small = array_ops.placeholder(dtypes.int32, name="small")
big = array_ops.placeholder(dtypes.int32, name="big")
with ops.control_dependencies([check_ops.assert_equal(small, big)]):
@@ -271,30 +271,28 @@ class AssertNoneEqualTest(test.TestCase):
@test_util.run_in_graph_and_eager_modes
def test_raises_when_not_equal_but_non_broadcastable_shapes(self):
- with self.test_session():
- small = constant_op.constant([1, 1, 1], name="small")
- big = constant_op.constant([10, 10], name="big")
- # The exception in eager and non-eager mode is different because
- # eager mode relies on shape check done as part of the C++ op, while
- # graph mode does shape checks when creating the `Operation` instance.
- with self.assertRaisesRegexp(
- (ValueError, errors.InvalidArgumentError),
- (r"Incompatible shapes: \[3\] vs. \[2\]|"
- r"Dimensions must be equal, but are 3 and 2")):
- with ops.control_dependencies(
- [check_ops.assert_none_equal(small, big)]):
- out = array_ops.identity(small)
- self.evaluate(out)
+ small = constant_op.constant([1, 1, 1], name="small")
+ big = constant_op.constant([10, 10], name="big")
+ # The exception in eager and non-eager mode is different because
+ # eager mode relies on shape check done as part of the C++ op, while
+ # graph mode does shape checks when creating the `Operation` instance.
+ with self.assertRaisesRegexp(
+ (ValueError, errors.InvalidArgumentError),
+ (r"Incompatible shapes: \[3\] vs. \[2\]|"
+ r"Dimensions must be equal, but are 3 and 2")):
+ with ops.control_dependencies(
+ [check_ops.assert_none_equal(small, big)]):
+ out = array_ops.identity(small)
+ self.evaluate(out)
@test_util.run_in_graph_and_eager_modes
def test_doesnt_raise_when_both_empty(self):
- with self.test_session():
- larry = constant_op.constant([])
- curly = constant_op.constant([])
- with ops.control_dependencies(
- [check_ops.assert_none_equal(larry, curly)]):
- out = array_ops.identity(larry)
- self.evaluate(out)
+ larry = constant_op.constant([])
+ curly = constant_op.constant([])
+ with ops.control_dependencies(
+ [check_ops.assert_none_equal(larry, curly)]):
+ out = array_ops.identity(larry)
+ self.evaluate(out)
def test_returns_none_with_eager(self):
with context.eager_mode():
@@ -905,7 +903,7 @@ class AssertRankTest(test.TestCase):
self.evaluate(array_ops.identity(tensor))
def test_rank_zero_tensor_raises_if_rank_too_small_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor = array_ops.placeholder(dtypes.float32, name="my_tensor")
desired_rank = 1
with ops.control_dependencies(
@@ -923,7 +921,7 @@ class AssertRankTest(test.TestCase):
self.evaluate(array_ops.identity(tensor))
def test_rank_zero_tensor_doesnt_raise_if_rank_just_right_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor = array_ops.placeholder(dtypes.float32, name="my_tensor")
desired_rank = 0
with ops.control_dependencies(
@@ -940,7 +938,7 @@ class AssertRankTest(test.TestCase):
self.evaluate(array_ops.identity(tensor))
def test_rank_one_tensor_raises_if_rank_too_large_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor = array_ops.placeholder(dtypes.float32, name="my_tensor")
desired_rank = 0
with ops.control_dependencies(
@@ -957,7 +955,7 @@ class AssertRankTest(test.TestCase):
self.evaluate(array_ops.identity(tensor))
def test_rank_one_tensor_doesnt_raise_if_rank_just_right_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor = array_ops.placeholder(dtypes.float32, name="my_tensor")
desired_rank = 1
with ops.control_dependencies(
@@ -974,7 +972,7 @@ class AssertRankTest(test.TestCase):
self.evaluate(array_ops.identity(tensor))
def test_rank_one_tensor_raises_if_rank_too_small_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor = array_ops.placeholder(dtypes.float32, name="my_tensor")
desired_rank = 2
with ops.control_dependencies(
@@ -989,7 +987,7 @@ class AssertRankTest(test.TestCase):
check_ops.assert_rank(tensor, np.array([], dtype=np.int32))
def test_raises_if_rank_is_not_scalar_dynamic(self):
- with self.test_session():
+ with self.cached_session():
tensor = constant_op.constant(
[1, 2], dtype=dtypes.float32, name="my_tensor")
rank_tensor = array_ops.placeholder(dtypes.int32, name="rank_tensor")
@@ -1006,7 +1004,7 @@ class AssertRankTest(test.TestCase):
check_ops.assert_rank(tensor, .5)
def test_raises_if_rank_is_not_integer_dynamic(self):
- with self.test_session():
+ with self.cached_session():
tensor = constant_op.constant(
[1, 2], dtype=dtypes.float32, name="my_tensor")
rank_tensor = array_ops.placeholder(dtypes.float32, name="rank_tensor")
@@ -1029,7 +1027,7 @@ class AssertRankInTest(test.TestCase):
self.evaluate(array_ops.identity(tensor_rank0))
def test_rank_zero_tensor_raises_if_rank_mismatch_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor_rank0 = array_ops.placeholder(dtypes.float32, name="my_tensor")
with ops.control_dependencies([
check_ops.assert_rank_in(tensor_rank0, (1, 2), message="fail")]):
@@ -1045,7 +1043,7 @@ class AssertRankInTest(test.TestCase):
self.evaluate(array_ops.identity(tensor_rank0))
def test_rank_zero_tensor_doesnt_raise_if_rank_matches_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor_rank0 = array_ops.placeholder(dtypes.float32, name="my_tensor")
for desired_ranks in ((0, 1, 2), (1, 0, 2), (1, 2, 0)):
with ops.control_dependencies([
@@ -1061,7 +1059,7 @@ class AssertRankInTest(test.TestCase):
self.evaluate(array_ops.identity(tensor_rank1))
def test_rank_one_tensor_doesnt_raise_if_rank_matches_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor_rank1 = array_ops.placeholder(dtypes.float32, name="my_tensor")
for desired_ranks in ((0, 1, 2), (1, 0, 2), (1, 2, 0)):
with ops.control_dependencies([
@@ -1079,7 +1077,7 @@ class AssertRankInTest(test.TestCase):
self.evaluate(array_ops.identity(tensor_rank1))
def test_rank_one_tensor_raises_if_rank_mismatches_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor_rank1 = array_ops.placeholder(dtypes.float32, name="my_tensor")
with ops.control_dependencies([
check_ops.assert_rank_in(tensor_rank1, (0, 2))]):
@@ -1098,7 +1096,7 @@ class AssertRankInTest(test.TestCase):
check_ops.assert_rank_in(tensor, desired_ranks)
def test_raises_if_rank_is_not_scalar_dynamic(self):
- with self.test_session():
+ with self.cached_session():
tensor = constant_op.constant(
(42, 43), dtype=dtypes.float32, name="my_tensor")
desired_ranks = (
@@ -1120,7 +1118,7 @@ class AssertRankInTest(test.TestCase):
check_ops.assert_rank_in(tensor, (1, .5,))
def test_raises_if_rank_is_not_integer_dynamic(self):
- with self.test_session():
+ with self.cached_session():
tensor = constant_op.constant(
(42, 43), dtype=dtypes.float32, name="my_tensor")
rank_tensor = array_ops.placeholder(dtypes.float32, name="rank_tensor")
@@ -1143,7 +1141,7 @@ class AssertRankAtLeastTest(test.TestCase):
self.evaluate(array_ops.identity(tensor))
def test_rank_zero_tensor_raises_if_rank_too_small_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor = array_ops.placeholder(dtypes.float32, name="my_tensor")
desired_rank = 1
with ops.control_dependencies(
@@ -1160,7 +1158,7 @@ class AssertRankAtLeastTest(test.TestCase):
self.evaluate(array_ops.identity(tensor))
def test_rank_zero_tensor_doesnt_raise_if_rank_just_right_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor = array_ops.placeholder(dtypes.float32, name="my_tensor")
desired_rank = 0
with ops.control_dependencies(
@@ -1176,7 +1174,7 @@ class AssertRankAtLeastTest(test.TestCase):
self.evaluate(array_ops.identity(tensor))
def test_rank_one_ten_doesnt_raise_if_rank_too_large_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor = array_ops.placeholder(dtypes.float32, name="my_tensor")
desired_rank = 0
with ops.control_dependencies(
@@ -1192,7 +1190,7 @@ class AssertRankAtLeastTest(test.TestCase):
self.evaluate(array_ops.identity(tensor))
def test_rank_one_tensor_doesnt_raise_if_rank_just_right_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor = array_ops.placeholder(dtypes.float32, name="my_tensor")
desired_rank = 1
with ops.control_dependencies(
@@ -1209,7 +1207,7 @@ class AssertRankAtLeastTest(test.TestCase):
self.evaluate(array_ops.identity(tensor))
def test_rank_one_tensor_raises_if_rank_too_small_dynamic_rank(self):
- with self.test_session():
+ with self.cached_session():
tensor = array_ops.placeholder(dtypes.float32, name="my_tensor")
desired_rank = 2
with ops.control_dependencies(
diff --git a/tensorflow/python/kernel_tests/functional_ops_test.py b/tensorflow/python/kernel_tests/functional_ops_test.py
index 7739b13143..3ddb5e06c9 100644
--- a/tensorflow/python/kernel_tests/functional_ops_test.py
+++ b/tensorflow/python/kernel_tests/functional_ops_test.py
@@ -59,39 +59,36 @@ class FunctionalOpsTest(test.TestCase):
@test_util.run_in_graph_and_eager_modes
def testFoldl_Simple(self):
- with self.test_session():
- elems = constant_op.constant([1, 2, 3, 4, 5, 6], name="data")
+ elems = constant_op.constant([1, 2, 3, 4, 5, 6], name="data")
- r = functional_ops.foldl(
- lambda a, x: math_ops.multiply(math_ops.add(a, x), 2),
- elems)
- self.assertAllEqual(208, self.evaluate(r))
+ r = functional_ops.foldl(
+ lambda a, x: math_ops.multiply(math_ops.add(a, x), 2),
+ elems)
+ self.assertAllEqual(208, self.evaluate(r))
- r = functional_ops.foldl(
- lambda a, x: math_ops.multiply(math_ops.add(a, x), 2),
- elems,
- initializer=10)
- self.assertAllEqual(880, self.evaluate(r))
+ r = functional_ops.foldl(
+ lambda a, x: math_ops.multiply(math_ops.add(a, x), 2),
+ elems,
+ initializer=10)
+ self.assertAllEqual(880, self.evaluate(r))
@test_util.run_in_graph_and_eager_modes
def testFoldl_SingleInputMultiOutput(self):
- with self.test_session():
- elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
- initializer = np.array([1, -1.0])
- r = functional_ops.foldl(lambda a, x: a + x, elems, initializer)
- r_value = self.evaluate(r)
+ elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
+ initializer = np.array([1, -1.0])
+ r = functional_ops.foldl(lambda a, x: a + x, elems, initializer)
+ r_value = self.evaluate(r)
- self.assertAllEqual(22, r_value[0])
- self.assertAllEqual(20, r_value[1])
+ self.assertAllEqual(22, r_value[0])
+ self.assertAllEqual(20, r_value[1])
@test_util.run_in_graph_and_eager_modes
def testFoldl_MultiInputSingleOutput(self):
- with self.test_session():
- elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
- initializer = np.array(1.0)
- r = functional_ops.foldl(lambda a, x: a + x[0] + x[1], (elems, -elems),
- initializer)
- self.assertAllEqual(1, self.evaluate(r))
+ elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
+ initializer = np.array(1.0)
+ r = functional_ops.foldl(lambda a, x: a + x[0] + x[1], (elems, -elems),
+ initializer)
+ self.assertAllEqual(1, self.evaluate(r))
@test_util.run_in_graph_and_eager_modes
def testFoldl_MultiInputDifferentDimsSingleOutput(self):
@@ -103,7 +100,7 @@ class FunctionalOpsTest(test.TestCase):
self.assertAllEqual([1.0, 2.0, 3.0], self.evaluate(r))
def testFoldl_Scoped(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope("root") as varscope:
elems = constant_op.constant([1, 2, 3, 4, 5, 6], name="data")
@@ -123,42 +120,39 @@ class FunctionalOpsTest(test.TestCase):
@test_util.run_in_graph_and_eager_modes
def testFoldr_Simple(self):
- with self.test_session():
- elems = constant_op.constant([1, 2, 3, 4, 5, 6], name="data")
+ elems = constant_op.constant([1, 2, 3, 4, 5, 6], name="data")
- r = functional_ops.foldr(
- lambda a, x: math_ops.multiply(math_ops.add(a, x), 2),
- elems)
- self.assertAllEqual(450, self.evaluate(r))
+ r = functional_ops.foldr(
+ lambda a, x: math_ops.multiply(math_ops.add(a, x), 2),
+ elems)
+ self.assertAllEqual(450, self.evaluate(r))
- r = functional_ops.foldr(
- lambda a, x: math_ops.multiply(math_ops.add(a, x), 2),
- elems,
- initializer=10)
- self.assertAllEqual(1282, self.evaluate(r))
+ r = functional_ops.foldr(
+ lambda a, x: math_ops.multiply(math_ops.add(a, x), 2),
+ elems,
+ initializer=10)
+ self.assertAllEqual(1282, self.evaluate(r))
@test_util.run_in_graph_and_eager_modes
def testFoldr_SingleInputMultiOutput(self):
- with self.test_session():
- elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
- initializer = np.array([1, -1.0])
- r = functional_ops.foldr(lambda a, x: a + x, elems, initializer)
- r_value = self.evaluate(r)
+ elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
+ initializer = np.array([1, -1.0])
+ r = functional_ops.foldr(lambda a, x: a + x, elems, initializer)
+ r_value = self.evaluate(r)
- self.assertAllEqual(22, r_value[0])
- self.assertAllEqual(20, r_value[1])
+ self.assertAllEqual(22, r_value[0])
+ self.assertAllEqual(20, r_value[1])
@test_util.run_in_graph_and_eager_modes
def testFoldr_MultiInputSingleOutput(self):
- with self.test_session():
- elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
- initializer = np.array(1.0)
- r = functional_ops.foldr(lambda a, x: a + x[0] + x[1], (elems, -elems),
- initializer)
- self.assertAllEqual(1, self.evaluate(r))
+ elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
+ initializer = np.array(1.0)
+ r = functional_ops.foldr(lambda a, x: a + x[0] + x[1], (elems, -elems),
+ initializer)
+ self.assertAllEqual(1, self.evaluate(r))
def testFoldr_Scoped(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope("root") as varscope:
elems = constant_op.constant([1, 2, 3, 4, 5, 6], name="data")
@@ -178,7 +172,7 @@ class FunctionalOpsTest(test.TestCase):
# pylint: disable=unnecessary-lambda
def testFold_Grad(self):
- with self.test_session():
+ with self.cached_session():
elems = constant_op.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], name="data")
v = constant_op.constant(2.0, name="v")
r = functional_ops.foldl(
@@ -194,16 +188,15 @@ class FunctionalOpsTest(test.TestCase):
@test_util.run_in_graph_and_eager_modes
def testMap_Simple(self):
- with self.test_session():
- nums = [1, 2, 3, 4, 5, 6]
- elems = constant_op.constant(nums, name="data")
- r = functional_ops.map_fn(
- lambda x: math_ops.multiply(math_ops.add(x, 3), 2), elems)
- self.assertAllEqual(
- np.array([(x + 3) * 2 for x in nums]), self.evaluate(r))
+ nums = [1, 2, 3, 4, 5, 6]
+ elems = constant_op.constant(nums, name="data")
+ r = functional_ops.map_fn(
+ lambda x: math_ops.multiply(math_ops.add(x, 3), 2), elems)
+ self.assertAllEqual(
+ np.array([(x + 3) * 2 for x in nums]), self.evaluate(r))
def testMapSparseTensor(self):
- with self.test_session():
+ with self.cached_session():
with self.assertRaises(TypeError):
functional_ops.map_fn(
lambda x: x,
@@ -220,7 +213,7 @@ class FunctionalOpsTest(test.TestCase):
functional_ops.map_fn(lambda x: x, 1)
def testMap_Scoped(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
def double_scoped(x):
"""2x with a dummy 2 that is scoped."""
@@ -251,7 +244,7 @@ class FunctionalOpsTest(test.TestCase):
self.assertAllEqual(doubles, self.evaluate(r))
def testMap_Grad(self):
- with self.test_session():
+ with self.cached_session():
param = constant_op.constant(2.0)
elems = constant_op.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], name="elems")
y = functional_ops.map_fn(
@@ -263,142 +256,131 @@ class FunctionalOpsTest(test.TestCase):
@test_util.run_in_graph_and_eager_modes
def testMap_SimpleNotTensor(self):
- with self.test_session():
- nums = np.array([1, 2, 3, 4, 5, 6])
- r = functional_ops.map_fn(
- lambda x: math_ops.multiply(math_ops.add(x, 3), 2), nums)
- self.assertAllEqual(
- np.array([(x + 3) * 2 for x in nums]), self.evaluate(r))
+ nums = np.array([1, 2, 3, 4, 5, 6])
+ r = functional_ops.map_fn(
+ lambda x: math_ops.multiply(math_ops.add(x, 3), 2), nums)
+ self.assertAllEqual(
+ np.array([(x + 3) * 2 for x in nums]), self.evaluate(r))
@test_util.run_in_graph_and_eager_modes
def testMap_SingleInputMultiOutput(self):
- with self.test_session():
- nums = np.array([1, 2, 3, 4, 5, 6])
- r = functional_ops.map_fn(
- lambda x: ((x + 3) * 2, -(x + 3) * 2),
- nums,
- dtype=(dtypes.int64, dtypes.int64))
- self.assertEqual(2, len(r))
- self.assertEqual((6,), r[0].get_shape())
- self.assertEqual((6,), r[1].get_shape())
- received = self.evaluate(r)
- self.assertAllEqual((nums + 3) * 2, received[0])
- self.assertAllEqual(-(nums + 3) * 2, received[1])
+ nums = np.array([1, 2, 3, 4, 5, 6])
+ r = functional_ops.map_fn(
+ lambda x: ((x + 3) * 2, -(x + 3) * 2),
+ nums,
+ dtype=(dtypes.int64, dtypes.int64))
+ self.assertEqual(2, len(r))
+ self.assertEqual((6,), r[0].get_shape())
+ self.assertEqual((6,), r[1].get_shape())
+ received = self.evaluate(r)
+ self.assertAllEqual((nums + 3) * 2, received[0])
+ self.assertAllEqual(-(nums + 3) * 2, received[1])
@test_util.run_in_graph_and_eager_modes
def testMap_MultiOutputMismatchedDtype(self):
- with self.test_session():
- nums = np.array([1, 2, 3, 4, 5, 6])
- with self.assertRaisesRegexp(
- TypeError, r"two structures don't have the same nested structure"):
- # lambda emits tuple, but dtype is a list
- functional_ops.map_fn(
- lambda x: ((x + 3) * 2, -(x + 3) * 2),
- nums,
- dtype=[dtypes.int64, dtypes.int64])
+ nums = np.array([1, 2, 3, 4, 5, 6])
+ with self.assertRaisesRegexp(
+ TypeError, r"two structures don't have the same nested structure"):
+ # lambda emits tuple, but dtype is a list
+ functional_ops.map_fn(
+ lambda x: ((x + 3) * 2, -(x + 3) * 2),
+ nums,
+ dtype=[dtypes.int64, dtypes.int64])
@test_util.run_in_graph_and_eager_modes
def testMap_MultiInputSingleOutput(self):
- with self.test_session():
- nums = np.array([1, 2, 3, 4, 5, 6])
- r = functional_ops.map_fn(
- lambda x: x[0] * x[1][0] + x[1][1], (nums, (nums, -nums)),
- dtype=dtypes.int64)
- self.assertEqual((6,), r.get_shape())
- received = self.evaluate(r)
- self.assertAllEqual(nums * nums + (-nums), received)
+ nums = np.array([1, 2, 3, 4, 5, 6])
+ r = functional_ops.map_fn(
+ lambda x: x[0] * x[1][0] + x[1][1], (nums, (nums, -nums)),
+ dtype=dtypes.int64)
+ self.assertEqual((6,), r.get_shape())
+ received = self.evaluate(r)
+ self.assertAllEqual(nums * nums + (-nums), received)
@test_util.run_in_graph_and_eager_modes
def testMap_MultiInputSameStructureOutput(self):
- with self.test_session():
- nums = np.array([1, 2, 3, 4, 5, 6])
- r = functional_ops.map_fn(lambda x: (x[1][0], (x[1][1], x[0])),
- (nums, (2 * nums, -nums)))
- r = [r[0], r[1][0], r[1][1]]
- self.assertEqual((6,), r[0].get_shape())
- self.assertEqual((6,), r[1].get_shape())
- self.assertEqual((6,), r[2].get_shape())
- received = self.evaluate(r)
- self.assertAllEqual(2 * nums, received[0])
- self.assertAllEqual(-nums, received[1])
- self.assertAllEqual(nums, received[2])
+ nums = np.array([1, 2, 3, 4, 5, 6])
+ r = functional_ops.map_fn(lambda x: (x[1][0], (x[1][1], x[0])),
+ (nums, (2 * nums, -nums)))
+ r = [r[0], r[1][0], r[1][1]]
+ self.assertEqual((6,), r[0].get_shape())
+ self.assertEqual((6,), r[1].get_shape())
+ self.assertEqual((6,), r[2].get_shape())
+ received = self.evaluate(r)
+ self.assertAllEqual(2 * nums, received[0])
+ self.assertAllEqual(-nums, received[1])
+ self.assertAllEqual(nums, received[2])
@test_util.run_in_graph_and_eager_modes
def testScan_Simple(self):
- with self.test_session():
- elems = constant_op.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], name="data")
- v = constant_op.constant(2.0, name="v")
+ elems = constant_op.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], name="data")
+ v = constant_op.constant(2.0, name="v")
- # pylint: disable=unnecessary-lambda
- r = functional_ops.scan(lambda a, x: math_ops.multiply(a, x), elems)
- self.assertAllEqual([1., 2., 6., 24., 120., 720.], self.evaluate(r))
+ # pylint: disable=unnecessary-lambda
+ r = functional_ops.scan(lambda a, x: math_ops.multiply(a, x), elems)
+ self.assertAllEqual([1., 2., 6., 24., 120., 720.], self.evaluate(r))
- r = functional_ops.scan(
- lambda a, x: math_ops.multiply(a, x), elems, initializer=v)
- self.assertAllEqual([2., 4., 12., 48., 240., 1440.], self.evaluate(r))
- # pylint: enable=unnecessary-lambda
+ r = functional_ops.scan(
+ lambda a, x: math_ops.multiply(a, x), elems, initializer=v)
+ self.assertAllEqual([2., 4., 12., 48., 240., 1440.], self.evaluate(r))
+ # pylint: enable=unnecessary-lambda
@test_util.run_in_graph_and_eager_modes
def testScan_Reverse(self):
- with self.test_session():
- elems = constant_op.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], name="data")
- v = constant_op.constant(2.0, name="v")
-
- # pylint: disable=unnecessary-lambda
- r = functional_ops.scan(lambda a, x: math_ops.multiply(a, x), elems,
- reverse=True)
- self.assertAllEqual([720., 720., 360., 120., 30., 6.], self.evaluate(r))
- r = functional_ops.scan(
- lambda a, x: math_ops.multiply(a, x), elems, initializer=v,
- reverse=True)
- self.assertAllEqual([1440., 1440., 720., 240., 60., 12.],
- self.evaluate(r))
- # pylint: enable=unnecessary-lambda
+ elems = constant_op.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], name="data")
+ v = constant_op.constant(2.0, name="v")
+
+ # pylint: disable=unnecessary-lambda
+ r = functional_ops.scan(lambda a, x: math_ops.multiply(a, x), elems,
+ reverse=True)
+ self.assertAllEqual([720., 720., 360., 120., 30., 6.], self.evaluate(r))
+ r = functional_ops.scan(
+ lambda a, x: math_ops.multiply(a, x), elems, initializer=v,
+ reverse=True)
+ self.assertAllEqual([1440., 1440., 720., 240., 60., 12.],
+ self.evaluate(r))
+ # pylint: enable=unnecessary-lambda
@test_util.run_in_graph_and_eager_modes
def testScan_SingleInputMultiOutput(self):
- with self.test_session():
- elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
- initializer = (np.array(1.0), np.array(-1.0))
- r = functional_ops.scan(lambda a, x: (a[0] * x, -a[1] * x), elems,
- initializer)
- r_value = self.evaluate(r)
+ elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
+ initializer = (np.array(1.0), np.array(-1.0))
+ r = functional_ops.scan(lambda a, x: (a[0] * x, -a[1] * x), elems,
+ initializer)
+ r_value = self.evaluate(r)
- self.assertAllEqual([1.0, 2.0, 6.0, 24.0, 120.0, 720.0], r_value[0])
- self.assertAllEqual([1.0, -2.0, 6.0, -24.0, 120.0, -720.0], r_value[1])
+ self.assertAllEqual([1.0, 2.0, 6.0, 24.0, 120.0, 720.0], r_value[0])
+ self.assertAllEqual([1.0, -2.0, 6.0, -24.0, 120.0, -720.0], r_value[1])
@test_util.run_in_graph_and_eager_modes
def testScan_MultiInputSingleOutput(self):
- with self.test_session():
- elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
- initializer = np.array(1.0)
- # Multiply a * 1 each time
- r = functional_ops.scan(lambda a, x: a * (x[0] + x[1]),
- (elems + 1, -elems), initializer)
- self.assertAllEqual([1.0, 1.0, 1.0, 1.0, 1.0, 1.0], self.evaluate(r))
+ elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
+ initializer = np.array(1.0)
+ # Multiply a * 1 each time
+ r = functional_ops.scan(lambda a, x: a * (x[0] + x[1]),
+ (elems + 1, -elems), initializer)
+ self.assertAllEqual([1.0, 1.0, 1.0, 1.0, 1.0, 1.0], self.evaluate(r))
@test_util.run_in_graph_and_eager_modes
def testScan_MultiInputSameTypeOutput(self):
- with self.test_session():
- elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
- r = functional_ops.scan(lambda a, x: (a[0] + x[0], a[1] + x[1]),
- (elems, -elems))
- r_value = self.evaluate(r)
- self.assertAllEqual(np.cumsum(elems), r_value[0])
- self.assertAllEqual(np.cumsum(-elems), r_value[1])
+ elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
+ r = functional_ops.scan(lambda a, x: (a[0] + x[0], a[1] + x[1]),
+ (elems, -elems))
+ r_value = self.evaluate(r)
+ self.assertAllEqual(np.cumsum(elems), r_value[0])
+ self.assertAllEqual(np.cumsum(-elems), r_value[1])
@test_util.run_in_graph_and_eager_modes
def testScan_MultiOutputMismatchedInitializer(self):
- with self.test_session():
- elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
- initializer = np.array(1.0)
- # Multiply a * 1 each time
- with self.assertRaisesRegexp(
- ValueError, "two structures don't have the same nested structure"):
- functional_ops.scan(lambda a, x: (a, -a), elems, initializer)
+ elems = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
+ initializer = np.array(1.0)
+ # Multiply a * 1 each time
+ with self.assertRaisesRegexp(
+ ValueError, "two structures don't have the same nested structure"):
+ functional_ops.scan(lambda a, x: (a, -a), elems, initializer)
def testScan_Scoped(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
with variable_scope.variable_scope("root") as varscope:
elems = constant_op.constant([1, 2, 3, 4, 5, 6], name="data")
@@ -420,30 +402,29 @@ class FunctionalOpsTest(test.TestCase):
@test_util.run_in_graph_and_eager_modes
def testScanFoldl_Nested(self):
- with self.test_session():
- elems = constant_op.constant([1.0, 2.0, 3.0, 4.0], name="data")
- inner_elems = constant_op.constant([0.5, 0.5], name="data")
-
- def r_inner(a, x):
- return functional_ops.foldl(
- lambda b, y: b * y * x, inner_elems, initializer=a)
-
- r = functional_ops.scan(r_inner, elems)
-
- # t == 0 (returns 1)
- # t == 1, a == 1, x == 2 (returns 1)
- # t_0 == 0, b == a == 1, y == 0.5, returns b * y * x = 1
- # t_1 == 1, b == 1, y == 0.5, returns b * y * x = 1
- # t == 2, a == 1, x == 3 (returns 1.5*1.5 == 2.25)
- # t_0 == 0, b == a == 1, y == 0.5, returns b * y * x = 1.5
- # t_1 == 1, b == 1.5, y == 0.5, returns b * y * x = 1.5*1.5
- # t == 3, a == 2.25, x == 4 (returns 9)
- # t_0 == 0, b == a == 2.25, y == 0.5, returns b * y * x = 4.5
- # t_1 == 1, b == 4.5, y == 0.5, returns b * y * x = 9
- self.assertAllClose([1., 1., 2.25, 9.], self.evaluate(r))
+ elems = constant_op.constant([1.0, 2.0, 3.0, 4.0], name="data")
+ inner_elems = constant_op.constant([0.5, 0.5], name="data")
+
+ def r_inner(a, x):
+ return functional_ops.foldl(
+ lambda b, y: b * y * x, inner_elems, initializer=a)
+
+ r = functional_ops.scan(r_inner, elems)
+
+ # t == 0 (returns 1)
+ # t == 1, a == 1, x == 2 (returns 1)
+ # t_0 == 0, b == a == 1, y == 0.5, returns b * y * x = 1
+ # t_1 == 1, b == 1, y == 0.5, returns b * y * x = 1
+ # t == 2, a == 1, x == 3 (returns 1.5*1.5 == 2.25)
+ # t_0 == 0, b == a == 1, y == 0.5, returns b * y * x = 1.5
+ # t_1 == 1, b == 1.5, y == 0.5, returns b * y * x = 1.5*1.5
+ # t == 3, a == 2.25, x == 4 (returns 9)
+ # t_0 == 0, b == a == 2.25, y == 0.5, returns b * y * x = 4.5
+ # t_1 == 1, b == 4.5, y == 0.5, returns b * y * x = 9
+ self.assertAllClose([1., 1., 2.25, 9.], self.evaluate(r))
def testScan_Control(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
s = array_ops.placeholder(dtypes.float32, shape=[None])
b = array_ops.placeholder(dtypes.bool)
@@ -454,7 +435,7 @@ class FunctionalOpsTest(test.TestCase):
b: True}))
def testScan_Grad(self):
- with self.test_session():
+ with self.cached_session():
elems = constant_op.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], name="data")
v = constant_op.constant(2.0, name="v")
@@ -479,22 +460,20 @@ class FunctionalOpsTest(test.TestCase):
@test_util.run_in_graph_and_eager_modes
def testFoldShape(self):
- with self.test_session():
- x = constant_op.constant([[1, 2, 3], [4, 5, 6]])
+ x = constant_op.constant([[1, 2, 3], [4, 5, 6]])
- def fn(_, current_input):
- return current_input
+ def fn(_, current_input):
+ return current_input
- initializer = constant_op.constant([0, 0, 0])
- y = functional_ops.foldl(fn, x, initializer=initializer)
- self.assertAllEqual(y.get_shape(), self.evaluate(y).shape)
+ initializer = constant_op.constant([0, 0, 0])
+ y = functional_ops.foldl(fn, x, initializer=initializer)
+ self.assertAllEqual(y.get_shape(), self.evaluate(y).shape)
@test_util.run_in_graph_and_eager_modes
def testMapShape(self):
- with self.test_session():
- x = constant_op.constant([[1, 2, 3], [4, 5, 6]])
- y = functional_ops.map_fn(lambda e: e, x)
- self.assertAllEqual(y.get_shape(), self.evaluate(y).shape)
+ x = constant_op.constant([[1, 2, 3], [4, 5, 6]])
+ y = functional_ops.map_fn(lambda e: e, x)
+ self.assertAllEqual(y.get_shape(), self.evaluate(y).shape)
def testMapUnknownShape(self):
x = array_ops.placeholder(dtypes.float32)
@@ -503,15 +482,14 @@ class FunctionalOpsTest(test.TestCase):
@test_util.run_in_graph_and_eager_modes
def testMapEmptyScalar(self):
- with self.test_session():
- map_return = functional_ops.map_fn(lambda x: 1, constant_op.constant([]))
- self.assertAllEqual([0], map_return.get_shape().dims)
- self.assertAllEqual([0], self.evaluate(map_return).shape)
+ map_return = functional_ops.map_fn(lambda x: 1, constant_op.constant([]))
+ self.assertAllEqual([0], map_return.get_shape().dims)
+ self.assertAllEqual([0], self.evaluate(map_return).shape)
# TODO(akshayka): this test fails in eager: the iterable is of length 0 so
# so the body of the while loop never executes
def testMapEmptyTensor(self):
- with self.test_session():
+ with self.cached_session():
map_return = functional_ops.map_fn(lambda x: array_ops.zeros([3, 2]),
constant_op.constant([]))
self.assertAllEqual([0, 3, 2], map_return.get_shape().dims)
@@ -519,20 +497,19 @@ class FunctionalOpsTest(test.TestCase):
@test_util.run_in_graph_and_eager_modes
def testScanShape(self):
- with self.test_session():
- x = constant_op.constant([[1, 2, 3], [4, 5, 6]])
+ x = constant_op.constant([[1, 2, 3], [4, 5, 6]])
- def fn(_, current_input):
- return current_input
+ def fn(_, current_input):
+ return current_input
- initializer = constant_op.constant([0, 0, 0])
- y = functional_ops.scan(fn, x, initializer=initializer)
- self.assertAllEqual(y.get_shape(), self.evaluate(y).shape)
+ initializer = constant_op.constant([0, 0, 0])
+ y = functional_ops.scan(fn, x, initializer=initializer)
+ self.assertAllEqual(y.get_shape(), self.evaluate(y).shape)
# TODO(akshayka): this test fails in eager: the iterable is of length 0 so
# so the body of the while loop never executes
def testScanEmptyTensor(self):
- with self.test_session():
+ with self.cached_session():
x = functional_ops.scan(
lambda x, _: x, math_ops.range(0), initializer=array_ops.ones([2, 4]))
self.assertAllEqual([0, 2, 4], x.get_shape())
@@ -549,7 +526,7 @@ class FunctionalOpsTest(test.TestCase):
self.assertIs(None, y.get_shape().dims)
def testScanVaryingShape(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
x = array_ops.placeholder(dtype=dtypes.float32, shape=[None, 2])
x_t = array_ops.transpose(x)
# scan over dimension 0 (with shape None)
@@ -628,7 +605,7 @@ class FunctionalOpsTest(test.TestCase):
remote_op = functional_ops.remote_call(
args=[a, b], Tout=[dtypes.int32], f=_remote_fn, target="/cpu:0")
- with self.test_session() as sess:
+ with self.cached_session() as sess:
sess.run(variables.global_variables_initializer())
mul = sess.run(remote_op)
self.assertEqual(mul, [6])
@@ -652,7 +629,7 @@ class FunctionalOpsTest(test.TestCase):
f=_remote_fn,
target="/job:localhost/replica:0/task:0/device:GPU:0")[0] + 3.0
- with self.test_session() as sess:
+ with self.cached_session() as sess:
sess.run(variables.global_variables_initializer())
mul = sess.run(remote_op)
self.assertEqual(mul, 9.0)
@@ -676,7 +653,7 @@ class FunctionalOpsTest(test.TestCase):
f=_remote_fn,
target="/job:localhost/replica:0/task:0/cpu:0")[0] + 3.0
- with self.test_session() as sess:
+ with self.cached_session() as sess:
sess.run(variables.global_variables_initializer())
mul = sess.run(remote_op)
self.assertEqual(mul, 9.0)
@@ -695,7 +672,7 @@ class FunctionalOpsTest(test.TestCase):
remote_op = functional_ops.remote_call(
args=[a], Tout=[dtypes.string], f=_remote_fn, target="/cpu:0")
- with self.test_session() as sess:
+ with self.cached_session() as sess:
ret = sess.run(remote_op)
self.assertAllEqual(ret, [b"a"])
diff --git a/tensorflow/python/kernel_tests/list_ops_test.py b/tensorflow/python/kernel_tests/list_ops_test.py
index ff941b64fa..0f5607712b 100644
--- a/tensorflow/python/kernel_tests/list_ops_test.py
+++ b/tensorflow/python/kernel_tests/list_ops_test.py
@@ -170,9 +170,8 @@ class ListOpsTest(test_util.TensorFlowTestCase):
list_ops.tensor_list_pop_back(
l_cpu, element_dtype=dtypes.float32)[1]), 2.0)
- @test_util.run_in_graph_and_eager_modes
def testGraphStack(self):
- with context.graph_mode(), self.test_session():
+ with self.cached_session():
tl = list_ops.empty_tensor_list(
element_shape=constant_op.constant([1], dtype=dtypes.int32),
element_dtype=dtypes.int32)
@@ -182,9 +181,8 @@ class ListOpsTest(test_util.TensorFlowTestCase):
list_ops.tensor_list_stack(tl, element_dtype=dtypes.int32)),
[[1]])
- @test_util.run_in_graph_and_eager_modes
def testGraphStackInLoop(self):
- with context.graph_mode(), self.test_session():
+ with self.cached_session():
t1 = list_ops.empty_tensor_list(
element_shape=constant_op.constant([], dtype=dtypes.int32),
element_dtype=dtypes.int32)
@@ -200,9 +198,8 @@ class ListOpsTest(test_util.TensorFlowTestCase):
s1 = list_ops.tensor_list_stack(t1, element_dtype=dtypes.int32)
self.assertAllEqual(self.evaluate(s1), [0, 1, 2, 3])
- @test_util.run_in_graph_and_eager_modes
def testGraphStackSwitchDtype(self):
- with context.graph_mode(), self.test_session():
+ with self.cached_session():
list_ = list_ops.empty_tensor_list(
element_shape=constant_op.constant([], dtype=dtypes.int32),
element_dtype=dtypes.int32)
@@ -222,9 +219,8 @@ class ListOpsTest(test_util.TensorFlowTestCase):
np_s1 = np.array([[1, 2, 3], [1, 2, 3]], dtype=np.float32)
self.assertAllEqual(self.evaluate(s1), np_s1)
- @test_util.run_in_graph_and_eager_modes
def testGraphStackInLoopSwitchDtype(self):
- with context.graph_mode(), self.test_session():
+ with self.cached_session():
t1 = list_ops.empty_tensor_list(
element_shape=constant_op.constant([], dtype=dtypes.int32),
element_dtype=dtypes.int32)
diff --git a/tensorflow/python/kernel_tests/py_func_test.py b/tensorflow/python/kernel_tests/py_func_test.py
index 50154a45a8..79fcbaad43 100644
--- a/tensorflow/python/kernel_tests/py_func_test.py
+++ b/tensorflow/python/kernel_tests/py_func_test.py
@@ -61,7 +61,7 @@ class PyFuncTest(test.TestCase):
for dtype in [dtypes.float16, dtypes.float32, dtypes.float64,
dtypes.uint8, dtypes.int8, dtypes.uint16, dtypes.int16,
dtypes.int32, dtypes.int64]:
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant(1, dtype=dtype)
y = constant_op.constant(2, dtype=dtype)
z = self.evaluate(script_ops.py_func(sum_func, [x, y], dtype))
@@ -71,7 +71,7 @@ class PyFuncTest(test.TestCase):
def sub_func(x, y):
return x - y
for dtype in [dtypes.complex64, dtypes.complex128]:
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant(1 + 1j, dtype=dtype)
y = constant_op.constant(2 - 2j, dtype=dtype)
z = self.evaluate(script_ops.py_func(sub_func, [x, y], dtype))
@@ -81,21 +81,21 @@ class PyFuncTest(test.TestCase):
def and_func(x, y):
return x and y
dtype = dtypes.bool
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant(True, dtype=dtype)
y = constant_op.constant(False, dtype=dtype)
z = self.evaluate(script_ops.py_func(and_func, [x, y], dtype))
self.assertEqual(z, False)
def testSingleType(self):
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant(1.0, dtypes.float32)
y = constant_op.constant(2.0, dtypes.float32)
z = self.evaluate(script_ops.py_func(np_func, [x, y], dtypes.float32))
self.assertEqual(z, np_func(1.0, 2.0).astype(np.float32))
def testScalar(self):
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant(1.0, dtypes.float32)
y = constant_op.constant(2.0, dtypes.float32)
z = self.evaluate(
@@ -103,7 +103,7 @@ class PyFuncTest(test.TestCase):
self.assertEqual(z[0], np_func(1.0, 2.0).astype(np.float32))
def testArray(self):
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant([1.0, 2.0], dtypes.float64)
y = constant_op.constant([2.0, 3.0], dtypes.float64)
z = self.evaluate(script_ops.py_func(np_func, [x, y], [dtypes.float64]))
@@ -111,14 +111,14 @@ class PyFuncTest(test.TestCase):
np_func([1.0, 2.0], [2.0, 3.0]).astype(np.float64))
def testComplexType(self):
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant(1 + 2j, dtypes.complex64)
y = constant_op.constant(3 + 4j, dtypes.complex64)
z = self.evaluate(script_ops.py_func(np_func, [x, y], dtypes.complex64))
self.assertAllClose(z, np_func(1 + 2j, 3 + 4j))
def testRFFT(self):
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant([1., 2., 3., 4.], dtypes.float32)
def rfft(x):
@@ -128,7 +128,7 @@ class PyFuncTest(test.TestCase):
self.assertAllClose(y, np.fft.rfft([1., 2., 3., 4.]))
def testPythonLiteral(self):
- with self.test_session():
+ with self.cached_session():
def literal(x):
return 1.0 if float(x) == 0.0 else 0.0
@@ -138,7 +138,7 @@ class PyFuncTest(test.TestCase):
self.assertAllClose(y, 1.0)
def testList(self):
- with self.test_session():
+ with self.cached_session():
def list_func(x):
return [x, x + 1]
@@ -150,7 +150,7 @@ class PyFuncTest(test.TestCase):
def testTuple(self):
# returns a tuple
- with self.test_session():
+ with self.cached_session():
def tuple_func(x):
return x, x + 1
@@ -161,7 +161,7 @@ class PyFuncTest(test.TestCase):
self.assertAllClose(y, [0.0, 1.0])
# returns a tuple, Tout and inp a tuple
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant(0.0, dtypes.float64)
y = self.evaluate(
script_ops.py_func(tuple_func, (x,),
@@ -176,7 +176,7 @@ class PyFuncTest(test.TestCase):
def read_and_return_strings(x, y):
return x + y
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant([b"hello", b"hi"], dtypes.string)
y = self.evaluate(
script_ops.py_func(read_fixed_length_numpy_strings, [],
@@ -193,7 +193,7 @@ class PyFuncTest(test.TestCase):
def read_and_return_strings(x, y):
return x + y
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant(["hello", "hi"], dtypes.string)
y = self.evaluate(
script_ops.py_func(read_fixed_length_numpy_strings, [],
@@ -210,7 +210,7 @@ class PyFuncTest(test.TestCase):
def read_and_return_strings(x, y):
return x + y
- with self.test_session():
+ with self.cached_session():
x = constant_op.constant(["hello", "hi"], dtypes.string)
y, = script_ops.py_func(read_object_array, [],
[dtypes.string])
@@ -219,19 +219,19 @@ class PyFuncTest(test.TestCase):
def testStringPadding(self):
correct = [b"this", b"is", b"a", b"test"]
- with self.test_session():
+ with self.cached_session():
s, = script_ops.py_func(lambda: [correct], [], [dtypes.string])
self.assertAllEqual(s.eval(), correct)
def testStringPaddingAreConvertedToBytes(self):
inp = ["this", "is", "a", "test"]
correct = [b"this", b"is", b"a", b"test"]
- with self.test_session():
+ with self.cached_session():
s, = script_ops.py_func(lambda: [inp], [], [dtypes.string])
self.assertAllEqual(s.eval(), correct)
def testLarge(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
x = array_ops.zeros([1000000], dtype=np.float32)
y = script_ops.py_func(lambda x: x + 1, [x], [dtypes.float32])
z = script_ops.py_func(lambda x: x * 2, [x], [dtypes.float32])
@@ -239,12 +239,12 @@ class PyFuncTest(test.TestCase):
sess.run([y[0].op, z[0].op])
def testNoInput(self):
- with self.test_session():
+ with self.cached_session():
x = self.evaluate(script_ops.py_func(lambda: 42.0, [], dtypes.float64))
self.assertAllClose(x, 42.0)
def testAlias(self):
- with self.test_session():
+ with self.cached_session():
np_array = np.array([1.0, 2.0], dtype=np.float32)
tf_array = script_ops.py_func(lambda: np_array, [], [dtypes.float32])
value = tf_array + constant_op.constant([2.0, 3.0], dtype=dtypes.float32)
@@ -252,7 +252,7 @@ class PyFuncTest(test.TestCase):
self.assertAllEqual(np_array, [1.0, 2.0])
def testReturnUnicodeString(self):
- with self.test_session():
+ with self.cached_session():
correct = u"你好 世界"
def unicode_string():
@@ -262,7 +262,7 @@ class PyFuncTest(test.TestCase):
self.assertEqual(z.eval(), correct.encode("utf8"))
def testBadNumpyReturnType(self):
- with self.test_session():
+ with self.cached_session():
def bad():
# Structured numpy arrays aren't supported.
@@ -275,7 +275,7 @@ class PyFuncTest(test.TestCase):
y.eval()
def testBadReturnType(self):
- with self.test_session():
+ with self.cached_session():
def bad():
# Non-string python objects aren't supported.
@@ -288,7 +288,7 @@ class PyFuncTest(test.TestCase):
z.eval()
def testReturnInput(self):
- with self.test_session():
+ with self.cached_session():
def ident(x):
return x[0]
@@ -303,7 +303,7 @@ class PyFuncTest(test.TestCase):
self.assertEqual(0.0, z.eval(feed_dict={p: [0.0]}))
def testStateful(self):
- # Not using self.test_session(), which disables optimization.
+ # Not using self.cached_session(), which disables optimization.
with session_lib.Session() as sess:
producer = iter(range(3))
x, = script_ops.py_func(lambda: next(producer), [], [dtypes.int64])
@@ -312,7 +312,7 @@ class PyFuncTest(test.TestCase):
self.assertEqual(sess.run(x), 2)
def testStateless(self):
- # Not using self.test_session(), which disables optimization.
+ # Not using self.cached_session(), which disables optimization.
with session_lib.Session() as sess:
producer = iter(range(3))
x, = script_ops.py_func(
@@ -331,7 +331,7 @@ class PyFuncTest(test.TestCase):
self.assertEqual(None, ops.get_gradient_function(y.op))
def testCOrder(self):
- with self.test_session():
+ with self.cached_session():
val = [[1, 2], [3, 4]]
x, = script_ops.py_func(lambda: np.array(val, order="F"), [],
[dtypes.int64])
@@ -339,7 +339,7 @@ class PyFuncTest(test.TestCase):
def testParallel(self):
# Tests that tf.py_func's can run in parallel if they release the GIL.
- with self.test_session() as session:
+ with self.cached_session() as session:
q = queue.Queue(1)
def blocking_put():
@@ -375,7 +375,7 @@ class PyFuncTest(test.TestCase):
def value(self):
return self._value
- with self.test_session():
+ with self.cached_session():
s = State()
op = s.increment(constant_op.constant(2, dtypes.int64))
ret = self.evaluate(op)
@@ -389,7 +389,7 @@ class PyFuncTest(test.TestCase):
f = script_ops.py_func(
do_nothing, [constant_op.constant(3, dtypes.int64)], [], stateful=False)
- with self.test_session() as sess:
+ with self.cached_session() as sess:
self.assertEqual(sess.run(f), [])
def _testExceptionHandling(self, py_exp, tf_exp, eager=False):
@@ -417,21 +417,22 @@ class PyFuncTest(test.TestCase):
else:
f = script_ops.py_func(raise_exception, [], [])
- with self.test_session():
- with self.assertRaisesWithPredicateMatch(tf_exp, expected_error_check):
- self.evaluate(f)
+ with self.assertRaisesWithPredicateMatch(tf_exp, expected_error_check):
+ self.evaluate(f)
def testExceptionHandling(self):
- self._testExceptionHandling(ValueError, errors.InvalidArgumentError)
- self._testExceptionHandling(TypeError, errors.InvalidArgumentError)
- self._testExceptionHandling(StopIteration, errors.OutOfRangeError)
- self._testExceptionHandling(MemoryError, errors.ResourceExhaustedError)
- self._testExceptionHandling(NotImplementedError, errors.UnimplementedError)
+ with self.cached_session():
+ self._testExceptionHandling(ValueError, errors.InvalidArgumentError)
+ self._testExceptionHandling(TypeError, errors.InvalidArgumentError)
+ self._testExceptionHandling(StopIteration, errors.OutOfRangeError)
+ self._testExceptionHandling(MemoryError, errors.ResourceExhaustedError)
+ self._testExceptionHandling(NotImplementedError,
+ errors.UnimplementedError)
- class WeirdError(Exception):
- pass
+ class WeirdError(Exception):
+ pass
- self._testExceptionHandling(WeirdError, errors.UnknownError)
+ self._testExceptionHandling(WeirdError, errors.UnknownError)
# ----- Tests shared by py_func and eager_py_func -----
def testCleanup(self):
@@ -452,7 +453,7 @@ class PyFuncTest(test.TestCase):
# (see #18292)
_ = script_ops.py_func(lambda x: x + c.shape[0], [c], [dtypes.float32])
_ = script_ops.eager_py_func(lambda x: x + c.shape[0], [c], [dtypes.float32])
-
+
# Call garbage collector to enforce deletion.
make_graphs()
ops.reset_default_graph()
@@ -610,7 +611,7 @@ class PyFuncTest(test.TestCase):
func=log_huber, inp=[x, m], Tout=dtypes.float32)
dy_dx = gradients_impl.gradients(y, x)[0]
- with self.test_session() as sess:
+ with self.cached_session() as sess:
# Takes the first branch of log_huber.
y, dy_dx = sess.run([y, dy_dx], feed_dict={x: 1.0, m: 2.0})
self.assertEqual(y, 1.0)
diff --git a/tensorflow/python/kernel_tests/resource_variable_ops_test.py b/tensorflow/python/kernel_tests/resource_variable_ops_test.py
index d0ed08933d..f90545f84c 100644
--- a/tensorflow/python/kernel_tests/resource_variable_ops_test.py
+++ b/tensorflow/python/kernel_tests/resource_variable_ops_test.py
@@ -54,7 +54,7 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
self.assertEqual(0, len(gc.garbage))
def testHandleDtypeShapeMatch(self):
- with self.test_session():
+ with self.cached_session():
handle = resource_variable_ops.var_handle_op(dtype=dtypes.int32, shape=[])
with self.assertRaises(ValueError):
resource_variable_ops.assign_variable_op(
@@ -123,7 +123,7 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
self.assertFalse(np.allclose(variable.numpy(), copied_variable.numpy()))
def testGraphDeepCopy(self):
- with self.test_session():
+ with self.cached_session():
init_value = np.ones((4, 4, 4))
variable = resource_variable_ops.ResourceVariable(init_value,
name="init")
@@ -145,13 +145,13 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
# variable graph.
def testFetchHandle(self):
- with self.test_session():
+ with self.cached_session():
handle = resource_variable_ops.var_handle_op(
dtype=dtypes.int32, shape=[1], name="foo")
self.assertGreater(len(handle.eval()), 0)
def testCachedValueReadBeforeWrite(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
v = resource_variable_ops.ResourceVariable(0.0, caching_device="cpu:0")
sess.run(v.initializer)
value, _ = sess.run([v, v.assign_add(1.0)])
@@ -492,7 +492,7 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
# TODO(alive): how should this work in Eager mode?
def testInitFn(self):
- with self.test_session():
+ with self.cached_session():
v = resource_variable_ops.ResourceVariable(
initial_value=lambda: 1, dtype=dtypes.float32)
self.assertEqual(v.handle.op.colocation_groups(),
@@ -569,11 +569,11 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
self.assertEqual(2.0, self.evaluate(v.value()))
def testVariableDefInitializedInstances(self):
- with ops.Graph().as_default(), self.test_session() as sess:
+ with ops.Graph().as_default(), self.cached_session() as sess:
v_def = resource_variable_ops.ResourceVariable(
initial_value=constant_op.constant(3.0)).to_proto()
- with ops.Graph().as_default(), self.test_session() as sess:
+ with ops.Graph().as_default(), self.cached_session() as sess:
# v describes a VariableDef-based variable without an initial value.
v = resource_variable_ops.ResourceVariable(variable_def=v_def)
self.assertEqual(3.0, sess.run(v.initialized_value()))
@@ -584,7 +584,7 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
self.assertEqual(1.0, v.initialized_value().eval())
v_def.ClearField("initial_value_name")
- with ops.Graph().as_default(), self.test_session() as sess:
+ with ops.Graph().as_default(), self.cached_session() as sess:
# Restoring a legacy VariableDef proto that does not have
# initial_value_name set should still work.
v = resource_variable_ops.ResourceVariable(variable_def=v_def)
@@ -615,17 +615,16 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
@test_util.run_in_graph_and_eager_modes
def testSparseRead(self):
- with self.test_session():
- init_value = np.reshape(np.arange(np.power(4, 3)), (4, 4, 4))
- v = resource_variable_ops.ResourceVariable(
- constant_op.constant(init_value, dtype=dtypes.int32), name="var3")
- self.evaluate(variables.global_variables_initializer())
+ init_value = np.reshape(np.arange(np.power(4, 3)), (4, 4, 4))
+ v = resource_variable_ops.ResourceVariable(
+ constant_op.constant(init_value, dtype=dtypes.int32), name="var3")
+ self.evaluate(variables.global_variables_initializer())
- value = self.evaluate(v.sparse_read([0, 3, 1, 2]))
- self.assertAllEqual(init_value[[0, 3, 1, 2], ...], value)
+ value = self.evaluate(v.sparse_read([0, 3, 1, 2]))
+ self.assertAllEqual(init_value[[0, 3, 1, 2], ...], value)
def testToFromProto(self):
- with self.test_session():
+ with self.cached_session():
v = resource_variable_ops.ResourceVariable(1.0)
variables.global_variables_initializer().run()
@@ -686,7 +685,7 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
handle, ignore_lookup_error=True))
def testAssignDifferentShapes(self):
- with self.test_session() as sess, variable_scope.variable_scope(
+ with self.cached_session() as sess, variable_scope.variable_scope(
"foo", use_resource=True):
var = variable_scope.get_variable("x", shape=[1, 1], dtype=dtypes.float32)
placeholder = array_ops.placeholder(dtypes.float32)
@@ -728,7 +727,7 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
_ = w.value().op.get_attr("_class")
def testSharedName(self):
- with self.test_session():
+ with self.cached_session():
v = resource_variable_ops.ResourceVariable(300.0, name="var4")
variables.global_variables_initializer().run()
@@ -746,7 +745,7 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
resource_variable_ops.read_variable_op(x, v.dtype.base_dtype).eval()
def testSharedNameWithNamescope(self):
- with self.test_session():
+ with self.cached_session():
with ops.name_scope("foo"):
v = resource_variable_ops.ResourceVariable(300.0, name="var6")
self.assertEqual("foo/var6", v._shared_name) # pylint: disable=protected-access
@@ -774,7 +773,7 @@ class ResourceVariableOpsTest(test_util.TensorFlowTestCase):
str(v.sparse_read(array_ops.placeholder(dtypes.int32)).shape))
def testSetInitialValue(self):
- with self.test_session():
+ with self.cached_session():
# Initialize variable with a value different from the initial value passed
# in the constructor.
v = resource_variable_ops.ResourceVariable(2.0)
diff --git a/tensorflow/python/kernel_tests/rnn_test.py b/tensorflow/python/kernel_tests/rnn_test.py
index 562d11f0b0..a28cdc3b26 100644
--- a/tensorflow/python/kernel_tests/rnn_test.py
+++ b/tensorflow/python/kernel_tests/rnn_test.py
@@ -197,7 +197,7 @@ class RNNTest(test.TestCase):
else:
inputs = array_ops.placeholder(dtypes.float32, shape=(1, 4, 1))
- with self.test_session() as sess:
+ with self.cached_session(use_gpu=True) as sess:
outputs, state = rnn.dynamic_rnn(
cell, inputs, dtype=dtypes.float32, sequence_length=[4])
if not in_eager_mode:
@@ -217,7 +217,7 @@ class RNNTest(test.TestCase):
else:
inputs = array_ops.placeholder(dtypes.float32, shape=(1, 4, 1))
- with self.test_session() as sess:
+ with self.cached_session(use_gpu=True) as sess:
outputs, state = rnn.dynamic_rnn(
cell, inputs, dtype=dtypes.float32, sequence_length=[4])
if not in_eager_mode:
@@ -246,7 +246,7 @@ class RNNTest(test.TestCase):
else:
inputs = array_ops.placeholder(dtypes.float32, shape=(1, 4, 1))
- with self.test_session() as sess:
+ with self.cached_session(use_gpu=True) as sess:
outputs, state = rnn.dynamic_rnn(
cell, inputs, dtype=dtypes.float32, sequence_length=[4])
state = (state[0], state[1].stack())
@@ -321,7 +321,7 @@ class RNNTest(test.TestCase):
self._assert_cell_builds(contrib_rnn.IndyLSTMCell, f64, 5, 7, 3)
def testRNNWithKerasSimpleRNNCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
input_shape = 10
output_shape = 5
timestep = 4
@@ -354,7 +354,7 @@ class RNNTest(test.TestCase):
self.assertEqual(len(state), batch)
def testRNNWithKerasGRUCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
input_shape = 10
output_shape = 5
timestep = 4
@@ -387,7 +387,7 @@ class RNNTest(test.TestCase):
self.assertEqual(len(state), batch)
def testRNNWithKerasLSTMCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
input_shape = 10
output_shape = 5
timestep = 4
@@ -424,7 +424,7 @@ class RNNTest(test.TestCase):
self.assertEqual(len(state[1]), batch)
def testRNNWithStackKerasCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
input_shape = 10
output_shape = 5
timestep = 4
@@ -465,7 +465,7 @@ class RNNTest(test.TestCase):
self.assertEqual(len(s), batch)
def testStaticRNNWithKerasSimpleRNNCell(self):
- with self.test_session() as sess:
+ with self.cached_session() as sess:
input_shape = 10
output_shape = 5
timestep = 4
@@ -567,7 +567,7 @@ class RNNTest(test.TestCase):
rnn_cell_impl.GRUCell(
32, kernel_initializer="ones", dtype=dtypes.float32)
]:
- with self.test_session():
+ with self.cached_session():
x = keras.Input((None, 5))
layer = keras.layers.RNN(cell)
y = layer(x)