From 7fb8b0f24d841096dd9e1225c71c2ab658a09b17 Mon Sep 17 00:00:00 2001 From: Christopher Shallue Date: Mon, 9 Jan 2017 19:43:41 -0800 Subject: [PATCH 1/4] Replace deprecated functions --- im2txt/im2txt/ops/image_processing.py | 2 +- im2txt/im2txt/ops/inputs.py | 8 ++++---- im2txt/im2txt/show_and_tell_model.py | 10 +++++----- im2txt/im2txt/show_and_tell_model_test.py | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/im2txt/im2txt/ops/image_processing.py b/im2txt/im2txt/ops/image_processing.py index c37d933f0ac..5c59c23193a 100644 --- a/im2txt/im2txt/ops/image_processing.py +++ b/im2txt/im2txt/ops/image_processing.py @@ -92,7 +92,7 @@ def process_image(encoded_image, # only logged in thread 0. def image_summary(name, image): if not thread_id: - tf.image_summary(name, tf.expand_dims(image, 0)) + tf.summary.image(name, tf.expand_dims(image, 0)) # Decode image into a float32 Tensor of shape [?, ?, 3] with values in [0, 1). with tf.name_scope("decode", values=[encoded_image]): diff --git a/im2txt/im2txt/ops/inputs.py b/im2txt/im2txt/ops/inputs.py index e637037cf9c..30df25cceef 100644 --- a/im2txt/im2txt/ops/inputs.py +++ b/im2txt/im2txt/ops/inputs.py @@ -116,7 +116,7 @@ def prefetch_input_data(reader, enqueue_ops.append(values_queue.enqueue([value])) tf.train.queue_runner.add_queue_runner(tf.train.queue_runner.QueueRunner( values_queue, enqueue_ops)) - tf.scalar_summary( + tf.summary.scalar( "queue/%s/fraction_of_%d_full" % (values_queue.name, capacity), tf.cast(values_queue.size(), tf.float32) * (1. / capacity)) @@ -197,8 +197,8 @@ def batch_with_dynamic_pad(images_and_captions, if add_summaries: lengths = tf.add(tf.reduce_sum(mask, 1), 1) - tf.scalar_summary("caption_length/batch_min", tf.reduce_min(lengths)) - tf.scalar_summary("caption_length/batch_max", tf.reduce_max(lengths)) - tf.scalar_summary("caption_length/batch_mean", tf.reduce_mean(lengths)) + tf.summary.scalar("caption_length/batch_min", tf.reduce_min(lengths)) + tf.summary.scalar("caption_length/batch_max", tf.reduce_max(lengths)) + tf.summary.scalar("caption_length/batch_mean", tf.reduce_mean(lengths)) return images, input_seqs, target_seqs, mask diff --git a/im2txt/im2txt/show_and_tell_model.py b/im2txt/im2txt/show_and_tell_model.py index cb9fa3669ac..fc51f9350ed 100644 --- a/im2txt/im2txt/show_and_tell_model.py +++ b/im2txt/im2txt/show_and_tell_model.py @@ -311,14 +311,14 @@ def build_model(self): batch_loss = tf.div(tf.reduce_sum(tf.mul(losses, weights)), tf.reduce_sum(weights), name="batch_loss") - tf.contrib.losses.add_loss(batch_loss) - total_loss = tf.contrib.losses.get_total_loss() + tf.losses.add_loss(batch_loss) + total_loss = tf.losses.get_total_loss() # Add summaries. - tf.scalar_summary("batch_loss", batch_loss) - tf.scalar_summary("total_loss", total_loss) + tf.summary.scalar("losses/batch_loss", batch_loss) + tf.summary.scalar("losses/total_loss", total_loss) for var in tf.trainable_variables(): - tf.histogram_summary(var.op.name, var) + tf.summary.histogram("parameters/" + var.op.name, var) self.total_loss = total_loss self.target_cross_entropy_losses = losses # Used in evaluation. diff --git a/im2txt/im2txt/show_and_tell_model_test.py b/im2txt/im2txt/show_and_tell_model_test.py index b5285ffe0c0..0bdfb6e1a3a 100644 --- a/im2txt/im2txt/show_and_tell_model_test.py +++ b/im2txt/im2txt/show_and_tell_model_test.py @@ -63,7 +63,7 @@ def setUp(self): def _countModelParameters(self): """Counts the number of parameters in the model at top level scope.""" counter = {} - for v in tf.all_variables(): + for v in tf.global_variables(): name = v.op.name.split("/")[0] num_params = v.get_shape().num_elements() assert num_params @@ -98,7 +98,7 @@ def _checkOutputs(self, expected_shapes, feed_dict=None): fetches = expected_shapes.keys() with self.test_session() as sess: - sess.run(tf.initialize_all_variables()) + sess.run(tf.global_variables_initializer()) outputs = sess.run(fetches, feed_dict) for index, output in enumerate(outputs): From f653bd2340b15ce2a22669ba136b77b2751e462e Mon Sep 17 00:00:00 2001 From: Christopher Shallue Date: Mon, 9 Jan 2017 19:54:51 -0800 Subject: [PATCH 2/4] Replace deprecated functions --- im2txt/im2txt/ops/image_embedding_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/im2txt/im2txt/ops/image_embedding_test.py b/im2txt/im2txt/ops/image_embedding_test.py index 72d10c7092e..cd94f29795e 100644 --- a/im2txt/im2txt/ops/image_embedding_test.py +++ b/im2txt/im2txt/ops/image_embedding_test.py @@ -41,7 +41,7 @@ def setUp(self): def _countInceptionParameters(self): """Counts the number of parameters in the inception model at top scope.""" counter = {} - for v in tf.all_variables(): + for v in tf.global_variables(): name_tokens = v.op.name.split("/") if name_tokens[0] == "InceptionV3": name = "InceptionV3/" + name_tokens[1] From 705acc35d6661c6b9cb19dfdb247d75f13574843 Mon Sep 17 00:00:00 2001 From: Christopher Shallue Date: Tue, 10 Jan 2017 10:48:41 -0800 Subject: [PATCH 3/4] Replace deprecated functions --- im2txt/im2txt/ops/image_processing.py | 4 ++-- im2txt/im2txt/ops/inputs.py | 2 +- im2txt/im2txt/show_and_tell_model.py | 15 ++++++++------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/im2txt/im2txt/ops/image_processing.py b/im2txt/im2txt/ops/image_processing.py index 5c59c23193a..6a7545547d5 100644 --- a/im2txt/im2txt/ops/image_processing.py +++ b/im2txt/im2txt/ops/image_processing.py @@ -128,6 +128,6 @@ def image_summary(name, image): image_summary("final_image", image) # Rescale to [-1,1] instead of [0, 1] - image = tf.sub(image, 0.5) - image = tf.mul(image, 2.0) + image = tf.subtract(image, 0.5) + image = tf.multiply(image, 2.0) return image diff --git a/im2txt/im2txt/ops/inputs.py b/im2txt/im2txt/ops/inputs.py index 30df25cceef..cbad3bed468 100644 --- a/im2txt/im2txt/ops/inputs.py +++ b/im2txt/im2txt/ops/inputs.py @@ -181,7 +181,7 @@ def batch_with_dynamic_pad(images_and_captions, enqueue_list = [] for image, caption in images_and_captions: caption_length = tf.shape(caption)[0] - input_length = tf.expand_dims(tf.sub(caption_length, 1), 0) + input_length = tf.expand_dims(tf.subtract(caption_length, 1), 0) input_seq = tf.slice(caption, [0], input_length) target_seq = tf.slice(caption, [1], input_length) diff --git a/im2txt/im2txt/show_and_tell_model.py b/im2txt/im2txt/show_and_tell_model.py index fc51f9350ed..4e460dad044 100644 --- a/im2txt/im2txt/show_and_tell_model.py +++ b/im2txt/im2txt/show_and_tell_model.py @@ -244,10 +244,10 @@ def build_model(self): # This LSTM cell has biases and outputs tanh(new_c) * sigmoid(o), but the # modified LSTM in the "Show and Tell" paper has no biases and outputs # new_c * sigmoid(o). - lstm_cell = tf.nn.rnn_cell.BasicLSTMCell( + lstm_cell = tf.contrib.rnn.BasicLSTMCell( num_units=self.config.num_lstm_units, state_is_tuple=True) if self.mode == "train": - lstm_cell = tf.nn.rnn_cell.DropoutWrapper( + lstm_cell = tf.contrib.rnn.DropoutWrapper( lstm_cell, input_keep_prob=self.config.lstm_dropout_keep_prob, output_keep_prob=self.config.lstm_dropout_keep_prob) @@ -264,13 +264,13 @@ def build_model(self): if self.mode == "inference": # In inference mode, use concatenated states for convenient feeding and # fetching. - tf.concat(1, initial_state, name="initial_state") + tf.concat_v2(initial_state, 1, name="initial_state") # Placeholder for feeding a batch of concatenated states. state_feed = tf.placeholder(dtype=tf.float32, shape=[None, sum(lstm_cell.state_size)], name="state_feed") - state_tuple = tf.split(1, 2, state_feed) + state_tuple = tf.split(value=state_feed, num_or_size_splits=2, axis=1) # Run a single LSTM step. lstm_outputs, state_tuple = lstm_cell( @@ -278,7 +278,7 @@ def build_model(self): state=state_tuple) # Concatentate the resulting state. - tf.concat(1, state_tuple, name="state") + tf.concat_v2(state_tuple, 1, name="state") else: # Run the batch of sequence embeddings through the LSTM. sequence_length = tf.reduce_sum(self.input_mask, 1) @@ -307,8 +307,9 @@ def build_model(self): weights = tf.to_float(tf.reshape(self.input_mask, [-1])) # Compute losses. - losses = tf.nn.sparse_softmax_cross_entropy_with_logits(logits, targets) - batch_loss = tf.div(tf.reduce_sum(tf.mul(losses, weights)), + losses = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=targets, + logits=logits) + batch_loss = tf.div(tf.reduce_sum(tf.multiply(losses, weights)), tf.reduce_sum(weights), name="batch_loss") tf.losses.add_loss(batch_loss) From a46f826f5e3f063dc39cce339d4f836a167ce6b1 Mon Sep 17 00:00:00 2001 From: Christopher Shallue Date: Tue, 10 Jan 2017 10:52:53 -0800 Subject: [PATCH 4/4] Replace deprecated functions --- im2txt/im2txt/ops/image_embedding_test.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/im2txt/im2txt/ops/image_embedding_test.py b/im2txt/im2txt/ops/image_embedding_test.py index cd94f29795e..66324d68eee 100644 --- a/im2txt/im2txt/ops/image_embedding_test.py +++ b/im2txt/im2txt/ops/image_embedding_test.py @@ -85,7 +85,7 @@ def testTrainableTrueIsTrainingTrue(self): self.assertEqual([self._batch_size, 2048], embeddings.get_shape().as_list()) self._verifyParameterCounts() - self._assertCollectionSize(376, tf.GraphKeys.VARIABLES) + self._assertCollectionSize(376, tf.GraphKeys.GLOBAL_VARIABLES) self._assertCollectionSize(188, tf.GraphKeys.TRAINABLE_VARIABLES) self._assertCollectionSize(188, tf.GraphKeys.UPDATE_OPS) self._assertCollectionSize(94, tf.GraphKeys.REGULARIZATION_LOSSES) @@ -98,7 +98,7 @@ def testTrainableTrueIsTrainingFalse(self): self.assertEqual([self._batch_size, 2048], embeddings.get_shape().as_list()) self._verifyParameterCounts() - self._assertCollectionSize(376, tf.GraphKeys.VARIABLES) + self._assertCollectionSize(376, tf.GraphKeys.GLOBAL_VARIABLES) self._assertCollectionSize(188, tf.GraphKeys.TRAINABLE_VARIABLES) self._assertCollectionSize(0, tf.GraphKeys.UPDATE_OPS) self._assertCollectionSize(94, tf.GraphKeys.REGULARIZATION_LOSSES) @@ -111,7 +111,7 @@ def testTrainableFalseIsTrainingTrue(self): self.assertEqual([self._batch_size, 2048], embeddings.get_shape().as_list()) self._verifyParameterCounts() - self._assertCollectionSize(376, tf.GraphKeys.VARIABLES) + self._assertCollectionSize(376, tf.GraphKeys.GLOBAL_VARIABLES) self._assertCollectionSize(0, tf.GraphKeys.TRAINABLE_VARIABLES) self._assertCollectionSize(0, tf.GraphKeys.UPDATE_OPS) self._assertCollectionSize(0, tf.GraphKeys.REGULARIZATION_LOSSES) @@ -124,7 +124,7 @@ def testTrainableFalseIsTrainingFalse(self): self.assertEqual([self._batch_size, 2048], embeddings.get_shape().as_list()) self._verifyParameterCounts() - self._assertCollectionSize(376, tf.GraphKeys.VARIABLES) + self._assertCollectionSize(376, tf.GraphKeys.GLOBAL_VARIABLES) self._assertCollectionSize(0, tf.GraphKeys.TRAINABLE_VARIABLES) self._assertCollectionSize(0, tf.GraphKeys.UPDATE_OPS) self._assertCollectionSize(0, tf.GraphKeys.REGULARIZATION_LOSSES)