diff options
author | Anjali Sridhar <anjalisridhar@google.com> | 2018-09-19 11:43:04 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2018-09-19 11:46:33 -0700 |
commit | ebe769f166c35c16637cb919ea3ddd096e04befa (patch) | |
tree | b73bb179081d2347d32c6a9e0aba18291e7a59aa /tensorflow/contrib/distribute | |
parent | 1b4999df0c2ef3c8c7d771415924fb58a5476c6a (diff) |
Re-enable flaky keras_test
PiperOrigin-RevId: 213665390
Diffstat (limited to 'tensorflow/contrib/distribute')
-rw-r--r-- | tensorflow/contrib/distribute/python/BUILD | 3 | ||||
-rw-r--r-- | tensorflow/contrib/distribute/python/keras_test.py | 22 |
2 files changed, 16 insertions, 9 deletions
diff --git a/tensorflow/contrib/distribute/python/BUILD b/tensorflow/contrib/distribute/python/BUILD index ebea512c04..48a7593ab4 100644 --- a/tensorflow/contrib/distribute/python/BUILD +++ b/tensorflow/contrib/distribute/python/BUILD @@ -728,12 +728,9 @@ cuda_py_test( ":keras_test_lib", ], tags = [ - "manual", "multi_and_single_gpu", - "no_gpu", "no_pip", "no_windows_gpu", - "notap", "notsan", ], ) diff --git a/tensorflow/contrib/distribute/python/keras_test.py b/tensorflow/contrib/distribute/python/keras_test.py index 5f35e38189..8165a70743 100644 --- a/tensorflow/contrib/distribute/python/keras_test.py +++ b/tensorflow/contrib/distribute/python/keras_test.py @@ -732,14 +732,22 @@ class CorrectnessWithDistributionStrategyTest(test.TestCase, with self.cached_session(): keras.backend.set_image_data_format('channels_last') num_samples = 10000 + + # Train and predict datasets are created with the same input numpy arrays. x_train = np.random.rand(num_samples, 1) y_train = 3 * x_train x_train = x_train.astype('float32') y_train = y_train.astype('float32') + # The model is built once and the initial weights are saved. + # This is used to initialize the model for both the distribution and + # non-distribution run. + model = keras.Sequential() + model.add(keras.layers.Dense(1, input_shape=(1,))) + initial_weights = model.get_weights() + def fit_and_predict(with_distribution=None): - model = keras.Sequential() - model.add(keras.layers.Dense(1, input_shape=(1,))) + model.set_weights(initial_weights) model.compile( loss=keras.losses.mean_squared_error, optimizer=gradient_descent.GradientDescentOptimizer(0.5), @@ -751,12 +759,14 @@ class CorrectnessWithDistributionStrategyTest(test.TestCase, train_dataset = dataset_ops.Dataset.from_tensor_slices((x_train, y_train)) train_dataset = batch_wrapper(train_dataset, batch_size, distribution) - # Running only 100 steps instead of the full dataset to keep test - # duration small. - model.fit(x=train_dataset, epochs=1, steps_per_epoch=100) + # We have initialized the model to the same weight for the distribution + # and non-distribution run. If you want to initialize the model to + # random weights for each run, you need to run the model through the + # entire dataset at least once to ensure that the weights converge to + # the same value. + model.fit(x=train_dataset, epochs=1, steps_per_epoch=10) weights = model.get_weights() - x_predict = [[1.], [2.], [3.], [4.]] predict_batch_size = 4 if with_distribution: |