From e46cbff36ff42174b6aaaa4d20ab20a223f8ba65 Mon Sep 17 00:00:00 2001 From: Matt Rickard Date: Sat, 8 Apr 2017 18:50:56 -0700 Subject: [PATCH 001/171] Revert merge #1292 This broke the bazel build of inception/download_and_preprocess_flowers The way that this script is written doesn't actually allow it to be ran outside bazel, some refactoring would be needed if you want to run it standalone. It should be ran using ``` bazel build inception/download_and_preprocess_flowers bazel-bin/inception/download_and_preprocess_flowers "${FLOWERS_DATA_DIR}" ``` --- inception/inception/data/build_image_data.py | 2 +- .../data/download_and_preprocess_flowers.sh | 25 +++++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/inception/inception/data/build_image_data.py b/inception/inception/data/build_image_data.py index 6435ddf63..4e23bd52d 100644 --- a/inception/inception/data/build_image_data.py +++ b/inception/inception/data/build_image_data.py @@ -198,7 +198,7 @@ def _process_image(filename, coder): width: integer, image width in pixels. """ # Read the image file. - with tf.gfile.FastGFile(filename, 'rb') as f: + with tf.gfile.FastGFile(filename, 'r') as f: image_data = f.read() # Convert any PNG to JPEG's for consistency. diff --git a/inception/inception/data/download_and_preprocess_flowers.sh b/inception/inception/data/download_and_preprocess_flowers.sh index 1c1f9cd21..95b6a8470 100755 --- a/inception/inception/data/download_and_preprocess_flowers.sh +++ b/inception/inception/data/download_and_preprocess_flowers.sh @@ -41,32 +41,31 @@ fi # Create the output and temporary directories. DATA_DIR="${1%/}" -SCRATCH_DIR="${DATA_DIR}/raw-data" +SCRATCH_DIR="${DATA_DIR}/raw-data/" mkdir -p "${DATA_DIR}" mkdir -p "${SCRATCH_DIR}" -# http://stackoverflow.com/questions/59895/getting-the-source-directory-of-a-bash-script-from-within -WORK_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +WORK_DIR="$0.runfiles/inception/inception" # Download the flowers data. DATA_URL="http://download.tensorflow.org/example_images/flower_photos.tgz" CURRENT_DIR=$(pwd) +cd "${DATA_DIR}" TARBALL="flower_photos.tgz" if [ ! -f ${TARBALL} ]; then echo "Downloading flower data set." - curl -o ${DATA_DIR}/${TARBALL} "${DATA_URL}" + curl -o ${TARBALL} "${DATA_URL}" else echo "Skipping download of flower data." fi # Note the locations of the train and validation data. -TRAIN_DIRECTORY="${SCRATCH_DIR}/train" -VALIDATION_DIRECTORY="${SCRATCH_DIR}/validation" +TRAIN_DIRECTORY="${SCRATCH_DIR}train/" +VALIDATION_DIRECTORY="${SCRATCH_DIR}validation/" # Expands the data into the flower_photos/ directory and rename it as the # train directory. -tar xf ${DATA_DIR}/flower_photos.tgz +tar xf flower_photos.tgz rm -rf "${TRAIN_DIRECTORY}" "${VALIDATION_DIRECTORY}" -mkdir -p "${TRAIN_DIRECTORY}" mv flower_photos "${TRAIN_DIRECTORY}" # Generate a list of 5 labels: daisy, dandelion, roses, sunflowers, tulips @@ -75,22 +74,22 @@ ls -1 "${TRAIN_DIRECTORY}" | grep -v 'LICENSE' | sed 's/\///' | sort > "${LABELS # Generate the validation data set. while read LABEL; do - VALIDATION_DIR_FOR_LABEL="${VALIDATION_DIRECTORY}/${LABEL}" - TRAIN_DIR_FOR_LABEL="${TRAIN_DIRECTORY}/${LABEL}" + VALIDATION_DIR_FOR_LABEL="${VALIDATION_DIRECTORY}${LABEL}" + TRAIN_DIR_FOR_LABEL="${TRAIN_DIRECTORY}${LABEL}" # Move the first randomly selected 100 images to the validation set. mkdir -p "${VALIDATION_DIR_FOR_LABEL}" VALIDATION_IMAGES=$(ls -1 "${TRAIN_DIR_FOR_LABEL}" | shuf | head -100) for IMAGE in ${VALIDATION_IMAGES}; do - mv -f "${TRAIN_DIRECTORY}/${LABEL}/${IMAGE}" "${VALIDATION_DIR_FOR_LABEL}" + mv -f "${TRAIN_DIRECTORY}${LABEL}/${IMAGE}" "${VALIDATION_DIR_FOR_LABEL}" done done < "${LABELS_FILE}" # Build the TFRecords version of the image data. cd "${CURRENT_DIR}" -BUILD_SCRIPT="${WORK_DIR}/build_image_data.py" +BUILD_SCRIPT="${WORK_DIR}/build_image_data" OUTPUT_DIRECTORY="${DATA_DIR}" -python "${BUILD_SCRIPT}" \ +"${BUILD_SCRIPT}" \ --train_directory="${TRAIN_DIRECTORY}" \ --validation_directory="${VALIDATION_DIRECTORY}" \ --output_directory="${OUTPUT_DIRECTORY}" \ -- GitLab From 7df4119911bf8b200fac52550dd30bf5fc510365 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Mon, 10 Apr 2017 14:36:37 -0700 Subject: [PATCH 002/171] Un-revert build_image_data.py --- inception/inception/data/build_image_data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inception/inception/data/build_image_data.py b/inception/inception/data/build_image_data.py index 4e23bd52d..6435ddf63 100644 --- a/inception/inception/data/build_image_data.py +++ b/inception/inception/data/build_image_data.py @@ -198,7 +198,7 @@ def _process_image(filename, coder): width: integer, image width in pixels. """ # Read the image file. - with tf.gfile.FastGFile(filename, 'r') as f: + with tf.gfile.FastGFile(filename, 'rb') as f: image_data = f.read() # Convert any PNG to JPEG's for consistency. -- GitLab From dafec469e2e2b83c87943e4a3f8ae889731cfc3b Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Mon, 10 Apr 2017 14:42:22 -0700 Subject: [PATCH 003/171] Add back folder name improvements (no trailing slash) --- .../data/download_and_preprocess_flowers.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/inception/inception/data/download_and_preprocess_flowers.sh b/inception/inception/data/download_and_preprocess_flowers.sh index 95b6a8470..ab8d451c3 100755 --- a/inception/inception/data/download_and_preprocess_flowers.sh +++ b/inception/inception/data/download_and_preprocess_flowers.sh @@ -41,7 +41,7 @@ fi # Create the output and temporary directories. DATA_DIR="${1%/}" -SCRATCH_DIR="${DATA_DIR}/raw-data/" +SCRATCH_DIR="${DATA_DIR}/raw-data" mkdir -p "${DATA_DIR}" mkdir -p "${SCRATCH_DIR}" WORK_DIR="$0.runfiles/inception/inception" @@ -59,8 +59,8 @@ else fi # Note the locations of the train and validation data. -TRAIN_DIRECTORY="${SCRATCH_DIR}train/" -VALIDATION_DIRECTORY="${SCRATCH_DIR}validation/" +TRAIN_DIRECTORY="${SCRATCH_DIR}/train" +VALIDATION_DIRECTORY="${SCRATCH_DIR}/validation" # Expands the data into the flower_photos/ directory and rename it as the # train directory. @@ -74,14 +74,14 @@ ls -1 "${TRAIN_DIRECTORY}" | grep -v 'LICENSE' | sed 's/\///' | sort > "${LABELS # Generate the validation data set. while read LABEL; do - VALIDATION_DIR_FOR_LABEL="${VALIDATION_DIRECTORY}${LABEL}" - TRAIN_DIR_FOR_LABEL="${TRAIN_DIRECTORY}${LABEL}" + VALIDATION_DIR_FOR_LABEL="${VALIDATION_DIRECTORY}/${LABEL}" + TRAIN_DIR_FOR_LABEL="${TRAIN_DIRECTORY}/${LABEL}" # Move the first randomly selected 100 images to the validation set. mkdir -p "${VALIDATION_DIR_FOR_LABEL}" VALIDATION_IMAGES=$(ls -1 "${TRAIN_DIR_FOR_LABEL}" | shuf | head -100) for IMAGE in ${VALIDATION_IMAGES}; do - mv -f "${TRAIN_DIRECTORY}${LABEL}/${IMAGE}" "${VALIDATION_DIR_FOR_LABEL}" + mv -f "${TRAIN_DIRECTORY}/${LABEL}/${IMAGE}" "${VALIDATION_DIR_FOR_LABEL}" done done < "${LABELS_FILE}" -- GitLab From a826a2575525a7e8aae1a8cebba4094de03e2dd7 Mon Sep 17 00:00:00 2001 From: Andrew Selle Date: Mon, 10 Apr 2017 15:43:13 -0700 Subject: [PATCH 004/171] Issue template for models. --- ISSUE_TEMPLATE.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 ISSUE_TEMPLATE.md diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..0497362c3 --- /dev/null +++ b/ISSUE_TEMPLATE.md @@ -0,0 +1,15 @@ +NOTE: Issues that are not bugs or feature requests will be closed. Please ask usage questions on StackOverflow. Also, please understand that many of the models included in this repository are experimental and research-style code. + +### You must complete this information or else your issue will be closed +- *Have I written custom code (as opposed to using a stock example script provided in TensorFlow)?*: +- *TensorFlow installed from (source or binary)?*: +- *TensorFlow version*: +- *Bazel version (if compiling from source)*: +- *CUDA/cuDNN version*: +- *GPU Model and Memory*: +- *Exact command to reproduce*: + +### Describe the problem clearly + +### Source Code / Logs +Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full-traceback. Large logs and files should be attached. Try to reproducible test-case code the bare-minimum necessary to generate the problem -- GitLab From 1ededc123b30f71037f3a723b4246c6533da75e6 Mon Sep 17 00:00:00 2001 From: Andrew Selle Date: Mon, 10 Apr 2017 15:45:30 -0700 Subject: [PATCH 005/171] Fix issue template --- .github/ISSUE_TEMPLATE.md | 17 ++++++++++++++++- ISSUE_TEMPLATE.md | 15 --------------- 2 files changed, 16 insertions(+), 16 deletions(-) delete mode 100644 ISSUE_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 098f2c8f3..d0dae9392 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1 +1,16 @@ -## Please let us know which model this issue is about (specify the top-level directory) +NOTE: Issues that are not bugs or feature requests will be closed. Please ask usage questions on StackOverflow. Also, please understand that many of the models included in this repository are experimental and research-style code. + +### You must complete this information or else your issue will be closed +- *What is the top-level directory of the model you are using?*: +- *Have I written custom code (as opposed to using a stock example script provided in TensorFlow)?*: +- *TensorFlow installed from (source or binary)?*: +- *TensorFlow version*: +- *Bazel version (if compiling from source)*: +- *CUDA/cuDNN version*: +- *GPU Model and Memory*: +- *Exact command to reproduce*: + +### Describe the problem clearly + +### Source Code / Logs +Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full-traceback. Large logs and files should be attached. Try to reproducible test-case code the bare-minimum necessary to generate the problem diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md deleted file mode 100644 index 0497362c3..000000000 --- a/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,15 +0,0 @@ -NOTE: Issues that are not bugs or feature requests will be closed. Please ask usage questions on StackOverflow. Also, please understand that many of the models included in this repository are experimental and research-style code. - -### You must complete this information or else your issue will be closed -- *Have I written custom code (as opposed to using a stock example script provided in TensorFlow)?*: -- *TensorFlow installed from (source or binary)?*: -- *TensorFlow version*: -- *Bazel version (if compiling from source)*: -- *CUDA/cuDNN version*: -- *GPU Model and Memory*: -- *Exact command to reproduce*: - -### Describe the problem clearly - -### Source Code / Logs -Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full-traceback. Large logs and files should be attached. Try to reproducible test-case code the bare-minimum necessary to generate the problem -- GitLab From 2d7bd1d54a7b3749447f8b414b33035e8bdf3d2f Mon Sep 17 00:00:00 2001 From: Alex Lee Date: Mon, 10 Apr 2017 11:08:06 -0700 Subject: [PATCH 006/171] Fixes for compatibility with TF 1.0 and python 3. --- video_prediction/lstm_ops.py | 8 +------- video_prediction/prediction_train.py | 26 ++++++++++++++------------ 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/video_prediction/lstm_ops.py b/video_prediction/lstm_ops.py index d8afe56be..1f8c8d97a 100644 --- a/video_prediction/lstm_ops.py +++ b/video_prediction/lstm_ops.py @@ -38,17 +38,11 @@ def init_state(inputs, if inputs is not None: # Handle both the dynamic shape as well as the inferred shape. inferred_batch_size = inputs.get_shape().with_rank_at_least(1)[0] - batch_size = tf.shape(inputs)[0] dtype = inputs.dtype else: inferred_batch_size = 0 - batch_size = 0 - initial_state = state_initializer( - tf.stack([batch_size] + state_shape), - dtype=dtype) - initial_state.set_shape([inferred_batch_size] + state_shape) - + [inferred_batch_size] + state_shape, dtype=dtype) return initial_state diff --git a/video_prediction/prediction_train.py b/video_prediction/prediction_train.py index 598226035..46f881426 100644 --- a/video_prediction/prediction_train.py +++ b/video_prediction/prediction_train.py @@ -103,21 +103,24 @@ class Model(object): actions=None, states=None, sequence_length=None, - reuse_scope=None): + reuse_scope=None, + prefix=None): if sequence_length is None: sequence_length = FLAGS.sequence_length - self.prefix = prefix = tf.placeholder(tf.string, []) + if prefix is None: + prefix = tf.placeholder(tf.string, []) + self.prefix = prefix self.iter_num = tf.placeholder(tf.float32, []) summaries = [] # Split into timesteps. - actions = tf.split(axis=1, num_or_size_splits=actions.get_shape()[1], value=actions) + actions = tf.split(axis=1, num_or_size_splits=int(actions.get_shape()[1]), value=actions) actions = [tf.squeeze(act) for act in actions] - states = tf.split(axis=1, num_or_size_splits=states.get_shape()[1], value=states) + states = tf.split(axis=1, num_or_size_splits=int(states.get_shape()[1]), value=states) states = [tf.squeeze(st) for st in states] - images = tf.split(axis=1, num_or_size_splits=images.get_shape()[1], value=images) + images = tf.split(axis=1, num_or_size_splits=int(images.get_shape()[1]), value=images) images = [tf.squeeze(img) for img in images] if reuse_scope is None: @@ -183,17 +186,18 @@ class Model(object): def main(unused_argv): - print 'Constructing models and inputs.' + print('Constructing models and inputs.') with tf.variable_scope('model', reuse=None) as training_scope: images, actions, states = build_tfrecord_input(training=True) - model = Model(images, actions, states, FLAGS.sequence_length) + model = Model(images, actions, states, FLAGS.sequence_length, + prefix='train') with tf.variable_scope('val_model', reuse=None): val_images, val_actions, val_states = build_tfrecord_input(training=False) val_model = Model(val_images, val_actions, val_states, - FLAGS.sequence_length, training_scope) + FLAGS.sequence_length, training_scope, prefix='val') - print 'Constructing saver.' + print('Constructing saver.') # Make saver. saver = tf.train.Saver( tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES), max_to_keep=0) @@ -214,8 +218,7 @@ def main(unused_argv): # Run training. for itr in range(FLAGS.num_iterations): # Generate new batch of data. - feed_dict = {model.prefix: 'train', - model.iter_num: np.float32(itr), + feed_dict = {model.iter_num: np.float32(itr), model.lr: FLAGS.learning_rate} cost, _, summary_str = sess.run([model.loss, model.train_op, model.summ_op], feed_dict) @@ -226,7 +229,6 @@ def main(unused_argv): if (itr) % VAL_INTERVAL == 2: # Run through validation set. feed_dict = {val_model.lr: 0.0, - val_model.prefix: 'val', val_model.iter_num: np.float32(itr)} _, val_summary_str = sess.run([val_model.train_op, val_model.summ_op], feed_dict) -- GitLab From 9681f3fcbaee18ab3c175426a5c217cedd1613bf Mon Sep 17 00:00:00 2001 From: Daniil Pakhomov Date: Wed, 23 Nov 2016 20:00:57 -0500 Subject: [PATCH 007/171] commit to enable true fully convolutional application of network --- slim/nets/vgg.py | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/slim/nets/vgg.py b/slim/nets/vgg.py index 7de280622..79680702c 100644 --- a/slim/nets/vgg.py +++ b/slim/nets/vgg.py @@ -68,7 +68,8 @@ def vgg_a(inputs, is_training=True, dropout_keep_prob=0.5, spatial_squeeze=True, - scope='vgg_a'): + scope='vgg_a', + fc_conv_padding='VALID'): """Oxford Net VGG 11-Layers version A Example. Note: All the fully_connected layers have been transformed to conv2d layers. @@ -83,6 +84,11 @@ def vgg_a(inputs, spatial_squeeze: whether or not should squeeze the spatial dimensions of the outputs. Useful to remove unnecessary dimensions for classification. scope: Optional scope for the variables. + fc_conv_padding: the type of padding to use for the fully connected layer + that is implemented as a convolutional layer. Use 'SAME' padding if you + are applying the network in a fully convolutional manner and want to + get a prediction map downsampled by a factor of 32 as an output. Otherwise, + the output prediction map will be (input / 32) - 6 in case of 'VALID' padding. Returns: the last op containing the log predictions and end_points dict. @@ -103,7 +109,7 @@ def vgg_a(inputs, net = slim.repeat(net, 2, slim.conv2d, 512, [3, 3], scope='conv5') net = slim.max_pool2d(net, [2, 2], scope='pool5') # Use conv2d instead of fully_connected layers. - net = slim.conv2d(net, 4096, [7, 7], padding='VALID', scope='fc6') + net = slim.conv2d(net, 4096, [7, 7], padding=fc_conv_padding, scope='fc6') net = slim.dropout(net, dropout_keep_prob, is_training=is_training, scope='dropout6') net = slim.conv2d(net, 4096, [1, 1], scope='fc7') @@ -127,7 +133,8 @@ def vgg_16(inputs, is_training=True, dropout_keep_prob=0.5, spatial_squeeze=True, - scope='vgg_16'): + scope='vgg_16', + fc_conv_padding='VALID'): """Oxford Net VGG 16-Layers version D Example. Note: All the fully_connected layers have been transformed to conv2d layers. @@ -142,6 +149,11 @@ def vgg_16(inputs, spatial_squeeze: whether or not should squeeze the spatial dimensions of the outputs. Useful to remove unnecessary dimensions for classification. scope: Optional scope for the variables. + fc_conv_padding: the type of padding to use for the fully connected layer + that is implemented as a convolutional layer. Use 'SAME' padding if you + are applying the network in a fully convolutional manner and want to + get a prediction map downsampled by a factor of 32 as an output. Otherwise, + the output prediction map will be (input / 32) - 6 in case of 'VALID' padding. Returns: the last op containing the log predictions and end_points dict. @@ -162,7 +174,7 @@ def vgg_16(inputs, net = slim.repeat(net, 3, slim.conv2d, 512, [3, 3], scope='conv5') net = slim.max_pool2d(net, [2, 2], scope='pool5') # Use conv2d instead of fully_connected layers. - net = slim.conv2d(net, 4096, [7, 7], padding='VALID', scope='fc6') + net = slim.conv2d(net, 4096, [7, 7], padding=fc_conv_padding, scope='fc6') net = slim.dropout(net, dropout_keep_prob, is_training=is_training, scope='dropout6') net = slim.conv2d(net, 4096, [1, 1], scope='fc7') @@ -186,7 +198,8 @@ def vgg_19(inputs, is_training=True, dropout_keep_prob=0.5, spatial_squeeze=True, - scope='vgg_19'): + scope='vgg_19', + fc_conv_padding='VALID'): """Oxford Net VGG 19-Layers version E Example. Note: All the fully_connected layers have been transformed to conv2d layers. @@ -201,6 +214,11 @@ def vgg_19(inputs, spatial_squeeze: whether or not should squeeze the spatial dimensions of the outputs. Useful to remove unnecessary dimensions for classification. scope: Optional scope for the variables. + fc_conv_padding: the type of padding to use for the fully connected layer + that is implemented as a convolutional layer. Use 'SAME' padding if you + are applying the network in a fully convolutional manner and want to + get a prediction map downsampled by a factor of 32 as an output. Otherwise, + the output prediction map will be (input / 32) - 6 in case of 'VALID' padding. Returns: the last op containing the log predictions and end_points dict. @@ -221,7 +239,7 @@ def vgg_19(inputs, net = slim.repeat(net, 4, slim.conv2d, 512, [3, 3], scope='conv5') net = slim.max_pool2d(net, [2, 2], scope='pool5') # Use conv2d instead of fully_connected layers. - net = slim.conv2d(net, 4096, [7, 7], padding='VALID', scope='fc6') + net = slim.conv2d(net, 4096, [7, 7], padding=fc_conv_padding, scope='fc6') net = slim.dropout(net, dropout_keep_prob, is_training=is_training, scope='dropout6') net = slim.conv2d(net, 4096, [1, 1], scope='fc7') -- GitLab From 2770f00b8ed4fadcef116f9fd69823d59de25550 Mon Sep 17 00:00:00 2001 From: vonclites Date: Tue, 11 Apr 2017 18:21:07 -0400 Subject: [PATCH 008/171] Fixed model_deploy to correctly assign weights to variables_device (#992) * Fixed model_deploy to correctly assign weights to variables_device * Adding test for network_fn's arg_scope * Style fix (double blank line) * Add WORKSPACE file to models/slim so that imports work properly --- slim/WORKSPACE | 0 slim/nets/nets_factory.py | 2 +- slim/nets/nets_factory_test.py | 17 ++++++++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 slim/WORKSPACE diff --git a/slim/WORKSPACE b/slim/WORKSPACE new file mode 100644 index 000000000..e69de29bb diff --git a/slim/nets/nets_factory.py b/slim/nets/nets_factory.py index b4f71abd1..bd8d7127a 100644 --- a/slim/nets/nets_factory.py +++ b/slim/nets/nets_factory.py @@ -97,10 +97,10 @@ def get_network_fn(name, num_classes, weight_decay=0.0, is_training=False): """ if name not in networks_map: raise ValueError('Name of network unknown %s' % name) - arg_scope = arg_scopes_map[name](weight_decay=weight_decay) func = networks_map[name] @functools.wraps(func) def network_fn(images): + arg_scope = arg_scopes_map[name](weight_decay=weight_decay) with slim.arg_scope(arg_scope): return func(images, num_classes, is_training=is_training) if hasattr(func, 'default_image_size'): diff --git a/slim/nets/nets_factory_test.py b/slim/nets/nets_factory_test.py index 6ac723b6d..b4ab1f822 100644 --- a/slim/nets/nets_factory_test.py +++ b/slim/nets/nets_factory_test.py @@ -19,11 +19,12 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function - import tensorflow as tf from nets import nets_factory +slim = tf.contrib.slim + class NetworksTest(tf.test.TestCase): @@ -42,5 +43,19 @@ class NetworksTest(tf.test.TestCase): self.assertEqual(logits.get_shape().as_list()[0], batch_size) self.assertEqual(logits.get_shape().as_list()[-1], num_classes) + def testGetNetworkFnArgScope(self): + batch_size = 5 + num_classes = 10 + net = 'cifarnet' + with self.test_session(use_gpu=True): + net_fn = nets_factory.get_network_fn(net, num_classes) + image_size = getattr(net_fn, 'default_image_size', 224) + with slim.arg_scope([slim.model_variable, slim.variable], + device='/CPU:0'): + inputs = tf.random_uniform((batch_size, image_size, image_size, 3)) + net_fn(inputs) + weights = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES, 'CifarNet/conv1')[0] + self.assertDeviceEqual('/CPU:0', weights.device) + if __name__ == '__main__': tf.test.main() -- GitLab From df1c7449070e76757e14348e098fdc49ccda2166 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Tue, 11 Apr 2017 17:00:52 -0700 Subject: [PATCH 009/171] Revert a change to imports which breaks the instructions given in the tutorial --- tutorials/rnn/translate/__init__.py | 4 ++-- tutorials/rnn/translate/seq2seq_model.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tutorials/rnn/translate/__init__.py b/tutorials/rnn/translate/__init__.py index 985a65cb0..e3aaab1f4 100644 --- a/tutorials/rnn/translate/__init__.py +++ b/tutorials/rnn/translate/__init__.py @@ -18,5 +18,5 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function -from . import data_utils -from . import seq2seq_model +import data_utils +import seq2seq_model diff --git a/tutorials/rnn/translate/seq2seq_model.py b/tutorials/rnn/translate/seq2seq_model.py index 7e0cc453f..205d3cc23 100644 --- a/tutorials/rnn/translate/seq2seq_model.py +++ b/tutorials/rnn/translate/seq2seq_model.py @@ -25,7 +25,7 @@ import numpy as np from six.moves import xrange # pylint: disable=redefined-builtin import tensorflow as tf -from . import data_utils +import data_utils class Seq2SeqModel(object): -- GitLab From 0b1e767fb43507b2611cde6dac7000c954c66340 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Tue, 11 Apr 2017 17:23:04 -0700 Subject: [PATCH 010/171] Improvements for ISSUE_TEMPLATE.md --- .github/ISSUE_TEMPLATE.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index d0dae9392..dcca737b3 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,16 +1,16 @@ -NOTE: Issues that are not bugs or feature requests will be closed. Please ask usage questions on StackOverflow. Also, please understand that many of the models included in this repository are experimental and research-style code. +**NOTE**: Issues that are not bugs or feature requests will be closed. Please ask usage questions on StackOverflow. Also, please understand that many of the models included in this repository are experimental and research-style code. ### You must complete this information or else your issue will be closed -- *What is the top-level directory of the model you are using?*: -- *Have I written custom code (as opposed to using a stock example script provided in TensorFlow)?*: -- *TensorFlow installed from (source or binary)?*: -- *TensorFlow version*: -- *Bazel version (if compiling from source)*: -- *CUDA/cuDNN version*: -- *GPU Model and Memory*: -- *Exact command to reproduce*: +- What is the top-level directory of the model you are using: +- Have I written custom code (as opposed to using a stock example script provided in TensorFlow): +- TensorFlow installed from (source or binary): +- TensorFlow version: +- Bazel version (if compiling from source): +- CUDA/cuDNN version: +- GPU model and memory: +- Exact command to reproduce: ### Describe the problem clearly ### Source Code / Logs -Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full-traceback. Large logs and files should be attached. Try to reproducible test-case code the bare-minimum necessary to generate the problem +Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem. -- GitLab From 3f8ea5cb8ad811d379b1c2ed910c720b211d0f49 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Wed, 12 Apr 2017 12:29:31 -0700 Subject: [PATCH 011/171] Fixes for differential_privacy --- .../multiple_teachers/analysis.py | 6 +- .../multiple_teachers/deep_cnn.py | 56 +++++++++---------- .../multiple_teachers/input.py | 6 +- .../multiple_teachers/train_teachers.py | 8 +-- 4 files changed, 38 insertions(+), 38 deletions(-) diff --git a/differential_privacy/multiple_teachers/analysis.py b/differential_privacy/multiple_teachers/analysis.py index 1fe6df27c..44647cdfa 100644 --- a/differential_privacy/multiple_teachers/analysis.py +++ b/differential_privacy/multiple_teachers/analysis.py @@ -216,10 +216,10 @@ def main(unused_argv): # If we are reproducing results from paper https://arxiv.org/abs/1610.05755, # download the required binaries with label information. ################################################################## - + # Binaries for MNIST results paper_binaries_mnist = \ - ["https://github.com/npapernot/multiple-teachers-for-privacy/blob/master/mnist_250_teachers_labels.npy?raw=true", + ["https://github.com/npapernot/multiple-teachers-for-privacy/blob/master/mnist_250_teachers_labels.npy?raw=true", "https://github.com/npapernot/multiple-teachers-for-privacy/blob/master/mnist_250_teachers_100_indices_used_by_student.npy?raw=true"] if FLAGS.counts_file == "mnist_250_teachers_labels.npy" \ or FLAGS.indices_file == "mnist_250_teachers_100_indices_used_by_student.npy": @@ -254,7 +254,7 @@ def main(unused_argv): total_log_mgf_nm = np.array([0.0 for _ in l_list]) total_ss_nm = np.array([0.0 for _ in l_list]) noise_eps = FLAGS.noise_eps - + for i in indices: total_log_mgf_nm += np.array( [logmgf_from_counts(counts_mat[i], noise_eps, l) diff --git a/differential_privacy/multiple_teachers/deep_cnn.py b/differential_privacy/multiple_teachers/deep_cnn.py index d502c9926..cc34d0a2f 100644 --- a/differential_privacy/multiple_teachers/deep_cnn.py +++ b/differential_privacy/multiple_teachers/deep_cnn.py @@ -95,9 +95,9 @@ def inference(images, dropout=False): # conv1 with tf.variable_scope('conv1') as scope: - kernel = _variable_with_weight_decay('weights', + kernel = _variable_with_weight_decay('weights', shape=first_conv_shape, - stddev=1e-4, + stddev=1e-4, wd=0.0) conv = tf.nn.conv2d(images, kernel, [1, 1, 1, 1], padding='SAME') biases = _variable_on_cpu('biases', [64], tf.constant_initializer(0.0)) @@ -108,25 +108,25 @@ def inference(images, dropout=False): # pool1 - pool1 = tf.nn.max_pool(conv1, - ksize=[1, 3, 3, 1], + pool1 = tf.nn.max_pool(conv1, + ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1], - padding='SAME', + padding='SAME', name='pool1') - + # norm1 - norm1 = tf.nn.lrn(pool1, - 4, - bias=1.0, - alpha=0.001 / 9.0, + norm1 = tf.nn.lrn(pool1, + 4, + bias=1.0, + alpha=0.001 / 9.0, beta=0.75, name='norm1') # conv2 with tf.variable_scope('conv2') as scope: - kernel = _variable_with_weight_decay('weights', + kernel = _variable_with_weight_decay('weights', shape=[5, 5, 64, 128], - stddev=1e-4, + stddev=1e-4, wd=0.0) conv = tf.nn.conv2d(norm1, kernel, [1, 1, 1, 1], padding='SAME') biases = _variable_on_cpu('biases', [128], tf.constant_initializer(0.1)) @@ -137,18 +137,18 @@ def inference(images, dropout=False): # norm2 - norm2 = tf.nn.lrn(conv2, - 4, - bias=1.0, - alpha=0.001 / 9.0, + norm2 = tf.nn.lrn(conv2, + 4, + bias=1.0, + alpha=0.001 / 9.0, beta=0.75, name='norm2') - + # pool2 - pool2 = tf.nn.max_pool(norm2, + pool2 = tf.nn.max_pool(norm2, ksize=[1, 3, 3, 1], - strides=[1, 2, 2, 1], - padding='SAME', + strides=[1, 2, 2, 1], + padding='SAME', name='pool2') # local3 @@ -156,9 +156,9 @@ def inference(images, dropout=False): # Move everything into depth so we can perform a single matrix multiply. reshape = tf.reshape(pool2, [FLAGS.batch_size, -1]) dim = reshape.get_shape()[1].value - weights = _variable_with_weight_decay('weights', + weights = _variable_with_weight_decay('weights', shape=[dim, 384], - stddev=0.04, + stddev=0.04, wd=0.004) biases = _variable_on_cpu('biases', [384], tf.constant_initializer(0.1)) local3 = tf.nn.relu(tf.matmul(reshape, weights) + biases, name=scope.name) @@ -167,9 +167,9 @@ def inference(images, dropout=False): # local4 with tf.variable_scope('local4') as scope: - weights = _variable_with_weight_decay('weights', + weights = _variable_with_weight_decay('weights', shape=[384, 192], - stddev=0.04, + stddev=0.04, wd=0.004) biases = _variable_on_cpu('biases', [192], tf.constant_initializer(0.1)) local4 = tf.nn.relu(tf.matmul(local3, weights) + biases, name=scope.name) @@ -178,11 +178,11 @@ def inference(images, dropout=False): # compute logits with tf.variable_scope('softmax_linear') as scope: - weights = _variable_with_weight_decay('weights', + weights = _variable_with_weight_decay('weights', [192, FLAGS.nb_labels], - stddev=1/192.0, + stddev=1/192.0, wd=0.0) - biases = _variable_on_cpu('biases', + biases = _variable_on_cpu('biases', [FLAGS.nb_labels], tf.constant_initializer(0.0)) logits = tf.add(tf.matmul(local4, weights), biases, name=scope.name) @@ -386,7 +386,7 @@ def train_op_fun(total_loss, global_step): """ # Variables that affect learning rate. nb_ex_per_train_epoch = int(60000 / FLAGS.nb_teachers) - + num_batches_per_epoch = nb_ex_per_train_epoch / FLAGS.batch_size decay_steps = int(num_batches_per_epoch * FLAGS.epochs_per_decay) diff --git a/differential_privacy/multiple_teachers/input.py b/differential_privacy/multiple_teachers/input.py index e57da6878..bc8dec915 100644 --- a/differential_privacy/multiple_teachers/input.py +++ b/differential_privacy/multiple_teachers/input.py @@ -47,7 +47,7 @@ def create_dir_if_needed(dest_directory): def maybe_download(file_urls, directory): """ Download a set of files in temporary local folder - :param directory: the directory where to download + :param directory: the directory where to download :return: a tuple of filepaths corresponding to the files given as input """ # Create directory if doesn't exist @@ -73,7 +73,7 @@ def maybe_download(file_urls, directory): result.append(filepath) # Test if file already exists - if not gfile.Exists(filepath): + if not tf.gfile.Exists(filepath): def _progress(count, block_size, total_size): sys.stdout.write('\r>> Downloading %s %.1f%%' % (filename, float(count * block_size) / float(total_size) * 100.0)) @@ -124,7 +124,7 @@ def extract_svhn(local_url): :return: """ - with gfile.Open(local_url, mode='r') as file_obj: + with tf.gfile.Open(local_url, mode='r') as file_obj: # Load MATLAB matrix using scipy IO dict = loadmat(file_obj) diff --git a/differential_privacy/multiple_teachers/train_teachers.py b/differential_privacy/multiple_teachers/train_teachers.py index 16e55b151..fdb7634f4 100644 --- a/differential_privacy/multiple_teachers/train_teachers.py +++ b/differential_privacy/multiple_teachers/train_teachers.py @@ -64,11 +64,11 @@ def train_teacher(dataset, nb_teachers, teacher_id): else: print("Check value of dataset flag") return False - + # Retrieve subset of data for this teacher - data, labels = input.partition_dataset(train_data, - train_labels, - nb_teachers, + data, labels = input.partition_dataset(train_data, + train_labels, + nb_teachers, teacher_id) print("Length of training data: " + str(len(labels))) -- GitLab From b0368879b87244c3d54c5b600c2262d048875504 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Thu, 13 Apr 2017 15:20:06 -0700 Subject: [PATCH 012/171] Further updates to ISSUE_TEMPLATE.md --- .github/ISSUE_TEMPLATE.md | 16 ---------------- ISSUE_TEMPLATE.md | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 16 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 ISSUE_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index dcca737b3..000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,16 +0,0 @@ -**NOTE**: Issues that are not bugs or feature requests will be closed. Please ask usage questions on StackOverflow. Also, please understand that many of the models included in this repository are experimental and research-style code. - -### You must complete this information or else your issue will be closed -- What is the top-level directory of the model you are using: -- Have I written custom code (as opposed to using a stock example script provided in TensorFlow): -- TensorFlow installed from (source or binary): -- TensorFlow version: -- Bazel version (if compiling from source): -- CUDA/cuDNN version: -- GPU model and memory: -- Exact command to reproduce: - -### Describe the problem clearly - -### Source Code / Logs -Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem. diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..874f09b19 --- /dev/null +++ b/ISSUE_TEMPLATE.md @@ -0,0 +1,34 @@ +Please go to Stack Overflow for help and support: http://stackoverflow.com/questions/tagged/tensorflow + +Also, please understand that many of the models included in this repository are experimental and research-style code. If you open a GitHub issue, here is our policy: + +1. It must be a bug or a feature request. +2. The form below must be filled out. + +**Here's why we have that policy**: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow. + +------------------------ + +### System information +- What is the top-level directory of the model you are using: +- Have I written custom code (as opposed to using a stock example script provided in TensorFlow): +- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): +- TensorFlow installed from (source or binary): +- TensorFlow version (use command below): +- Bazel version (if compiling from source): +- CUDA/cuDNN version: +- GPU model and memory: +- Exact command to reproduce: + +You can collect some of this information using our environment capture script: https://github.com/tensorflow/tensorflow/tree/master/tools + +You can obtain the TensorFlow version with + +python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" + +### Describe the problem + +Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request. + +### Source code / logs +Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem. -- GitLab From 326fa859c08902136429789d8b4318146226f6b9 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Thu, 13 Apr 2017 15:21:08 -0700 Subject: [PATCH 013/171] Move ISSUE_TEMPLATE.md back to .github temporarily for easier diffing --- ISSUE_TEMPLATE.md => .github/ISSUE_TEMPLATE.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ISSUE_TEMPLATE.md => .github/ISSUE_TEMPLATE.md (100%) diff --git a/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md similarity index 100% rename from ISSUE_TEMPLATE.md rename to .github/ISSUE_TEMPLATE.md -- GitLab From 7ff111ab514df86def76ee5140769b9edb51afd1 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Thu, 13 Apr 2017 16:14:13 -0700 Subject: [PATCH 014/171] Move ISSUE_TEMPLATE.md out of .github and make the system information questions bold --- .github/ISSUE_TEMPLATE.md => ISSUE_TEMPLATE.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) rename .github/ISSUE_TEMPLATE.md => ISSUE_TEMPLATE.md (76%) diff --git a/.github/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md similarity index 76% rename from .github/ISSUE_TEMPLATE.md rename to ISSUE_TEMPLATE.md index 874f09b19..a67664d8c 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -10,15 +10,15 @@ Also, please understand that many of the models included in this repository are ------------------------ ### System information -- What is the top-level directory of the model you are using: -- Have I written custom code (as opposed to using a stock example script provided in TensorFlow): -- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): -- TensorFlow installed from (source or binary): -- TensorFlow version (use command below): -- Bazel version (if compiling from source): -- CUDA/cuDNN version: -- GPU model and memory: -- Exact command to reproduce: +- **What is the top-level directory of the model you are using**: +- **Have I written custom code (as opposed to using a stock example script provided in TensorFlow)**: +- **OS Platform and Distribution (e.g., Linux Ubuntu 16.04)**: +- **TensorFlow installed from (source or binary)**: +- **TensorFlow version (use command below)**: +- **Bazel version (if compiling from source)**: +- **CUDA/cuDNN version**: +- **GPU model and memory**: +- **Exact command to reproduce**: You can collect some of this information using our environment capture script: https://github.com/tensorflow/tensorflow/tree/master/tools -- GitLab From 01435955c57f5deeb602cd9339d633828f2c6b27 Mon Sep 17 00:00:00 2001 From: Nick Johnston Date: Tue, 18 Apr 2017 08:52:26 -0700 Subject: [PATCH 015/171] Code organization for the compression models in preparation for a new subdirectory. --- compression/README.md | 109 ++------------------ compression/image_encoder/README.md | 107 +++++++++++++++++++ compression/{ => image_encoder}/decoder.py | 0 compression/{ => image_encoder}/encoder.py | 0 compression/{ => image_encoder}/example.png | Bin compression/{ => image_encoder}/msssim.py | 0 6 files changed, 115 insertions(+), 101 deletions(-) create mode 100644 compression/image_encoder/README.md rename compression/{ => image_encoder}/decoder.py (100%) rename compression/{ => image_encoder}/encoder.py (100%) rename compression/{ => image_encoder}/example.png (100%) rename compression/{ => image_encoder}/msssim.py (100%) diff --git a/compression/README.md b/compression/README.md index 4b95961b2..f5aeafe04 100644 --- a/compression/README.md +++ b/compression/README.md @@ -1,107 +1,14 @@ -# Image Compression with Neural Networks +# Compression with Neural Networks -This is a [TensorFlow](http://www.tensorflow.org/) model for compressing and -decompressing images using an already trained Residual GRU model as descibed -in [Full Resolution Image Compression with Recurrent Neural Networks] -(https://arxiv.org/abs/1608.05148). Please consult the paper for more details -on the architecture and compression results. +This is a [TensorFlow](http://www.tensorflow.org/) model repo containing +research on compression with neural networks. This repo currently contains +code for the following papers: -This code will allow you to perform the lossy compression on an model -already trained on compression. This code doesn't not currently contain the -Entropy Coding portions of our paper. - - -## Prerequisites -The only software requirements for running the encoder and decoder is having -Tensorflow installed. You will also need to [download] -(http://download.tensorflow.org/models/compression_residual_gru-2016-08-23.tar.gz) -and extract the model residual_gru.pb. - -If you want to generate the perceptual similarity under MS-SSIM, you will also -need to [Install SciPy](https://www.scipy.org/install.html). - -## Encoding -The Residual GRU network is fully convolutional, but requires the images -height and width in pixels by a multiple of 32. There is an image in this folder -called example.png that is 768x1024 if one is needed for testing. We also -rely on TensorFlow's built in decoding ops, which support only PNG and JPEG at -time of release. - -To encode an image, simply run the following command: - -`python encoder.py --input_image=/your/image/here.png ---output_codes=output_codes.npz --iteration=15 ---model=/path/to/model/residual_gru.pb -` - -The iteration parameter specifies the lossy-quality to target for compression. -The quality can be [0-15], where 0 corresponds to a target of 1/8 (bits per -pixel) bpp and every increment results in an additional 1/8 bpp. - -| Iteration | BPP | Compression Ratio | -|---: |---: |---: | -|0 | 0.125 | 192:1| -|1 | 0.250 | 96:1| -|2 | 0.375 | 64:1| -|3 | 0.500 | 48:1| -|4 | 0.625 | 38.4:1| -|5 | 0.750 | 32:1| -|6 | 0.875 | 27.4:1| -|7 | 1.000 | 24:1| -|8 | 1.125 | 21.3:1| -|9 | 1.250 | 19.2:1| -|10 | 1.375 | 17.4:1| -|11 | 1.500 | 16:1| -|12 | 1.625 | 14.7:1| -|13 | 1.750 | 13.7:1| -|14 | 1.875 | 12.8:1| -|15 | 2.000 | 12:1| - -The output_codes file contains the numpy shape and a flattened, bit-packed -array of the codes. These can be inspected in python by using numpy.load(). - - -## Decoding -After generating codes for an image, the lossy reconstructions for that image -can be done as follows: - -`python decoder.py --input_codes=codes.npz --output_directory=/tmp/decoded/ ---model=residual_gru.pb` - -The output_directory will contain images decoded at each quality level. - - -## Comparing Similarity -One of our primary metrics for comparing how similar two images are -is MS-SSIM. - -To generate these metrics on your images you can run: -`python msssim.py --original_image=/path/to/your/image.png ---compared_image=/tmp/decoded/image_15.png` - - -## Results -CSV results containing the post-entropy bitrates and MS-SSIM over Kodak can -are available for reference. Each row of the CSV represents each of the Kodak -images in their dataset number (1-24). Each column of the CSV represents each -iteration of the model (1-16). - -[Post Entropy Bitrates](https://storage.googleapis.com/compression-ml/residual_gru_results/bitrate.csv) - -[MS-SSIM](https://storage.googleapis.com/compression-ml/residual_gru_results/msssim.csv) - - -## FAQ - -#### How do I train my own compression network? -We currently don't provide the code to build and train a compression -graph from scratch. - -#### I get an InvalidArgumentError: Incompatible shapes. -This is usually due to the fact that our network only supports images that are -both height and width divisible by 32 pixel. Try padding your images to 32 -pixel boundaries. +[Full Resolution Image Compression with Recurrent Neural Networks] +(https://arxiv.org/abs/1608.05148) +## Organization +[Image Encoder](image_encoder/): Encoding and decoding images into their binary representation. ## Contact Info Model repository maintained by Nick Johnston ([nickj-google](https://github.com/nickj-google)). diff --git a/compression/image_encoder/README.md b/compression/image_encoder/README.md new file mode 100644 index 000000000..4b95961b2 --- /dev/null +++ b/compression/image_encoder/README.md @@ -0,0 +1,107 @@ +# Image Compression with Neural Networks + +This is a [TensorFlow](http://www.tensorflow.org/) model for compressing and +decompressing images using an already trained Residual GRU model as descibed +in [Full Resolution Image Compression with Recurrent Neural Networks] +(https://arxiv.org/abs/1608.05148). Please consult the paper for more details +on the architecture and compression results. + +This code will allow you to perform the lossy compression on an model +already trained on compression. This code doesn't not currently contain the +Entropy Coding portions of our paper. + + +## Prerequisites +The only software requirements for running the encoder and decoder is having +Tensorflow installed. You will also need to [download] +(http://download.tensorflow.org/models/compression_residual_gru-2016-08-23.tar.gz) +and extract the model residual_gru.pb. + +If you want to generate the perceptual similarity under MS-SSIM, you will also +need to [Install SciPy](https://www.scipy.org/install.html). + +## Encoding +The Residual GRU network is fully convolutional, but requires the images +height and width in pixels by a multiple of 32. There is an image in this folder +called example.png that is 768x1024 if one is needed for testing. We also +rely on TensorFlow's built in decoding ops, which support only PNG and JPEG at +time of release. + +To encode an image, simply run the following command: + +`python encoder.py --input_image=/your/image/here.png +--output_codes=output_codes.npz --iteration=15 +--model=/path/to/model/residual_gru.pb +` + +The iteration parameter specifies the lossy-quality to target for compression. +The quality can be [0-15], where 0 corresponds to a target of 1/8 (bits per +pixel) bpp and every increment results in an additional 1/8 bpp. + +| Iteration | BPP | Compression Ratio | +|---: |---: |---: | +|0 | 0.125 | 192:1| +|1 | 0.250 | 96:1| +|2 | 0.375 | 64:1| +|3 | 0.500 | 48:1| +|4 | 0.625 | 38.4:1| +|5 | 0.750 | 32:1| +|6 | 0.875 | 27.4:1| +|7 | 1.000 | 24:1| +|8 | 1.125 | 21.3:1| +|9 | 1.250 | 19.2:1| +|10 | 1.375 | 17.4:1| +|11 | 1.500 | 16:1| +|12 | 1.625 | 14.7:1| +|13 | 1.750 | 13.7:1| +|14 | 1.875 | 12.8:1| +|15 | 2.000 | 12:1| + +The output_codes file contains the numpy shape and a flattened, bit-packed +array of the codes. These can be inspected in python by using numpy.load(). + + +## Decoding +After generating codes for an image, the lossy reconstructions for that image +can be done as follows: + +`python decoder.py --input_codes=codes.npz --output_directory=/tmp/decoded/ +--model=residual_gru.pb` + +The output_directory will contain images decoded at each quality level. + + +## Comparing Similarity +One of our primary metrics for comparing how similar two images are +is MS-SSIM. + +To generate these metrics on your images you can run: +`python msssim.py --original_image=/path/to/your/image.png +--compared_image=/tmp/decoded/image_15.png` + + +## Results +CSV results containing the post-entropy bitrates and MS-SSIM over Kodak can +are available for reference. Each row of the CSV represents each of the Kodak +images in their dataset number (1-24). Each column of the CSV represents each +iteration of the model (1-16). + +[Post Entropy Bitrates](https://storage.googleapis.com/compression-ml/residual_gru_results/bitrate.csv) + +[MS-SSIM](https://storage.googleapis.com/compression-ml/residual_gru_results/msssim.csv) + + +## FAQ + +#### How do I train my own compression network? +We currently don't provide the code to build and train a compression +graph from scratch. + +#### I get an InvalidArgumentError: Incompatible shapes. +This is usually due to the fact that our network only supports images that are +both height and width divisible by 32 pixel. Try padding your images to 32 +pixel boundaries. + + +## Contact Info +Model repository maintained by Nick Johnston ([nickj-google](https://github.com/nickj-google)). diff --git a/compression/decoder.py b/compression/image_encoder/decoder.py similarity index 100% rename from compression/decoder.py rename to compression/image_encoder/decoder.py diff --git a/compression/encoder.py b/compression/image_encoder/encoder.py similarity index 100% rename from compression/encoder.py rename to compression/image_encoder/encoder.py diff --git a/compression/example.png b/compression/image_encoder/example.png similarity index 100% rename from compression/example.png rename to compression/image_encoder/example.png diff --git a/compression/msssim.py b/compression/image_encoder/msssim.py similarity index 100% rename from compression/msssim.py rename to compression/image_encoder/msssim.py -- GitLab From 49eda36d80ac2af8e05186295359599871ad579b Mon Sep 17 00:00:00 2001 From: mloenow Date: Tue, 18 Apr 2017 22:20:59 +0200 Subject: [PATCH 016/171] Fixed link and made it more descriptive --- video_prediction/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/video_prediction/README.md b/video_prediction/README.md index 63f85967b..51cd198c4 100644 --- a/video_prediction/README.md +++ b/video_prediction/README.md @@ -1,7 +1,6 @@ # Video Prediction with Neural Advection -*A TensorFlow implementation of the models described in [Finn et al. (2016)] -(http://arxiv.org/abs/1605.07157).* +*A TensorFlow implementation of the models described in [Unsupervised Learning for Physical Interaction through Video Prediction (Finn et al., 2016)](https://arxiv.org/abs/1605.07157).* This video prediction model, which is optionally conditioned on actions, predictions future video by internally predicting how to transform the last -- GitLab From cbe9f8639d195a3d7cfcaa2e13824851ef7de1a9 Mon Sep 17 00:00:00 2001 From: mloenow Date: Tue, 18 Apr 2017 21:50:50 +0200 Subject: [PATCH 017/171] Fixed links --- compression/image_encoder/README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/compression/image_encoder/README.md b/compression/image_encoder/README.md index 4b95961b2..916820e20 100644 --- a/compression/image_encoder/README.md +++ b/compression/image_encoder/README.md @@ -2,8 +2,7 @@ This is a [TensorFlow](http://www.tensorflow.org/) model for compressing and decompressing images using an already trained Residual GRU model as descibed -in [Full Resolution Image Compression with Recurrent Neural Networks] -(https://arxiv.org/abs/1608.05148). Please consult the paper for more details +in [Full Resolution Image Compression with Recurrent Neural Networks](https://arxiv.org/abs/1608.05148). Please consult the paper for more details on the architecture and compression results. This code will allow you to perform the lossy compression on an model @@ -13,8 +12,7 @@ Entropy Coding portions of our paper. ## Prerequisites The only software requirements for running the encoder and decoder is having -Tensorflow installed. You will also need to [download] -(http://download.tensorflow.org/models/compression_residual_gru-2016-08-23.tar.gz) +Tensorflow installed. You will also need to [download](http://download.tensorflow.org/models/compression_residual_gru-2016-08-23.tar.gz) and extract the model residual_gru.pb. If you want to generate the perceptual similarity under MS-SSIM, you will also -- GitLab From 0d4c7748124a152aa92fc0f30d9707000291db95 Mon Sep 17 00:00:00 2001 From: Scott Sievert Date: Tue, 18 Apr 2017 09:58:40 -0500 Subject: [PATCH 018/171] DOC: show images in README.md by removing HTML tags --- resnet/README.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/resnet/README.md b/resnet/README.md index 4ea802843..7022dd0fb 100644 --- a/resnet/README.md +++ b/resnet/README.md @@ -31,12 +31,8 @@ https://arxiv.org/pdf/1605.07146v1.pdf Results: - -![Precisions](g3doc/cifar_resnet.gif) - - -![Precisions Legends](g3doc/cifar_resnet_legends.gif) - + +![Precisions](g3doc/cifar_resnet.gif) ![Precisions Legends](g3doc/cifar_resnet_legends.gif) CIFAR-10 Model|Best Precision|Steps -- GitLab From 3d5ab03cab36814d8b1af81b3fcf98e32c3bf0df Mon Sep 17 00:00:00 2001 From: Scott Sievert Date: Tue, 18 Apr 2017 10:09:11 -0500 Subject: [PATCH 019/171] DOC: show images in next_frame_prediction/README.md --- next_frame_prediction/README.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/next_frame_prediction/README.md b/next_frame_prediction/README.md index 09d32205e..1f9467e1f 100644 --- a/next_frame_prediction/README.md +++ b/next_frame_prediction/README.md @@ -12,16 +12,9 @@ Authors: Xin Pan (Github: panyx0718), Anelia Angelova Results: - ![Sample1](g3doc/cross_conv.png) - - ![Sample2](g3doc/cross_conv2.png) - - - ![Loss](g3doc/cross_conv3.png) - Prerequisite: -- GitLab From 1835febfaf9538dab97b14d1fa587bef98c4ac03 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Wed, 19 Apr 2017 18:00:57 -0700 Subject: [PATCH 020/171] Move each image to its own line --- next_frame_prediction/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/next_frame_prediction/README.md b/next_frame_prediction/README.md index 1f9467e1f..0094cd9a5 100644 --- a/next_frame_prediction/README.md +++ b/next_frame_prediction/README.md @@ -13,9 +13,10 @@ Authors: Xin Pan (Github: panyx0718), Anelia Angelova Results: ![Sample1](g3doc/cross_conv.png) + ![Sample2](g3doc/cross_conv2.png) -![Loss](g3doc/cross_conv3.png) +![Loss](g3doc/cross_conv3.png) Prerequisite: -- GitLab From 0958c80d007c3525e3e031fe8bb73ee9065b4644 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Wed, 19 Apr 2017 18:01:28 -0700 Subject: [PATCH 021/171] Move each image to its own line --- resnet/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resnet/README.md b/resnet/README.md index 7022dd0fb..ee296636f 100644 --- a/resnet/README.md +++ b/resnet/README.md @@ -31,9 +31,9 @@ https://arxiv.org/pdf/1605.07146v1.pdf Results: +![Precisions](g3doc/cifar_resnet.gif) -![Precisions](g3doc/cifar_resnet.gif) ![Precisions Legends](g3doc/cifar_resnet_legends.gif) - +![Precisions Legends](g3doc/cifar_resnet_legends.gif) CIFAR-10 Model|Best Precision|Steps --------------|--------------|------ -- GitLab From b1afde2f4fb262913bdfffdec2d160f4fae23ac8 Mon Sep 17 00:00:00 2001 From: Stephen Tridgell Date: Tue, 18 Apr 2017 11:42:16 +1000 Subject: [PATCH 022/171] Change iteritems -> items for py3 compatability --- slim/eval_image_classifier.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slim/eval_image_classifier.py b/slim/eval_image_classifier.py index 6a7594166..82d10d91c 100644 --- a/slim/eval_image_classifier.py +++ b/slim/eval_image_classifier.py @@ -158,7 +158,7 @@ def main(_): }) # Print the summaries to screen. - for name, value in names_to_values.iteritems(): + for name, value in names_to_values.items(): summary_name = 'eval/%s' % name op = tf.summary.scalar(summary_name, value, collections=[]) op = tf.Print(op, [value], summary_name) -- GitLab From 60d40dd5240968462182cd83b5b4f94f62061ad3 Mon Sep 17 00:00:00 2001 From: Spencer Stirling Date: Mon, 17 Apr 2017 16:00:06 -0600 Subject: [PATCH 023/171] added OSX build instructions --- street/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/street/README.md b/street/README.md index 64ab6b656..199262ed3 100644 --- a/street/README.md +++ b/street/README.md @@ -48,11 +48,18 @@ sudo pip install numpy Build the LSTM op: +Linux ``` cd cc TF_INC=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())') g++ -std=c++11 -shared rnn_ops.cc -o rnn_ops.so -fPIC -I $TF_INC -O3 -mavx ``` +Mac +``` +cd cc +TF_INC=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())') +g++ -std=c++11 -shared rnn_ops.cc -o rnn_ops.so -fPIC -I $TF_INC -O3 -mavx -undefined dynamic_lookup +``` Run the unittests: -- GitLab From f717f6bf7ef4f9b6e95932744ac89e07ed0f0c52 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Wed, 19 Apr 2017 18:09:56 -0700 Subject: [PATCH 024/171] Add a note rather than repeating the full command --- street/README.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/street/README.md b/street/README.md index 199262ed3..997d24418 100644 --- a/street/README.md +++ b/street/README.md @@ -48,18 +48,14 @@ sudo pip install numpy Build the LSTM op: -Linux ``` cd cc TF_INC=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())') g++ -std=c++11 -shared rnn_ops.cc -o rnn_ops.so -fPIC -I $TF_INC -O3 -mavx ``` -Mac -``` -cd cc -TF_INC=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())') -g++ -std=c++11 -shared rnn_ops.cc -o rnn_ops.so -fPIC -I $TF_INC -O3 -mavx -undefined dynamic_lookup -``` + +(Note: if running on Mac, add `-undefined dynamic_lookup` to the end of your +`g++` command.) Run the unittests: -- GitLab From d6b78425a982ec41370cc2125bfd919ace21d162 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Wed, 19 Apr 2017 18:14:43 -0700 Subject: [PATCH 025/171] Add a note about the ABI flag as well --- street/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/street/README.md b/street/README.md index 997d24418..6385c15ca 100644 --- a/street/README.md +++ b/street/README.md @@ -54,8 +54,9 @@ TF_INC=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())') g++ -std=c++11 -shared rnn_ops.cc -o rnn_ops.so -fPIC -I $TF_INC -O3 -mavx ``` -(Note: if running on Mac, add `-undefined dynamic_lookup` to the end of your -`g++` command.) +(Note: if running on Mac, add `-undefined dynamic_lookup` to your `g++` command. +If you are running a newer version of gcc, you may also need to add +`-D_GLIBCXX_USE_CXX11_ABI=0`.) Run the unittests: -- GitLab From c136af635b2a3bae104b78cb750008c7e9e001a0 Mon Sep 17 00:00:00 2001 From: Matt Rickard Date: Fri, 14 Apr 2017 22:05:44 -0700 Subject: [PATCH 026/171] Removed rmsprop_momentum flag, use --momentum flag The flag description for the momentum flag states that it is `The momentum for the MomentumOptimizer and RMSPropOptimizer`, however its not actually used in the RMSPropOptimizer. Instead, a separate `rmsprop_momentum` flag was used. This deletes that flag for simplicity. It was not referenced anywhere else in the repo. --- slim/train_image_classifier.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/slim/train_image_classifier.py b/slim/train_image_classifier.py index 8b7b24488..b1cabe746 100644 --- a/slim/train_image_classifier.py +++ b/slim/train_image_classifier.py @@ -118,8 +118,6 @@ tf.app.flags.DEFINE_float( 'momentum', 0.9, 'The momentum for the MomentumOptimizer and RMSPropOptimizer.') -tf.app.flags.DEFINE_float('rmsprop_momentum', 0.9, 'Momentum.') - tf.app.flags.DEFINE_float('rmsprop_decay', 0.9, 'Decay term for RMSProp.') ####################### @@ -304,7 +302,7 @@ def _configure_optimizer(learning_rate): optimizer = tf.train.RMSPropOptimizer( learning_rate, decay=FLAGS.rmsprop_decay, - momentum=FLAGS.rmsprop_momentum, + momentum=FLAGS.momentum, epsilon=FLAGS.opt_epsilon) elif FLAGS.optimizer == 'sgd': optimizer = tf.train.GradientDescentOptimizer(learning_rate) -- GitLab From 3466a9039e4591dbaa5ca9cf3c5df7fb069c3fb3 Mon Sep 17 00:00:00 2001 From: mloenow Date: Thu, 20 Apr 2017 14:25:54 +0200 Subject: [PATCH 027/171] Fixed link --- compression/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/compression/README.md b/compression/README.md index f5aeafe04..44fd4ccec 100644 --- a/compression/README.md +++ b/compression/README.md @@ -4,8 +4,7 @@ This is a [TensorFlow](http://www.tensorflow.org/) model repo containing research on compression with neural networks. This repo currently contains code for the following papers: -[Full Resolution Image Compression with Recurrent Neural Networks] -(https://arxiv.org/abs/1608.05148) +[Full Resolution Image Compression with Recurrent Neural Networks](https://arxiv.org/abs/1608.05148) ## Organization [Image Encoder](image_encoder/): Encoding and decoding images into their binary representation. -- GitLab From 5b9d9097cc255becef4b5460c4b951c143d7a380 Mon Sep 17 00:00:00 2001 From: Saurabh Gupta Date: Wed, 19 Apr 2017 22:59:48 -0700 Subject: [PATCH 028/171] Implementation for Cognitive Mapping and Planning paper. --- cognitive_mapping_and_planning/.gitignore | 4 + cognitive_mapping_and_planning/README.md | 122 ++ cognitive_mapping_and_planning/__init__.py | 0 .../cfgs/__init__.py | 0 .../cfgs/config_cmp.py | 283 ++++ .../cfgs/config_common.py | 261 +++ .../cfgs/config_distill.py | 114 ++ .../cfgs/config_vision_baseline.py | 173 ++ .../data/.gitignore | 3 + cognitive_mapping_and_planning/data/README.md | 33 + .../datasets/__init__.py | 0 .../datasets/factory.py | 113 ++ .../datasets/nav_env.py | 1465 +++++++++++++++++ .../datasets/nav_env_config.py | 127 ++ cognitive_mapping_and_planning/matplotlibrc | 1 + .../output/.gitignore | 1 + .../output/README.md | 16 + .../patches/GLES2_2_0.py.patch | 14 + .../patches/apply_patches.sh | 18 + .../patches/ctypesloader.py.patch | 15 + .../render/__init__.py | 0 .../render/depth_rgb_encoded.fp | 30 + .../render/depth_rgb_encoded.vp | 15 + .../render/rgb_flat_color.fp | 11 + .../render/rgb_flat_color.vp | 18 + .../render/swiftshader_renderer.py | 427 +++++ .../requirements.txt | 9 + .../scripts/__init__.py | 0 .../scripts/script_distill.py | 177 ++ .../scripts/script_download_init_models.sh | 18 + .../scripts/script_env_vis.py | 186 +++ .../scripts/script_nav_agent_release.py | 253 +++ .../scripts/script_plot_trajectory.py | 339 ++++ .../script_preprocess_annoations_S3DIS.py | 197 +++ .../script_preprocess_annoations_S3DIS.sh | 24 + .../scripts/script_preprocess_meshes_S3DIS.sh | 37 + .../scripts/script_test_pretrained_models.sh | 63 + .../src/__init__.py | 0 .../src/depth_utils.py | 95 ++ .../src/file_utils.py | 41 + .../src/graph_utils.py | 550 +++++++ .../src/map_utils.py | 244 +++ .../src/rotation_utils.py | 73 + cognitive_mapping_and_planning/src/utils.py | 168 ++ .../tfcode/__init__.py | 0 cognitive_mapping_and_planning/tfcode/cmp.py | 553 +++++++ .../tfcode/cmp_summary.py | 213 +++ .../tfcode/cmp_utils.py | 164 ++ .../tfcode/nav_utils.py | 435 +++++ .../tfcode/tf_utils.py | 840 ++++++++++ .../tfcode/vision_baseline_lstm.py | 533 ++++++ 51 files changed, 8476 insertions(+) create mode 100644 cognitive_mapping_and_planning/.gitignore create mode 100644 cognitive_mapping_and_planning/README.md create mode 100644 cognitive_mapping_and_planning/__init__.py create mode 100644 cognitive_mapping_and_planning/cfgs/__init__.py create mode 100644 cognitive_mapping_and_planning/cfgs/config_cmp.py create mode 100644 cognitive_mapping_and_planning/cfgs/config_common.py create mode 100644 cognitive_mapping_and_planning/cfgs/config_distill.py create mode 100644 cognitive_mapping_and_planning/cfgs/config_vision_baseline.py create mode 100644 cognitive_mapping_and_planning/data/.gitignore create mode 100644 cognitive_mapping_and_planning/data/README.md create mode 100644 cognitive_mapping_and_planning/datasets/__init__.py create mode 100644 cognitive_mapping_and_planning/datasets/factory.py create mode 100644 cognitive_mapping_and_planning/datasets/nav_env.py create mode 100644 cognitive_mapping_and_planning/datasets/nav_env_config.py create mode 100644 cognitive_mapping_and_planning/matplotlibrc create mode 100644 cognitive_mapping_and_planning/output/.gitignore create mode 100644 cognitive_mapping_and_planning/output/README.md create mode 100644 cognitive_mapping_and_planning/patches/GLES2_2_0.py.patch create mode 100644 cognitive_mapping_and_planning/patches/apply_patches.sh create mode 100644 cognitive_mapping_and_planning/patches/ctypesloader.py.patch create mode 100644 cognitive_mapping_and_planning/render/__init__.py create mode 100644 cognitive_mapping_and_planning/render/depth_rgb_encoded.fp create mode 100644 cognitive_mapping_and_planning/render/depth_rgb_encoded.vp create mode 100644 cognitive_mapping_and_planning/render/rgb_flat_color.fp create mode 100644 cognitive_mapping_and_planning/render/rgb_flat_color.vp create mode 100644 cognitive_mapping_and_planning/render/swiftshader_renderer.py create mode 100644 cognitive_mapping_and_planning/requirements.txt create mode 100644 cognitive_mapping_and_planning/scripts/__init__.py create mode 100644 cognitive_mapping_and_planning/scripts/script_distill.py create mode 100644 cognitive_mapping_and_planning/scripts/script_download_init_models.sh create mode 100644 cognitive_mapping_and_planning/scripts/script_env_vis.py create mode 100644 cognitive_mapping_and_planning/scripts/script_nav_agent_release.py create mode 100644 cognitive_mapping_and_planning/scripts/script_plot_trajectory.py create mode 100644 cognitive_mapping_and_planning/scripts/script_preprocess_annoations_S3DIS.py create mode 100644 cognitive_mapping_and_planning/scripts/script_preprocess_annoations_S3DIS.sh create mode 100644 cognitive_mapping_and_planning/scripts/script_preprocess_meshes_S3DIS.sh create mode 100644 cognitive_mapping_and_planning/scripts/script_test_pretrained_models.sh create mode 100644 cognitive_mapping_and_planning/src/__init__.py create mode 100644 cognitive_mapping_and_planning/src/depth_utils.py create mode 100644 cognitive_mapping_and_planning/src/file_utils.py create mode 100644 cognitive_mapping_and_planning/src/graph_utils.py create mode 100644 cognitive_mapping_and_planning/src/map_utils.py create mode 100644 cognitive_mapping_and_planning/src/rotation_utils.py create mode 100644 cognitive_mapping_and_planning/src/utils.py create mode 100644 cognitive_mapping_and_planning/tfcode/__init__.py create mode 100644 cognitive_mapping_and_planning/tfcode/cmp.py create mode 100644 cognitive_mapping_and_planning/tfcode/cmp_summary.py create mode 100644 cognitive_mapping_and_planning/tfcode/cmp_utils.py create mode 100644 cognitive_mapping_and_planning/tfcode/nav_utils.py create mode 100644 cognitive_mapping_and_planning/tfcode/tf_utils.py create mode 100644 cognitive_mapping_and_planning/tfcode/vision_baseline_lstm.py diff --git a/cognitive_mapping_and_planning/.gitignore b/cognitive_mapping_and_planning/.gitignore new file mode 100644 index 000000000..cbc6a8f02 --- /dev/null +++ b/cognitive_mapping_and_planning/.gitignore @@ -0,0 +1,4 @@ +deps +*.pyc +lib*.so +lib*.so* diff --git a/cognitive_mapping_and_planning/README.md b/cognitive_mapping_and_planning/README.md new file mode 100644 index 000000000..b3f3e5080 --- /dev/null +++ b/cognitive_mapping_and_planning/README.md @@ -0,0 +1,122 @@ +# Cognitive Mapping and Planning for Visual Navigation +**Saurabh Gupta, James Davidson, Sergey Levine, Rahul Sukthankar, Jitendra Malik** + +**Computer Vision and Pattern Recognition (CVPR) 2017.** + +**[ArXiv](https://arxiv.org/abs/1702.03920), +[Project Website](https://sites.google.com/corp/view/cognitive-mapping-and-planning/)** + +### Citing +If you find this code base and models useful in your research, please consider +citing the following paper: + ``` + @inproceedings{gupta2017cognitive, + title={Cognitive Mapping and Planning for Visual Navigation}, + author={Gupta, Saurabh and Davidson, James and Levine, Sergey and + Sukthankar, Rahul and Malik, Jitendra}, + booktitle={CVPR}, + year={2017} + } + ``` + +### Contents +1. [Requirements: software](#requirements-software) +2. [Requirements: data](#requirements-data) +3. [Test Pre-trained Models](#test-pre_trained-models) +4. [Train your Own Models](#train-your-own-models) + +### Requirements: software +1. Python Virtual Env Setup: All code is implemented in Python but depends on a + small number of python packages and a couple of C libraries. We recommend + using virtual environment for installing these python packages and python + bindings for these C libraries. + ```Shell + VENV_DIR=venv + pip install virtualenv + virtualenv $VENV_DIR + source $VENV_DIR/bin/activate + + # You may need to upgrade pip for installing openv-python. + pip install --upgrade pip + # Install simple dependencies. + pip install -r requirements.txt + + # Patch bugs in dependencies. + sh patches/apply_patches.sh + ``` + +2. Install [Tensorflow](https://www.tensorflow.org/) inside this virtual + environment. Typically done with `pip install --upgrade tensorflow-gpu`. + +3. Swiftshader: We use + [Swiftshader](https://github.com/google/swiftshader.git), a CPU based + renderer to render the meshes. It is possible to use other renderers, + replace `SwiftshaderRenderer` in `render/swiftshader_renderer.py` with + bindings to your renderer. + ```Shell + mkdir -p deps + git clone --recursive https://github.com/google/swiftshader.git deps/swiftshader-src + cd deps/swiftshader-src && git checkout 91da6b00584afd7dcaed66da88e2b617429b3950 + mkdir build && cd build && cmake .. && make -j 16 libEGL libGLESv2 + cd ../../../ + cp deps/swiftshader-src/build/libEGL* libEGL.so.1 + cp deps/swiftshader-src/build/libGLESv2* libGLESv2.so.2 + ``` + +4. PyAssimp: We use [PyAssimp](https://github.com/assimp/assimp.git) to load + meshes. It is possible to use other libraries to load meshes, replace + `Shape` `render/swiftshader_renderer.py` with bindings to your library for + loading meshes. + ```Shell + mkdir -p deps + git clone https://github.com/assimp/assimp.git deps/assimp-src + cd deps/assimp-src + git checkout 2afeddd5cb63d14bc77b53740b38a54a97d94ee8 + cmake CMakeLists.txt -G 'Unix Makefiles' && make -j 16 + cd port/PyAssimp && python setup.py install + cd ../../../.. + cp deps/assimp-src/lib/libassimp* . + ``` + +5. graph-tool: We use [graph-tool](https://git.skewed.de/count0/graph-tool) + library for graph processing. + ```Shell + mkdir -p deps + # If the following git clone command fails, you can also download the source + # from https://downloads.skewed.de/graph-tool/graph-tool-2.2.44.tar.bz2 + git clone https://git.skewed.de/count0/graph-tool deps/graph-tool-src + cd deps/graph-tool-src && git checkout 178add3a571feb6666f4f119027705d95d2951ab + bash autogen.sh + ./configure --disable-cairo --disable-sparsehash --prefix=$HOME/.local + make -j 16 + make install + cd ../../ + ``` + +### Requirements: data +1. Download the Stanford 3D Inddor Spaces Dataset (S3DIS Dataset) and ImageNet + Pre-trained models for initializing different models. Follow instructions in + `data/README.md` + +### Test Pre-trained Models +1. Download pre-trained models using + `scripts/scripts_download_pretrained_models.sh` + +2. Test models using `scripts/script_test_pretrained_models.sh`. + +### Train Your Own Models +All models were trained asynchronously with 16 workers each worker using data +from a single floor. The default hyper-parameters coorespond to this setting. +See [distributed training with +Tensorflow](https://www.tensorflow.org/deploy/distributed) for setting up +distributed training. Training with a single worker is possible with the current +code base but will require some minor changes to allow each worker to load all +training environments. + +### Contact +For questions or issues open an issue on the tensorflow/models [issues +tracker](https://github.com/tensorflow/models/issues). Please assign issues to +@s-gupta. + +### Credits +This code was written by Saurabh Gupta (@s-gupta). diff --git a/cognitive_mapping_and_planning/__init__.py b/cognitive_mapping_and_planning/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/cognitive_mapping_and_planning/cfgs/__init__.py b/cognitive_mapping_and_planning/cfgs/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/cognitive_mapping_and_planning/cfgs/config_cmp.py b/cognitive_mapping_and_planning/cfgs/config_cmp.py new file mode 100644 index 000000000..715eee2b9 --- /dev/null +++ b/cognitive_mapping_and_planning/cfgs/config_cmp.py @@ -0,0 +1,283 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +import os, sys +import numpy as np +from tensorflow.python.platform import app +from tensorflow.python.platform import flags +import logging +import src.utils as utils +import cfgs.config_common as cc + + +import tensorflow as tf + + +rgb_resnet_v2_50_path = 'data/init_models/resnet_v2_50/model.ckpt-5136169' +d_resnet_v2_50_path = 'data/init_models/distill_rgb_to_d_resnet_v2_50/model.ckpt-120002' + +def get_default_args(): + summary_args = utils.Foo(display_interval=1, test_iters=26, + arop_full_summary_iters=14) + + control_args = utils.Foo(train=False, test=False, + force_batchnorm_is_training_at_test=False, + reset_rng_seed=False, only_eval_when_done=False, + test_mode=None) + return summary_args, control_args + +def get_default_cmp_args(): + batch_norm_param = {'center': True, 'scale': True, + 'activation_fn':tf.nn.relu} + + mapper_arch_args = utils.Foo( + dim_reduce_neurons=64, + fc_neurons=[1024, 1024], + fc_out_size=8, + fc_out_neurons=64, + encoder='resnet_v2_50', + deconv_neurons=[64, 32, 16, 8, 4, 2], + deconv_strides=[2, 2, 2, 2, 2, 2], + deconv_layers_per_block=2, + deconv_kernel_size=4, + fc_dropout=0.5, + combine_type='wt_avg_logits', + batch_norm_param=batch_norm_param) + + readout_maps_arch_args = utils.Foo( + num_neurons=[], + strides=[], + kernel_size=None, + layers_per_block=None) + + arch_args = utils.Foo( + vin_val_neurons=8, vin_action_neurons=8, vin_ks=3, vin_share_wts=False, + pred_neurons=[64, 64], pred_batch_norm_param=batch_norm_param, + conv_on_value_map=0, fr_neurons=16, fr_ver='v2', fr_inside_neurons=64, + fr_stride=1, crop_remove_each=30, value_crop_size=4, + action_sample_type='sample', action_sample_combine_type='one_or_other', + sample_gt_prob_type='inverse_sigmoid_decay', dagger_sample_bn_false=True, + vin_num_iters=36, isd_k=750., use_agent_loc=False, multi_scale=True, + readout_maps=False, rom_arch=readout_maps_arch_args) + + return arch_args, mapper_arch_args + +def get_arch_vars(arch_str): + if arch_str == '': vals = [] + else: vals = arch_str.split('_') + ks = ['var1', 'var2', 'var3'] + ks = ks[:len(vals)] + + # Exp Ver. + if len(vals) == 0: ks.append('var1'); vals.append('v0') + # custom arch. + if len(vals) == 1: ks.append('var2'); vals.append('') + # map scape for projection baseline. + if len(vals) == 2: ks.append('var3'); vals.append('fr2') + + assert(len(vals) == 3) + + vars = utils.Foo() + for k, v in zip(ks, vals): + setattr(vars, k, v) + + logging.error('arch_vars: %s', vars) + return vars + +def process_arch_str(args, arch_str): + # This function modifies args. + args.arch, args.mapper_arch = get_default_cmp_args() + + arch_vars = get_arch_vars(arch_str) + + args.navtask.task_params.outputs.ego_maps = True + args.navtask.task_params.outputs.ego_goal_imgs = True + args.navtask.task_params.outputs.egomotion = True + args.navtask.task_params.toy_problem = False + + if arch_vars.var1 == 'lmap': + args = process_arch_learned_map(args, arch_vars) + + elif arch_vars.var1 == 'pmap': + args = process_arch_projected_map(args, arch_vars) + + else: + logging.fatal('arch_vars.var1 should be lmap or pmap, but is %s', arch_vars.var1) + assert(False) + + return args + +def process_arch_learned_map(args, arch_vars): + # Multiscale vision based system. + args.navtask.task_params.input_type = 'vision' + args.navtask.task_params.outputs.images = True + + if args.navtask.camera_param.modalities[0] == 'rgb': + args.solver.pretrained_path = rgb_resnet_v2_50_path + elif args.navtask.camera_param.modalities[0] == 'depth': + args.solver.pretrained_path = d_resnet_v2_50_path + + if arch_vars.var2 == 'Ssc': + sc = 1./args.navtask.task_params.step_size + args.arch.vin_num_iters = 40 + args.navtask.task_params.map_scales = [sc] + max_dist = args.navtask.task_params.max_dist * \ + args.navtask.task_params.num_goals + args.navtask.task_params.map_crop_sizes = [2*max_dist] + + args.arch.fr_stride = 1 + args.arch.vin_action_neurons = 8 + args.arch.vin_val_neurons = 3 + args.arch.fr_inside_neurons = 32 + + args.mapper_arch.pad_map_with_zeros_each = [24] + args.mapper_arch.deconv_neurons = [64, 32, 16] + args.mapper_arch.deconv_strides = [1, 2, 1] + + elif (arch_vars.var2 == 'Msc' or arch_vars.var2 == 'MscROMms' or + arch_vars.var2 == 'MscROMss' or arch_vars.var2 == 'MscNoVin'): + # Code for multi-scale planner. + args.arch.vin_num_iters = 8 + args.arch.crop_remove_each = 4 + args.arch.value_crop_size = 8 + + sc = 1./args.navtask.task_params.step_size + max_dist = args.navtask.task_params.max_dist * \ + args.navtask.task_params.num_goals + n_scales = np.log2(float(max_dist) / float(args.arch.vin_num_iters)) + n_scales = int(np.ceil(n_scales)+1) + + args.navtask.task_params.map_scales = \ + list(sc*(0.5**(np.arange(n_scales))[::-1])) + args.navtask.task_params.map_crop_sizes = [16 for x in range(n_scales)] + + args.arch.fr_stride = 1 + args.arch.vin_action_neurons = 8 + args.arch.vin_val_neurons = 3 + args.arch.fr_inside_neurons = 32 + + args.mapper_arch.pad_map_with_zeros_each = [0 for _ in range(n_scales)] + args.mapper_arch.deconv_neurons = [64*n_scales, 32*n_scales, 16*n_scales] + args.mapper_arch.deconv_strides = [1, 2, 1] + + if arch_vars.var2 == 'MscNoVin': + # No planning version. + args.arch.fr_stride = [1, 2, 1, 2] + args.arch.vin_action_neurons = None + args.arch.vin_val_neurons = 16 + args.arch.fr_inside_neurons = 32 + + args.arch.crop_remove_each = 0 + args.arch.value_crop_size = 4 + args.arch.vin_num_iters = 0 + + elif arch_vars.var2 == 'MscROMms' or arch_vars.var2 == 'MscROMss': + # Code with read outs, MscROMms flattens and reads out, + # MscROMss does not flatten and produces output at multiple scales. + args.navtask.task_params.outputs.readout_maps = True + args.navtask.task_params.map_resize_method = 'antialiasing' + args.arch.readout_maps = True + + if arch_vars.var2 == 'MscROMms': + args.arch.rom_arch.num_neurons = [64, 1] + args.arch.rom_arch.kernel_size = 4 + args.arch.rom_arch.strides = [2,2] + args.arch.rom_arch.layers_per_block = 2 + + args.navtask.task_params.readout_maps_crop_sizes = [64] + args.navtask.task_params.readout_maps_scales = [sc] + + elif arch_vars.var2 == 'MscROMss': + args.arch.rom_arch.num_neurons = \ + [64, len(args.navtask.task_params.map_scales)] + args.arch.rom_arch.kernel_size = 4 + args.arch.rom_arch.strides = [1,1] + args.arch.rom_arch.layers_per_block = 1 + + args.navtask.task_params.readout_maps_crop_sizes = \ + args.navtask.task_params.map_crop_sizes + args.navtask.task_params.readout_maps_scales = \ + args.navtask.task_params.map_scales + + else: + logging.fatal('arch_vars.var2 not one of Msc, MscROMms, MscROMss, MscNoVin.') + assert(False) + + map_channels = args.mapper_arch.deconv_neurons[-1] / \ + (2*len(args.navtask.task_params.map_scales)) + args.navtask.task_params.map_channels = map_channels + + return args + +def process_arch_projected_map(args, arch_vars): + # Single scale vision based system which does not use a mapper but instead + # uses an analytically estimated map. + ds = int(arch_vars.var3[2]) + args.navtask.task_params.input_type = 'analytical_counts' + args.navtask.task_params.outputs.analytical_counts = True + + assert(args.navtask.task_params.modalities[0] == 'depth') + args.navtask.camera_param.img_channels = None + + analytical_counts = utils.Foo(map_sizes=[512/ds], + xy_resolution=[5.*ds], + z_bins=[[-10, 10, 150, 200]], + non_linearity=[arch_vars.var2]) + args.navtask.task_params.analytical_counts = analytical_counts + + sc = 1./ds + args.arch.vin_num_iters = 36 + args.navtask.task_params.map_scales = [sc] + args.navtask.task_params.map_crop_sizes = [512/ds] + + args.arch.fr_stride = [1,2] + args.arch.vin_action_neurons = 8 + args.arch.vin_val_neurons = 3 + args.arch.fr_inside_neurons = 32 + + map_channels = len(analytical_counts.z_bins[0]) + 1 + args.navtask.task_params.map_channels = map_channels + args.solver.freeze_conv = False + + return args + +def get_args_for_config(config_name): + args = utils.Foo() + + args.summary, args.control = get_default_args() + + exp_name, mode_str = config_name.split('+') + arch_str, solver_str, navtask_str = exp_name.split('.') + logging.error('config_name: %s', config_name) + logging.error('arch_str: %s', arch_str) + logging.error('navtask_str: %s', navtask_str) + logging.error('solver_str: %s', solver_str) + logging.error('mode_str: %s', mode_str) + + args.solver = cc.process_solver_str(solver_str) + args.navtask = cc.process_navtask_str(navtask_str) + + args = process_arch_str(args, arch_str) + args.arch.isd_k = args.solver.isd_k + + # Train, test, etc. + mode, imset = mode_str.split('_') + args = cc.adjust_args_for_mode(args, mode) + args.navtask.building_names = args.navtask.dataset.get_split(imset) + args.control.test_name = '{:s}_on_{:s}'.format(mode, imset) + + # Log the arguments + logging.error('%s', args) + return args diff --git a/cognitive_mapping_and_planning/cfgs/config_common.py b/cognitive_mapping_and_planning/cfgs/config_common.py new file mode 100644 index 000000000..440bf5b72 --- /dev/null +++ b/cognitive_mapping_and_planning/cfgs/config_common.py @@ -0,0 +1,261 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +import os +import numpy as np +import logging +import src.utils as utils +import datasets.nav_env_config as nec +from datasets import factory + +def adjust_args_for_mode(args, mode): + if mode == 'train': + args.control.train = True + + elif mode == 'val1': + # Same settings as for training, to make sure nothing wonky is happening + # there. + args.control.test = True + args.control.test_mode = 'val' + args.navtask.task_params.batch_size = 32 + + elif mode == 'val2': + # No data augmentation, not sampling but taking the argmax action, not + # sampling from the ground truth at all. + args.control.test = True + args.arch.action_sample_type = 'argmax' + args.arch.sample_gt_prob_type = 'zero' + args.navtask.task_params.data_augment = \ + utils.Foo(lr_flip=0, delta_angle=0, delta_xy=0, relight=False, + relight_fast=False, structured=False) + args.control.test_mode = 'val' + args.navtask.task_params.batch_size = 32 + + elif mode == 'bench': + # Actually testing the agent in settings that are kept same between + # different runs. + args.navtask.task_params.batch_size = 16 + args.control.test = True + args.arch.action_sample_type = 'argmax' + args.arch.sample_gt_prob_type = 'zero' + args.navtask.task_params.data_augment = \ + utils.Foo(lr_flip=0, delta_angle=0, delta_xy=0, relight=False, + relight_fast=False, structured=False) + args.summary.test_iters = 250 + args.control.only_eval_when_done = True + args.control.reset_rng_seed = True + args.control.test_mode = 'test' + else: + logging.fatal('Unknown mode: %s.', mode) + assert(False) + return args + +def get_solver_vars(solver_str): + if solver_str == '': vals = []; + else: vals = solver_str.split('_') + ks = ['clip', 'dlw', 'long', 'typ', 'isdk', 'adam_eps', 'init_lr']; + ks = ks[:len(vals)] + + # Gradient clipping or not. + if len(vals) == 0: ks.append('clip'); vals.append('noclip'); + # data loss weight. + if len(vals) == 1: ks.append('dlw'); vals.append('dlw20') + # how long to train for. + if len(vals) == 2: ks.append('long'); vals.append('nolong') + # Adam + if len(vals) == 3: ks.append('typ'); vals.append('adam2') + # reg loss wt + if len(vals) == 4: ks.append('rlw'); vals.append('rlw1') + # isd_k + if len(vals) == 5: ks.append('isdk'); vals.append('isdk415') # 415, inflexion at 2.5k. + # adam eps + if len(vals) == 6: ks.append('adam_eps'); vals.append('aeps1en8') + # init lr + if len(vals) == 7: ks.append('init_lr'); vals.append('lr1en3') + + assert(len(vals) == 8) + + vars = utils.Foo() + for k, v in zip(ks, vals): + setattr(vars, k, v) + logging.error('solver_vars: %s', vars) + return vars + +def process_solver_str(solver_str): + solver = utils.Foo( + seed=0, learning_rate_decay=None, clip_gradient_norm=None, max_steps=None, + initial_learning_rate=None, momentum=None, steps_per_decay=None, + logdir=None, sync=False, adjust_lr_sync=True, wt_decay=0.0001, + data_loss_wt=None, reg_loss_wt=None, freeze_conv=True, num_workers=1, + task=0, ps_tasks=0, master='local', typ=None, momentum2=None, + adam_eps=None) + + # Clobber with overrides from solver str. + solver_vars = get_solver_vars(solver_str) + + solver.data_loss_wt = float(solver_vars.dlw[3:].replace('x', '.')) + solver.adam_eps = float(solver_vars.adam_eps[4:].replace('x', '.').replace('n', '-')) + solver.initial_learning_rate = float(solver_vars.init_lr[2:].replace('x', '.').replace('n', '-')) + solver.reg_loss_wt = float(solver_vars.rlw[3:].replace('x', '.')) + solver.isd_k = float(solver_vars.isdk[4:].replace('x', '.')) + + long = solver_vars.long + if long == 'long': + solver.steps_per_decay = 40000 + solver.max_steps = 120000 + elif long == 'long2': + solver.steps_per_decay = 80000 + solver.max_steps = 120000 + elif long == 'nolong' or long == 'nol': + solver.steps_per_decay = 20000 + solver.max_steps = 60000 + else: + logging.fatal('solver_vars.long should be long, long2, nolong or nol.') + assert(False) + + clip = solver_vars.clip + if clip == 'noclip' or clip == 'nocl': + solver.clip_gradient_norm = 0 + elif clip[:4] == 'clip': + solver.clip_gradient_norm = float(clip[4:].replace('x', '.')) + else: + logging.fatal('Unknown solver_vars.clip: %s', clip) + assert(False) + + typ = solver_vars.typ + if typ == 'adam': + solver.typ = 'adam' + solver.momentum = 0.9 + solver.momentum2 = 0.999 + solver.learning_rate_decay = 1.0 + elif typ == 'adam2': + solver.typ = 'adam' + solver.momentum = 0.9 + solver.momentum2 = 0.999 + solver.learning_rate_decay = 0.1 + elif typ == 'sgd': + solver.typ = 'sgd' + solver.momentum = 0.99 + solver.momentum2 = None + solver.learning_rate_decay = 0.1 + else: + logging.fatal('Unknown solver_vars.typ: %s', typ) + assert(False) + + logging.error('solver: %s', solver) + return solver + +def get_navtask_vars(navtask_str): + if navtask_str == '': vals = [] + else: vals = navtask_str.split('_') + + ks_all = ['dataset_name', 'modality', 'task', 'history', 'max_dist', + 'num_steps', 'step_size', 'n_ori', 'aux_views', 'data_aug'] + ks = ks_all[:len(vals)] + + # All data or not. + if len(vals) == 0: ks.append('dataset_name'); vals.append('sbpd') + # modality + if len(vals) == 1: ks.append('modality'); vals.append('rgb') + # semantic task? + if len(vals) == 2: ks.append('task'); vals.append('r2r') + # number of history frames. + if len(vals) == 3: ks.append('history'); vals.append('h0') + # max steps + if len(vals) == 4: ks.append('max_dist'); vals.append('32') + # num steps + if len(vals) == 5: ks.append('num_steps'); vals.append('40') + # step size + if len(vals) == 6: ks.append('step_size'); vals.append('8') + # n_ori + if len(vals) == 7: ks.append('n_ori'); vals.append('4') + # Auxiliary views. + if len(vals) == 8: ks.append('aux_views'); vals.append('nv0') + # Normal data augmentation as opposed to structured data augmentation (if set + # to straug. + if len(vals) == 9: ks.append('data_aug'); vals.append('straug') + + assert(len(vals) == 10) + for i in range(len(ks)): + assert(ks[i] == ks_all[i]) + + vars = utils.Foo() + for k, v in zip(ks, vals): + setattr(vars, k, v) + logging.error('navtask_vars: %s', vals) + return vars + +def process_navtask_str(navtask_str): + navtask = nec.nav_env_base_config() + + # Clobber with overrides from strings. + navtask_vars = get_navtask_vars(navtask_str) + + navtask.task_params.n_ori = int(navtask_vars.n_ori) + navtask.task_params.max_dist = int(navtask_vars.max_dist) + navtask.task_params.num_steps = int(navtask_vars.num_steps) + navtask.task_params.step_size = int(navtask_vars.step_size) + navtask.task_params.data_augment.delta_xy = int(navtask_vars.step_size)/2. + n_aux_views_each = int(navtask_vars.aux_views[2]) + aux_delta_thetas = np.concatenate((np.arange(n_aux_views_each) + 1, + -1 -np.arange(n_aux_views_each))) + aux_delta_thetas = aux_delta_thetas*np.deg2rad(navtask.camera_param.fov) + navtask.task_params.aux_delta_thetas = aux_delta_thetas + + if navtask_vars.data_aug == 'aug': + navtask.task_params.data_augment.structured = False + elif navtask_vars.data_aug == 'straug': + navtask.task_params.data_augment.structured = True + else: + logging.fatal('Unknown navtask_vars.data_aug %s.', navtask_vars.data_aug) + assert(False) + + navtask.task_params.num_history_frames = int(navtask_vars.history[1:]) + navtask.task_params.n_views = 1+navtask.task_params.num_history_frames + + navtask.task_params.goal_channels = int(navtask_vars.n_ori) + + if navtask_vars.task == 'hard': + navtask.task_params.type = 'rng_rejection_sampling_many' + navtask.task_params.rejection_sampling_M = 2000 + navtask.task_params.min_dist = 10 + elif navtask_vars.task == 'r2r': + navtask.task_params.type = 'room_to_room_many' + elif navtask_vars.task == 'ST': + # Semantic task at hand. + navtask.task_params.goal_channels = \ + len(navtask.task_params.semantic_task.class_map_names) + navtask.task_params.rel_goal_loc_dim = \ + len(navtask.task_params.semantic_task.class_map_names) + navtask.task_params.type = 'to_nearest_obj_acc' + else: + logging.fatal('navtask_vars.task: should be hard or r2r, ST') + assert(False) + + if navtask_vars.modality == 'rgb': + navtask.camera_param.modalities = ['rgb'] + navtask.camera_param.img_channels = 3 + elif navtask_vars.modality == 'd': + navtask.camera_param.modalities = ['depth'] + navtask.camera_param.img_channels = 2 + + navtask.task_params.img_height = navtask.camera_param.height + navtask.task_params.img_width = navtask.camera_param.width + navtask.task_params.modalities = navtask.camera_param.modalities + navtask.task_params.img_channels = navtask.camera_param.img_channels + navtask.task_params.img_fov = navtask.camera_param.fov + + navtask.dataset = factory.get_dataset(navtask_vars.dataset_name) + return navtask diff --git a/cognitive_mapping_and_planning/cfgs/config_distill.py b/cognitive_mapping_and_planning/cfgs/config_distill.py new file mode 100644 index 000000000..a6f7985f8 --- /dev/null +++ b/cognitive_mapping_and_planning/cfgs/config_distill.py @@ -0,0 +1,114 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +import pprint +import copy +import os +from tensorflow.python.platform import app +from tensorflow.python.platform import flags +import logging +import src.utils as utils +import cfgs.config_common as cc + + +import tensorflow as tf + +rgb_resnet_v2_50_path = 'cache/resnet_v2_50_inception_preprocessed/model.ckpt-5136169' + +def get_default_args(): + robot = utils.Foo(radius=15, base=10, height=140, sensor_height=120, + camera_elevation_degree=-15) + + camera_param = utils.Foo(width=225, height=225, z_near=0.05, z_far=20.0, + fov=60., modalities=['rgb', 'depth']) + + env = utils.Foo(padding=10, resolution=5, num_point_threshold=2, + valid_min=-10, valid_max=200, n_samples_per_face=200) + + data_augment = utils.Foo(lr_flip=0, delta_angle=1, delta_xy=4, relight=False, + relight_fast=False, structured=False) + + task_params = utils.Foo(num_actions=4, step_size=4, num_steps=0, + batch_size=32, room_seed=0, base_class='Building', + task='mapping', n_ori=6, data_augment=data_augment, + output_transform_to_global_map=False, + output_canonical_map=False, + output_incremental_transform=False, + output_free_space=False, move_type='shortest_path', + toy_problem=0) + + buildinger_args = utils.Foo(building_names=['area1_gates_wingA_floor1_westpart'], + env_class=None, robot=robot, + task_params=task_params, env=env, + camera_param=camera_param) + + solver_args = utils.Foo(seed=0, learning_rate_decay=0.1, + clip_gradient_norm=0, max_steps=120000, + initial_learning_rate=0.001, momentum=0.99, + steps_per_decay=40000, logdir=None, sync=False, + adjust_lr_sync=True, wt_decay=0.0001, + data_loss_wt=1.0, reg_loss_wt=1.0, + num_workers=1, task=0, ps_tasks=0, master='local') + + summary_args = utils.Foo(display_interval=1, test_iters=100) + + control_args = utils.Foo(train=False, test=False, + force_batchnorm_is_training_at_test=False) + + arch_args = utils.Foo(rgb_encoder='resnet_v2_50', d_encoder='resnet_v2_50') + + return utils.Foo(solver=solver_args, + summary=summary_args, control=control_args, arch=arch_args, + buildinger=buildinger_args) + +def get_vars(config_name): + vars = config_name.split('_') + if len(vars) == 1: # All data or not. + vars.append('noall') + if len(vars) == 2: # n_ori + vars.append('4') + logging.error('vars: %s', vars) + return vars + +def get_args_for_config(config_name): + args = get_default_args() + config_name, mode = config_name.split('+') + vars = get_vars(config_name) + + logging.info('config_name: %s, mode: %s', config_name, mode) + + args.buildinger.task_params.n_ori = int(vars[2]) + args.solver.freeze_conv = True + args.solver.pretrained_path = resnet_v2_50_path + args.buildinger.task_params.img_channels = 5 + args.solver.data_loss_wt = 0.00001 + + if vars[0] == 'v0': + None + else: + logging.error('config_name: %s undefined', config_name) + + args.buildinger.task_params.height = args.buildinger.camera_param.height + args.buildinger.task_params.width = args.buildinger.camera_param.width + args.buildinger.task_params.modalities = args.buildinger.camera_param.modalities + + if vars[1] == 'all': + args = cc.get_args_for_mode_building_all(args, mode) + elif vars[1] == 'noall': + args = cc.get_args_for_mode_building(args, mode) + + # Log the arguments + logging.error('%s', args) + return args diff --git a/cognitive_mapping_and_planning/cfgs/config_vision_baseline.py b/cognitive_mapping_and_planning/cfgs/config_vision_baseline.py new file mode 100644 index 000000000..3cc64fe59 --- /dev/null +++ b/cognitive_mapping_and_planning/cfgs/config_vision_baseline.py @@ -0,0 +1,173 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +import pprint +import os +import numpy as np +from tensorflow.python.platform import app +from tensorflow.python.platform import flags +import logging +import src.utils as utils +import cfgs.config_common as cc +import datasets.nav_env_config as nec + + +import tensorflow as tf + +FLAGS = flags.FLAGS + +get_solver_vars = cc.get_solver_vars +get_navtask_vars = cc.get_navtask_vars + + +rgb_resnet_v2_50_path = 'data/init_models/resnet_v2_50/model.ckpt-5136169' +d_resnet_v2_50_path = 'data/init_models/distill_rgb_to_d_resnet_v2_50/model.ckpt-120002' + +def get_default_args(): + summary_args = utils.Foo(display_interval=1, test_iters=26, + arop_full_summary_iters=14) + + control_args = utils.Foo(train=False, test=False, + force_batchnorm_is_training_at_test=False, + reset_rng_seed=False, only_eval_when_done=False, + test_mode=None) + return summary_args, control_args + +def get_default_baseline_args(): + batch_norm_param = {'center': True, 'scale': True, + 'activation_fn':tf.nn.relu} + arch_args = utils.Foo( + pred_neurons=[], goal_embed_neurons=[], img_embed_neurons=[], + batch_norm_param=batch_norm_param, dim_reduce_neurons=64, combine_type='', + encoder='resnet_v2_50', action_sample_type='sample', + action_sample_combine_type='one_or_other', + sample_gt_prob_type='inverse_sigmoid_decay', dagger_sample_bn_false=True, + isd_k=750., use_visit_count=False, lstm_output=False, lstm_ego=False, + lstm_img=False, fc_dropout=0.0, embed_goal_for_state=False, + lstm_output_init_state_from_goal=False) + return arch_args + +def get_arch_vars(arch_str): + if arch_str == '': vals = [] + else: vals = arch_str.split('_') + + ks = ['ver', 'lstm_dim', 'dropout'] + + # Exp Ver + if len(vals) == 0: vals.append('v0') + # LSTM dimentsions + if len(vals) == 1: vals.append('lstm2048') + # Dropout + if len(vals) == 2: vals.append('noDO') + + assert(len(vals) == 3) + + vars = utils.Foo() + for k, v in zip(ks, vals): + setattr(vars, k, v) + + logging.error('arch_vars: %s', vars) + return vars + +def process_arch_str(args, arch_str): + # This function modifies args. + args.arch = get_default_baseline_args() + arch_vars = get_arch_vars(arch_str) + + args.navtask.task_params.outputs.rel_goal_loc = True + args.navtask.task_params.input_type = 'vision' + args.navtask.task_params.outputs.images = True + + if args.navtask.camera_param.modalities[0] == 'rgb': + args.solver.pretrained_path = rgb_resnet_v2_50_path + elif args.navtask.camera_param.modalities[0] == 'depth': + args.solver.pretrained_path = d_resnet_v2_50_path + else: + logging.fatal('Neither of rgb or d') + + if arch_vars.dropout == 'DO': + args.arch.fc_dropout = 0.5 + + args.tfcode = 'B' + + exp_ver = arch_vars.ver + if exp_ver == 'v0': + # Multiplicative interaction between goal loc and image features. + args.arch.combine_type = 'multiply' + args.arch.pred_neurons = [256, 256] + args.arch.goal_embed_neurons = [64, 8] + args.arch.img_embed_neurons = [1024, 512, 256*8] + + elif exp_ver == 'v1': + # Additive interaction between goal and image features. + args.arch.combine_type = 'add' + args.arch.pred_neurons = [256, 256] + args.arch.goal_embed_neurons = [64, 256] + args.arch.img_embed_neurons = [1024, 512, 256] + + elif exp_ver == 'v2': + # LSTM at the output on top of multiple interactions. + args.arch.combine_type = 'multiply' + args.arch.goal_embed_neurons = [64, 8] + args.arch.img_embed_neurons = [1024, 512, 256*8] + args.arch.lstm_output = True + args.arch.lstm_output_dim = int(arch_vars.lstm_dim[4:]) + args.arch.pred_neurons = [256] # The other is inside the LSTM. + + elif exp_ver == 'v0blind': + # LSTM only on the goal location. + args.arch.combine_type = 'goalonly' + args.arch.goal_embed_neurons = [64, 256] + args.arch.img_embed_neurons = [2] # I dont know what it will do otherwise. + args.arch.lstm_output = True + args.arch.lstm_output_dim = 256 + args.arch.pred_neurons = [256] # The other is inside the LSTM. + + else: + logging.fatal('exp_ver: %s undefined', exp_ver) + assert(False) + + # Log the arguments + logging.error('%s', args) + return args + +def get_args_for_config(config_name): + args = utils.Foo() + + args.summary, args.control = get_default_args() + + exp_name, mode_str = config_name.split('+') + arch_str, solver_str, navtask_str = exp_name.split('.') + logging.error('config_name: %s', config_name) + logging.error('arch_str: %s', arch_str) + logging.error('navtask_str: %s', navtask_str) + logging.error('solver_str: %s', solver_str) + logging.error('mode_str: %s', mode_str) + + args.solver = cc.process_solver_str(solver_str) + args.navtask = cc.process_navtask_str(navtask_str) + + args = process_arch_str(args, arch_str) + args.arch.isd_k = args.solver.isd_k + + # Train, test, etc. + mode, imset = mode_str.split('_') + args = cc.adjust_args_for_mode(args, mode) + args.navtask.building_names = args.navtask.dataset.get_split(imset) + args.control.test_name = '{:s}_on_{:s}'.format(mode, imset) + + # Log the arguments + logging.error('%s', args) + return args diff --git a/cognitive_mapping_and_planning/data/.gitignore b/cognitive_mapping_and_planning/data/.gitignore new file mode 100644 index 000000000..2b6d5e466 --- /dev/null +++ b/cognitive_mapping_and_planning/data/.gitignore @@ -0,0 +1,3 @@ +stanford_building_parser_dataset_raw +stanford_building_parser_dataset +init_models diff --git a/cognitive_mapping_and_planning/data/README.md b/cognitive_mapping_and_planning/data/README.md new file mode 100644 index 000000000..a89283453 --- /dev/null +++ b/cognitive_mapping_and_planning/data/README.md @@ -0,0 +1,33 @@ +This directory contains the data needed for training and benchmarking various +navigation models. + +1. Download the data from the [dataset website] + (http://buildingparser.stanford.edu/dataset.html). + 1. [Raw meshes](https://goo.gl/forms/2YSPaO2UKmn5Td5m2). We need the meshes + which are in the noXYZ folder. Download the tar files and place them in + the `stanford_building_parser_dataset_raw` folder. You need to download + `area_1_noXYZ.tar`, `area_3_noXYZ.tar`, `area_5a_noXYZ.tar`, + `area_5b_noXYZ.tar`, `area_6_noXYZ.tar` for training and + `area_4_noXYZ.tar` for evaluation. + 2. [Annotations](https://goo.gl/forms/4SoGp4KtH1jfRqEj2) for setting up + tasks. We will need the file called `Stanford3dDataset_v1.2.zip`. Place + the file in the directory `stanford_building_parser_dataset_raw`. + +2. Preprocess the data. + 1. Extract meshes using `scripts/script_preprocess_meshes_S3DIS.sh`. After + this `ls data/stanford_building_parser_dataset/mesh` should have 6 + folders `area1`, `area3`, `area4`, `area5a`, `area5b`, `area6`, with + textures and obj files within each directory. + 2. Extract out room information and semantics from zip file using + `scripts/script_preprocess_annoations_S3DIS.sh`. After this there should + be `room-dimension` and `class-maps` folder in + `data/stanford_building_parser_dataset`. (If you find this script to + crash because of an exception in np.loadtxt while processing + `Area_5/office_19/Annotations/ceiling_1.txt`, there is a special + character on line 323474, that should be removed manually.) + +3. Download ImageNet Pre-trained models. We used ResNet-v2-50 for representing + images. For RGB images this is pre-trained on ImageNet. For Depth images we + [distill](https://arxiv.org/abs/1507.00448) the RGB model to depth images + using paired RGB-D images. Both there models are available through + `scripts/script_download_init_models.sh` diff --git a/cognitive_mapping_and_planning/datasets/__init__.py b/cognitive_mapping_and_planning/datasets/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/cognitive_mapping_and_planning/datasets/factory.py b/cognitive_mapping_and_planning/datasets/factory.py new file mode 100644 index 000000000..3f7b5c0a6 --- /dev/null +++ b/cognitive_mapping_and_planning/datasets/factory.py @@ -0,0 +1,113 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r"""Wrapper for selecting the navigation environment that we want to train and +test on. +""" +import numpy as np +import os, glob +import platform + +import logging +from tensorflow.python.platform import app +from tensorflow.python.platform import flags + +import render.swiftshader_renderer as renderer +import src.file_utils as fu +import src.utils as utils + +def get_dataset(dataset_name): + if dataset_name == 'sbpd': + dataset = StanfordBuildingParserDataset(dataset_name) + else: + logging.fatal('Not one of sbpd') + return dataset + +class Loader(): + def get_data_dir(): + pass + + def get_meta_data(self, file_name, data_dir=None): + if data_dir is None: + data_dir = self.get_data_dir() + full_file_name = os.path.join(data_dir, 'meta', file_name) + assert(fu.exists(full_file_name)), \ + '{:s} does not exist'.format(full_file_name) + ext = os.path.splitext(full_file_name)[1] + if ext == '.txt': + ls = [] + with fu.fopen(full_file_name, 'r') as f: + for l in f: + ls.append(l.rstrip()) + elif ext == '.pkl': + ls = utils.load_variables(full_file_name) + return ls + + def load_building(self, name, data_dir=None): + if data_dir is None: + data_dir = self.get_data_dir() + out = {} + out['name'] = name + out['data_dir'] = data_dir + out['room_dimension_file'] = os.path.join(data_dir, 'room-dimension', + name+'.pkl') + out['class_map_folder'] = os.path.join(data_dir, 'class-maps') + return out + + def load_building_meshes(self, building): + dir_name = os.path.join(building['data_dir'], 'mesh', building['name']) + mesh_file_name = glob.glob1(dir_name, '*.obj')[0] + mesh_file_name_full = os.path.join(dir_name, mesh_file_name) + logging.error('Loading building from obj file: %s', mesh_file_name_full) + shape = renderer.Shape(mesh_file_name_full, load_materials=True, + name_prefix=building['name']+'_') + return [shape] + +class StanfordBuildingParserDataset(Loader): + def __init__(self, ver): + self.ver = ver + self.data_dir = None + + def get_data_dir(self): + if self.data_dir is None: + self.data_dir = 'data/stanford_building_parser_dataset/' + return self.data_dir + + def get_benchmark_sets(self): + return self._get_benchmark_sets() + + def get_split(self, split_name): + if self.ver == 'sbpd': + return self._get_split(split_name) + else: + logging.fatal('Unknown version.') + + def _get_benchmark_sets(self): + sets = ['train1', 'val', 'test'] + return sets + + def _get_split(self, split_name): + train = ['area1', 'area5a', 'area5b', 'area6'] + train1 = ['area1'] + val = ['area3'] + test = ['area4'] + + sets = {} + sets['train'] = train + sets['train1'] = train1 + sets['val'] = val + sets['test'] = test + sets['all'] = sorted(list(set(train + val + test))) + return sets[split_name] diff --git a/cognitive_mapping_and_planning/datasets/nav_env.py b/cognitive_mapping_and_planning/datasets/nav_env.py new file mode 100644 index 000000000..5710e26dc --- /dev/null +++ b/cognitive_mapping_and_planning/datasets/nav_env.py @@ -0,0 +1,1465 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r"""Navidation Environment. Includes the following classes along with some +helper functions. + Building: Loads buildings, computes traversibility, exposes functionality for + rendering images. + + GridWorld: Base class which implements functionality for moving an agent on a + grid world. + + NavigationEnv: Base class which generates navigation problems on a grid world. + + VisualNavigationEnv: Builds upon NavigationEnv and Building to provide + interface that is used externally to train the agent. + + MeshMapper: Class used for distilling the model, testing the mapper. + + BuildingMultiplexer: Wrapper class that instantiates a VisualNavigationEnv for + each building and multiplexes between them as needed. +""" + +import numpy as np +import os +import re +import matplotlib.pyplot as plt + +import graph_tool as gt +import graph_tool.topology + +from tensorflow.python.platform import gfile +import logging +import src.file_utils as fu +import src.utils as utils +import src.graph_utils as gu +import src.map_utils as mu +import src.depth_utils as du +import render.swiftshader_renderer as sru +from render.swiftshader_renderer import SwiftshaderRenderer +import cv2 + +label_nodes_with_class = gu.label_nodes_with_class +label_nodes_with_class_geodesic = gu.label_nodes_with_class_geodesic +get_distance_node_list = gu.get_distance_node_list +convert_to_graph_tool = gu.convert_to_graph_tool +generate_graph = gu.generate_graph +get_hardness_distribution = gu.get_hardness_distribution +rng_next_goal_rejection_sampling = gu.rng_next_goal_rejection_sampling +rng_next_goal = gu.rng_next_goal +rng_room_to_room = gu.rng_room_to_room +rng_target_dist_field = gu.rng_target_dist_field + +compute_traversibility = mu.compute_traversibility +make_map = mu.make_map +resize_maps = mu.resize_maps +pick_largest_cc = mu.pick_largest_cc +get_graph_origin_loc = mu.get_graph_origin_loc +generate_egocentric_maps = mu.generate_egocentric_maps +generate_goal_images = mu.generate_goal_images +get_map_to_predict = mu.get_map_to_predict + +bin_points = du.bin_points +make_geocentric = du.make_geocentric +get_point_cloud_from_z = du.get_point_cloud_from_z +get_camera_matrix = du.get_camera_matrix + +def _get_semantic_maps(folder_name, building_name, map, flip): + # Load file from the cache. + file_name = '{:s}_{:d}_{:d}_{:d}_{:d}_{:d}_{:d}.pkl' + file_name = file_name.format(building_name, map.size[0], map.size[1], + map.origin[0], map.origin[1], map.resolution, + flip) + file_name = os.path.join(folder_name, file_name) + logging.info('Loading semantic maps from %s.', file_name) + + if fu.exists(file_name): + a = utils.load_variables(file_name) + maps = a['maps'] #HxWx#C + cats = a['cats'] + else: + logging.error('file_name: %s not found.', file_name) + maps = None + cats = None + return maps, cats + +def _select_classes(all_maps, all_cats, cats_to_use): + inds = [] + for c in cats_to_use: + ind = all_cats.index(c) + inds.append(ind) + out_maps = all_maps[:,:,inds] + return out_maps + +def _get_room_dimensions(file_name, resolution, origin, flip=False): + if fu.exists(file_name): + a = utils.load_variables(file_name)['room_dimension'] + names = a.keys() + dims = np.concatenate(a.values(), axis=0).reshape((-1,6)) + ind = np.argsort(names) + dims = dims[ind,:] + names = [names[x] for x in ind] + if flip: + dims_new = dims*1 + dims_new[:,1] = -dims[:,4] + dims_new[:,4] = -dims[:,1] + dims = dims_new*1 + + dims = dims*100. + dims[:,0] = dims[:,0] - origin[0] + dims[:,1] = dims[:,1] - origin[1] + dims[:,3] = dims[:,3] - origin[0] + dims[:,4] = dims[:,4] - origin[1] + dims = dims / resolution + out = {'names': names, 'dims': dims} + else: + out = None + return out + +def _filter_rooms(room_dims, room_regex): + pattern = re.compile(room_regex) + ind = [] + for i, name in enumerate(room_dims['names']): + if pattern.match(name): + ind.append(i) + new_room_dims = {} + new_room_dims['names'] = [room_dims['names'][i] for i in ind] + new_room_dims['dims'] = room_dims['dims'][ind,:]*1 + return new_room_dims + +def _label_nodes_with_room_id(xyt, room_dims): + # Label the room with the ID into things. + node_room_id = -1*np.ones((xyt.shape[0], 1)) + dims = room_dims['dims'] + for x, name in enumerate(room_dims['names']): + all_ = np.concatenate((xyt[:,[0]] >= dims[x,0], + xyt[:,[0]] <= dims[x,3], + xyt[:,[1]] >= dims[x,1], + xyt[:,[1]] <= dims[x,4]), axis=1) + node_room_id[np.all(all_, axis=1), 0] = x + return node_room_id + +def get_path_ids(start_node_id, end_node_id, pred_map): + id = start_node_id + path = [id] + while id != end_node_id: + id = pred_map[id] + path.append(id) + return path + +def image_pre(images, modalities): + # Assumes images are ...xHxWxC. + # We always assume images are RGB followed by Depth. + if 'depth' in modalities: + d = images[...,-1][...,np.newaxis]*1. + d[d < 0.01] = np.NaN; isnan = np.isnan(d); + d = 100./d; d[isnan] = 0.; + images = np.concatenate((images[...,:-1], d, isnan), axis=images.ndim-1) + if 'rgb' in modalities: + images[...,:3] = images[...,:3]*1. - 128 + return images + +def _get_relative_goal_loc(goal_loc, loc, theta): + r = np.sqrt(np.sum(np.square(goal_loc - loc), axis=1)) + t = np.arctan2(goal_loc[:,1] - loc[:,1], goal_loc[:,0] - loc[:,0]) + t = t-theta[:,0] + np.pi/2 + return np.expand_dims(r,axis=1), np.expand_dims(t, axis=1) + +def _gen_perturbs(rng, batch_size, num_steps, lr_flip, delta_angle, delta_xy, + structured): + perturbs = [] + for i in range(batch_size): + # Doing things one by one for each episode in this batch. This way this + # remains replicatable even when we change the batch size. + p = np.zeros((num_steps+1, 4)) + if lr_flip: + # Flip the whole trajectory. + p[:,3] = rng.rand(1)-0.5 + if delta_angle > 0: + if structured: + p[:,2] = (rng.rand(1)-0.5)* delta_angle + else: + p[:,2] = (rng.rand(p.shape[0])-0.5)* delta_angle + if delta_xy > 0: + if structured: + p[:,:2] = (rng.rand(1, 2)-0.5)*delta_xy + else: + p[:,:2] = (rng.rand(p.shape[0], 2)-0.5)*delta_xy + perturbs.append(p) + return perturbs + +def get_multiplexer_class(args, task_number): + assert(args.task_params.base_class == 'Building') + logging.info('Returning BuildingMultiplexer') + R = BuildingMultiplexer(args, task_number) + return R + +class GridWorld(): + def __init__(self): + """Class members that will be assigned by any class that actually uses this + class.""" + self.restrict_to_largest_cc = None + self.robot = None + self.env = None + self.category_list = None + self.traversible = None + + def get_loc_axis(self, node, delta_theta, perturb=None): + """Based on the node orientation returns X, and Y axis. Used to sample the + map in egocentric coordinate frame. + """ + if type(node) == tuple: + node = np.array([node]) + if perturb is None: + perturb = np.zeros((node.shape[0], 4)) + xyt = self.to_actual_xyt_vec(node) + x = xyt[:,[0]] + perturb[:,[0]] + y = xyt[:,[1]] + perturb[:,[1]] + t = xyt[:,[2]] + perturb[:,[2]] + theta = t*delta_theta + loc = np.concatenate((x,y), axis=1) + x_axis = np.concatenate((np.cos(theta), np.sin(theta)), axis=1) + y_axis = np.concatenate((np.cos(theta+np.pi/2.), np.sin(theta+np.pi/2.)), + axis=1) + # Flip the sampled map where need be. + y_axis[np.where(perturb[:,3] > 0)[0], :] *= -1. + return loc, x_axis, y_axis, theta + + def to_actual_xyt(self, pqr): + """Converts from node to location on the map.""" + (p, q, r) = pqr + if self.task.n_ori == 6: + out = (p - q * 0.5 + self.task.origin_loc[0], + q * np.sqrt(3.) / 2. + self.task.origin_loc[1], r) + elif self.task.n_ori == 4: + out = (p + self.task.origin_loc[0], + q + self.task.origin_loc[1], r) + return out + + def to_actual_xyt_vec(self, pqr): + """Converts from node array to location array on the map.""" + p = pqr[:,0][:, np.newaxis] + q = pqr[:,1][:, np.newaxis] + r = pqr[:,2][:, np.newaxis] + if self.task.n_ori == 6: + out = np.concatenate((p - q * 0.5 + self.task.origin_loc[0], + q * np.sqrt(3.) / 2. + self.task.origin_loc[1], + r), axis=1) + elif self.task.n_ori == 4: + out = np.concatenate((p + self.task.origin_loc[0], + q + self.task.origin_loc[1], + r), axis=1) + return out + + def raw_valid_fn_vec(self, xyt): + """Returns if the given set of nodes is valid or not.""" + height = self.traversible.shape[0] + width = self.traversible.shape[1] + x = np.round(xyt[:,[0]]).astype(np.int32) + y = np.round(xyt[:,[1]]).astype(np.int32) + is_inside = np.all(np.concatenate((x >= 0, y >= 0, + x < width, y < height), axis=1), axis=1) + x = np.minimum(np.maximum(x, 0), width-1) + y = np.minimum(np.maximum(y, 0), height-1) + ind = np.ravel_multi_index((y,x), self.traversible.shape) + is_traversible = self.traversible.ravel()[ind] + + is_valid = np.all(np.concatenate((is_inside[:,np.newaxis], is_traversible), + axis=1), axis=1) + return is_valid + + + def valid_fn_vec(self, pqr): + """Returns if the given set of nodes is valid or not.""" + xyt = self.to_actual_xyt_vec(np.array(pqr)) + height = self.traversible.shape[0] + width = self.traversible.shape[1] + x = np.round(xyt[:,[0]]).astype(np.int32) + y = np.round(xyt[:,[1]]).astype(np.int32) + is_inside = np.all(np.concatenate((x >= 0, y >= 0, + x < width, y < height), axis=1), axis=1) + x = np.minimum(np.maximum(x, 0), width-1) + y = np.minimum(np.maximum(y, 0), height-1) + ind = np.ravel_multi_index((y,x), self.traversible.shape) + is_traversible = self.traversible.ravel()[ind] + + is_valid = np.all(np.concatenate((is_inside[:,np.newaxis], is_traversible), + axis=1), axis=1) + return is_valid + + def get_feasible_actions(self, node_ids): + """Returns the feasible set of actions from the current node.""" + a = np.zeros((len(node_ids), self.task_params.num_actions), dtype=np.int32) + gtG = self.task.gtG + next_node = [] + for i, c in enumerate(node_ids): + neigh = gtG.vertex(c).out_neighbours() + neigh_edge = gtG.vertex(c).out_edges() + nn = {} + for n, e in zip(neigh, neigh_edge): + _ = gtG.ep['action'][e] + a[i,_] = 1 + nn[_] = int(n) + next_node.append(nn) + return a, next_node + + def take_action(self, current_node_ids, action): + """Returns the new node after taking the action action. Stays at the current + node if the action is invalid.""" + actions, next_node_ids = self.get_feasible_actions(current_node_ids) + new_node_ids = [] + for i, (c,a) in enumerate(zip(current_node_ids, action)): + if actions[i,a] == 1: + new_node_ids.append(next_node_ids[i][a]) + else: + new_node_ids.append(c) + return new_node_ids + + def set_r_obj(self, r_obj): + """Sets the SwiftshaderRenderer object used for rendering.""" + self.r_obj = r_obj + +class Building(GridWorld): + def __init__(self, building_name, robot, env, + category_list=None, small=False, flip=False, logdir=None, + building_loader=None): + + self.restrict_to_largest_cc = True + self.robot = robot + self.env = env + self.logdir = logdir + + # Load the building meta data. + building = building_loader.load_building(building_name) + if small: + building['mesh_names'] = building['mesh_names'][:5] + + # New code. + shapess = building_loader.load_building_meshes(building) + if flip: + for shapes in shapess: + shapes.flip_shape() + + vs = [] + for shapes in shapess: + vs.append(shapes.get_vertices()[0]) + vs = np.concatenate(vs, axis=0) + map = make_map(env.padding, env.resolution, vertex=vs, sc=100.) + map = compute_traversibility( + map, robot.base, robot.height, robot.radius, env.valid_min, + env.valid_max, env.num_point_threshold, shapess=shapess, sc=100., + n_samples_per_face=env.n_samples_per_face) + + room_dims = _get_room_dimensions(building['room_dimension_file'], + env.resolution, map.origin, flip=flip) + class_maps, class_map_names = _get_semantic_maps( + building['class_map_folder'], building_name, map, flip) + + self.class_maps = class_maps + self.class_map_names = class_map_names + self.building = building + self.shapess = shapess + self.map = map + self.traversible = map.traversible*1 + self.building_name = building_name + self.room_dims = room_dims + self.flipped = flip + self.renderer_entitiy_ids = [] + + if self.restrict_to_largest_cc: + self.traversible = pick_largest_cc(self.traversible) + + def load_building_into_scene(self): + # Loads the scene. + self.renderer_entitiy_ids += self.r_obj.load_shapes(self.shapess) + # Free up memory, we dont need the mesh or the materials anymore. + self.shapess = None + + def add_entity_at_nodes(self, nodes, height, shape): + xyt = self.to_actual_xyt_vec(nodes) + nxy = xyt[:,:2]*1. + nxy = nxy * self.map.resolution + nxy = nxy + self.map.origin + Ts = np.concatenate((nxy, nxy[:,:1]), axis=1) + Ts[:,2] = height; Ts = Ts / 100.; + + # Merge all the shapes into a single shape and add that shape. + shape.replicate_shape(Ts) + entity_ids = self.r_obj.load_shapes([shape]) + self.renderer_entitiy_ids += entity_ids + return entity_ids + + def add_shapes(self, shapes): + scene = self.r_obj.viz.scene() + for shape in shapes: + scene.AddShape(shape) + + def add_materials(self, materials): + scene = self.r_obj.viz.scene() + for material in materials: + scene.AddOrUpdateMaterial(material) + + def set_building_visibility(self, visibility): + self.r_obj.set_entity_visible(self.renderer_entitiy_ids, visibility) + + def render_nodes(self, nodes, perturb=None, aux_delta_theta=0.): + self.set_building_visibility(True) + if perturb is None: + perturb = np.zeros((len(nodes), 4)) + + imgs = [] + r = 2 + elevation_z = r * np.tan(np.deg2rad(self.robot.camera_elevation_degree)) + + for i in range(len(nodes)): + xyt = self.to_actual_xyt(nodes[i]) + lookat_theta = 3.0 * np.pi / 2.0 - (xyt[2]+perturb[i,2]+aux_delta_theta) * (self.task.delta_theta) + nxy = np.array([xyt[0]+perturb[i,0], xyt[1]+perturb[i,1]]).reshape(1, -1) + nxy = nxy * self.map.resolution + nxy = nxy + self.map.origin + camera_xyz = np.zeros((1, 3)) + camera_xyz[...] = [nxy[0, 0], nxy[0, 1], self.robot.sensor_height] + camera_xyz = camera_xyz / 100. + lookat_xyz = np.array([-r * np.sin(lookat_theta), + -r * np.cos(lookat_theta), elevation_z]) + lookat_xyz = lookat_xyz + camera_xyz[0, :] + self.r_obj.position_camera(camera_xyz[0, :].tolist(), + lookat_xyz.tolist(), [0.0, 0.0, 1.0]) + img = self.r_obj.render(take_screenshot=True, output_type=0) + img = [x for x in img if x is not None] + img = np.concatenate(img, axis=2).astype(np.float32) + if perturb[i,3]>0: + img = img[:,::-1,:] + imgs.append(img) + + self.set_building_visibility(False) + return imgs + + +class MeshMapper(Building): + def __init__(self, robot, env, task_params, building_name, category_list, + flip, logdir=None, building_loader=None): + Building.__init__(self, building_name, robot, env, category_list, + small=task_params.toy_problem, flip=flip, logdir=logdir, + building_loader=building_loader) + self.task_params = task_params + self.task = None + self._preprocess_for_task(self.task_params.building_seed) + + def _preprocess_for_task(self, seed): + if self.task is None or self.task.seed != seed: + rng = np.random.RandomState(seed) + origin_loc = get_graph_origin_loc(rng, self.traversible) + self.task = utils.Foo(seed=seed, origin_loc=origin_loc, + n_ori=self.task_params.n_ori) + G = generate_graph(self.valid_fn_vec, + self.task_params.step_size, self.task.n_ori, + (0, 0, 0)) + gtG, nodes, nodes_to_id = convert_to_graph_tool(G) + self.task.gtG = gtG + self.task.nodes = nodes + self.task.delta_theta = 2.0*np.pi/(self.task.n_ori*1.) + self.task.nodes_to_id = nodes_to_id + logging.info('Building %s, #V=%d, #E=%d', self.building_name, + self.task.nodes.shape[0], self.task.gtG.num_edges()) + + if self.logdir is not None: + write_traversible = cv2.applyColorMap(self.traversible.astype(np.uint8)*255, cv2.COLORMAP_JET) + img_path = os.path.join(self.logdir, + '{:s}_{:d}_graph.png'.format(self.building_name, + seed)) + node_xyt = self.to_actual_xyt_vec(self.task.nodes) + plt.set_cmap('jet'); + fig, ax = utils.subplot(plt, (1,1), (12,12)) + ax.plot(node_xyt[:,0], node_xyt[:,1], 'm.') + ax.imshow(self.traversible, origin='lower'); + ax.set_axis_off(); ax.axis('equal'); + ax.set_title('{:s}, {:d}, {:d}'.format(self.building_name, + self.task.nodes.shape[0], + self.task.gtG.num_edges())) + if self.room_dims is not None: + for i, r in enumerate(self.room_dims['dims']*1): + min_ = r[:3]*1 + max_ = r[3:]*1 + xmin, ymin, zmin = min_ + xmax, ymax, zmax = max_ + + ax.plot([xmin, xmax, xmax, xmin, xmin], + [ymin, ymin, ymax, ymax, ymin], 'g') + with fu.fopen(img_path, 'w') as f: + fig.savefig(f, bbox_inches='tight', transparent=True, pad_inches=0) + plt.close(fig) + + + def _gen_rng(self, rng): + # instances is a list of list of node_ids. + if self.task_params.move_type == 'circle': + _, _, _, _, paths = rng_target_dist_field(self.task_params.batch_size, + self.task.gtG, rng, 0, 1, + compute_path=True) + instances_ = paths + + instances = [] + for instance_ in instances_: + instance = instance_ + for i in range(self.task_params.num_steps): + instance.append(self.take_action([instance[-1]], [1])[0]) + instances.append(instance) + + elif self.task_params.move_type == 'shortest_path': + _, _, _, _, paths = rng_target_dist_field(self.task_params.batch_size, + self.task.gtG, rng, + self.task_params.num_steps, + self.task_params.num_steps+1, + compute_path=True) + instances = paths + + elif self.task_params.move_type == 'circle+forward': + _, _, _, _, paths = rng_target_dist_field(self.task_params.batch_size, + self.task.gtG, rng, 0, 1, + compute_path=True) + instances_ = paths + instances = [] + for instance_ in instances_: + instance = instance_ + for i in range(self.task_params.n_ori-1): + instance.append(self.take_action([instance[-1]], [1])[0]) + while len(instance) <= self.task_params.num_steps: + while self.take_action([instance[-1]], [3])[0] == instance[-1] and len(instance) <= self.task_params.num_steps: + instance.append(self.take_action([instance[-1]], [2])[0]) + if len(instance) <= self.task_params.num_steps: + instance.append(self.take_action([instance[-1]], [3])[0]) + instances.append(instance) + + # Do random perturbation if needed. + perturbs = _gen_perturbs(rng, self.task_params.batch_size, + self.task_params.num_steps, + self.task_params.data_augment.lr_flip, + self.task_params.data_augment.delta_angle, + self.task_params.data_augment.delta_xy, + self.task_params.data_augment.structured) + return instances, perturbs + + def worker(self, instances, perturbs): + # Output the images and the free space. + + # Make the instances be all the same length. + for i in range(len(instances)): + for j in range(self.task_params.num_steps - len(instances[i]) + 1): + instances[i].append(instances[i][-1]) + if perturbs[i].shape[0] < self.task_params.num_steps+1: + p = np.zeros((self.task_params.num_steps+1, 4)) + p[:perturbs[i].shape[0], :] = perturbs[i] + p[perturbs[i].shape[0]:, :] = perturbs[i][-1,:] + perturbs[i] = p + + instances_ = [] + for instance in instances: + instances_ = instances_ + instance + perturbs_ = np.concatenate(perturbs, axis=0) + + instances_nodes = self.task.nodes[instances_,:] + instances_nodes = [tuple(x) for x in instances_nodes] + + imgs_ = self.render_nodes(instances_nodes, perturbs_) + imgs = []; next = 0; + for instance in instances: + img_i = [] + for _ in instance: + img_i.append(imgs_[next]) + next = next+1 + imgs.append(img_i) + imgs = np.array(imgs) + + # Render out the maps in the egocentric view for all nodes and not just the + # last node. + all_nodes = [] + for x in instances: + all_nodes = all_nodes + x + all_perturbs = np.concatenate(perturbs, axis=0) + loc, x_axis, y_axis, theta = self.get_loc_axis( + self.task.nodes[all_nodes, :]*1, delta_theta=self.task.delta_theta, + perturb=all_perturbs) + fss = None + valids = None + loc_on_map = None + theta_on_map = None + cum_fs = None + cum_valid = None + incremental_locs = None + incremental_thetas = None + + if self.task_params.output_free_space: + fss, valids = get_map_to_predict(loc, x_axis, y_axis, + map=self.traversible*1., + map_size=self.task_params.map_size) + fss = np.array(fss) > 0.5 + fss = np.reshape(fss, [self.task_params.batch_size, + self.task_params.num_steps+1, + self.task_params.map_size, + self.task_params.map_size]) + valids = np.reshape(np.array(valids), fss.shape) + + if self.task_params.output_transform_to_global_map: + # Output the transform to the global map. + loc_on_map = np.reshape(loc*1, [self.task_params.batch_size, + self.task_params.num_steps+1, -1]) + # Converting to location wrt to first location so that warping happens + # properly. + theta_on_map = np.reshape(theta*1, [self.task_params.batch_size, + self.task_params.num_steps+1, -1]) + + if self.task_params.output_incremental_transform: + # Output the transform to the global map. + incremental_locs_ = np.reshape(loc*1, [self.task_params.batch_size, + self.task_params.num_steps+1, -1]) + incremental_locs_[:,1:,:] -= incremental_locs_[:,:-1,:] + t0 = -np.pi/2+np.reshape(theta*1, [self.task_params.batch_size, + self.task_params.num_steps+1, -1]) + t = t0*1 + incremental_locs = incremental_locs_*1 + incremental_locs[:,:,0] = np.sum(incremental_locs_ * np.concatenate((np.cos(t), np.sin(t)), axis=-1), axis=-1) + incremental_locs[:,:,1] = np.sum(incremental_locs_ * np.concatenate((np.cos(t+np.pi/2), np.sin(t+np.pi/2)), axis=-1), axis=-1) + incremental_locs[:,0,:] = incremental_locs_[:,0,:] + # print incremental_locs_[0,:,:], incremental_locs[0,:,:], t0[0,:,:] + + incremental_thetas = np.reshape(theta*1, [self.task_params.batch_size, + self.task_params.num_steps+1, + -1]) + incremental_thetas[:,1:,:] += -incremental_thetas[:,:-1,:] + + if self.task_params.output_canonical_map: + loc_ = loc[0::(self.task_params.num_steps+1), :] + x_axis = np.zeros_like(loc_); x_axis[:,1] = 1 + y_axis = np.zeros_like(loc_); y_axis[:,0] = -1 + cum_fs, cum_valid = get_map_to_predict(loc_, x_axis, y_axis, + map=self.traversible*1., + map_size=self.task_params.map_size) + cum_fs = np.array(cum_fs) > 0.5 + cum_fs = np.reshape(cum_fs, [self.task_params.batch_size, 1, + self.task_params.map_size, + self.task_params.map_size]) + cum_valid = np.reshape(np.array(cum_valid), cum_fs.shape) + + + inputs = {'fs_maps': fss, + 'valid_maps': valids, + 'imgs': imgs, + 'loc_on_map': loc_on_map, + 'theta_on_map': theta_on_map, + 'cum_fs_maps': cum_fs, + 'cum_valid_maps': cum_valid, + 'incremental_thetas': incremental_thetas, + 'incremental_locs': incremental_locs} + return inputs + + def pre(self, inputs): + inputs['imgs'] = image_pre(inputs['imgs'], self.task_params.modalities) + if inputs['loc_on_map'] is not None: + inputs['loc_on_map'] = inputs['loc_on_map'] - inputs['loc_on_map'][:,[0],:] + if inputs['theta_on_map'] is not None: + inputs['theta_on_map'] = np.pi/2. - inputs['theta_on_map'] + return inputs + +def _nav_env_reset_helper(type, rng, nodes, batch_size, gtG, max_dist, + num_steps, num_goals, data_augment, **kwargs): + """Generates and returns a new episode.""" + max_compute = max_dist + 4*num_steps + if type == 'general': + start_node_ids, end_node_ids, dist, pred_map, paths = \ + rng_target_dist_field(batch_size, gtG, rng, max_dist, max_compute, + nodes=nodes, compute_path=False) + target_class = None + + elif type == 'room_to_room_many': + goal_node_ids = []; dists = []; + node_room_ids = kwargs['node_room_ids'] + # Sample the first one + start_node_ids_, end_node_ids_, dist_, _, _ = rng_room_to_room( + batch_size, gtG, rng, max_dist, max_compute, + node_room_ids=node_room_ids, nodes=nodes) + start_node_ids = start_node_ids_ + goal_node_ids.append(end_node_ids_) + dists.append(dist_) + for n in range(num_goals-1): + start_node_ids_, end_node_ids_, dist_, _, _ = rng_next_goal( + goal_node_ids[n], batch_size, gtG, rng, max_dist, + max_compute, node_room_ids=node_room_ids, nodes=nodes, + dists_from_start_node=dists[n]) + goal_node_ids.append(end_node_ids_) + dists.append(dist_) + target_class = None + + elif type == 'rng_rejection_sampling_many': + num_goals = num_goals + goal_node_ids = []; dists = []; + + n_ori = kwargs['n_ori'] + step_size = kwargs['step_size'] + min_dist = kwargs['min_dist'] + sampling_distribution = kwargs['sampling_distribution'] + target_distribution = kwargs['target_distribution'] + rejection_sampling_M = kwargs['rejection_sampling_M'] + distribution_bins = kwargs['distribution_bins'] + + for n in range(num_goals): + if n == 0: input_nodes = None + else: input_nodes = goal_node_ids[n-1] + start_node_ids_, end_node_ids_, dist_, _, _, _, _ = rng_next_goal_rejection_sampling( + input_nodes, batch_size, gtG, rng, max_dist, min_dist, + max_compute, sampling_distribution, target_distribution, nodes, + n_ori, step_size, distribution_bins, rejection_sampling_M) + if n == 0: start_node_ids = start_node_ids_ + goal_node_ids.append(end_node_ids_) + dists.append(dist_) + target_class = None + + elif type == 'room_to_room_back': + num_goals = num_goals + assert(num_goals == 2), 'num_goals must be 2.' + goal_node_ids = []; dists = []; + node_room_ids = kwargs['node_room_ids'] + # Sample the first one. + start_node_ids_, end_node_ids_, dist_, _, _ = rng_room_to_room( + batch_size, gtG, rng, max_dist, max_compute, + node_room_ids=node_room_ids, nodes=nodes) + start_node_ids = start_node_ids_ + goal_node_ids.append(end_node_ids_) + dists.append(dist_) + + # Set second goal to be starting position, and compute distance to the start node. + goal_node_ids.append(start_node_ids) + dist = [] + for i in range(batch_size): + dist_ = gt.topology.shortest_distance( + gt.GraphView(gtG, reversed=True), + source=gtG.vertex(start_node_ids[i]), target=None) + dist_ = np.array(dist_.get_array()) + dist.append(dist_) + dists.append(dist) + target_class = None + + elif type[:14] == 'to_nearest_obj': + # Generate an episode by sampling one of the target classes (with + # probability proportional to the number of nodes in the world). + # With the sampled class sample a node that is within some distance from + # the sampled class. + class_nodes = kwargs['class_nodes'] + sampling = kwargs['sampling'] + dist_to_class = kwargs['dist_to_class'] + + assert(num_goals == 1), 'Only supports a single goal.' + ind = rng.choice(class_nodes.shape[0], size=batch_size) + target_class = class_nodes[ind,1] + start_node_ids = []; dists = []; goal_node_ids = []; + + for t in target_class: + if sampling == 'uniform': + max_dist = max_dist + cnts = np.bincount(dist_to_class[t], minlength=max_dist+1)*1. + cnts[max_dist+1:] = 0 + p_each = 1./ cnts / (max_dist+1.) + p_each[cnts == 0] = 0 + p = p_each[dist_to_class[t]]*1.; p = p/np.sum(p) + start_node_id = rng.choice(p.shape[0], size=1, p=p)[0] + else: + logging.fatal('Sampling not one of uniform.') + start_node_ids.append(start_node_id) + dists.append(dist_to_class[t]) + # Dummy goal node, same as the start node, so that vis is better. + goal_node_ids.append(start_node_id) + dists = [dists] + goal_node_ids = [goal_node_ids] + + return start_node_ids, goal_node_ids, dists, target_class + + +class NavigationEnv(GridWorld, Building): + """Wrapper around GridWorld which sets up navigation tasks. + """ + def _debug_save_hardness(self, seed): + out_path = os.path.join(self.logdir, '{:s}_{:d}_hardness.png'.format(self.building_name, seed)) + batch_size = 4000 + rng = np.random.RandomState(0) + start_node_ids, end_node_ids, dists, pred_maps, paths, hardnesss, gt_dists = \ + rng_next_goal_rejection_sampling( + None, batch_size, self.task.gtG, rng, self.task_params.max_dist, + self.task_params.min_dist, self.task_params.max_dist, + self.task.sampling_distribution, self.task.target_distribution, + self.task.nodes, self.task_params.n_ori, self.task_params.step_size, + self.task.distribution_bins, self.task.rejection_sampling_M) + bins = self.task.distribution_bins + n_bins = self.task.n_bins + with plt.style.context('ggplot'): + fig, axes = utils.subplot(plt, (1,2), (10,10)) + ax = axes[0] + _ = ax.hist(hardnesss, bins=bins, weights=np.ones_like(hardnesss)/len(hardnesss)) + ax.plot(bins[:-1]+0.5/n_bins, self.task.target_distribution, 'g') + ax.plot(bins[:-1]+0.5/n_bins, self.task.sampling_distribution, 'b') + ax.grid('on') + + ax = axes[1] + _ = ax.hist(gt_dists, bins=np.arange(self.task_params.max_dist+1)) + ax.grid('on') + ax.set_title('Mean: {:0.2f}, Median: {:0.2f}'.format(np.mean(gt_dists), + np.median(gt_dists))) + with fu.fopen(out_path, 'w') as f: + fig.savefig(f, bbox_inches='tight', transparent=True, pad_inches=0) + + def _debug_save_map_nodes(self, seed): + """Saves traversible space along with nodes generated on the graph. Takes + the seed as input.""" + img_path = os.path.join(self.logdir, '{:s}_{:d}_graph.png'.format(self.building_name, seed)) + node_xyt = self.to_actual_xyt_vec(self.task.nodes) + plt.set_cmap('jet'); + fig, ax = utils.subplot(plt, (1,1), (12,12)) + ax.plot(node_xyt[:,0], node_xyt[:,1], 'm.') + ax.set_axis_off(); ax.axis('equal'); + + if self.room_dims is not None: + for i, r in enumerate(self.room_dims['dims']*1): + min_ = r[:3]*1 + max_ = r[3:]*1 + xmin, ymin, zmin = min_ + xmax, ymax, zmax = max_ + + ax.plot([xmin, xmax, xmax, xmin, xmin], + [ymin, ymin, ymax, ymax, ymin], 'g') + ax.imshow(self.traversible, origin='lower'); + with fu.fopen(img_path, 'w') as f: + fig.savefig(f, bbox_inches='tight', transparent=True, pad_inches=0) + + def _debug_semantic_maps(self, seed): + """Saves traversible space along with nodes generated on the graph. Takes + the seed as input.""" + for i, cls in enumerate(self.task_params.semantic_task.class_map_names): + img_path = os.path.join(self.logdir, '{:s}_flip{:d}_{:s}_graph.png'.format(self.building_name, seed, cls)) + maps = self.traversible*1. + maps += 0.5*(self.task.class_maps_dilated[:,:,i]) + write_traversible = (maps*1.+1.)/3.0 + write_traversible = (write_traversible*255.).astype(np.uint8)[:,:,np.newaxis] + write_traversible = write_traversible + np.zeros((1,1,3), dtype=np.uint8) + fu.write_image(img_path, write_traversible[::-1,:,:]) + + def _preprocess_for_task(self, seed): + """Sets up the task field for doing navigation on the grid world.""" + if self.task is None or self.task.seed != seed: + rng = np.random.RandomState(seed) + origin_loc = get_graph_origin_loc(rng, self.traversible) + self.task = utils.Foo(seed=seed, origin_loc=origin_loc, + n_ori=self.task_params.n_ori) + G = generate_graph(self.valid_fn_vec, self.task_params.step_size, + self.task.n_ori, (0, 0, 0)) + gtG, nodes, nodes_to_id = convert_to_graph_tool(G) + self.task.gtG = gtG + self.task.nodes = nodes + self.task.delta_theta = 2.0*np.pi/(self.task.n_ori*1.) + self.task.nodes_to_id = nodes_to_id + + logging.info('Building %s, #V=%d, #E=%d', self.building_name, + self.task.nodes.shape[0], self.task.gtG.num_edges()) + type = self.task_params.type + if type == 'general': + # Do nothing + _ = None + + elif type == 'room_to_room_many' or type == 'room_to_room_back': + if type == 'room_to_room_back': + assert(self.task_params.num_goals == 2), 'num_goals must be 2.' + + self.room_dims = _filter_rooms(self.room_dims, self.task_params.room_regex) + xyt = self.to_actual_xyt_vec(self.task.nodes) + self.task.node_room_ids = _label_nodes_with_room_id(xyt, self.room_dims) + self.task.reset_kwargs = {'node_room_ids': self.task.node_room_ids} + + elif type == 'rng_rejection_sampling_many': + n_bins = 20 + rejection_sampling_M = self.task_params.rejection_sampling_M + min_dist = self.task_params.min_dist + bins = np.arange(n_bins+1)/(n_bins*1.) + target_d = np.zeros(n_bins); target_d[...] = 1./n_bins; + + sampling_d = get_hardness_distribution( + self.task.gtG, self.task_params.max_dist, self.task_params.min_dist, + np.random.RandomState(0), 4000, bins, self.task.nodes, + self.task_params.n_ori, self.task_params.step_size) + + self.task.reset_kwargs = {'distribution_bins': bins, + 'target_distribution': target_d, + 'sampling_distribution': sampling_d, + 'rejection_sampling_M': rejection_sampling_M, + 'n_bins': n_bins, + 'n_ori': self.task_params.n_ori, + 'step_size': self.task_params.step_size, + 'min_dist': self.task_params.min_dist} + self.task.n_bins = n_bins + self.task.distribution_bins = bins + self.task.target_distribution = target_d + self.task.sampling_distribution = sampling_d + self.task.rejection_sampling_M = rejection_sampling_M + + if self.logdir is not None: + self._debug_save_hardness(seed) + + elif type[:14] == 'to_nearest_obj': + self.room_dims = _filter_rooms(self.room_dims, self.task_params.room_regex) + xyt = self.to_actual_xyt_vec(self.task.nodes) + + self.class_maps = _select_classes(self.class_maps, + self.class_map_names, + self.task_params.semantic_task.class_map_names)*1 + self.class_map_names = self.task_params.semantic_task.class_map_names + nodes_xyt = self.to_actual_xyt_vec(np.array(self.task.nodes)) + + tt = utils.Timer(); tt.tic(); + if self.task_params.type == 'to_nearest_obj_acc': + self.task.class_maps_dilated, self.task.node_class_label = label_nodes_with_class_geodesic( + nodes_xyt, self.class_maps, + self.task_params.semantic_task.pix_distance+8, self.map.traversible, + ff_cost=1., fo_cost=1., oo_cost=4., connectivity=8.) + + dists = [] + for i in range(len(self.class_map_names)): + class_nodes_ = np.where(self.task.node_class_label[:,i])[0] + dists.append(get_distance_node_list(gtG, source_nodes=class_nodes_, direction='to')) + self.task.dist_to_class = dists + a_, b_ = np.where(self.task.node_class_label) + self.task.class_nodes = np.concatenate((a_[:,np.newaxis], b_[:,np.newaxis]), axis=1) + + if self.logdir is not None: + self._debug_semantic_maps(seed) + + self.task.reset_kwargs = {'sampling': self.task_params.semantic_task.sampling, + 'class_nodes': self.task.class_nodes, + 'dist_to_class': self.task.dist_to_class} + + if self.logdir is not None: + self._debug_save_map_nodes(seed) + + def reset(self, rngs): + rng = rngs[0]; rng_perturb = rngs[1]; + nodes = self.task.nodes + tp = self.task_params + + start_node_ids, goal_node_ids, dists, target_class = \ + _nav_env_reset_helper(tp.type, rng, self.task.nodes, tp.batch_size, + self.task.gtG, tp.max_dist, tp.num_steps, + tp.num_goals, tp.data_augment, + **(self.task.reset_kwargs)) + + start_nodes = [tuple(nodes[_,:]) for _ in start_node_ids] + goal_nodes = [[tuple(nodes[_,:]) for _ in __] for __ in goal_node_ids] + data_augment = tp.data_augment + perturbs = _gen_perturbs(rng_perturb, tp.batch_size, + (tp.num_steps+1)*tp.num_goals, + data_augment.lr_flip, data_augment.delta_angle, + data_augment.delta_xy, data_augment.structured) + perturbs = np.array(perturbs) # batch x steps x 4 + end_perturbs = perturbs[:,-(tp.num_goals):,:]*1 # fixed perturb for the goal. + perturbs = perturbs[:,:-(tp.num_goals),:]*1 + + history = -np.ones((tp.batch_size, tp.num_steps*tp.num_goals), dtype=np.int32) + self.episode = utils.Foo( + start_nodes=start_nodes, start_node_ids=start_node_ids, + goal_nodes=goal_nodes, goal_node_ids=goal_node_ids, dist_to_goal=dists, + perturbs=perturbs, goal_perturbs=end_perturbs, history=history, + target_class=target_class, history_frames=[]) + return start_node_ids + + def take_action(self, current_node_ids, action, step_number): + """In addition to returning the action, also returns the reward that the + agent receives.""" + goal_number = step_number / self.task_params.num_steps + new_node_ids = GridWorld.take_action(self, current_node_ids, action) + rewards = [] + for i, n in enumerate(new_node_ids): + reward = 0 + if n == self.episode.goal_node_ids[goal_number][i]: + reward = self.task_params.reward_at_goal + reward = reward - self.task_params.reward_time_penalty + rewards.append(reward) + return new_node_ids, rewards + + + def get_optimal_action(self, current_node_ids, step_number): + """Returns the optimal action from the current node.""" + goal_number = step_number / self.task_params.num_steps + gtG = self.task.gtG + a = np.zeros((len(current_node_ids), self.task_params.num_actions), dtype=np.int32) + d_dict = self.episode.dist_to_goal[goal_number] + for i, c in enumerate(current_node_ids): + neigh = gtG.vertex(c).out_neighbours() + neigh_edge = gtG.vertex(c).out_edges() + ds = np.array([d_dict[i][int(x)] for x in neigh]) + ds_min = np.min(ds) + for i_, e in enumerate(neigh_edge): + if ds[i_] == ds_min: + _ = gtG.ep['action'][e] + a[i, _] = 1 + return a + + def get_targets(self, current_node_ids, step_number): + """Returns the target actions from the current node.""" + action = self.get_optimal_action(current_node_ids, step_number) + action = np.expand_dims(action, axis=1) + return vars(utils.Foo(action=action)) + + def get_targets_name(self): + """Returns the list of names of the targets.""" + return ['action'] + + def cleanup(self): + self.episode = None + +class VisualNavigationEnv(NavigationEnv): + """Class for doing visual navigation in environments. Functions for computing + features on states, etc. + """ + def __init__(self, robot, env, task_params, category_list=None, + building_name=None, flip=False, logdir=None, + building_loader=None, r_obj=None): + tt = utils.Timer() + tt.tic() + Building.__init__(self, building_name, robot, env, category_list, + small=task_params.toy_problem, flip=flip, logdir=logdir, + building_loader=building_loader) + + self.set_r_obj(r_obj) + self.task_params = task_params + self.task = None + self.episode = None + self._preprocess_for_task(self.task_params.building_seed) + if hasattr(self.task_params, 'map_scales'): + self.task.scaled_maps = resize_maps( + self.traversible.astype(np.float32)*1, self.task_params.map_scales, + self.task_params.map_resize_method) + else: + logging.fatal('VisualNavigationEnv does not support scale_f anymore.') + self.task.readout_maps_scaled = resize_maps( + self.traversible.astype(np.float32)*1, + self.task_params.readout_maps_scales, + self.task_params.map_resize_method) + tt.toc(log_at=1, log_str='VisualNavigationEnv __init__: ') + + def get_weight(self): + return self.task.nodes.shape[0] + + def get_common_data(self): + goal_nodes = self.episode.goal_nodes + start_nodes = self.episode.start_nodes + perturbs = self.episode.perturbs + goal_perturbs = self.episode.goal_perturbs + target_class = self.episode.target_class + + goal_locs = []; rel_goal_locs = []; + for i in range(len(goal_nodes)): + end_nodes = goal_nodes[i] + goal_loc, _, _, goal_theta = self.get_loc_axis( + np.array(end_nodes), delta_theta=self.task.delta_theta, + perturb=goal_perturbs[:,i,:]) + + # Compute the relative location to all goals from the starting location. + loc, _, _, theta = self.get_loc_axis(np.array(start_nodes), + delta_theta=self.task.delta_theta, + perturb=perturbs[:,0,:]) + r_goal, t_goal = _get_relative_goal_loc(goal_loc*1., loc, theta) + rel_goal_loc = np.concatenate((r_goal*np.cos(t_goal), r_goal*np.sin(t_goal), + np.cos(goal_theta-theta), + np.sin(goal_theta-theta)), axis=1) + rel_goal_locs.append(np.expand_dims(rel_goal_loc, axis=1)) + goal_locs.append(np.expand_dims(goal_loc, axis=1)) + + map = self.traversible*1. + maps = np.repeat(np.expand_dims(np.expand_dims(map, axis=0), axis=0), + self.task_params.batch_size, axis=0)*1 + if self.task_params.type[:14] == 'to_nearest_obj': + for i in range(self.task_params.batch_size): + maps[i,0,:,:] += 0.5*(self.task.class_maps_dilated[:,:,target_class[i]]) + + rel_goal_locs = np.concatenate(rel_goal_locs, axis=1) + goal_locs = np.concatenate(goal_locs, axis=1) + maps = np.expand_dims(maps, axis=-1) + + if self.task_params.type[:14] == 'to_nearest_obj': + rel_goal_locs = np.zeros((self.task_params.batch_size, 1, + len(self.task_params.semantic_task.class_map_names)), + dtype=np.float32) + goal_locs = np.zeros((self.task_params.batch_size, 1, 2), + dtype=np.float32) + for i in range(self.task_params.batch_size): + t = target_class[i] + rel_goal_locs[i,0,t] = 1. + goal_locs[i,0,0] = t + goal_locs[i,0,1] = np.NaN + + return vars(utils.Foo(orig_maps=maps, goal_loc=goal_locs, + rel_goal_loc_at_start=rel_goal_locs)) + + def pre_common_data(self, inputs): + return inputs + + + def get_features(self, current_node_ids, step_number): + task_params = self.task_params + goal_number = step_number / self.task_params.num_steps + end_nodes = self.task.nodes[self.episode.goal_node_ids[goal_number],:]*1 + current_nodes = self.task.nodes[current_node_ids,:]*1 + end_perturbs = self.episode.goal_perturbs[:,goal_number,:][:,np.newaxis,:] + perturbs = self.episode.perturbs + target_class = self.episode.target_class + + # Append to history. + self.episode.history[:,step_number] = np.array(current_node_ids) + + # Render out the images from current node. + outs = {} + + if self.task_params.outputs.images: + imgs_all = [] + imgs = self.render_nodes([tuple(x) for x in current_nodes], + perturb=perturbs[:,step_number,:]) + imgs_all.append(imgs) + aux_delta_thetas = self.task_params.aux_delta_thetas + for i in range(len(aux_delta_thetas)): + imgs = self.render_nodes([tuple(x) for x in current_nodes], + perturb=perturbs[:,step_number,:], + aux_delta_theta=aux_delta_thetas[i]) + imgs_all.append(imgs) + imgs_all = np.array(imgs_all) # A x B x H x W x C + imgs_all = np.transpose(imgs_all, axes=[1,0,2,3,4]) + imgs_all = np.expand_dims(imgs_all, axis=1) # B x N x A x H x W x C + if task_params.num_history_frames > 0: + if step_number == 0: + # Append the same frame 4 times + for i in range(task_params.num_history_frames+1): + self.episode.history_frames.insert(0, imgs_all*1.) + self.episode.history_frames.insert(0, imgs_all) + self.episode.history_frames.pop() + imgs_all_with_history = np.concatenate(self.episode.history_frames, axis=2) + else: + imgs_all_with_history = imgs_all + outs['imgs'] = imgs_all_with_history # B x N x A x H x W x C + + if self.task_params.outputs.node_ids: + outs['node_ids'] = np.array(current_node_ids).reshape((-1,1,1)) + outs['perturbs'] = np.expand_dims(perturbs[:,step_number, :]*1., axis=1) + + if self.task_params.outputs.analytical_counts: + assert(self.task_params.modalities == ['depth']) + d = image_pre(outs['imgs']*1., self.task_params.modalities) + cm = get_camera_matrix(self.task_params.img_width, + self.task_params.img_height, + self.task_params.img_fov) + XYZ = get_point_cloud_from_z(100./d[...,0], cm) + XYZ = make_geocentric(XYZ*100., self.robot.sensor_height, + self.robot.camera_elevation_degree) + for i in range(len(self.task_params.analytical_counts.map_sizes)): + non_linearity = self.task_params.analytical_counts.non_linearity[i] + count, isvalid = bin_points(XYZ*1., + map_size=self.task_params.analytical_counts.map_sizes[i], + xy_resolution=self.task_params.analytical_counts.xy_resolution[i], + z_bins=self.task_params.analytical_counts.z_bins[i]) + assert(count.shape[2] == 1), 'only works for n_views equal to 1.' + count = count[:,:,0,:,:,:] + isvalid = isvalid[:,:,0,:,:,:] + if non_linearity == 'none': + None + elif non_linearity == 'min10': + count = np.minimum(count, 10.) + elif non_linearity == 'sqrt': + count = np.sqrt(count) + else: + logging.fatal('Undefined non_linearity.') + outs['analytical_counts_{:d}'.format(i)] = count + + # Compute the goal location in the cordinate frame of the robot. + if self.task_params.outputs.rel_goal_loc: + if self.task_params.type[:14] != 'to_nearest_obj': + loc, _, _, theta = self.get_loc_axis(current_nodes, + delta_theta=self.task.delta_theta, + perturb=perturbs[:,step_number,:]) + goal_loc, _, _, goal_theta = self.get_loc_axis(end_nodes, + delta_theta=self.task.delta_theta, + perturb=end_perturbs[:,0,:]) + r_goal, t_goal = _get_relative_goal_loc(goal_loc, loc, theta) + + rel_goal_loc = np.concatenate((r_goal*np.cos(t_goal), r_goal*np.sin(t_goal), + np.cos(goal_theta-theta), + np.sin(goal_theta-theta)), axis=1) + outs['rel_goal_loc'] = np.expand_dims(rel_goal_loc, axis=1) + elif self.task_params.type[:14] == 'to_nearest_obj': + rel_goal_loc = np.zeros((self.task_params.batch_size, 1, + len(self.task_params.semantic_task.class_map_names)), + dtype=np.float32) + for i in range(self.task_params.batch_size): + t = target_class[i] + rel_goal_loc[i,0,t] = 1. + outs['rel_goal_loc'] = rel_goal_loc + + # Location on map to plot the trajectory during validation. + if self.task_params.outputs.loc_on_map: + loc, x_axis, y_axis, theta = self.get_loc_axis(current_nodes, + delta_theta=self.task.delta_theta, + perturb=perturbs[:,step_number,:]) + outs['loc_on_map'] = np.expand_dims(loc, axis=1) + + # Compute gt_dist to goal + if self.task_params.outputs.gt_dist_to_goal: + gt_dist_to_goal = np.zeros((len(current_node_ids), 1), dtype=np.float32) + for i, n in enumerate(current_node_ids): + gt_dist_to_goal[i,0] = self.episode.dist_to_goal[goal_number][i][n] + outs['gt_dist_to_goal'] = np.expand_dims(gt_dist_to_goal, axis=1) + + # Free space in front of you, map and goal as images. + if self.task_params.outputs.ego_maps: + loc, x_axis, y_axis, theta = self.get_loc_axis(current_nodes, + delta_theta=self.task.delta_theta, + perturb=perturbs[:,step_number,:]) + maps = generate_egocentric_maps(self.task.scaled_maps, + self.task_params.map_scales, + self.task_params.map_crop_sizes, loc, + x_axis, y_axis, theta) + + for i in range(len(self.task_params.map_scales)): + outs['ego_maps_{:d}'.format(i)] = \ + np.expand_dims(np.expand_dims(maps[i], axis=1), axis=-1) + + if self.task_params.outputs.readout_maps: + loc, x_axis, y_axis, theta = self.get_loc_axis(current_nodes, + delta_theta=self.task.delta_theta, + perturb=perturbs[:,step_number,:]) + maps = generate_egocentric_maps(self.task.readout_maps_scaled, + self.task_params.readout_maps_scales, + self.task_params.readout_maps_crop_sizes, + loc, x_axis, y_axis, theta) + for i in range(len(self.task_params.readout_maps_scales)): + outs['readout_maps_{:d}'.format(i)] = \ + np.expand_dims(np.expand_dims(maps[i], axis=1), axis=-1) + + # Images for the goal. + if self.task_params.outputs.ego_goal_imgs: + if self.task_params.type[:14] != 'to_nearest_obj': + loc, x_axis, y_axis, theta = self.get_loc_axis(current_nodes, + delta_theta=self.task.delta_theta, + perturb=perturbs[:,step_number,:]) + goal_loc, _, _, _ = self.get_loc_axis(end_nodes, + delta_theta=self.task.delta_theta, + perturb=end_perturbs[:,0,:]) + rel_goal_orientation = np.mod( + np.int32(current_nodes[:,2:] - end_nodes[:,2:]), self.task_params.n_ori) + goal_dist, goal_theta = _get_relative_goal_loc(goal_loc, loc, theta) + goals = generate_goal_images(self.task_params.map_scales, + self.task_params.map_crop_sizes, + self.task_params.n_ori, goal_dist, + goal_theta, rel_goal_orientation) + for i in range(len(self.task_params.map_scales)): + outs['ego_goal_imgs_{:d}'.format(i)] = np.expand_dims(goals[i], axis=1) + + elif self.task_params.type[:14] == 'to_nearest_obj': + for i in range(len(self.task_params.map_scales)): + num_classes = len(self.task_params.semantic_task.class_map_names) + outs['ego_goal_imgs_{:d}'.format(i)] = np.zeros((self.task_params.batch_size, 1, + self.task_params.map_crop_sizes[i], + self.task_params.map_crop_sizes[i], + self.task_params.goal_channels)) + for i in range(self.task_params.batch_size): + t = target_class[i] + for j in range(len(self.task_params.map_scales)): + outs['ego_goal_imgs_{:d}'.format(j)][i,:,:,:,t] = 1. + + # Incremental locs and theta (for map warping), always in the original scale + # of the map, the subequent steps in the tf code scale appropriately. + # Scaling is done by just multiplying incremental_locs appropriately. + if self.task_params.outputs.egomotion: + if step_number == 0: + # Zero Ego Motion + incremental_locs = np.zeros((self.task_params.batch_size, 1, 2), dtype=np.float32) + incremental_thetas = np.zeros((self.task_params.batch_size, 1, 1), dtype=np.float32) + else: + previous_nodes = self.task.nodes[self.episode.history[:,step_number-1], :]*1 + loc, _, _, theta = self.get_loc_axis(current_nodes, + delta_theta=self.task.delta_theta, + perturb=perturbs[:,step_number,:]) + previous_loc, _, _, previous_theta = self.get_loc_axis( + previous_nodes, delta_theta=self.task.delta_theta, + perturb=perturbs[:,step_number-1,:]) + + incremental_locs_ = np.reshape(loc-previous_loc, [self.task_params.batch_size, 1, -1]) + + t = -np.pi/2+np.reshape(theta*1, [self.task_params.batch_size, 1, -1]) + incremental_locs = incremental_locs_*1 + incremental_locs[:,:,0] = np.sum(incremental_locs_ * + np.concatenate((np.cos(t), np.sin(t)), + axis=-1), axis=-1) + incremental_locs[:,:,1] = np.sum(incremental_locs_ * + np.concatenate((np.cos(t+np.pi/2), + np.sin(t+np.pi/2)), + axis=-1), axis=-1) + incremental_thetas = np.reshape(theta-previous_theta, + [self.task_params.batch_size, 1, -1]) + outs['incremental_locs'] = incremental_locs + outs['incremental_thetas'] = incremental_thetas + + if self.task_params.outputs.visit_count: + # Output the visit count for this state, how many times has the current + # state been visited, and how far in the history was the last visit + # (except this one) + visit_count = np.zeros((self.task_params.batch_size, 1), dtype=np.int32) + last_visit = -np.ones((self.task_params.batch_size, 1), dtype=np.int32) + if step_number >= 1: + h = self.episode.history[:,:(step_number)] + visit_count[:,0] = np.sum(h == np.array(current_node_ids).reshape([-1,1]), + axis=1) + last_visit[:,0] = np.argmax(h[:,::-1] == np.array(current_node_ids).reshape([-1,1]), + axis=1) + 1 + last_visit[visit_count == 0] = -1 # -1 if not visited. + outs['visit_count'] = np.expand_dims(visit_count, axis=1) + outs['last_visit'] = np.expand_dims(last_visit, axis=1) + return outs + + def get_features_name(self): + f = [] + if self.task_params.outputs.images: + f.append('imgs') + if self.task_params.outputs.rel_goal_loc: + f.append('rel_goal_loc') + if self.task_params.outputs.loc_on_map: + f.append('loc_on_map') + if self.task_params.outputs.gt_dist_to_goal: + f.append('gt_dist_to_goal') + if self.task_params.outputs.ego_maps: + for i in range(len(self.task_params.map_scales)): + f.append('ego_maps_{:d}'.format(i)) + if self.task_params.outputs.readout_maps: + for i in range(len(self.task_params.readout_maps_scales)): + f.append('readout_maps_{:d}'.format(i)) + if self.task_params.outputs.ego_goal_imgs: + for i in range(len(self.task_params.map_scales)): + f.append('ego_goal_imgs_{:d}'.format(i)) + if self.task_params.outputs.egomotion: + f.append('incremental_locs') + f.append('incremental_thetas') + if self.task_params.outputs.visit_count: + f.append('visit_count') + f.append('last_visit') + if self.task_params.outputs.analytical_counts: + for i in range(len(self.task_params.analytical_counts.map_sizes)): + f.append('analytical_counts_{:d}'.format(i)) + if self.task_params.outputs.node_ids: + f.append('node_ids') + f.append('perturbs') + return f + + def pre_features(self, inputs): + if self.task_params.outputs.images: + inputs['imgs'] = image_pre(inputs['imgs'], self.task_params.modalities) + return inputs + +class BuildingMultiplexer(): + def __init__(self, args, task_number): + params = vars(args) + for k in params.keys(): + setattr(self, k, params[k]) + self.task_number = task_number + self._pick_data(task_number) + logging.info('Env Class: %s.', self.env_class) + if self.task_params.task == 'planning': + self._setup_planner() + elif self.task_params.task == 'mapping': + self._setup_mapper() + elif self.task_params.task == 'map+plan': + self._setup_mapper() + else: + logging.error('Undefined task: %s'.format(self.task_params.task)) + + def _pick_data(self, task_number): + logging.error('Input Building Names: %s', self.building_names) + self.flip = [np.mod(task_number / len(self.building_names), 2) == 1] + id = np.mod(task_number, len(self.building_names)) + self.building_names = [self.building_names[id]] + self.task_params.building_seed = task_number + logging.error('BuildingMultiplexer: Picked Building Name: %s', self.building_names) + self.building_names = self.building_names[0].split('+') + self.flip = [self.flip[0] for _ in self.building_names] + logging.error('BuildingMultiplexer: Picked Building Name: %s', self.building_names) + logging.error('BuildingMultiplexer: Flipping Buildings: %s', self.flip) + logging.error('BuildingMultiplexer: Set building_seed: %d', self.task_params.building_seed) + self.num_buildings = len(self.building_names) + logging.error('BuildingMultiplexer: Num buildings: %d', self.num_buildings) + + def _setup_planner(self): + # Load building env class. + self.buildings = [] + for i, building_name in enumerate(self.building_names): + b = self.env_class(robot=self.robot, env=self.env, + task_params=self.task_params, + building_name=building_name, flip=self.flip[i], + logdir=self.logdir, building_loader=self.dataset) + self.buildings.append(b) + + def _setup_mapper(self): + # Set up the renderer. + cp = self.camera_param + rgb_shader, d_shader = sru.get_shaders(cp.modalities) + r_obj = SwiftshaderRenderer() + r_obj.init_display(width=cp.width, height=cp.height, fov=cp.fov, + z_near=cp.z_near, z_far=cp.z_far, rgb_shader=rgb_shader, + d_shader=d_shader) + self.r_obj = r_obj + r_obj.clear_scene() + + # Load building env class. + self.buildings = [] + wt = [] + for i, building_name in enumerate(self.building_names): + b = self.env_class(robot=self.robot, env=self.env, + task_params=self.task_params, + building_name=building_name, flip=self.flip[i], + logdir=self.logdir, building_loader=self.dataset, + r_obj=r_obj) + wt.append(b.get_weight()) + b.load_building_into_scene() + b.set_building_visibility(False) + self.buildings.append(b) + wt = np.array(wt).astype(np.float32) + wt = wt / np.sum(wt+0.0001) + self.building_sampling_weights = wt + + def sample_building(self, rng): + if self.num_buildings == 1: + building_id = rng.choice(range(len(self.building_names))) + else: + building_id = rng.choice(self.num_buildings, + p=self.building_sampling_weights) + b = self.buildings[building_id] + instances = b._gen_rng(rng) + self._building_id = building_id + return self.buildings[building_id], instances + + def sample_env(self, rngs): + rng = rngs[0]; + if self.num_buildings == 1: + building_id = rng.choice(range(len(self.building_names))) + else: + building_id = rng.choice(self.num_buildings, + p=self.building_sampling_weights) + return self.buildings[building_id] + + def pre(self, inputs): + return self.buildings[self._building_id].pre(inputs) + + def __del__(self): + self.r_obj.clear_scene() + logging.error('Clearing scene.') diff --git a/cognitive_mapping_and_planning/datasets/nav_env_config.py b/cognitive_mapping_and_planning/datasets/nav_env_config.py new file mode 100644 index 000000000..3d71c5767 --- /dev/null +++ b/cognitive_mapping_and_planning/datasets/nav_env_config.py @@ -0,0 +1,127 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Configs for stanford navigation environment. + +Base config for stanford navigation enviornment. +""" +import numpy as np +import src.utils as utils +import datasets.nav_env as nav_env + +def nav_env_base_config(): + """Returns the base config for stanford navigation environment. + + Returns: + Base config for stanford navigation environment. + """ + robot = utils.Foo(radius=15, + base=10, + height=140, + sensor_height=120, + camera_elevation_degree=-15) + + env = utils.Foo(padding=10, + resolution=5, + num_point_threshold=2, + valid_min=-10, + valid_max=200, + n_samples_per_face=200) + + camera_param = utils.Foo(width=225, + height=225, + z_near=0.05, + z_far=20.0, + fov=60., + modalities=['rgb'], + img_channels=3) + + data_augment = utils.Foo(lr_flip=0, + delta_angle=0.5, + delta_xy=4, + relight=True, + relight_fast=False, + structured=False) # if True, uses the same perturb for the whole episode. + + outputs = utils.Foo(images=True, + rel_goal_loc=False, + loc_on_map=True, + gt_dist_to_goal=True, + ego_maps=False, + ego_goal_imgs=False, + egomotion=False, + visit_count=False, + analytical_counts=False, + node_ids=True, + readout_maps=False) + + # class_map_names=['board', 'chair', 'door', 'sofa', 'table'] + class_map_names = ['chair', 'door', 'table'] + semantic_task = utils.Foo(class_map_names=class_map_names, pix_distance=16, + sampling='uniform') + + # time per iteration for cmp is 0.82 seconds per episode with 3.4s overhead per batch. + task_params = utils.Foo(max_dist=32, + step_size=8, + num_steps=40, + num_actions=4, + batch_size=4, + building_seed=0, + num_goals=1, + img_height=None, + img_width=None, + img_channels=None, + modalities=None, + outputs=outputs, + map_scales=[1.], + map_crop_sizes=[64], + rel_goal_loc_dim=4, + base_class='Building', + task='map+plan', + n_ori=4, + type='room_to_room_many', + data_augment=data_augment, + room_regex='^((?!hallway).)*$', + toy_problem=False, + map_channels=1, + gt_coverage=False, + input_type='maps', + full_information=False, + aux_delta_thetas=[], + semantic_task=semantic_task, + num_history_frames=0, + node_ids_dim=1, + perturbs_dim=4, + map_resize_method='linear_noantialiasing', + readout_maps_channels=1, + readout_maps_scales=[], + readout_maps_crop_sizes=[], + n_views=1, + reward_time_penalty=0.1, + reward_at_goal=1., + discount_factor=0.99, + rejection_sampling_M=100, + min_dist=None) + + navtask_args = utils.Foo( + building_names=['area1_gates_wingA_floor1_westpart'], + env_class=nav_env.VisualNavigationEnv, + robot=robot, + task_params=task_params, + env=env, + camera_param=camera_param, + cache_rooms=True) + return navtask_args + diff --git a/cognitive_mapping_and_planning/matplotlibrc b/cognitive_mapping_and_planning/matplotlibrc new file mode 100644 index 000000000..ed5097572 --- /dev/null +++ b/cognitive_mapping_and_planning/matplotlibrc @@ -0,0 +1 @@ +backend : agg diff --git a/cognitive_mapping_and_planning/output/.gitignore b/cognitive_mapping_and_planning/output/.gitignore new file mode 100644 index 000000000..a767cafbb --- /dev/null +++ b/cognitive_mapping_and_planning/output/.gitignore @@ -0,0 +1 @@ +* diff --git a/cognitive_mapping_and_planning/output/README.md b/cognitive_mapping_and_planning/output/README.md new file mode 100644 index 000000000..7518c3874 --- /dev/null +++ b/cognitive_mapping_and_planning/output/README.md @@ -0,0 +1,16 @@ +### Pre-Trained Models + +We provide the following pre-trained models: + +Config Name | Checkpoint | Mean Dist. | 50%ile Dist. | 75%ile Dist. | Success %age | +:-: | :-: | :-: | :-: | :-: | :-: | +cmp.lmap_Msc.clip5.sbpd_d_r2r | [ckpt](http://download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/cmp.lmap_Msc.clip5.sbpd_d_r2r.tar) | 4.79 | 0 | 1 | 78.9 | +cmp.lmap_Msc.clip5.sbpd_rgb_r2r | [ckpt](http://download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/cmp.lmap_Msc.clip5.sbpd_rgb_r2r.tar) | 7.74 | 0 | 14 | 62.4 | +cmp.lmap_Msc.clip5.sbpd_d_ST | [ckpt](http://download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/cmp.lmap_Msc.clip5.sbpd_d_ST.tar) | 10.67 | 9 | 19 | 39.7 | +cmp.lmap_Msc.clip5.sbpd_rgb_ST | [ckpt](http://download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/cmp.lmap_Msc.clip5.sbpd_rgb_ST.tar) | 11.27 | 10 | 19 | 35.6 | +cmp.lmap_Msc.clip5.sbpd_d_r2r_h0_64_80 | [ckpt](http:////download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/cmp.lmap_Msc.clip5.sbpd_d_r2r_h0_64_80.tar) | 11.6 | 0 | 19 | 66.9 | +bl.v2.noclip.sbpd_d_r2r | [ckpt](http://download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/bl.v2.noclip.sbpd_d_r2r.tar) | 5.90 | 0 | 6 | 71.2 | +bl.v2.noclip.sbpd_rgb_r2r | [ckpt](http://download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/bl.v2.noclip.sbpd_rgb_r2r.tar) | 10.21 | 1 | 21 | 53.4 | +bl.v2.noclip.sbpd_d_ST | [ckpt](http://download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/bl.v2.noclip.sbpd_d_ST.tar) | 13.29 | 14 | 23 | 28.0 | +bl.v2.noclip.sbpd_rgb_ST | [ckpt](http://download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/bl.v2.noclip.sbpd_rgb_ST.tar) | 13.37 | 13 | 20 | 24.2 | +bl.v2.noclip.sbpd_d_r2r_h0_64_80 | [ckpt](http:////download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/bl.v2.noclip.sbpd_d_r2r_h0_64_80.tar) | 15.30 | 0 | 29 | 57.9 | diff --git a/cognitive_mapping_and_planning/patches/GLES2_2_0.py.patch b/cognitive_mapping_and_planning/patches/GLES2_2_0.py.patch new file mode 100644 index 000000000..de1be442d --- /dev/null +++ b/cognitive_mapping_and_planning/patches/GLES2_2_0.py.patch @@ -0,0 +1,14 @@ +10c10 +< from OpenGL import platform, constant, arrays +--- +> from OpenGL import platform, constant, arrays, contextdata +249a250 +> from OpenGL._bytes import _NULL_8_BYTE +399c400 +< array = ArrayDatatype.asArray( pointer, type ) +--- +> array = arrays.ArrayDatatype.asArray( pointer, type ) +405c406 +< ArrayDatatype.voidDataPointer( array ) +--- +> arrays.ArrayDatatype.voidDataPointer( array ) diff --git a/cognitive_mapping_and_planning/patches/apply_patches.sh b/cognitive_mapping_and_planning/patches/apply_patches.sh new file mode 100644 index 000000000..4a7860582 --- /dev/null +++ b/cognitive_mapping_and_planning/patches/apply_patches.sh @@ -0,0 +1,18 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +echo $VIRTUAL_ENV +patch $VIRTUAL_ENV/local/lib/python2.7/site-packages/OpenGL/GLES2/VERSION/GLES2_2_0.py patches/GLES2_2_0.py.patch +patch $VIRTUAL_ENV/local/lib/python2.7/site-packages/OpenGL/platform/ctypesloader.py patches/ctypesloader.py.patch diff --git a/cognitive_mapping_and_planning/patches/ctypesloader.py.patch b/cognitive_mapping_and_planning/patches/ctypesloader.py.patch new file mode 100644 index 000000000..27dd43b18 --- /dev/null +++ b/cognitive_mapping_and_planning/patches/ctypesloader.py.patch @@ -0,0 +1,15 @@ +45c45,46 +< return dllType( name, mode ) +--- +> print './' + name +> return dllType( './' + name, mode ) +47,48c48,53 +< err.args += (name,fullName) +< raise +--- +> try: +> print name +> return dllType( name, mode ) +> except: +> err.args += (name,fullName) +> raise diff --git a/cognitive_mapping_and_planning/render/__init__.py b/cognitive_mapping_and_planning/render/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/cognitive_mapping_and_planning/render/depth_rgb_encoded.fp b/cognitive_mapping_and_planning/render/depth_rgb_encoded.fp new file mode 100644 index 000000000..23e93d27f --- /dev/null +++ b/cognitive_mapping_and_planning/render/depth_rgb_encoded.fp @@ -0,0 +1,30 @@ +// This shader computes per-pixel depth (-z coordinate in the camera space, or +// orthogonal distance to the camera plane). The result is multiplied by the +// `kFixedPointFraction` constant and is encoded to RGB channels as an integer +// (R being the least significant byte). + +#ifdef GL_ES +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif +#endif + +const float kFixedPointFraction = 1000.0; + +varying float vDepth; + +void main(void) { + float d = vDepth; + + // Encode the depth to RGB. + d *= (kFixedPointFraction / 255.0); + gl_FragColor.r = mod(d, 1.0); + d = (d - gl_FragColor.r) / 255.0; + gl_FragColor.g = mod(d, 1.0); + d = (d - gl_FragColor.g) / 255.0; + gl_FragColor.b = mod(d, 1.0); + + gl_FragColor.a = 1.0; +} diff --git a/cognitive_mapping_and_planning/render/depth_rgb_encoded.vp b/cognitive_mapping_and_planning/render/depth_rgb_encoded.vp new file mode 100644 index 000000000..2db74f14a --- /dev/null +++ b/cognitive_mapping_and_planning/render/depth_rgb_encoded.vp @@ -0,0 +1,15 @@ +uniform mat4 uViewMatrix; +uniform mat4 uProjectionMatrix; + +attribute vec3 aPosition; + +varying float vDepth; + +void main(void) { + vec4 worldPosition = vec4(aPosition, 1.0); + vec4 viewPosition = uViewMatrix * worldPosition; + gl_Position = uProjectionMatrix * viewPosition; + + // Orthogonal depth is simply -z in the camera space. + vDepth = -viewPosition.z; +} diff --git a/cognitive_mapping_and_planning/render/rgb_flat_color.fp b/cognitive_mapping_and_planning/render/rgb_flat_color.fp new file mode 100644 index 000000000..c8c24d761 --- /dev/null +++ b/cognitive_mapping_and_planning/render/rgb_flat_color.fp @@ -0,0 +1,11 @@ +precision highp float; +varying vec4 vColor; +varying vec2 vTextureCoord; + +uniform sampler2D uTexture; + +void main(void) { + vec4 color = vColor; + color = texture2D(uTexture, vTextureCoord); + gl_FragColor = color; +} diff --git a/cognitive_mapping_and_planning/render/rgb_flat_color.vp b/cognitive_mapping_and_planning/render/rgb_flat_color.vp new file mode 100644 index 000000000..ebc791734 --- /dev/null +++ b/cognitive_mapping_and_planning/render/rgb_flat_color.vp @@ -0,0 +1,18 @@ +uniform mat4 uViewMatrix; +uniform mat4 uProjectionMatrix; +uniform vec4 uColor; + +attribute vec4 aColor; +attribute vec3 aPosition; +attribute vec2 aTextureCoord; + +varying vec4 vColor; +varying vec2 vTextureCoord; + +void main(void) { + vec4 worldPosition = vec4(aPosition, 1.0); + gl_Position = uProjectionMatrix * (uViewMatrix * worldPosition); + + vColor = aColor * uColor; + vTextureCoord = aTextureCoord; +} diff --git a/cognitive_mapping_and_planning/render/swiftshader_renderer.py b/cognitive_mapping_and_planning/render/swiftshader_renderer.py new file mode 100644 index 000000000..74b1be72c --- /dev/null +++ b/cognitive_mapping_and_planning/render/swiftshader_renderer.py @@ -0,0 +1,427 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r"""Implements loading and rendering of meshes. Contains 2 classes: + Shape: Class that exposes high level functions for loading and manipulating + shapes. This currently is bound to assimp + (https://github.com/assimp/assimp). If you want to interface to a different + library, reimplement this class with bindings to your mesh loading library. + + SwiftshaderRenderer: Class that renders Shapes. Currently this uses python + bindings to OpenGL (EGL), bindings to an alternate renderer may be implemented + here. +""" + +import numpy as np, os +import cv2, ctypes, logging, os, numpy as np +import pyassimp as assimp +from OpenGL.GLES2 import * +from OpenGL.EGL import * +import src.rotation_utils as ru + +__version__ = 'swiftshader_renderer' + +def get_shaders(modalities): + rgb_shader = 'rgb_flat_color' if 'rgb' in modalities else None + d_shader = 'depth_rgb_encoded' if 'depth' in modalities else None + return rgb_shader, d_shader + +def sample_points_on_faces(vs, fs, rng, n_samples_per_face): + idx = np.repeat(np.arange(fs.shape[0]), n_samples_per_face) + + r = rng.rand(idx.size, 2) + r1 = r[:,:1]; r2 = r[:,1:]; sqrt_r1 = np.sqrt(r1); + + v1 = vs[fs[idx, 0], :]; v2 = vs[fs[idx, 1], :]; v3 = vs[fs[idx, 2], :]; + pts = (1-sqrt_r1)*v1 + sqrt_r1*(1-r2)*v2 + sqrt_r1*r2*v3 + + v1 = vs[fs[:,0], :]; v2 = vs[fs[:, 1], :]; v3 = vs[fs[:, 2], :]; + ar = 0.5*np.sqrt(np.sum(np.cross(v1-v3, v2-v3)**2, 1)) + + return pts, ar, idx + +class Shape(): + def get_pyassimp_load_options(self): + load_flags = assimp.postprocess.aiProcess_Triangulate; + load_flags = load_flags | assimp.postprocess.aiProcess_SortByPType; + load_flags = load_flags | assimp.postprocess.aiProcess_OptimizeMeshes; + load_flags = load_flags | assimp.postprocess.aiProcess_RemoveRedundantMaterials; + load_flags = load_flags | assimp.postprocess.aiProcess_FindDegenerates; + load_flags = load_flags | assimp.postprocess.aiProcess_GenSmoothNormals; + load_flags = load_flags | assimp.postprocess.aiProcess_JoinIdenticalVertices; + load_flags = load_flags | assimp.postprocess.aiProcess_ImproveCacheLocality; + load_flags = load_flags | assimp.postprocess.aiProcess_GenUVCoords; + load_flags = load_flags | assimp.postprocess.aiProcess_FindInvalidData; + return load_flags + + def __init__(self, obj_file, material_file=None, load_materials=True, + name_prefix='', name_suffix=''): + if material_file is not None: + logging.error('Ignoring material file input, reading them off obj file.') + load_flags = self.get_pyassimp_load_options() + scene = assimp.load(obj_file, processing=load_flags) + filter_ind = self._filter_triangles(scene.meshes) + self.meshes = [scene.meshes[i] for i in filter_ind] + for m in self.meshes: + m.name = name_prefix + m.name + name_suffix + + dir_name = os.path.dirname(obj_file) + # Load materials + materials = None + if load_materials: + materials = [] + for m in self.meshes: + file_name = os.path.join(dir_name, m.material.properties[('file', 1)]) + assert(os.path.exists(file_name)), \ + 'Texture file {:s} foes not exist.'.format(file_name) + img_rgb = cv2.imread(file_name)[::-1,:,::-1] + if img_rgb.shape[0] != img_rgb.shape[1]: + logging.warn('Texture image not square.') + sz = np.maximum(img_rgb.shape[0], img_rgb.shape[1]) + sz = int(np.power(2., np.ceil(np.log2(sz)))) + img_rgb = cv2.resize(img_rgb, (sz,sz), interpolation=cv2.INTER_LINEAR) + else: + sz = img_rgb.shape[0] + sz_ = int(np.power(2., np.ceil(np.log2(sz)))) + if sz != sz_: + logging.warn('Texture image not square of power of 2 size. ' + + 'Changing size from %d to %d.', sz, sz_) + sz = sz_ + img_rgb = cv2.resize(img_rgb, (sz,sz), interpolation=cv2.INTER_LINEAR) + materials.append(img_rgb) + self.scene = scene + self.materials = materials + + def _filter_triangles(self, meshes): + select = [] + for i in range(len(meshes)): + if meshes[i].primitivetypes == 4: + select.append(i) + return select + + def flip_shape(self): + for m in self.meshes: + m.vertices[:,1] = -m.vertices[:,1] + bb = m.faces*1 + bb[:,1] = m.faces[:,2] + bb[:,2] = m.faces[:,1] + m.faces = bb + # m.vertices[:,[0,1]] = m.vertices[:,[1,0]] + + def get_vertices(self): + vs = [] + for m in self.meshes: + vs.append(m.vertices) + vss = np.concatenate(vs, axis=0) + return vss, vs + + def get_faces(self): + vs = [] + for m in self.meshes: + v = m.faces + vs.append(v) + return vs + + def get_number_of_meshes(self): + return len(self.meshes) + + def scale(self, sx=1., sy=1., sz=1.): + pass + + def sample_points_on_face_of_shape(self, i, n_samples_per_face, sc): + v = self.meshes[i].vertices*sc + f = self.meshes[i].faces + p, face_areas, face_idx = sample_points_on_faces( + v, f, np.random.RandomState(0), n_samples_per_face) + return p, face_areas, face_idx + + def __del__(self): + scene = self.scene + assimp.release(scene) + +class SwiftshaderRenderer(): + def __init__(self): + self.entities = {} + + def init_display(self, width, height, fov, z_near, z_far, rgb_shader, + d_shader): + self.init_renderer_egl(width, height) + dir_path = os.path.dirname(os.path.realpath(__file__)) + if d_shader is not None and rgb_shader is not None: + logging.fatal('Does not support setting both rgb_shader and d_shader.') + + if d_shader is not None: + assert rgb_shader is None + shader = d_shader + self.modality = 'depth' + + if rgb_shader is not None: + assert d_shader is None + shader = rgb_shader + self.modality = 'rgb' + + self.create_shaders(os.path.join(dir_path, shader+'.vp'), + os.path.join(dir_path, shader + '.fp')) + aspect = width*1./(height*1.) + self.set_camera(fov, z_near, z_far, aspect) + + def init_renderer_egl(self, width, height): + major,minor = ctypes.c_long(),ctypes.c_long() + logging.info('init_renderer_egl: EGL_DEFAULT_DISPLAY: %s', EGL_DEFAULT_DISPLAY) + + egl_display = eglGetDisplay(EGL_DEFAULT_DISPLAY) + logging.info('init_renderer_egl: egl_display: %s', egl_display) + + eglInitialize(egl_display, major, minor) + logging.info('init_renderer_egl: EGL_OPENGL_API, EGL_OPENGL_ES_API: %s, %s', + EGL_OPENGL_API, EGL_OPENGL_ES_API) + eglBindAPI(EGL_OPENGL_ES_API) + + num_configs = ctypes.c_long() + configs = (EGLConfig*1)() + local_attributes = [EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8, + EGL_DEPTH_SIZE, 16, EGL_SURFACE_TYPE, EGL_PBUFFER_BIT, + EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_NONE,] + logging.error('init_renderer_egl: local attributes: %s', local_attributes) + local_attributes = arrays.GLintArray.asArray(local_attributes) + success = eglChooseConfig(egl_display, local_attributes, configs, 1, num_configs) + logging.error('init_renderer_egl: eglChooseConfig success, num_configs: %d, %d', success, num_configs.value) + egl_config = configs[0] + + + context_attributes = [EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE] + context_attributes = arrays.GLintArray.asArray(context_attributes) + egl_context = eglCreateContext(egl_display, egl_config, EGL_NO_CONTEXT, context_attributes) + + buffer_attributes = [EGL_WIDTH, width, EGL_HEIGHT, height, EGL_NONE] + buffer_attributes = arrays.GLintArray.asArray(buffer_attributes) + egl_surface = eglCreatePbufferSurface(egl_display, egl_config, buffer_attributes) + + + eglMakeCurrent(egl_display, egl_surface, egl_surface, egl_context) + logging.error("init_renderer_egl: egl_display: %s egl_surface: %s, egl_config: %s", egl_display, egl_surface, egl_context) + + glViewport(0, 0, width, height); + + self.egl_display = egl_display + self.egl_surface = egl_surface + self.egl_config = egl_config + self.egl_mapping = {} + self.render_timer = None + self.load_timer = None + self.height = height + self.width = width + + def create_shaders(self, v_shader_file, f_shader_file): + v_shader = glCreateShader(GL_VERTEX_SHADER) + with open(v_shader_file, 'r') as f: + ls = '' + for l in f: + ls = ls + l + glShaderSource(v_shader, ls) + glCompileShader(v_shader); + assert(glGetShaderiv(v_shader, GL_COMPILE_STATUS) == 1) + + f_shader = glCreateShader(GL_FRAGMENT_SHADER) + with open(f_shader_file, 'r') as f: + ls = '' + for l in f: + ls = ls + l + glShaderSource(f_shader, ls) + glCompileShader(f_shader); + assert(glGetShaderiv(f_shader, GL_COMPILE_STATUS) == 1) + + egl_program = glCreateProgram(); + assert(egl_program) + glAttachShader(egl_program, v_shader) + glAttachShader(egl_program, f_shader) + glLinkProgram(egl_program); + assert(glGetProgramiv(egl_program, GL_LINK_STATUS) == 1) + glUseProgram(egl_program) + + glBindAttribLocation(egl_program, 0, "aPosition") + glBindAttribLocation(egl_program, 1, "aColor") + glBindAttribLocation(egl_program, 2, "aTextureCoord") + + self.egl_program = egl_program + self.egl_mapping['vertexs'] = 0 + self.egl_mapping['vertexs_color'] = 1 + self.egl_mapping['vertexs_tc'] = 2 + + glClearColor(0.0, 0.0, 0.0, 1.0); + # glEnable(GL_CULL_FACE); glCullFace(GL_BACK); + glEnable(GL_DEPTH_TEST); + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) + + def set_camera(self, fov_vertical, z_near, z_far, aspect): + width = 2*np.tan(np.deg2rad(fov_vertical)/2.0)*z_near*aspect; + height = 2*np.tan(np.deg2rad(fov_vertical)/2.0)*z_near; + egl_program = self.egl_program + c = np.eye(4, dtype=np.float32) + c[3,3] = 0 + c[3,2] = -1 + c[2,2] = -(z_near+z_far)/(z_far-z_near) + c[2,3] = -2.0*(z_near*z_far)/(z_far-z_near) + c[0,0] = 2.0*z_near/width + c[1,1] = 2.0*z_near/height + c = c.T + + projection_matrix_o = glGetUniformLocation(egl_program, 'uProjectionMatrix') + projection_matrix = np.eye(4, dtype=np.float32) + projection_matrix[...] = c + projection_matrix = np.reshape(projection_matrix, (-1)) + glUniformMatrix4fv(projection_matrix_o, 1, GL_FALSE, projection_matrix) + + + def load_default_object(self): + v = np.array([[0.0, 0.5, 0.0, 1.0, 1.0, 0.0, 1.0], + [-0.5, -0.5, 0.0, 1.0, 0.0, 1.0, 1.0], + [0.5, -0.5, 0.0, 1.0, 1.0, 1.0, 1.0]], dtype=np.float32) + v = np.concatenate((v,v+0.1), axis=0) + v = np.ascontiguousarray(v, dtype=np.float32) + + vbo = glGenBuffers(1) + glBindBuffer (GL_ARRAY_BUFFER, vbo) + glBufferData (GL_ARRAY_BUFFER, v.dtype.itemsize*v.size, v, GL_STATIC_DRAW) + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 28, ctypes.c_void_p(0)) + glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, 28, ctypes.c_void_p(12)) + glEnableVertexAttribArray(0); + glEnableVertexAttribArray(1); + + self.num_to_render = 6; + + def _actual_render(self): + for entity_id, entity in self.entities.iteritems(): + if entity['visible']: + vbo = entity['vbo'] + tbo = entity['tbo'] + num = entity['num'] + + glBindBuffer(GL_ARRAY_BUFFER, vbo) + glVertexAttribPointer(self.egl_mapping['vertexs'], 3, GL_FLOAT, GL_FALSE, + 20, ctypes.c_void_p(0)) + glVertexAttribPointer(self.egl_mapping['vertexs_tc'], 2, GL_FLOAT, + GL_FALSE, 20, ctypes.c_void_p(12)) + glEnableVertexAttribArray(self.egl_mapping['vertexs']); + glEnableVertexAttribArray(self.egl_mapping['vertexs_tc']); + + glBindTexture(GL_TEXTURE_2D, tbo) + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glDrawArrays(GL_TRIANGLES, 0, num) + + def render(self, take_screenshot=False, output_type=0): + # self.render_timer.tic() + self._actual_render() + # self.render_timer.toc(log_at=1000, log_str='render timer', type='time') + + np_rgb_img = None + np_d_img = None + c = 1000. + if take_screenshot: + if self.modality == 'rgb': + screenshot_rgba = np.zeros((self.height, self.width, 4), dtype=np.uint8) + glReadPixels(0, 0, self.width, self.height, GL_RGBA, GL_UNSIGNED_BYTE, screenshot_rgba) + np_rgb_img = screenshot_rgba[::-1,:,:3]; + + if self.modality == 'depth': + screenshot_d = np.zeros((self.height, self.width, 4), dtype=np.uint8) + glReadPixels(0, 0, self.width, self.height, GL_RGBA, GL_UNSIGNED_BYTE, screenshot_d) + np_d_img = screenshot_d[::-1,:,:3]; + np_d_img = np_d_img[:,:,2]*(255.*255./c) + np_d_img[:,:,1]*(255./c) + np_d_img[:,:,0]*(1./c) + np_d_img = np_d_img.astype(np.float32) + np_d_img[np_d_img == 0] = np.NaN + np_d_img = np_d_img[:,:,np.newaxis] + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) + return np_rgb_img, np_d_img + + def _load_mesh_into_gl(self, mesh, material): + vvt = np.concatenate((mesh.vertices, mesh.texturecoords[0,:,:2]), axis=1) + vvt = np.ascontiguousarray(vvt[mesh.faces.reshape((-1)),:], dtype=np.float32) + num = vvt.shape[0] + vvt = np.reshape(vvt, (-1)) + + vbo = glGenBuffers(1) + glBindBuffer(GL_ARRAY_BUFFER, vbo) + glBufferData(GL_ARRAY_BUFFER, vvt.dtype.itemsize*vvt.size, vvt, GL_STATIC_DRAW) + + tbo = glGenTextures(1) + glBindTexture(GL_TEXTURE_2D, tbo) + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, material.shape[1], + material.shape[0], 0, GL_RGB, GL_UNSIGNED_BYTE, + np.reshape(material, (-1))) + return num, vbo, tbo + + def load_shapes(self, shapes): + entities = self.entities + entity_ids = [] + for i, shape in enumerate(shapes): + for j in range(len(shape.meshes)): + name = shape.meshes[j].name + assert name not in entities, '{:s} entity already exists.'.format(name) + num, vbo, tbo = self._load_mesh_into_gl(shape.meshes[j], shape.materials[j]) + entities[name] = {'num': num, 'vbo': vbo, 'tbo': tbo, 'visible': False} + entity_ids.append(name) + return entity_ids + + def set_entity_visible(self, entity_ids, visibility): + for entity_id in entity_ids: + self.entities[entity_id]['visible'] = visibility + + def position_camera(self, camera_xyz, lookat_xyz, up): + camera_xyz = np.array(camera_xyz) + lookat_xyz = np.array(lookat_xyz) + up = np.array(up) + lookat_to = lookat_xyz - camera_xyz + lookat_from = np.array([0, 1., 0.]) + up_from = np.array([0, 0., 1.]) + up_to = up * 1. + # np.set_printoptions(precision=2, suppress=True) + # print up_from, lookat_from, up_to, lookat_to + r = ru.rotate_camera_to_point_at(up_from, lookat_from, up_to, lookat_to) + R = np.eye(4, dtype=np.float32) + R[:3,:3] = r + + t = np.eye(4, dtype=np.float32) + t[:3,3] = -camera_xyz + + view_matrix = np.dot(R.T, t) + flip_yz = np.eye(4, dtype=np.float32) + flip_yz[1,1] = 0; flip_yz[2,2] = 0; flip_yz[1,2] = 1; flip_yz[2,1] = -1; + view_matrix = np.dot(flip_yz, view_matrix) + view_matrix = view_matrix.T + # print np.concatenate((R, t, view_matrix), axis=1) + view_matrix = np.reshape(view_matrix, (-1)) + view_matrix_o = glGetUniformLocation(self.egl_program, 'uViewMatrix') + glUniformMatrix4fv(view_matrix_o, 1, GL_FALSE, view_matrix) + return None, None #camera_xyz, q + + def clear_scene(self): + keys = self.entities.keys() + for entity_id in keys: + entity = self.entities.pop(entity_id, None) + vbo = entity['vbo'] + tbo = entity['tbo'] + num = entity['num'] + glDeleteBuffers(1, [vbo]) + glDeleteTextures(1, [tbo]) + + def __del__(self): + self.clear_scene() + eglMakeCurrent(self.egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT) + eglDestroySurface(self.egl_display, self.egl_surface) + eglTerminate(self.egl_display) diff --git a/cognitive_mapping_and_planning/requirements.txt b/cognitive_mapping_and_planning/requirements.txt new file mode 100644 index 000000000..306c807a6 --- /dev/null +++ b/cognitive_mapping_and_planning/requirements.txt @@ -0,0 +1,9 @@ +numpy +pillow +PyOpenGL +PyOpenGL-accelerate +six +networkx +scikit-image +scipy +opencv-python diff --git a/cognitive_mapping_and_planning/scripts/__init__.py b/cognitive_mapping_and_planning/scripts/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/cognitive_mapping_and_planning/scripts/script_distill.py b/cognitive_mapping_and_planning/scripts/script_distill.py new file mode 100644 index 000000000..010c69041 --- /dev/null +++ b/cognitive_mapping_and_planning/scripts/script_distill.py @@ -0,0 +1,177 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r""" Script to setup the grid moving agent. + +blaze build --define=ION_GFX_OGLES20=1 -c opt --copt=-mavx --config=cuda_clang \ + learning/brain/public/tensorflow_std_server{,_gpu} \ + experimental/users/saurabhgupta/navigation/cmp/scripts/script_distill.par \ + experimental/users/saurabhgupta/navigation/cmp/scripts/script_distill + + +./blaze-bin/experimental/users/saurabhgupta/navigation/cmp/scripts/script_distill \ + --logdir=/cns/iq-d/home/saurabhgupta/output/stanford-distill/local/v0/ \ + --config_name 'v0+train' --gfs_user robot-intelligence-gpu + +""" +import sys, os, numpy as np +import copy +import argparse, pprint +import time +import cProfile + + +import tensorflow as tf +from tensorflow.contrib import slim +from tensorflow.python.framework import ops +from tensorflow.contrib.framework.python.ops import variables + +import logging +from tensorflow.python.platform import gfile +from tensorflow.python.platform import app +from tensorflow.python.platform import flags +from cfgs import config_distill +from tfcode import tf_utils +import src.utils as utils +import src.file_utils as fu +import tfcode.distillation as distill +import datasets.nav_env as nav_env + +FLAGS = flags.FLAGS + +flags.DEFINE_string('master', 'local', + 'The name of the TensorFlow master to use.') +flags.DEFINE_integer('ps_tasks', 0, 'The number of parameter servers. If the ' + 'value is 0, then the parameters are handled locally by ' + 'the worker.') +flags.DEFINE_integer('task', 0, 'The Task ID. This value is used when training ' + 'with multiple workers to identify each worker.') + +flags.DEFINE_integer('num_workers', 1, '') + +flags.DEFINE_string('config_name', '', '') + +flags.DEFINE_string('logdir', '', '') + +def main(_): + args = config_distill.get_args_for_config(FLAGS.config_name) + args.logdir = FLAGS.logdir + args.solver.num_workers = FLAGS.num_workers + args.solver.task = FLAGS.task + args.solver.ps_tasks = FLAGS.ps_tasks + args.solver.master = FLAGS.master + + args.buildinger.env_class = nav_env.MeshMapper + fu.makedirs(args.logdir) + args.buildinger.logdir = args.logdir + R = nav_env.get_multiplexor_class(args.buildinger, args.solver.task) + + if False: + pr = cProfile.Profile() + pr.enable() + rng = np.random.RandomState(0) + for i in range(1): + b, instances_perturbs = R.sample_building(rng) + inputs = b.worker(*(instances_perturbs)) + for j in range(inputs['imgs'].shape[0]): + p = os.path.join('tmp', '{:d}.png'.format(j)) + img = inputs['imgs'][j,0,:,:,:3]*1 + img = (img).astype(np.uint8) + fu.write_image(p, img) + print(inputs['imgs'].shape) + inputs = R.pre(inputs) + pr.disable() + pr.print_stats(2) + + if args.control.train: + if not gfile.Exists(args.logdir): + gfile.MakeDirs(args.logdir) + + m = utils.Foo() + m.tf_graph = tf.Graph() + + config = tf.ConfigProto() + config.device_count['GPU'] = 1 + config.gpu_options.allow_growth = True + config.gpu_options.per_process_gpu_memory_fraction = 0.8 + + with m.tf_graph.as_default(): + with tf.device(tf.train.replica_device_setter(args.solver.ps_tasks)): + m = distill.setup_to_run(m, args, is_training=True, + batch_norm_is_training=True) + + train_step_kwargs = distill.setup_train_step_kwargs_mesh( + m, R, os.path.join(args.logdir, 'train'), + rng_seed=args.solver.task, is_chief=args.solver.task==0, iters=1, + train_display_interval=args.summary.display_interval) + + final_loss = slim.learning.train( + train_op=m.train_op, + logdir=args.logdir, + master=args.solver.master, + is_chief=args.solver.task == 0, + number_of_steps=args.solver.max_steps, + train_step_fn=tf_utils.train_step_custom, + train_step_kwargs=train_step_kwargs, + global_step=m.global_step_op, + init_op=m.init_op, + init_fn=m.init_fn, + sync_optimizer=m.sync_optimizer, + saver=m.saver_op, + summary_op=None, session_config=config) + + if args.control.test: + m = utils.Foo() + m.tf_graph = tf.Graph() + checkpoint_dir = os.path.join(format(args.logdir)) + with m.tf_graph.as_default(): + m = distill.setup_to_run(m, args, is_training=False, + batch_norm_is_training=args.control.force_batchnorm_is_training_at_test) + + train_step_kwargs = distill.setup_train_step_kwargs_mesh( + m, R, os.path.join(args.logdir, args.control.test_name), + rng_seed=args.solver.task+1, is_chief=args.solver.task==0, + iters=args.summary.test_iters, train_display_interval=None) + + sv = slim.learning.supervisor.Supervisor( + graph=ops.get_default_graph(), logdir=None, init_op=m.init_op, + summary_op=None, summary_writer=None, global_step=None, saver=m.saver_op) + + last_checkpoint = None + while True: + last_checkpoint = slim.evaluation.wait_for_new_checkpoint(checkpoint_dir, last_checkpoint) + checkpoint_iter = int(os.path.basename(last_checkpoint).split('-')[1]) + start = time.time() + logging.info('Starting evaluation at %s using checkpoint %s.', + time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime()), + last_checkpoint) + + config = tf.ConfigProto() + config.device_count['GPU'] = 1 + config.gpu_options.allow_growth = True + config.gpu_options.per_process_gpu_memory_fraction = 0.8 + + with sv.managed_session(args.solver.master,config=config, + start_standard_services=False) as sess: + sess.run(m.init_op) + sv.saver.restore(sess, last_checkpoint) + sv.start_queue_runners(sess) + vals, _ = tf_utils.train_step_custom( + sess, None, m.global_step_op, train_step_kwargs, mode='val') + if checkpoint_iter >= args.solver.max_steps: + break + +if __name__ == '__main__': + app.run() diff --git a/cognitive_mapping_and_planning/scripts/script_download_init_models.sh b/cognitive_mapping_and_planning/scripts/script_download_init_models.sh new file mode 100644 index 000000000..1900bd0b0 --- /dev/null +++ b/cognitive_mapping_and_planning/scripts/script_download_init_models.sh @@ -0,0 +1,18 @@ +# Script to download models to initialize the RGB and D models for training.We +# use ResNet-v2-50 for both modalities. + +mkdir -p data/init_models +cd data/init_models + +# RGB Models are initialized by pre-training on ImageNet. +mkdir -p resnet_v2_50 +RGB_URL="http://download.tensorflow.org/models/resnet_v2_50_2017_04_14.tar.gz" +wget $RGB_URL +tar -xf resnet_v2_50_2017_04_14.tar.gz -C resnet_v2_50 + +# Depth models are initialized by distilling the RGB model to D images using +# Cross-Modal Distillation (https://arxiv.org/abs/1507.00448). +mkdir -p distill_rgb_to_d_resnet_v2_50 +D_URL="http://download.tensorflow.org/models/cognitive_mapping_and_planning/2017_04_16/distill_rgb_to_d_resnet_v2_50.tar" +wget $D_URL +tar -xf distill_rgb_to_d_resnet_v2_50.tar -C distill_rgb_to_d_resnet_v2_50 diff --git a/cognitive_mapping_and_planning/scripts/script_env_vis.py b/cognitive_mapping_and_planning/scripts/script_env_vis.py new file mode 100644 index 000000000..03222dfab --- /dev/null +++ b/cognitive_mapping_and_planning/scripts/script_env_vis.py @@ -0,0 +1,186 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""A simple python function to walk in the enviornments that we have created. +PYTHONPATH='.' PYOPENGL_PLATFORM=egl python scripts/script_env_vis.py \ + --dataset_name sbpd --building_name area3 +""" +import sys +import numpy as np +import matplotlib +matplotlib.use('TkAgg') +from PIL import ImageTk, Image +import Tkinter as tk +import logging +from tensorflow.python.platform import app +from tensorflow.python.platform import flags + +import datasets.nav_env_config as nec +import datasets.nav_env as nav_env +import cv2 +from datasets import factory +import render.swiftshader_renderer as renderer + +SwiftshaderRenderer = renderer.SwiftshaderRenderer +VisualNavigationEnv = nav_env.VisualNavigationEnv + +FLAGS = flags.FLAGS +flags.DEFINE_string('dataset_name', 'sbpd', 'Name of the dataset.') +flags.DEFINE_float('fov', 60., 'Field of view') +flags.DEFINE_integer('image_size', 512, 'Size of the image.') +flags.DEFINE_string('building_name', '', 'Name of the building.') + +def get_args(): + navtask = nec.nav_env_base_config() + navtask.task_params.type = 'rng_rejection_sampling_many' + navtask.task_params.rejection_sampling_M = 2000 + navtask.task_params.min_dist = 10 + sz = FLAGS.image_size + navtask.camera_param.fov = FLAGS.fov + navtask.camera_param.height = sz + navtask.camera_param.width = sz + navtask.task_params.img_height = sz + navtask.task_params.img_width = sz + + # navtask.task_params.semantic_task.class_map_names = ['chair', 'door', 'table'] + # navtask.task_params.type = 'to_nearest_obj_acc' + + logging.info('navtask: %s', navtask) + return navtask + +def load_building(dataset_name, building_name): + dataset = factory.get_dataset(dataset_name) + + navtask = get_args() + cp = navtask.camera_param + rgb_shader, d_shader = renderer.get_shaders(cp.modalities) + r_obj = SwiftshaderRenderer() + r_obj.init_display(width=cp.width, height=cp.height, + fov=cp.fov, z_near=cp.z_near, z_far=cp.z_far, + rgb_shader=rgb_shader, d_shader=d_shader) + r_obj.clear_scene() + b = VisualNavigationEnv(robot=navtask.robot, env=navtask.env, + task_params=navtask.task_params, + building_name=building_name, flip=False, + logdir=None, building_loader=dataset, + r_obj=r_obj) + b.load_building_into_scene() + b.set_building_visibility(False) + return b + +def walk_through(b): + # init agent at a random location in the environment. + init_env_state = b.reset([np.random.RandomState(0), np.random.RandomState(0)]) + + global current_node + rng = np.random.RandomState(0) + current_node = rng.choice(b.task.nodes.shape[0]) + + root = tk.Tk() + image = b.render_nodes(b.task.nodes[[current_node],:])[0] + print image.shape + image = image.astype(np.uint8) + im = Image.fromarray(image) + im = ImageTk.PhotoImage(im) + panel = tk.Label(root, image=im) + + map_size = b.traversible.shape + sc = np.max(map_size)/256. + loc = np.array([[map_size[1]/2., map_size[0]/2.]]) + x_axis = np.zeros_like(loc); x_axis[:,1] = sc + y_axis = np.zeros_like(loc); y_axis[:,0] = -sc + cum_fs, cum_valid = nav_env.get_map_to_predict(loc, x_axis, y_axis, + map=b.traversible*1., + map_size=256) + cum_fs = cum_fs[0] + cum_fs = cv2.applyColorMap((cum_fs*255).astype(np.uint8), cv2.COLORMAP_JET) + im = Image.fromarray(cum_fs) + im = ImageTk.PhotoImage(im) + panel_overhead = tk.Label(root, image=im) + + def refresh(): + global current_node + image = b.render_nodes(b.task.nodes[[current_node],:])[0] + image = image.astype(np.uint8) + im = Image.fromarray(image) + im = ImageTk.PhotoImage(im) + panel.configure(image=im) + panel.image = im + + def left_key(event): + global current_node + current_node = b.take_action([current_node], [2], 1)[0][0] + refresh() + + def up_key(event): + global current_node + current_node = b.take_action([current_node], [3], 1)[0][0] + refresh() + + def right_key(event): + global current_node + current_node = b.take_action([current_node], [1], 1)[0][0] + refresh() + + def quit(event): + root.destroy() + + panel_overhead.grid(row=4, column=5, rowspan=1, columnspan=1, + sticky=tk.W+tk.E+tk.N+tk.S) + panel.bind('', left_key) + panel.bind('', up_key) + panel.bind('', right_key) + panel.bind('q', quit) + panel.focus_set() + panel.grid(row=0, column=0, rowspan=5, columnspan=5, + sticky=tk.W+tk.E+tk.N+tk.S) + root.mainloop() + +def simple_window(): + root = tk.Tk() + + image = np.zeros((128, 128, 3), dtype=np.uint8) + image[32:96, 32:96, 0] = 255 + im = Image.fromarray(image) + im = ImageTk.PhotoImage(im) + + image = np.zeros((128, 128, 3), dtype=np.uint8) + image[32:96, 32:96, 1] = 255 + im2 = Image.fromarray(image) + im2 = ImageTk.PhotoImage(im2) + + panel = tk.Label(root, image=im) + + def left_key(event): + panel.configure(image=im2) + panel.image = im2 + + def quit(event): + sys.exit() + + panel.bind('', left_key) + panel.bind('', left_key) + panel.bind('', left_key) + panel.bind('q', quit) + panel.focus_set() + panel.pack(side = "bottom", fill = "both", expand = "yes") + root.mainloop() + +def main(_): + b = load_building(FLAGS.dataset_name, FLAGS.building_name) + walk_through(b) + +if __name__ == '__main__': + app.run() diff --git a/cognitive_mapping_and_planning/scripts/script_nav_agent_release.py b/cognitive_mapping_and_planning/scripts/script_nav_agent_release.py new file mode 100644 index 000000000..dab2819a6 --- /dev/null +++ b/cognitive_mapping_and_planning/scripts/script_nav_agent_release.py @@ -0,0 +1,253 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r""" Script to train and test the grid navigation agent. +Usage: + 1. Testing a model. + CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 \ + PYTHONPATH='.' PYOPENGL_PLATFORM=egl python scripts/script_nav_agent_release.py \ + --config_name cmp.lmap_Msc.clip5.sbpd_d_r2r+bench_test \ + --logdir output/cmp.lmap_Msc.clip5.sbpd_d_r2r + + 2. Training a model (locally). + CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 \ + PYTHONPATH='.' PYOPENGL_PLATFORM=egl python scripts/script_nav_agent_release.py \ + --config_name cmp.lmap_Msc.clip5.sbpd_d_r2r+train_train \ + --logdir output/cmp.lmap_Msc.clip5.sbpd_d_r2r_ + + 3. Training a model (distributed). + # See https://www.tensorflow.org/deploy/distributed on how to setup distributed + # training. + CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 \ + PYTHONPATH='.' PYOPENGL_PLATFORM=egl python scripts/script_nav_agent_release.py \ + --config_name cmp.lmap_Msc.clip5.sbpd_d_r2r+train_train \ + --logdir output/cmp.lmap_Msc.clip5.sbpd_d_r2r_ \ + --ps_tasks $num_ps --master $master_name --task $worker_id +""" + +import sys, os, numpy as np +import copy +import argparse, pprint +import time +import cProfile +import platform + + +import tensorflow as tf +from tensorflow.contrib import slim +from tensorflow.python.framework import ops +from tensorflow.contrib.framework.python.ops import variables + +import logging +from tensorflow.python.platform import gfile +from tensorflow.python.platform import app +from tensorflow.python.platform import flags +from cfgs import config_cmp +from cfgs import config_vision_baseline +import datasets.nav_env as nav_env +import src.file_utils as fu +import src.utils as utils +import tfcode.cmp as cmp +from tfcode import tf_utils +from tfcode import vision_baseline_lstm + +FLAGS = flags.FLAGS + +flags.DEFINE_string('master', '', + 'The address of the tensorflow master') +flags.DEFINE_integer('ps_tasks', 0, 'The number of parameter servers. If the ' + 'value is 0, then the parameters are handled locally by ' + 'the worker.') +flags.DEFINE_integer('task', 0, 'The Task ID. This value is used when training ' + 'with multiple workers to identify each worker.') + +flags.DEFINE_integer('num_workers', 1, '') + +flags.DEFINE_string('config_name', '', '') + +flags.DEFINE_string('logdir', '', '') + +flags.DEFINE_integer('solver_seed', 0, '') + +flags.DEFINE_integer('delay_start_iters', 20, '') + +logging.basicConfig(level=logging.INFO) + +def main(_): + _launcher(FLAGS.config_name, FLAGS.logdir) + +def _launcher(config_name, logdir): + args = _setup_args(config_name, logdir) + + fu.makedirs(args.logdir) + + if args.control.train: + _train(args) + + if args.control.test: + _test(args) + +def get_args_for_config(config_name): + configs = config_name.split('.') + type = configs[0] + config_name = '.'.join(configs[1:]) + if type == 'cmp': + args = config_cmp.get_args_for_config(config_name) + args.setup_to_run = cmp.setup_to_run + args.setup_train_step_kwargs = cmp.setup_train_step_kwargs + + elif type == 'bl': + args = config_vision_baseline.get_args_for_config(config_name) + args.setup_to_run = vision_baseline_lstm.setup_to_run + args.setup_train_step_kwargs = vision_baseline_lstm.setup_train_step_kwargs + + else: + logging.fatal('Unknown type: {:s}'.format(type)) + return args + +def _setup_args(config_name, logdir): + args = get_args_for_config(config_name) + args.solver.num_workers = FLAGS.num_workers + args.solver.task = FLAGS.task + args.solver.ps_tasks = FLAGS.ps_tasks + args.solver.master = FLAGS.master + args.solver.seed = FLAGS.solver_seed + args.logdir = logdir + args.navtask.logdir = None + return args + +def _train(args): + container_name = "" + + R = lambda: nav_env.get_multiplexer_class(args.navtask, args.solver.task) + m = utils.Foo() + m.tf_graph = tf.Graph() + + config = tf.ConfigProto() + config.device_count['GPU'] = 1 + + with m.tf_graph.as_default(): + with tf.device(tf.train.replica_device_setter(args.solver.ps_tasks, + merge_devices=True)): + with tf.container(container_name): + m = args.setup_to_run(m, args, is_training=True, + batch_norm_is_training=True, summary_mode='train') + + train_step_kwargs = args.setup_train_step_kwargs( + m, R(), os.path.join(args.logdir, 'train'), rng_seed=args.solver.task, + is_chief=args.solver.task==0, + num_steps=args.navtask.task_params.num_steps*args.navtask.task_params.num_goals, iters=1, + train_display_interval=args.summary.display_interval, + dagger_sample_bn_false=args.arch.dagger_sample_bn_false) + + delay_start = (args.solver.task*(args.solver.task+1))/2 * FLAGS.delay_start_iters + logging.error('delaying start for task %d by %d steps.', + args.solver.task, delay_start) + + additional_args = {} + final_loss = slim.learning.train( + train_op=m.train_op, + logdir=args.logdir, + master=args.solver.master, + is_chief=args.solver.task == 0, + number_of_steps=args.solver.max_steps, + train_step_fn=tf_utils.train_step_custom_online_sampling, + train_step_kwargs=train_step_kwargs, + global_step=m.global_step_op, + init_op=m.init_op, + init_fn=m.init_fn, + sync_optimizer=m.sync_optimizer, + saver=m.saver_op, + startup_delay_steps=delay_start, + summary_op=None, session_config=config, **additional_args) + +def _test(args): + args.solver.master = '' + container_name = "" + checkpoint_dir = os.path.join(format(args.logdir)) + logging.error('Checkpoint_dir: %s', args.logdir) + + config = tf.ConfigProto(); + config.device_count['GPU'] = 1; + + m = utils.Foo() + m.tf_graph = tf.Graph() + + rng_data_seed = 0; rng_action_seed = 0; + R = lambda: nav_env.get_multiplexer_class(args.navtask, rng_data_seed) + with m.tf_graph.as_default(): + with tf.container(container_name): + m = args.setup_to_run( + m, args, is_training=False, + batch_norm_is_training=args.control.force_batchnorm_is_training_at_test, + summary_mode=args.control.test_mode) + train_step_kwargs = args.setup_train_step_kwargs( + m, R(), os.path.join(args.logdir, args.control.test_name), + rng_seed=rng_data_seed, is_chief=True, + num_steps=args.navtask.task_params.num_steps*args.navtask.task_params.num_goals, + iters=args.summary.test_iters, train_display_interval=None, + dagger_sample_bn_false=args.arch.dagger_sample_bn_false) + + saver = slim.learning.tf_saver.Saver(variables.get_variables_to_restore()) + + sv = slim.learning.supervisor.Supervisor( + graph=ops.get_default_graph(), logdir=None, init_op=m.init_op, + summary_op=None, summary_writer=None, global_step=None, saver=m.saver_op) + + last_checkpoint = None + reported = False + while True: + last_checkpoint_ = None + while last_checkpoint_ is None: + last_checkpoint_ = slim.evaluation.wait_for_new_checkpoint( + checkpoint_dir, last_checkpoint, seconds_to_sleep=10, timeout=60) + if last_checkpoint_ is None: break + + last_checkpoint = last_checkpoint_ + checkpoint_iter = int(os.path.basename(last_checkpoint).split('-')[1]) + + logging.info('Starting evaluation at %s using checkpoint %s.', + time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime()), + last_checkpoint) + + if (args.control.only_eval_when_done == False or + checkpoint_iter >= args.solver.max_steps): + start = time.time() + logging.info('Starting evaluation at %s using checkpoint %s.', + time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime()), + last_checkpoint) + + with sv.managed_session(args.solver.master, config=config, + start_standard_services=False) as sess: + sess.run(m.init_op) + sv.saver.restore(sess, last_checkpoint) + sv.start_queue_runners(sess) + if args.control.reset_rng_seed: + train_step_kwargs['rng_data'] = [np.random.RandomState(rng_data_seed), + np.random.RandomState(rng_data_seed)] + train_step_kwargs['rng_action'] = np.random.RandomState(rng_action_seed) + vals, _ = tf_utils.train_step_custom_online_sampling( + sess, None, m.global_step_op, train_step_kwargs, + mode=args.control.test_mode) + should_stop = False + + if checkpoint_iter >= args.solver.max_steps: + should_stop = True + + if should_stop: + break + +if __name__ == '__main__': + app.run() diff --git a/cognitive_mapping_and_planning/scripts/script_plot_trajectory.py b/cognitive_mapping_and_planning/scripts/script_plot_trajectory.py new file mode 100644 index 000000000..81c4c8990 --- /dev/null +++ b/cognitive_mapping_and_planning/scripts/script_plot_trajectory.py @@ -0,0 +1,339 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r""" +Code for plotting trajectories in the top view, and also plot first person views +from saved trajectories. Does not run the network but only loads the mesh data +to plot the view points. + CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 + PYTHONPATH='.' PYOPENGL_PLATFORM=egl python scripts/script_plot_trajectory.py \ + --first_person --num_steps 40 \ + --config_name cmp.lmap_Msc.clip5.sbpd_d_r2r \ + --imset test --alsologtostderr --base_dir output --out_dir vis + +""" +import os, sys, numpy as np, copy +import matplotlib +matplotlib.use("Agg") +import matplotlib.pyplot as plt +import matplotlib.animation as animation +from matplotlib.gridspec import GridSpec + +import tensorflow as tf +from tensorflow.contrib import slim +import cv2 +import logging +from tensorflow.python.platform import gfile +from tensorflow.python.platform import app +from tensorflow.python.platform import flags + +from datasets import nav_env +import scripts.script_nav_agent_release as sna +import src.file_utils as fu +from src import graph_utils +from src import utils +FLAGS = flags.FLAGS + +flags.DEFINE_string('out_dir', 'vis', 'Directory where to store the output') +flags.DEFINE_string('type', '', 'Optional type.') +flags.DEFINE_bool('first_person', False, 'Visualize the first person view.') +flags.DEFINE_bool('top_view', False, 'Visualize the trajectory in the top view.') +flags.DEFINE_integer('num_steps', 40, 'Number of steps to run the model for.') +flags.DEFINE_string('imset', 'test', '') +flags.DEFINE_string('base_dir', 'output', 'Cache directory.') + +def _get_suffix_str(): + return '' + + +def _load_trajectory(): + base_dir = FLAGS.base_dir + config_name = FLAGS.config_name+_get_suffix_str() + + dir_name = os.path.join(base_dir, FLAGS.type, config_name) + logging.info('Waiting for snapshot in directory %s.', dir_name) + last_checkpoint = slim.evaluation.wait_for_new_checkpoint(dir_name, None) + checkpoint_iter = int(os.path.basename(last_checkpoint).split('-')[1]) + + # Load the distances. + a = utils.load_variables(os.path.join(dir_name, 'bench_on_'+FLAGS.imset, + 'all_locs_at_t_{:d}.pkl'.format(checkpoint_iter))) + return a + +def _compute_hardness(): + # Load the stanford data to compute the hardness. + if FLAGS.type == '': + args = sna.get_args_for_config(FLAGS.config_name+'+bench_'+FLAGS.imset) + else: + args = sna.get_args_for_config(FLAGS.type+'.'+FLAGS.config_name+'+bench_'+FLAGS.imset) + + args.navtask.logdir = None + R = lambda: nav_env.get_multiplexer_class(args.navtask, 0) + R = R() + + rng_data = [np.random.RandomState(0), np.random.RandomState(0)] + + # Sample a room. + h_dists = [] + gt_dists = [] + for i in range(250): + e = R.sample_env(rng_data) + nodes = e.task.nodes + + # Initialize the agent. + init_env_state = e.reset(rng_data) + + gt_dist_to_goal = [e.episode.dist_to_goal[0][j][s] + for j, s in enumerate(e.episode.start_node_ids)] + + for j in range(args.navtask.task_params.batch_size): + start_node_id = e.episode.start_node_ids[j] + end_node_id =e.episode.goal_node_ids[0][j] + h_dist = graph_utils.heuristic_fn_vec( + nodes[[start_node_id],:], nodes[[end_node_id], :], + n_ori=args.navtask.task_params.n_ori, + step_size=args.navtask.task_params.step_size)[0][0] + gt_dist = e.episode.dist_to_goal[0][j][start_node_id] + h_dists.append(h_dist) + gt_dists.append(gt_dist) + + h_dists = np.array(h_dists) + gt_dists = np.array(gt_dists) + e = R.sample_env([np.random.RandomState(0), np.random.RandomState(0)]) + input = e.get_common_data() + orig_maps = input['orig_maps'][0,0,:,:,0] + return h_dists, gt_dists, orig_maps + +def plot_trajectory_first_person(dt, orig_maps, out_dir): + out_dir = os.path.join(out_dir, FLAGS.config_name+_get_suffix_str(), + FLAGS.imset) + fu.makedirs(out_dir) + + # Load the model so that we can render. + plt.set_cmap('gray') + samples_per_action = 8; wait_at_action = 0; + + Writer = animation.writers['mencoder'] + writer = Writer(fps=3*(samples_per_action+wait_at_action), + metadata=dict(artist='anonymous'), bitrate=1800) + + args = sna.get_args_for_config(FLAGS.config_name + '+bench_'+FLAGS.imset) + args.navtask.logdir = None + navtask_ = copy.deepcopy(args.navtask) + navtask_.camera_param.modalities = ['rgb'] + navtask_.task_params.modalities = ['rgb'] + sz = 512 + navtask_.camera_param.height = sz + navtask_.camera_param.width = sz + navtask_.task_params.img_height = sz + navtask_.task_params.img_width = sz + R = lambda: nav_env.get_multiplexer_class(navtask_, 0) + R = R() + b = R.buildings[0] + + f = [0 for _ in range(wait_at_action)] + \ + [float(_)/samples_per_action for _ in range(samples_per_action)]; + + # Generate things for it to render. + inds_to_do = [] + inds_to_do += [1, 4, 10] #1291, 1268, 1273, 1289, 1302, 1426, 1413, 1449, 1399, 1390] + + for i in inds_to_do: + fig = plt.figure(figsize=(10,8)) + gs = GridSpec(3,4) + gs.update(wspace=0.05, hspace=0.05, left=0.0, top=0.97, right=1.0, bottom=0.) + ax = fig.add_subplot(gs[:,:-1]) + ax1 = fig.add_subplot(gs[0,-1]) + ax2 = fig.add_subplot(gs[1,-1]) + ax3 = fig.add_subplot(gs[2,-1]) + axes = [ax, ax1, ax2, ax3] + # ax = fig.add_subplot(gs[:,:]) + # axes = [ax] + for ax in axes: + ax.set_axis_off() + + node_ids = dt['all_node_ids'][i, :, 0]*1 + # Prune so that last node is not repeated more than 3 times? + if np.all(node_ids[-4:] == node_ids[-1]): + while node_ids[-4] == node_ids[-1]: + node_ids = node_ids[:-1] + num_steps = np.minimum(FLAGS.num_steps, len(node_ids)) + + xyt = b.to_actual_xyt_vec(b.task.nodes[node_ids]) + xyt_diff = xyt[1:,:] - xyt[:-1:,:] + xyt_diff[:,2] = np.mod(xyt_diff[:,2], 4) + ind = np.where(xyt_diff[:,2] == 3)[0] + xyt_diff[ind, 2] = -1 + xyt_diff = np.expand_dims(xyt_diff, axis=1) + to_cat = [xyt_diff*_ for _ in f] + perturbs_all = np.concatenate(to_cat, axis=1) + perturbs_all = np.concatenate([perturbs_all, np.zeros_like(perturbs_all[:,:,:1])], axis=2) + node_ids_all = np.expand_dims(node_ids, axis=1)*1 + node_ids_all = np.concatenate([node_ids_all for _ in f], axis=1) + node_ids_all = np.reshape(node_ids_all[:-1,:], -1) + perturbs_all = np.reshape(perturbs_all, [-1, 4]) + imgs = b.render_nodes(b.task.nodes[node_ids_all,:], perturb=perturbs_all) + + # Get action at each node. + actions = [] + _, action_to_nodes = b.get_feasible_actions(node_ids) + for j in range(num_steps-1): + action_to_node = action_to_nodes[j] + node_to_action = dict(zip(action_to_node.values(), action_to_node.keys())) + actions.append(node_to_action[node_ids[j+1]]) + + def init_fn(): + return fig, + gt_dist_to_goal = [] + + # Render trajectories. + def worker(j): + # Plot the image. + step_number = j/(samples_per_action + wait_at_action) + img = imgs[j]; ax = axes[0]; ax.clear(); ax.set_axis_off(); + img = img.astype(np.uint8); ax.imshow(img); + tt = ax.set_title( + "First Person View\n" + + "Top corners show diagnostics (distance, agents' action) not input to agent.", + fontsize=12) + plt.setp(tt, color='white') + + # Distance to goal. + t = 'Dist to Goal:\n{:2d} steps'.format(int(dt['all_d_at_t'][i, step_number])) + t = ax.text(0.01, 0.99, t, + horizontalalignment='left', + verticalalignment='top', + fontsize=20, color='red', + transform=ax.transAxes, alpha=1.0) + t.set_bbox(dict(color='white', alpha=0.85, pad=-0.1)) + + # Action to take. + action_latex = ['$\odot$ ', '$\curvearrowright$ ', '$\curvearrowleft$ ', '$\Uparrow$ '] + t = ax.text(0.99, 0.99, action_latex[actions[step_number]], + horizontalalignment='right', + verticalalignment='top', + fontsize=40, color='green', + transform=ax.transAxes, alpha=1.0) + t.set_bbox(dict(color='white', alpha=0.85, pad=-0.1)) + + + # Plot the map top view. + ax = axes[-1] + if j == 0: + # Plot the map + locs = dt['all_locs'][i,:num_steps,:] + goal_loc = dt['all_goal_locs'][i,:,:] + xymin = np.minimum(np.min(goal_loc, axis=0), np.min(locs, axis=0)) + xymax = np.maximum(np.max(goal_loc, axis=0), np.max(locs, axis=0)) + xy1 = (xymax+xymin)/2. - 0.7*np.maximum(np.max(xymax-xymin), 24) + xy2 = (xymax+xymin)/2. + 0.7*np.maximum(np.max(xymax-xymin), 24) + + ax.set_axis_on() + ax.patch.set_facecolor((0.333, 0.333, 0.333)) + ax.set_xticks([]); ax.set_yticks([]); + ax.imshow(orig_maps, origin='lower', vmin=-1.0, vmax=2.0) + ax.plot(goal_loc[:,0], goal_loc[:,1], 'g*', markersize=12) + + locs = dt['all_locs'][i,:1,:] + ax.plot(locs[:,0], locs[:,1], 'b.', markersize=12) + + ax.set_xlim([xy1[0], xy2[0]]) + ax.set_ylim([xy1[1], xy2[1]]) + + locs = dt['all_locs'][i,step_number,:] + locs = np.expand_dims(locs, axis=0) + ax.plot(locs[:,0], locs[:,1], 'r.', alpha=1.0, linewidth=0, markersize=4) + tt = ax.set_title('Trajectory in topview', fontsize=14) + plt.setp(tt, color='white') + return fig, + + line_ani = animation.FuncAnimation(fig, worker, + (num_steps-1)*(wait_at_action+samples_per_action), + interval=500, blit=True, init_func=init_fn) + tmp_file_name = 'tmp.mp4' + line_ani.save(tmp_file_name, writer=writer, savefig_kwargs={'facecolor':'black'}) + out_file_name = os.path.join(out_dir, 'vis_{:04d}.mp4'.format(i)) + print out_file_name + + if fu.exists(out_file_name): + gfile.Remove(out_file_name) + gfile.Copy(tmp_file_name, out_file_name) + gfile.Remove(tmp_file_name) + plt.close(fig) + +def plot_trajectory(dt, hardness, orig_maps, out_dir): + out_dir = os.path.join(out_dir, FLAGS.config_name+_get_suffix_str(), + FLAGS.imset) + fu.makedirs(out_dir) + out_file = os.path.join(out_dir, 'all_locs_at_t.pkl') + dt['hardness'] = hardness + utils.save_variables(out_file, dt.values(), dt.keys(), overwrite=True) + + #Plot trajectories onto the maps + plt.set_cmap('gray') + for i in range(4000): + goal_loc = dt['all_goal_locs'][i, :, :] + locs = np.concatenate((dt['all_locs'][i,:,:], + dt['all_locs'][i,:,:]), axis=0) + xymin = np.minimum(np.min(goal_loc, axis=0), np.min(locs, axis=0)) + xymax = np.maximum(np.max(goal_loc, axis=0), np.max(locs, axis=0)) + xy1 = (xymax+xymin)/2. - 1.*np.maximum(np.max(xymax-xymin), 24) + xy2 = (xymax+xymin)/2. + 1.*np.maximum(np.max(xymax-xymin), 24) + + fig, ax = utils.tight_imshow_figure(plt, figsize=(6,6)) + ax.set_axis_on() + ax.patch.set_facecolor((0.333, 0.333, 0.333)) + ax.set_xticks([]) + ax.set_yticks([]) + + all_locs = dt['all_locs'][i,:,:]*1 + uniq = np.where(np.any(all_locs[1:,:] != all_locs[:-1,:], axis=1))[0]+1 + uniq = np.sort(uniq).tolist() + uniq.insert(0,0) + uniq = np.array(uniq) + all_locs = all_locs[uniq, :] + + ax.plot(dt['all_locs'][i, 0, 0], + dt['all_locs'][i, 0, 1], 'b.', markersize=24) + ax.plot(dt['all_goal_locs'][i, 0, 0], + dt['all_goal_locs'][i, 0, 1], 'g*', markersize=19) + ax.plot(all_locs[:,0], all_locs[:,1], 'r', alpha=0.4, linewidth=2) + ax.scatter(all_locs[:,0], all_locs[:,1], + c=5+np.arange(all_locs.shape[0])*1./all_locs.shape[0], + cmap='Reds', s=30, linewidth=0) + ax.imshow(orig_maps, origin='lower', vmin=-1.0, vmax=2.0, aspect='equal') + ax.set_xlim([xy1[0], xy2[0]]) + ax.set_ylim([xy1[1], xy2[1]]) + + file_name = os.path.join(out_dir, 'trajectory_{:04d}.png'.format(i)) + print file_name + with fu.fopen(file_name, 'w') as f: + plt.savefig(f) + plt.close(fig) + + +def main(_): + a = _load_trajectory() + h_dists, gt_dists, orig_maps = _compute_hardness() + hardness = 1.-h_dists*1./ gt_dists + + if FLAGS.top_view: + plot_trajectory(a, hardness, orig_maps, out_dir=FLAGS.out_dir) + + if FLAGS.first_person: + plot_trajectory_first_person(a, orig_maps, out_dir=FLAGS.out_dir) + +if __name__ == '__main__': + app.run() diff --git a/cognitive_mapping_and_planning/scripts/script_preprocess_annoations_S3DIS.py b/cognitive_mapping_and_planning/scripts/script_preprocess_annoations_S3DIS.py new file mode 100644 index 000000000..58f32d121 --- /dev/null +++ b/cognitive_mapping_and_planning/scripts/script_preprocess_annoations_S3DIS.py @@ -0,0 +1,197 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +import os +import glob +import numpy as np +import logging +import cPickle +from datasets import nav_env +from datasets import factory +from src import utils +from src import map_utils as mu + +logging.basicConfig(level=logging.INFO) +DATA_DIR = 'data/stanford_building_parser_dataset_raw/' + +mkdir_if_missing = utils.mkdir_if_missing +save_variables = utils.save_variables + +def _get_semantic_maps(building_name, transform, map_, flip, cats): + rooms = get_room_in_building(building_name) + maps = [] + for cat in cats: + maps.append(np.zeros((map_.size[1], map_.size[0]))) + + for r in rooms: + room = load_room(building_name, r, category_list=cats) + classes = room['class_id'] + for i, cat in enumerate(cats): + c_ind = cats.index(cat) + ind = [_ for _, c in enumerate(classes) if c == c_ind] + if len(ind) > 0: + vs = [room['vertexs'][x]*1 for x in ind] + vs = np.concatenate(vs, axis=0) + if transform: + vs = np.array([vs[:,1], vs[:,0], vs[:,2]]).T + vs[:,0] = -vs[:,0] + vs[:,1] += 4.20 + vs[:,0] += 6.20 + vs = vs*100. + if flip: + vs[:,1] = -vs[:,1] + maps[i] = maps[i] + \ + mu._project_to_map(map_, vs, ignore_points_outside_map=True) + return maps + +def _map_building_name(building_name): + b = int(building_name.split('_')[0][4]) + out_name = 'Area_{:d}'.format(b) + if b == 5: + if int(building_name.split('_')[0][5]) == 1: + transform = True + else: + transform = False + else: + transform = False + return out_name, transform + +def get_categories(): + cats = ['beam', 'board', 'bookcase', 'ceiling', 'chair', 'clutter', 'column', + 'door', 'floor', 'sofa', 'table', 'wall', 'window'] + return cats + +def _write_map_files(b_in, b_out, transform): + cats = get_categories() + + env = utils.Foo(padding=10, resolution=5, num_point_threshold=2, + valid_min=-10, valid_max=200, n_samples_per_face=200) + robot = utils.Foo(radius=15, base=10, height=140, sensor_height=120, + camera_elevation_degree=-15) + + building_loader = factory.get_dataset('sbpd') + for flip in [False, True]: + b = nav_env.Building(b_out, robot, env, flip=flip, + building_loader=building_loader) + logging.info("building_in: %s, building_out: %s, transform: %d", b_in, + b_out, transform) + maps = _get_semantic_maps(b_in, transform, b.map, flip, cats) + maps = np.transpose(np.array(maps), axes=[1,2,0]) + + # Load file from the cache. + file_name = '{:s}_{:d}_{:d}_{:d}_{:d}_{:d}_{:d}.pkl' + file_name = file_name.format(b.building_name, b.map.size[0], b.map.size[1], + b.map.origin[0], b.map.origin[1], + b.map.resolution, flip) + out_file = os.path.join(DATA_DIR, 'processing', 'class-maps', file_name) + logging.info('Writing semantic maps to %s.', out_file) + save_variables(out_file, [maps, cats], ['maps', 'cats'], overwrite=True) + +def _transform_area5b(room_dimension): + for a in room_dimension.keys(): + r = room_dimension[a]*1 + r[[0,1,3,4]] = r[[1,0,4,3]] + r[[0,3]] = -r[[3,0]] + r[[1,4]] += 4.20 + r[[0,3]] += 6.20 + room_dimension[a] = r + return room_dimension + +def collect_room(building_name, room_name): + room_dir = os.path.join(DATA_DIR, 'Stanford3dDataset_v1.2', building_name, + room_name, 'Annotations') + files = glob.glob1(room_dir, '*.txt') + files = sorted(files, key=lambda s: s.lower()) + vertexs = []; colors = []; + for f in files: + file_name = os.path.join(room_dir, f) + logging.info(' %s', file_name) + a = np.loadtxt(file_name) + vertex = a[:,:3]*1. + color = a[:,3:]*1 + color = color.astype(np.uint8) + vertexs.append(vertex) + colors.append(color) + files = [f.split('.')[0] for f in files] + out = {'vertexs': vertexs, 'colors': colors, 'names': files} + return out + +def load_room(building_name, room_name, category_list=None): + room = collect_room(building_name, room_name) + room['building_name'] = building_name + room['room_name'] = room_name + instance_id = range(len(room['names'])) + room['instance_id'] = instance_id + if category_list is not None: + name = [r.split('_')[0] for r in room['names']] + class_id = [] + for n in name: + if n in category_list: + class_id.append(category_list.index(n)) + else: + class_id.append(len(category_list)) + room['class_id'] = class_id + room['category_list'] = category_list + return room + +def get_room_in_building(building_name): + building_dir = os.path.join(DATA_DIR, 'Stanford3dDataset_v1.2', building_name) + rn = os.listdir(building_dir) + rn = [x for x in rn if os.path.isdir(os.path.join(building_dir, x))] + rn = sorted(rn, key=lambda s: s.lower()) + return rn + +def write_room_dimensions(b_in, b_out, transform): + rooms = get_room_in_building(b_in) + room_dimension = {} + for r in rooms: + room = load_room(b_in, r, category_list=None) + vertex = np.concatenate(room['vertexs'], axis=0) + room_dimension[r] = np.concatenate((np.min(vertex, axis=0), np.max(vertex, axis=0)), axis=0) + if transform == 1: + room_dimension = _transform_area5b(room_dimension) + + out_file = os.path.join(DATA_DIR, 'processing', 'room-dimension', b_out+'.pkl') + save_variables(out_file, [room_dimension], ['room_dimension'], overwrite=True) + +def write_room_dimensions_all(I): + mkdir_if_missing(os.path.join(DATA_DIR, 'processing', 'room-dimension')) + bs_in = ['Area_1', 'Area_2', 'Area_3', 'Area_4', 'Area_5', 'Area_5', 'Area_6'] + bs_out = ['area1', 'area2', 'area3', 'area4', 'area5a', 'area5b', 'area6'] + transforms = [0, 0, 0, 0, 0, 1, 0] + + for i in I: + b_in = bs_in[i] + b_out = bs_out[i] + t = transforms[i] + write_room_dimensions(b_in, b_out, t) + +def write_class_maps_all(I): + mkdir_if_missing(os.path.join(DATA_DIR, 'processing', 'class-maps')) + bs_in = ['Area_1', 'Area_2', 'Area_3', 'Area_4', 'Area_5', 'Area_5', 'Area_6'] + bs_out = ['area1', 'area2', 'area3', 'area4', 'area5a', 'area5b', 'area6'] + transforms = [0, 0, 0, 0, 0, 1, 0] + + for i in I: + b_in = bs_in[i] + b_out = bs_out[i] + t = transforms[i] + _write_map_files(b_in, b_out, t) + + +if __name__ == '__main__': + write_room_dimensions_all([0, 2, 3, 4, 5, 6]) + write_class_maps_all([0, 2, 3, 4, 5, 6]) + diff --git a/cognitive_mapping_and_planning/scripts/script_preprocess_annoations_S3DIS.sh b/cognitive_mapping_and_planning/scripts/script_preprocess_annoations_S3DIS.sh new file mode 100644 index 000000000..1384fabe6 --- /dev/null +++ b/cognitive_mapping_and_planning/scripts/script_preprocess_annoations_S3DIS.sh @@ -0,0 +1,24 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +cd data/stanford_building_parser_dataset_raw +unzip Stanford3dDataset_v1.2.zip +cd ../../ +PYOPENGL_PLATFORM=egl PYTHONPATH='.' python scripts/script_preprocess_annoations_S3DIS.py + +mv data/stanford_building_parser_dataset_raw/processing/room-dimension data/stanford_building_parser_dataset/. +mv data/stanford_building_parser_dataset_raw/processing/class-maps data/stanford_building_parser_dataset/. + +echo "You may now delete data/stanford_building_parser_dataset_raw if needed." diff --git a/cognitive_mapping_and_planning/scripts/script_preprocess_meshes_S3DIS.sh b/cognitive_mapping_and_planning/scripts/script_preprocess_meshes_S3DIS.sh new file mode 100644 index 000000000..557a4dde6 --- /dev/null +++ b/cognitive_mapping_and_planning/scripts/script_preprocess_meshes_S3DIS.sh @@ -0,0 +1,37 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +mkdir -p data/stanford_building_parser_dataset +mkdir -p data/stanford_building_parser_dataset/mesh +cd data/stanford_building_parser_dataset_raw + +# Untar the files and extract the meshes. +for t in "1" "3" "4" "5a" "5b" "6"; do + tar -xf area_"$t"_noXYZ.tar area_$t/3d/rgb_textures + mv area_$t/3d/rgb_textures ../stanford_building_parser_dataset/mesh/area$t + rmdir area_$t/3d + rmdir area_$t +done + +cd ../../ + +# Preprocess meshes to remove the group and chunk information. +cd data/stanford_building_parser_dataset/ +for t in "1" "3" "4" "5a" "5b" "6"; do + obj_name=`ls mesh/area$t/*.obj` + cp $obj_name "$obj_name".bck + cat $obj_name.bck | grep -v '^g' | grep -v '^o' > $obj_name +done +cd ../../ diff --git a/cognitive_mapping_and_planning/scripts/script_test_pretrained_models.sh b/cognitive_mapping_and_planning/scripts/script_test_pretrained_models.sh new file mode 100644 index 000000000..a4299fff5 --- /dev/null +++ b/cognitive_mapping_and_planning/scripts/script_test_pretrained_models.sh @@ -0,0 +1,63 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +# Test CMP models. +CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ + python scripts/script_nav_agent_release.py --config_name cmp.lmap_Msc.clip5.sbpd_d_r2r+bench_test \ + --logdir output/cmp.lmap_Msc.clip5.sbpd_d_r2r + +CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ + python scripts/script_nav_agent_release.py --config_name cmp.lmap_Msc.clip5.sbpd_rgb_r2r+bench_test \ + --logdir output/cmp.lmap_Msc.clip5.sbpd_rgb_r2r + +CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ + python scripts/script_nav_agent_release.py --config_name cmp.lmap_Msc.clip5.sbpd_d_ST+bench_test \ + --logdir output/cmp.lmap_Msc.clip5.sbpd_d_ST + +CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ + python scripts/script_nav_agent_release.py --config_name cmp.lmap_Msc.clip5.sbpd_rgb_ST+bench_test \ + --logdir output/cmp.lmap_Msc.clip5.sbpd_rgb_ST + +CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ + python scripts/script_nav_agent_release.py --config_name cmp.lmap_Msc.clip5.sbpd_d_r2r_h0_64_80+bench_test \ + --logdir output/cmp.lmap_Msc.clip5.sbpd_d_r2r_h0_64_80 + +# Test LSTM baseline models. +CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ + python scripts/script_nav_agent_release.py --config_name bl.v2.noclip.sbpd_d_r2r+bench_test \ + --logdir output/bl.v2.noclip.sbpd_d_r2r + +CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ + python scripts/script_nav_agent_release.py --config_name bl.v2.noclip.sbpd_rgb_r2r+bench_test \ + --logdir output/bl.v2.noclip.sbpd_rgb_r2r + +CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ + python scripts/script_nav_agent_release.py --config_name bl.v2.noclip.sbpd_d_ST+bench_test \ + --logdir output/bl.v2.noclip.sbpd_d_ST + +CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ + python scripts/script_nav_agent_release.py --config_name bl.v2.noclip.sbpd_rgb_ST+bench_test \ + --logdir output/bl.v2.noclip.sbpd_rgb_ST + +CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ + python scripts/script_nav_agent_release.py --config_name bl.v2.noclip.sbpd_d_r2r_h0_64_80+bench_test \ + --logdir output/bl.v2.noclip.sbpd_d_r2r_h0_64_80 + +# Visualize test trajectories in top view. +# CUDA_VISIBLE_DEVICES=0 LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:/opt/cudnnv51/lib64 PYTHONPATH='.' PYOPENGL_PLATFORM=egl \ +# python scripts/script_plot_trajectory.py \ +# --first_person --num_steps 40 \ +# --config_name cmp.lmap_Msc.clip5.sbpd_d_r2r \ +# --imset test --alsologtostderr diff --git a/cognitive_mapping_and_planning/src/__init__.py b/cognitive_mapping_and_planning/src/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/cognitive_mapping_and_planning/src/depth_utils.py b/cognitive_mapping_and_planning/src/depth_utils.py new file mode 100644 index 000000000..b1fb2f51e --- /dev/null +++ b/cognitive_mapping_and_planning/src/depth_utils.py @@ -0,0 +1,95 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utilities for processing depth images. +""" +import numpy as np +import src.rotation_utils as ru + +def get_camera_matrix(width, height, fov): + """Returns a camera matrix from image size and fov.""" + xc = (width-1.) / 2. + zc = (height-1.) / 2. + f = (width / 2.) / np.tan(np.deg2rad(fov / 2.)) + camera_matrix = utils.Foo(xc=xc, zc=zc, f=f) + return camera_matrix + +def get_point_cloud_from_z(Y, camera_matrix): + """Projects the depth image Y into a 3D point cloud. + Inputs: + Y is ...xHxW + camera_matrix + Outputs: + X is positive going right + Y is positive into the image + Z is positive up in the image + XYZ is ...xHxWx3 + """ + x, z = np.meshgrid(np.arange(Y.shape[-1]), + np.arange(Y.shape[-2]-1, -1, -1)) + for i in range(Y.ndim-2): + x = np.expand_dims(x, axis=0) + z = np.expand_dims(z, axis=0) + X = (x-camera_matrix.xc) * Y / camera_matrix.f + Z = (z-camera_matrix.zc) * Y / camera_matrix.f + XYZ = np.concatenate((X[...,np.newaxis], Y[...,np.newaxis], + Z[...,np.newaxis]), axis=X.ndim) + return XYZ + +def make_geocentric(XYZ, sensor_height, camera_elevation_degree): + """Transforms the point cloud into geocentric coordinate frame. + Input: + XYZ : ...x3 + sensor_height : height of the sensor + camera_elevation_degree : camera elevation to rectify. + Output: + XYZ : ...x3 + """ + R = ru.get_r_matrix([1.,0.,0.], angle=np.deg2rad(camera_elevation_degree)) + XYZ = np.matmul(XYZ.reshape(-1,3), R.T).reshape(XYZ.shape) + XYZ[...,2] = XYZ[...,2] + sensor_height + return XYZ + +def bin_points(XYZ_cms, map_size, z_bins, xy_resolution): + """Bins points into xy-z bins + XYZ_cms is ... x H x W x3 + Outputs is ... x map_size x map_size x (len(z_bins)+1) + """ + sh = XYZ_cms.shape + XYZ_cms = XYZ_cms.reshape([-1, sh[-3], sh[-2], sh[-1]]) + n_z_bins = len(z_bins)+1 + map_center = (map_size-1.)/2. + counts = [] + isvalids = [] + for XYZ_cm in XYZ_cms: + isnotnan = np.logical_not(np.isnan(XYZ_cm[:,:,0])) + X_bin = np.round(XYZ_cm[:,:,0] / xy_resolution + map_center).astype(np.int32) + Y_bin = np.round(XYZ_cm[:,:,1] / xy_resolution + map_center).astype(np.int32) + Z_bin = np.digitize(XYZ_cm[:,:,2], bins=z_bins).astype(np.int32) + + isvalid = np.array([X_bin >= 0, X_bin < map_size, Y_bin >= 0, Y_bin < map_size, + Z_bin >= 0, Z_bin < n_z_bins, isnotnan]) + isvalid = np.all(isvalid, axis=0) + + ind = (Y_bin * map_size + X_bin) * n_z_bins + Z_bin + ind[np.logical_not(isvalid)] = 0 + count = np.bincount(ind.ravel(), isvalid.ravel().astype(np.int32), + minlength=map_size*map_size*n_z_bins) + count = np.reshape(count, [map_size, map_size, n_z_bins]) + counts.append(count) + isvalids.append(isvalid) + counts = np.array(counts).reshape(list(sh[:-3]) + [map_size, map_size, n_z_bins]) + isvalids = np.array(isvalids).reshape(list(sh[:-3]) + [sh[-3], sh[-2], 1]) + return counts, isvalids diff --git a/cognitive_mapping_and_planning/src/file_utils.py b/cognitive_mapping_and_planning/src/file_utils.py new file mode 100644 index 000000000..5bf0e4a2e --- /dev/null +++ b/cognitive_mapping_and_planning/src/file_utils.py @@ -0,0 +1,41 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utilities for manipulating files. +""" +import os +import PIL +from tensorflow.python.platform import gfile +import cv2 + +exists = lambda path: gfile.Exists(path) +fopen = lambda path, mode: gfile.Open(path, mode) +makedirs = lambda path: gfile.MakeDirs(path) +listdir = lambda path: gfile.ListDir(path) +copyfile = lambda a, b, o: gfile.Copy(a,b,o) + +def write_image(image_path, rgb): + ext = os.path.splitext(image_path)[1] + with gfile.GFile(image_path, 'w') as f: + img_str = cv2.imencode(ext, rgb[:,:,::-1])[1].tostring() + f.write(img_str) + +def read_image(image_path, type='rgb'): + with fopen(file_name, 'r') as f: + I = PIL.Image.open(f) + II = np.array(I) + if type == 'rgb': + II = II[:,:,:3] + return II diff --git a/cognitive_mapping_and_planning/src/graph_utils.py b/cognitive_mapping_and_planning/src/graph_utils.py new file mode 100644 index 000000000..d40eb62ca --- /dev/null +++ b/cognitive_mapping_and_planning/src/graph_utils.py @@ -0,0 +1,550 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Various function to manipulate graphs for computing distances. +""" +import skimage.morphology +import numpy as np +import networkx as nx +import itertools +import graph_tool as gt +import graph_tool.topology +import graph_tool.generation +import src.utils as utils + +# Compute shortest path from all nodes to or from all source nodes +def get_distance_node_list(gtG, source_nodes, direction, weights=None): + gtG_ = gt.Graph(gtG) + v = gtG_.add_vertex() + + if weights is not None: + weights = gtG_.edge_properties[weights] + + for s in source_nodes: + e = gtG_.add_edge(s, int(v)) + if weights is not None: + weights[e] = 0. + + if direction == 'to': + dist = gt.topology.shortest_distance( + gt.GraphView(gtG_, reversed=True), source=gtG_.vertex(int(v)), + target=None, weights=weights) + elif direction == 'from': + dist = gt.topology.shortest_distance( + gt.GraphView(gtG_, reversed=False), source=gtG_.vertex(int(v)), + target=None, weights=weights) + dist = np.array(dist.get_array()) + dist = dist[:-1] + if weights is None: + dist = dist-1 + return dist + +# Functions for semantically labelling nodes in the traversal graph. +def generate_lattice(sz_x, sz_y): + """Generates a lattice with sz_x vertices along x and sz_y vertices along y + direction Each of these vertices is step_size distance apart. Origin is at + (0,0). """ + g = gt.generation.lattice([sz_x, sz_y]) + x, y = np.meshgrid(np.arange(sz_x), np.arange(sz_y)) + x = np.reshape(x, [-1,1]); y = np.reshape(y, [-1,1]); + nodes = np.concatenate((x,y), axis=1) + return g, nodes + +def add_diagonal_edges(g, nodes, sz_x, sz_y, edge_len): + offset = [sz_x+1, sz_x-1] + for o in offset: + s = np.arange(nodes.shape[0]-o-1) + t = s + o + ind = np.all(np.abs(nodes[s,:] - nodes[t,:]) == np.array([[1,1]]), axis=1) + s = s[ind][:,np.newaxis] + t = t[ind][:,np.newaxis] + st = np.concatenate((s,t), axis=1) + for i in range(st.shape[0]): + e = g.add_edge(st[i,0], st[i,1], add_missing=False) + g.ep['wts'][e] = edge_len + +def convert_traversible_to_graph(traversible, ff_cost=1., fo_cost=1., + oo_cost=1., connectivity=4): + assert(connectivity == 4 or connectivity == 8) + + sz_x = traversible.shape[1] + sz_y = traversible.shape[0] + g, nodes = generate_lattice(sz_x, sz_y) + + # Assign costs. + edge_wts = g.new_edge_property('float') + g.edge_properties['wts'] = edge_wts + wts = np.ones(g.num_edges(), dtype=np.float32) + edge_wts.get_array()[:] = wts + + if connectivity == 8: + add_diagonal_edges(g, nodes, sz_x, sz_y, np.sqrt(2.)) + + se = np.array([[int(e.source()), int(e.target())] for e in g.edges()]) + s_xy = nodes[se[:,0]] + t_xy = nodes[se[:,1]] + s_t = np.ravel_multi_index((s_xy[:,1], s_xy[:,0]), traversible.shape) + t_t = np.ravel_multi_index((t_xy[:,1], t_xy[:,0]), traversible.shape) + s_t = traversible.ravel()[s_t] + t_t = traversible.ravel()[t_t] + + wts = np.zeros(g.num_edges(), dtype=np.float32) + wts[np.logical_and(s_t == True, t_t == True)] = ff_cost + wts[np.logical_and(s_t == False, t_t == False)] = oo_cost + wts[np.logical_xor(s_t, t_t)] = fo_cost + + edge_wts = g.edge_properties['wts'] + for i, e in enumerate(g.edges()): + edge_wts[e] = edge_wts[e] * wts[i] + # d = edge_wts.get_array()*1. + # edge_wts.get_array()[:] = d*wts + return g, nodes + +def label_nodes_with_class(nodes_xyt, class_maps, pix): + """ + Returns: + class_maps__: one-hot class_map for each class. + node_class_label: one-hot class_map for each class, nodes_xyt.shape[0] x n_classes + """ + # Assign each pixel to a node. + selem = skimage.morphology.disk(pix) + class_maps_ = class_maps*1. + for i in range(class_maps.shape[2]): + class_maps_[:,:,i] = skimage.morphology.dilation(class_maps[:,:,i]*1, selem) + class_maps__ = np.argmax(class_maps_, axis=2) + class_maps__[np.max(class_maps_, axis=2) == 0] = -1 + + # For each node pick out the label from this class map. + x = np.round(nodes_xyt[:,[0]]).astype(np.int32) + y = np.round(nodes_xyt[:,[1]]).astype(np.int32) + ind = np.ravel_multi_index((y,x), class_maps__.shape) + node_class_label = class_maps__.ravel()[ind][:,0] + + # Convert to one hot versions. + class_maps_one_hot = np.zeros(class_maps.shape, dtype=np.bool) + node_class_label_one_hot = np.zeros((node_class_label.shape[0], class_maps.shape[2]), dtype=np.bool) + for i in range(class_maps.shape[2]): + class_maps_one_hot[:,:,i] = class_maps__ == i + node_class_label_one_hot[:,i] = node_class_label == i + return class_maps_one_hot, node_class_label_one_hot + +def label_nodes_with_class_geodesic(nodes_xyt, class_maps, pix, traversible, + ff_cost=1., fo_cost=1., oo_cost=1., + connectivity=4): + """Labels nodes in nodes_xyt with class labels using geodesic distance as + defined by traversible from class_maps. + Inputs: + nodes_xyt + class_maps: counts for each class. + pix: distance threshold to consider close enough to target. + traversible: binary map of whether traversible or not. + Output: + labels: For each node in nodes_xyt returns a label of the class or -1 is + unlabelled. + """ + g, nodes = convert_traversible_to_graph(traversible, ff_cost=ff_cost, + fo_cost=fo_cost, oo_cost=oo_cost, + connectivity=connectivity) + + class_dist = np.zeros_like(class_maps*1.) + n_classes = class_maps.shape[2] + if False: + # Assign each pixel to a class based on number of points. + selem = skimage.morphology.disk(pix) + class_maps_ = class_maps*1. + class_maps__ = np.argmax(class_maps_, axis=2) + class_maps__[np.max(class_maps_, axis=2) == 0] = -1 + + # Label nodes with classes. + for i in range(n_classes): + # class_node_ids = np.where(class_maps__.ravel() == i)[0] + class_node_ids = np.where(class_maps[:,:,i].ravel() > 0)[0] + dist_i = get_distance_node_list(g, class_node_ids, 'to', weights='wts') + class_dist[:,:,i] = np.reshape(dist_i, class_dist[:,:,i].shape) + class_map_geodesic = (class_dist <= pix) + class_map_geodesic = np.reshape(class_map_geodesic, [-1, n_classes]) + + # For each node pick out the label from this class map. + x = np.round(nodes_xyt[:,[0]]).astype(np.int32) + y = np.round(nodes_xyt[:,[1]]).astype(np.int32) + ind = np.ravel_multi_index((y,x), class_dist[:,:,0].shape) + node_class_label = class_map_geodesic[ind[:,0],:] + class_map_geodesic = class_dist <= pix + return class_map_geodesic, node_class_label + +def _get_next_nodes_undirected(n, sc, n_ori): + nodes_to_add = [] + nodes_to_validate = [] + (p, q, r) = n + nodes_to_add.append((n, (p, q, r), 0)) + if n_ori == 4: + for _ in [1, 2, 3, 4]: + if _ == 1: + v = (p - sc, q, r) + elif _ == 2: + v = (p + sc, q, r) + elif _ == 3: + v = (p, q - sc, r) + elif _ == 4: + v = (p, q + sc, r) + nodes_to_validate.append((n, v, _)) + return nodes_to_add, nodes_to_validate + +def _get_next_nodes(n, sc, n_ori): + nodes_to_add = [] + nodes_to_validate = [] + (p, q, r) = n + for r_, a_ in zip([-1, 0, 1], [1, 0, 2]): + nodes_to_add.append((n, (p, q, np.mod(r+r_, n_ori)), a_)) + + if n_ori == 6: + if r == 0: + v = (p + sc, q, r) + elif r == 1: + v = (p + sc, q + sc, r) + elif r == 2: + v = (p, q + sc, r) + elif r == 3: + v = (p - sc, q, r) + elif r == 4: + v = (p - sc, q - sc, r) + elif r == 5: + v = (p, q - sc, r) + elif n_ori == 4: + if r == 0: + v = (p + sc, q, r) + elif r == 1: + v = (p, q + sc, r) + elif r == 2: + v = (p - sc, q, r) + elif r == 3: + v = (p, q - sc, r) + nodes_to_validate.append((n,v,3)) + + return nodes_to_add, nodes_to_validate + +def generate_graph(valid_fn_vec=None, sc=1., n_ori=6, + starting_location=(0, 0, 0), vis=False, directed=True): + timer = utils.Timer() + timer.tic() + if directed: G = nx.DiGraph(directed=True) + else: G = nx.Graph() + G.add_node(starting_location) + new_nodes = G.nodes() + while len(new_nodes) != 0: + nodes_to_add = [] + nodes_to_validate = [] + for n in new_nodes: + if directed: + na, nv = _get_next_nodes(n, sc, n_ori) + else: + na, nv = _get_next_nodes_undirected(n, sc, n_ori) + nodes_to_add = nodes_to_add + na + if valid_fn_vec is not None: + nodes_to_validate = nodes_to_validate + nv + else: + node_to_add = nodes_to_add + nv + + # Validate nodes. + vs = [_[1] for _ in nodes_to_validate] + valids = valid_fn_vec(vs) + + for nva, valid in zip(nodes_to_validate, valids): + if valid: + nodes_to_add.append(nva) + + new_nodes = [] + for n,v,a in nodes_to_add: + if not G.has_node(v): + new_nodes.append(v) + G.add_edge(n, v, action=a) + + timer.toc(average=True, log_at=1, log_str='src.graph_utils.generate_graph') + return (G) + +def vis_G(G, ax, vertex_color='r', edge_color='b', r=None): + if edge_color is not None: + for e in G.edges(): + XYT = zip(*e) + x = XYT[-3] + y = XYT[-2] + t = XYT[-1] + if r is None or t[0] == r: + ax.plot(x, y, edge_color) + if vertex_color is not None: + XYT = zip(*G.nodes()) + x = XYT[-3] + y = XYT[-2] + t = XYT[-1] + ax.plot(x, y, vertex_color + '.') + +def convert_to_graph_tool(G): + timer = utils.Timer() + timer.tic() + gtG = gt.Graph(directed=G.is_directed()) + gtG.ep['action'] = gtG.new_edge_property('int') + + nodes_list = G.nodes() + nodes_array = np.array(nodes_list) + + nodes_id = np.zeros((nodes_array.shape[0],), dtype=np.int64) + + for i in range(nodes_array.shape[0]): + v = gtG.add_vertex() + nodes_id[i] = int(v) + + # d = {key: value for (key, value) in zip(nodes_list, nodes_id)} + d = dict(itertools.izip(nodes_list, nodes_id)) + + for src, dst, data in G.edges_iter(data=True): + e = gtG.add_edge(d[src], d[dst]) + gtG.ep['action'][e] = data['action'] + nodes_to_id = d + timer.toc(average=True, log_at=1, log_str='src.graph_utils.convert_to_graph_tool') + return gtG, nodes_array, nodes_to_id + + +def _rejection_sampling(rng, sampling_d, target_d, bins, hardness, M): + bin_ind = np.digitize(hardness, bins)-1 + i = 0 + ratio = target_d[bin_ind] / (M*sampling_d[bin_ind]) + while i < ratio.size and rng.rand() > ratio[i]: + i = i+1 + return i + +def heuristic_fn_vec(n1, n2, n_ori, step_size): + # n1 is a vector and n2 is a single point. + dx = (n1[:,0] - n2[0,0])/step_size + dy = (n1[:,1] - n2[0,1])/step_size + dt = n1[:,2] - n2[0,2] + dt = np.mod(dt, n_ori) + dt = np.minimum(dt, n_ori-dt) + + if n_ori == 6: + if dx*dy > 0: + d = np.maximum(np.abs(dx), np.abs(dy)) + else: + d = np.abs(dy-dx) + elif n_ori == 4: + d = np.abs(dx) + np.abs(dy) + + return (d + dt).reshape((-1,1)) + +def get_hardness_distribution(gtG, max_dist, min_dist, rng, trials, bins, nodes, + n_ori, step_size): + heuristic_fn = lambda node_ids, node_id: \ + heuristic_fn_vec(nodes[node_ids, :], nodes[[node_id], :], n_ori, step_size) + num_nodes = gtG.num_vertices() + gt_dists = []; h_dists = []; + for i in range(trials): + end_node_id = rng.choice(num_nodes) + gt_dist = gt.topology.shortest_distance(gt.GraphView(gtG, reversed=True), + source=gtG.vertex(end_node_id), + target=None, max_dist=max_dist) + gt_dist = np.array(gt_dist.get_array()) + ind = np.where(np.logical_and(gt_dist <= max_dist, gt_dist >= min_dist))[0] + gt_dist = gt_dist[ind] + h_dist = heuristic_fn(ind, end_node_id)[:,0] + gt_dists.append(gt_dist) + h_dists.append(h_dist) + gt_dists = np.concatenate(gt_dists) + h_dists = np.concatenate(h_dists) + hardness = 1. - h_dists*1./gt_dists + hist, _ = np.histogram(hardness, bins) + hist = hist.astype(np.float64) + hist = hist / np.sum(hist) + return hist + +def rng_next_goal_rejection_sampling(start_node_ids, batch_size, gtG, rng, + max_dist, min_dist, max_dist_to_compute, + sampling_d, target_d, + nodes, n_ori, step_size, bins, M): + sample_start_nodes = start_node_ids is None + dists = []; pred_maps = []; end_node_ids = []; start_node_ids_ = []; + hardnesss = []; gt_dists = []; + num_nodes = gtG.num_vertices() + for i in range(batch_size): + done = False + while not done: + if sample_start_nodes: + start_node_id = rng.choice(num_nodes) + else: + start_node_id = start_node_ids[i] + + gt_dist = gt.topology.shortest_distance( + gt.GraphView(gtG, reversed=False), source=start_node_id, target=None, + max_dist=max_dist) + gt_dist = np.array(gt_dist.get_array()) + ind = np.where(np.logical_and(gt_dist <= max_dist, gt_dist >= min_dist))[0] + ind = rng.permutation(ind) + gt_dist = gt_dist[ind]*1. + h_dist = heuristic_fn_vec(nodes[ind, :], nodes[[start_node_id], :], + n_ori, step_size)[:,0] + hardness = 1. - h_dist / gt_dist + sampled_ind = _rejection_sampling(rng, sampling_d, target_d, bins, + hardness, M) + if sampled_ind < ind.size: + # print sampled_ind + end_node_id = ind[sampled_ind] + hardness = hardness[sampled_ind] + gt_dist = gt_dist[sampled_ind] + done = True + + # Compute distance from end node to all nodes, to return. + dist, pred_map = gt.topology.shortest_distance( + gt.GraphView(gtG, reversed=True), source=end_node_id, target=None, + max_dist=max_dist_to_compute, pred_map=True) + dist = np.array(dist.get_array()) + pred_map = np.array(pred_map.get_array()) + + hardnesss.append(hardness); dists.append(dist); pred_maps.append(pred_map); + start_node_ids_.append(start_node_id); end_node_ids.append(end_node_id); + gt_dists.append(gt_dist); + paths = None + return start_node_ids_, end_node_ids, dists, pred_maps, paths, hardnesss, gt_dists + + +def rng_next_goal(start_node_ids, batch_size, gtG, rng, max_dist, + max_dist_to_compute, node_room_ids, nodes=None, + compute_path=False, dists_from_start_node=None): + # Compute the distance field from the starting location, and then pick a + # destination in another room if possible otherwise anywhere outside this + # room. + dists = []; pred_maps = []; paths = []; end_node_ids = []; + for i in range(batch_size): + room_id = node_room_ids[start_node_ids[i]] + # Compute distances. + if dists_from_start_node == None: + dist, pred_map = gt.topology.shortest_distance( + gt.GraphView(gtG, reversed=False), source=gtG.vertex(start_node_ids[i]), + target=None, max_dist=max_dist_to_compute, pred_map=True) + dist = np.array(dist.get_array()) + else: + dist = dists_from_start_node[i] + + # Randomly sample nodes which are within max_dist. + near_ids = dist <= max_dist + near_ids = near_ids[:, np.newaxis] + # Check to see if there is a non-negative node which is close enough. + non_same_room_ids = node_room_ids != room_id + non_hallway_ids = node_room_ids != -1 + good1_ids = np.logical_and(near_ids, np.logical_and(non_same_room_ids, non_hallway_ids)) + good2_ids = np.logical_and(near_ids, non_hallway_ids) + good3_ids = near_ids + if np.any(good1_ids): + end_node_id = rng.choice(np.where(good1_ids)[0]) + elif np.any(good2_ids): + end_node_id = rng.choice(np.where(good2_ids)[0]) + elif np.any(good3_ids): + end_node_id = rng.choice(np.where(good3_ids)[0]) + else: + logging.error('Did not find any good nodes.') + + # Compute distance to this new goal for doing distance queries. + dist, pred_map = gt.topology.shortest_distance( + gt.GraphView(gtG, reversed=True), source=gtG.vertex(end_node_id), + target=None, max_dist=max_dist_to_compute, pred_map=True) + dist = np.array(dist.get_array()) + pred_map = np.array(pred_map.get_array()) + + dists.append(dist) + pred_maps.append(pred_map) + end_node_ids.append(end_node_id) + + path = None + if compute_path: + path = get_path_ids(start_node_ids[i], end_node_ids[i], pred_map) + paths.append(path) + + return start_node_ids, end_node_ids, dists, pred_maps, paths + + +def rng_room_to_room(batch_size, gtG, rng, max_dist, max_dist_to_compute, + node_room_ids, nodes=None, compute_path=False): + # Sample one of the rooms, compute the distance field. Pick a destination in + # another room if possible otherwise anywhere outside this room. + dists = []; pred_maps = []; paths = []; start_node_ids = []; end_node_ids = []; + room_ids = np.unique(node_room_ids[node_room_ids[:,0] >= 0, 0]) + for i in range(batch_size): + room_id = rng.choice(room_ids) + end_node_id = rng.choice(np.where(node_room_ids[:,0] == room_id)[0]) + end_node_ids.append(end_node_id) + + # Compute distances. + dist, pred_map = gt.topology.shortest_distance( + gt.GraphView(gtG, reversed=True), source=gtG.vertex(end_node_id), + target=None, max_dist=max_dist_to_compute, pred_map=True) + dist = np.array(dist.get_array()) + pred_map = np.array(pred_map.get_array()) + dists.append(dist) + pred_maps.append(pred_map) + + # Randomly sample nodes which are within max_dist. + near_ids = dist <= max_dist + near_ids = near_ids[:, np.newaxis] + + # Check to see if there is a non-negative node which is close enough. + non_same_room_ids = node_room_ids != room_id + non_hallway_ids = node_room_ids != -1 + good1_ids = np.logical_and(near_ids, np.logical_and(non_same_room_ids, non_hallway_ids)) + good2_ids = np.logical_and(near_ids, non_hallway_ids) + good3_ids = near_ids + if np.any(good1_ids): + start_node_id = rng.choice(np.where(good1_ids)[0]) + elif np.any(good2_ids): + start_node_id = rng.choice(np.where(good2_ids)[0]) + elif np.any(good3_ids): + start_node_id = rng.choice(np.where(good3_ids)[0]) + else: + logging.error('Did not find any good nodes.') + + start_node_ids.append(start_node_id) + + path = None + if compute_path: + path = get_path_ids(start_node_ids[i], end_node_ids[i], pred_map) + paths.append(path) + + return start_node_ids, end_node_ids, dists, pred_maps, paths + + +def rng_target_dist_field(batch_size, gtG, rng, max_dist, max_dist_to_compute, + nodes=None, compute_path=False): + # Sample a single node, compute distance to all nodes less than max_dist, + # sample nodes which are a particular distance away. + dists = []; pred_maps = []; paths = []; start_node_ids = [] + end_node_ids = rng.choice(gtG.num_vertices(), size=(batch_size,), + replace=False).tolist() + + for i in range(batch_size): + dist, pred_map = gt.topology.shortest_distance( + gt.GraphView(gtG, reversed=True), source=gtG.vertex(end_node_ids[i]), + target=None, max_dist=max_dist_to_compute, pred_map=True) + dist = np.array(dist.get_array()) + pred_map = np.array(pred_map.get_array()) + dists.append(dist) + pred_maps.append(pred_map) + + # Randomly sample nodes which are withing max_dist + near_ids = np.where(dist <= max_dist)[0] + start_node_id = rng.choice(near_ids, size=(1,), replace=False)[0] + start_node_ids.append(start_node_id) + + path = None + if compute_path: + path = get_path_ids(start_node_ids[i], end_node_ids[i], pred_map) + paths.append(path) + + return start_node_ids, end_node_ids, dists, pred_maps, paths diff --git a/cognitive_mapping_and_planning/src/map_utils.py b/cognitive_mapping_and_planning/src/map_utils.py new file mode 100644 index 000000000..1298bff24 --- /dev/null +++ b/cognitive_mapping_and_planning/src/map_utils.py @@ -0,0 +1,244 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Various function to compute the ground truth map for training etc. +""" +import copy +import skimage.morphology +import numpy as np +import scipy.ndimage +import matplotlib.pyplot as plt +import PIL + +import src.utils as utils +import cv2 + +def _get_xy_bounding_box(vertex, padding): + """Returns the xy bounding box of the environment.""" + min_ = np.floor(np.min(vertex[:, :2], axis=0) - padding).astype(np.int) + max_ = np.ceil(np.max(vertex[:, :2], axis=0) + padding).astype(np.int) + return min_, max_ + +def _project_to_map(map, vertex, wt=None, ignore_points_outside_map=False): + """Projects points to map, returns how many points are present at each + location.""" + num_points = np.zeros((map.size[1], map.size[0])) + vertex_ = vertex[:, :2] - map.origin + vertex_ = np.round(vertex_ / map.resolution).astype(np.int) + if ignore_points_outside_map: + good_ind = np.all(np.array([vertex_[:,1] >= 0, vertex_[:,1] < map.size[1], + vertex_[:,0] >= 0, vertex_[:,0] < map.size[0]]), + axis=0) + vertex_ = vertex_[good_ind, :] + if wt is not None: + wt = wt[good_ind, :] + if wt is None: + np.add.at(num_points, (vertex_[:, 1], vertex_[:, 0]), 1) + else: + assert(wt.shape[0] == vertex.shape[0]), \ + 'number of weights should be same as vertices.' + np.add.at(num_points, (vertex_[:, 1], vertex_[:, 0]), wt) + return num_points + +def make_map(padding, resolution, vertex=None, sc=1.): + """Returns a map structure.""" + min_, max_ = _get_xy_bounding_box(vertex*sc, padding=padding) + sz = np.ceil((max_ - min_ + 1) / resolution).astype(np.int32) + max_ = min_ + sz * resolution - 1 + map = utils.Foo(origin=min_, size=sz, max=max_, resolution=resolution, + padding=padding) + return map + +def _fill_holes(img, thresh): + """Fills holes less than thresh area (assumes 4 connectivity when computing + hole area.""" + l, n = scipy.ndimage.label(np.logical_not(img)) + img_ = img == True + cnts = np.bincount(l.reshape(-1)) + for i, cnt in enumerate(cnts): + if cnt < thresh: + l[l == i] = -1 + img_[l == -1] = True + return img_ + +def compute_traversibility(map, robot_base, robot_height, robot_radius, + valid_min, valid_max, num_point_threshold, shapess, + sc=100., n_samples_per_face=200): + """Returns a bit map with pixels that are traversible or not as long as the + robot center is inside this volume we are good colisions can be detected by + doing a line search on things, or walking from current location to final + location in the bitmap, or doing bwlabel on the traversibility map.""" + + tt = utils.Timer() + tt.tic() + num_obstcale_points = np.zeros((map.size[1], map.size[0])) + num_points = np.zeros((map.size[1], map.size[0])) + + for i, shapes in enumerate(shapess): + for j in range(shapes.get_number_of_meshes()): + p, face_areas, face_idx = shapes.sample_points_on_face_of_shape( + j, n_samples_per_face, sc) + wt = face_areas[face_idx]/n_samples_per_face + + ind = np.all(np.concatenate( + (p[:, [2]] > robot_base, + p[:, [2]] < robot_base + robot_height), axis=1),axis=1) + num_obstcale_points += _project_to_map(map, p[ind, :], wt[ind]) + + ind = np.all(np.concatenate( + (p[:, [2]] > valid_min, + p[:, [2]] < valid_max), axis=1),axis=1) + num_points += _project_to_map(map, p[ind, :], wt[ind]) + + selem = skimage.morphology.disk(robot_radius / map.resolution) + obstacle_free = skimage.morphology.binary_dilation( + _fill_holes(num_obstcale_points > num_point_threshold, 20), selem) != True + valid_space = _fill_holes(num_points > num_point_threshold, 20) + traversible = np.all(np.concatenate((obstacle_free[...,np.newaxis], + valid_space[...,np.newaxis]), axis=2), + axis=2) + # plt.imshow(np.concatenate((obstacle_free, valid_space, traversible), axis=1)) + # plt.show() + + map_out = copy.deepcopy(map) + map_out.num_obstcale_points = num_obstcale_points + map_out.num_points = num_points + map_out.traversible = traversible + map_out.obstacle_free = obstacle_free + map_out.valid_space = valid_space + tt.toc(log_at=1, log_str='src.map_utils.compute_traversibility: ') + return map_out + + +def resize_maps(map, map_scales, resize_method): + scaled_maps = [] + for i, sc in enumerate(map_scales): + if resize_method == 'antialiasing': + # Resize using open cv so that we can compute the size. + # Use PIL resize to use anti aliasing feature. + map_ = cv2.resize(map*1, None, None, fx=sc, fy=sc, interpolation=cv2.INTER_LINEAR) + w = map_.shape[1]; h = map_.shape[0] + + map_img = PIL.Image.fromarray((map*255).astype(np.uint8)) + map__img = map_img.resize((w,h), PIL.Image.ANTIALIAS) + map_ = np.asarray(map__img).astype(np.float32) + map_ = map_/255. + map_ = np.minimum(map_, 1.0) + map_ = np.maximum(map_, 0.0) + elif resize_method == 'linear_noantialiasing': + map_ = cv2.resize(map*1, None, None, fx=sc, fy=sc, interpolation=cv2.INTER_LINEAR) + else: + logging.error('Unknown resizing method') + scaled_maps.append(map_) + return scaled_maps + + +def pick_largest_cc(traversible): + out = scipy.ndimage.label(traversible)[0] + cnt = np.bincount(out.reshape(-1))[1:] + return out == np.argmax(cnt) + 1 + +def get_graph_origin_loc(rng, traversible): + """Erode the traversibility mask so that we get points in the bulk of the + graph, and not end up with a situation where the graph is localized in the + corner of a cramped room. Output Locs is in the coordinate frame of the + map.""" + + aa = pick_largest_cc(skimage.morphology.binary_erosion(traversible == True, + selem=np.ones((15,15)))) + y, x = np.where(aa > 0) + ind = rng.choice(y.size) + locs = np.array([x[ind], y[ind]]) + locs = locs + rng.rand(*(locs.shape)) - 0.5 + return locs + + +def generate_egocentric_maps(scaled_maps, map_scales, map_crop_sizes, loc, + x_axis, y_axis, theta): + maps = [] + for i, (map_, sc, map_crop_size) in enumerate(zip(scaled_maps, map_scales, map_crop_sizes)): + maps_i = np.array(get_map_to_predict(loc*sc, x_axis, y_axis, map_, + map_crop_size, + interpolation=cv2.INTER_LINEAR)[0]) + maps_i[np.isnan(maps_i)] = 0 + maps.append(maps_i) + return maps + +def generate_goal_images(map_scales, map_crop_sizes, n_ori, goal_dist, + goal_theta, rel_goal_orientation): + goal_dist = goal_dist[:,0] + goal_theta = goal_theta[:,0] + rel_goal_orientation = rel_goal_orientation[:,0] + + goals = []; + # Generate the map images. + for i, (sc, map_crop_size) in enumerate(zip(map_scales, map_crop_sizes)): + goal_i = np.zeros((goal_dist.shape[0], map_crop_size, map_crop_size, n_ori), + dtype=np.float32) + x = goal_dist*np.cos(goal_theta)*sc + (map_crop_size-1.)/2. + y = goal_dist*np.sin(goal_theta)*sc + (map_crop_size-1.)/2. + + for j in range(goal_dist.shape[0]): + gc = rel_goal_orientation[j] + x0 = np.floor(x[j]).astype(np.int32); x1 = x0 + 1; + y0 = np.floor(y[j]).astype(np.int32); y1 = y0 + 1; + if x0 >= 0 and x0 <= map_crop_size-1: + if y0 >= 0 and y0 <= map_crop_size-1: + goal_i[j, y0, x0, gc] = (x1-x[j])*(y1-y[j]) + if y1 >= 0 and y1 <= map_crop_size-1: + goal_i[j, y1, x0, gc] = (x1-x[j])*(y[j]-y0) + + if x1 >= 0 and x1 <= map_crop_size-1: + if y0 >= 0 and y0 <= map_crop_size-1: + goal_i[j, y0, x1, gc] = (x[j]-x0)*(y1-y[j]) + if y1 >= 0 and y1 <= map_crop_size-1: + goal_i[j, y1, x1, gc] = (x[j]-x0)*(y[j]-y0) + + goals.append(goal_i) + return goals + +def get_map_to_predict(src_locs, src_x_axiss, src_y_axiss, map, map_size, + interpolation=cv2.INTER_LINEAR): + fss = [] + valids = [] + + center = (map_size-1.0)/2.0 + dst_theta = np.pi/2.0 + dst_loc = np.array([center, center]) + dst_x_axis = np.array([np.cos(dst_theta), np.sin(dst_theta)]) + dst_y_axis = np.array([np.cos(dst_theta+np.pi/2), np.sin(dst_theta+np.pi/2)]) + + def compute_points(center, x_axis, y_axis): + points = np.zeros((3,2),dtype=np.float32) + points[0,:] = center + points[1,:] = center + x_axis + points[2,:] = center + y_axis + return points + + dst_points = compute_points(dst_loc, dst_x_axis, dst_y_axis) + for i in range(src_locs.shape[0]): + src_loc = src_locs[i,:] + src_x_axis = src_x_axiss[i,:] + src_y_axis = src_y_axiss[i,:] + src_points = compute_points(src_loc, src_x_axis, src_y_axis) + M = cv2.getAffineTransform(src_points, dst_points) + + fs = cv2.warpAffine(map, M, (map_size, map_size), None, flags=interpolation, + borderValue=np.NaN) + valid = np.invert(np.isnan(fs)) + valids.append(valid) + fss.append(fs) + return fss, valids + diff --git a/cognitive_mapping_and_planning/src/rotation_utils.py b/cognitive_mapping_and_planning/src/rotation_utils.py new file mode 100644 index 000000000..8d6d4f3cb --- /dev/null +++ b/cognitive_mapping_and_planning/src/rotation_utils.py @@ -0,0 +1,73 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utilities for generating and applying rotation matrices. +""" +import numpy as np + +ANGLE_EPS = 0.001 + + +def normalize(v): + return v / np.linalg.norm(v) + + +def get_r_matrix(ax_, angle): + ax = normalize(ax_) + if np.abs(angle) > ANGLE_EPS: + S_hat = np.array( + [[0.0, -ax[2], ax[1]], [ax[2], 0.0, -ax[0]], [-ax[1], ax[0], 0.0]], + dtype=np.float32) + R = np.eye(3) + np.sin(angle)*S_hat + \ + (1-np.cos(angle))*(np.linalg.matrix_power(S_hat, 2)) + else: + R = np.eye(3) + return R + + +def r_between(v_from_, v_to_): + v_from = normalize(v_from_) + v_to = normalize(v_to_) + ax = normalize(np.cross(v_from, v_to)) + angle = np.arccos(np.dot(v_from, v_to)) + return get_r_matrix(ax, angle) + + +def rotate_camera_to_point_at(up_from, lookat_from, up_to, lookat_to): + inputs = [up_from, lookat_from, up_to, lookat_to] + for i in range(4): + inputs[i] = normalize(np.array(inputs[i]).reshape((-1,))) + up_from, lookat_from, up_to, lookat_to = inputs + r1 = r_between(lookat_from, lookat_to) + + new_x = np.dot(r1, np.array([1, 0, 0]).reshape((-1, 1))).reshape((-1)) + to_x = normalize(np.cross(lookat_to, up_to)) + angle = np.arccos(np.dot(new_x, to_x)) + if angle > ANGLE_EPS: + if angle < np.pi - ANGLE_EPS: + ax = normalize(np.cross(new_x, to_x)) + flip = np.dot(lookat_to, ax) + if flip > 0: + r2 = get_r_matrix(lookat_to, angle) + elif flip < 0: + r2 = get_r_matrix(lookat_to, -1. * angle) + else: + # Angle of rotation is too close to 180 degrees, direction of rotation + # does not matter. + r2 = get_r_matrix(lookat_to, angle) + else: + r2 = np.eye(3) + return np.dot(r2, r1) + diff --git a/cognitive_mapping_and_planning/src/utils.py b/cognitive_mapping_and_planning/src/utils.py new file mode 100644 index 000000000..f58820c1f --- /dev/null +++ b/cognitive_mapping_and_planning/src/utils.py @@ -0,0 +1,168 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r"""Generaly Utilities. +""" + +import numpy as np, cPickle, os, time +import src.file_utils as fu +import logging + +class Timer(): + def __init__(self): + self.calls = 0. + self.start_time = 0. + self.time_per_call = 0. + self.total_time = 0. + self.last_log_time = 0. + + def tic(self): + self.start_time = time.time() + + def toc(self, average=True, log_at=-1, log_str='', type='calls'): + if self.start_time == 0: + logging.error('Timer not started by calling tic().') + t = time.time() + diff = time.time() - self.start_time + self.total_time += diff + self.calls += 1. + self.time_per_call = self.total_time/self.calls + + if type == 'calls' and log_at > 0 and np.mod(self.calls, log_at) == 0: + _ = [] + logging.info('%s: %f seconds.', log_str, self.time_per_call) + elif type == 'time' and log_at > 0 and t - self.last_log_time >= log_at: + _ = [] + logging.info('%s: %f seconds.', log_str, self.time_per_call) + self.last_log_time = t + + if average: + return self.time_per_call + else: + return diff + +class Foo(object): + def __init__(self, **kwargs): + self.__dict__.update(kwargs) + def __str__(self): + str_ = '' + for v in vars(self).keys(): + a = getattr(self, v) + if True: #isinstance(v, object): + str__ = str(a) + str__ = str__.replace('\n', '\n ') + else: + str__ = str(a) + str_ += '{:s}: {:s}'.format(v, str__) + str_ += '\n' + return str_ + + +def dict_equal(dict1, dict2): + assert(set(dict1.keys()) == set(dict2.keys())), "Sets of keys between 2 dictionaries are different." + for k in dict1.keys(): + assert(type(dict1[k]) == type(dict2[k])), "Type of key '{:s}' if different.".format(k) + if type(dict1[k]) == np.ndarray: + assert(dict1[k].dtype == dict2[k].dtype), "Numpy Type of key '{:s}' if different.".format(k) + assert(np.allclose(dict1[k], dict2[k])), "Value for key '{:s}' do not match.".format(k) + else: + assert(dict1[k] == dict2[k]), "Value for key '{:s}' do not match.".format(k) + return True + +def subplot(plt, Y_X, sz_y_sz_x = (10, 10)): + Y,X = Y_X + sz_y, sz_x = sz_y_sz_x + plt.rcParams['figure.figsize'] = (X*sz_x, Y*sz_y) + fig, axes = plt.subplots(Y, X) + plt.subplots_adjust(wspace=0.1, hspace=0.1) + return fig, axes + +def tic_toc_print(interval, string): + global tic_toc_print_time_old + if 'tic_toc_print_time_old' not in globals(): + tic_toc_print_time_old = time.time() + print string + else: + new_time = time.time() + if new_time - tic_toc_print_time_old > interval: + tic_toc_print_time_old = new_time; + print string + +def mkdir_if_missing(output_dir): + if not fu.exists(output_dir): + fu.makedirs(output_dir) + +def save_variables(pickle_file_name, var, info, overwrite = False): + if fu.exists(pickle_file_name) and overwrite == False: + raise Exception('{:s} exists and over write is false.'.format(pickle_file_name)) + # Construct the dictionary + assert(type(var) == list); assert(type(info) == list); + d = {} + for i in xrange(len(var)): + d[info[i]] = var[i] + with fu.fopen(pickle_file_name, 'w') as f: + cPickle.dump(d, f, cPickle.HIGHEST_PROTOCOL) + +def load_variables(pickle_file_name): + if fu.exists(pickle_file_name): + with fu.fopen(pickle_file_name, 'r') as f: + d = cPickle.load(f) + return d + else: + raise Exception('{:s} does not exists.'.format(pickle_file_name)) + +def voc_ap(rec, prec): + rec = rec.reshape((-1,1)) + prec = prec.reshape((-1,1)) + z = np.zeros((1,1)) + o = np.ones((1,1)) + mrec = np.vstack((z, rec, o)) + mpre = np.vstack((z, prec, z)) + for i in range(len(mpre)-2, -1, -1): + mpre[i] = max(mpre[i], mpre[i+1]) + + I = np.where(mrec[1:] != mrec[0:-1])[0]+1; + ap = 0; + for i in I: + ap = ap + (mrec[i] - mrec[i-1])*mpre[i]; + return ap + +def tight_imshow_figure(plt, figsize=None): + fig = plt.figure(figsize=figsize) + ax = plt.Axes(fig, [0,0,1,1]) + ax.set_axis_off() + fig.add_axes(ax) + return fig, ax + +def calc_pr(gt, out, wt=None): + if wt is None: + wt = np.ones((gt.size,1)) + + gt = gt.astype(np.float64).reshape((-1,1)) + wt = wt.astype(np.float64).reshape((-1,1)) + out = out.astype(np.float64).reshape((-1,1)) + + gt = gt*wt + tog = np.concatenate([gt, wt, out], axis=1)*1. + ind = np.argsort(tog[:,2], axis=0)[::-1] + tog = tog[ind,:] + cumsumsortgt = np.cumsum(tog[:,0]) + cumsumsortwt = np.cumsum(tog[:,1]) + prec = cumsumsortgt / cumsumsortwt + rec = cumsumsortgt / np.sum(tog[:,0]) + + ap = voc_ap(rec, prec) + return ap, rec, prec + diff --git a/cognitive_mapping_and_planning/tfcode/__init__.py b/cognitive_mapping_and_planning/tfcode/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/cognitive_mapping_and_planning/tfcode/cmp.py b/cognitive_mapping_and_planning/tfcode/cmp.py new file mode 100644 index 000000000..228ef90fd --- /dev/null +++ b/cognitive_mapping_and_planning/tfcode/cmp.py @@ -0,0 +1,553 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Code for setting up the network for CMP. + +Sets up the mapper and the planner. +""" + +import sys, os, numpy as np +import matplotlib.pyplot as plt +import copy +import argparse, pprint +import time + + +import tensorflow as tf + +from tensorflow.contrib import slim +from tensorflow.contrib.slim import arg_scope + +import logging +from tensorflow.python.platform import app +from tensorflow.python.platform import flags +from src import utils +import src.file_utils as fu +import tfcode.nav_utils as nu +import tfcode.cmp_utils as cu +import tfcode.cmp_summary as cmp_s +from tfcode import tf_utils + +value_iteration_network = cu.value_iteration_network +rotate_preds = cu.rotate_preds +deconv = cu.deconv +get_visual_frustum = cu.get_visual_frustum +fr_v2 = cu.fr_v2 + +setup_train_step_kwargs = nu.default_train_step_kwargs +compute_losses_multi_or = nu.compute_losses_multi_or + +get_repr_from_image = nu.get_repr_from_image + +_save_d_at_t = nu.save_d_at_t +_save_all = nu.save_all +_eval_ap = nu.eval_ap +_eval_dist = nu.eval_dist +_plot_trajectories = nu.plot_trajectories + +_vis_readout_maps = cmp_s._vis_readout_maps +_vis = cmp_s._vis +_summary_vis = cmp_s._summary_vis +_summary_readout_maps = cmp_s._summary_readout_maps +_add_summaries = cmp_s._add_summaries + +def _inputs(problem): + # Set up inputs. + with tf.name_scope('inputs'): + inputs = [] + inputs.append(('orig_maps', tf.float32, + (problem.batch_size, 1, None, None, 1))) + inputs.append(('goal_loc', tf.float32, + (problem.batch_size, problem.num_goals, 2))) + common_input_data, _ = tf_utils.setup_inputs(inputs) + + inputs = [] + if problem.input_type == 'vision': + # Multiple images from an array of cameras. + inputs.append(('imgs', tf.float32, + (problem.batch_size, None, len(problem.aux_delta_thetas)+1, + problem.img_height, problem.img_width, + problem.img_channels))) + elif problem.input_type == 'analytical_counts': + for i in range(len(problem.map_crop_sizes)): + inputs.append(('analytical_counts_{:d}'.format(i), tf.float32, + (problem.batch_size, None, problem.map_crop_sizes[i], + problem.map_crop_sizes[i], problem.map_channels))) + + if problem.outputs.readout_maps: + for i in range(len(problem.readout_maps_crop_sizes)): + inputs.append(('readout_maps_{:d}'.format(i), tf.float32, + (problem.batch_size, None, + problem.readout_maps_crop_sizes[i], + problem.readout_maps_crop_sizes[i], + problem.readout_maps_channels))) + + for i in range(len(problem.map_crop_sizes)): + inputs.append(('ego_goal_imgs_{:d}'.format(i), tf.float32, + (problem.batch_size, None, problem.map_crop_sizes[i], + problem.map_crop_sizes[i], problem.goal_channels))) + for s in ['sum_num', 'sum_denom', 'max_denom']: + inputs.append(('running_'+s+'_{:d}'.format(i), tf.float32, + (problem.batch_size, 1, problem.map_crop_sizes[i], + problem.map_crop_sizes[i], problem.map_channels))) + + inputs.append(('incremental_locs', tf.float32, + (problem.batch_size, None, 2))) + inputs.append(('incremental_thetas', tf.float32, + (problem.batch_size, None, 1))) + inputs.append(('step_number', tf.int32, (1, None, 1))) + inputs.append(('node_ids', tf.int32, (problem.batch_size, None, + problem.node_ids_dim))) + inputs.append(('perturbs', tf.float32, (problem.batch_size, None, + problem.perturbs_dim))) + + # For plotting result plots + inputs.append(('loc_on_map', tf.float32, (problem.batch_size, None, 2))) + inputs.append(('gt_dist_to_goal', tf.float32, (problem.batch_size, None, 1))) + + step_input_data, _ = tf_utils.setup_inputs(inputs) + + inputs = [] + inputs.append(('action', tf.int32, (problem.batch_size, None, problem.num_actions))) + train_data, _ = tf_utils.setup_inputs(inputs) + train_data.update(step_input_data) + train_data.update(common_input_data) + return common_input_data, step_input_data, train_data + +def readout_general(multi_scale_belief, num_neurons, strides, layers_per_block, + kernel_size, batch_norm_is_training_op, wt_decay): + multi_scale_belief = tf.stop_gradient(multi_scale_belief) + with tf.variable_scope('readout_maps_deconv'): + x, outs = deconv(multi_scale_belief, batch_norm_is_training_op, + wt_decay=wt_decay, neurons=num_neurons, strides=strides, + layers_per_block=layers_per_block, kernel_size=kernel_size, + conv_fn=slim.conv2d_transpose, offset=0, + name='readout_maps_deconv') + probs = tf.sigmoid(x) + return x, probs + + +def running_combine(fss_logits, confs_probs, incremental_locs, + incremental_thetas, previous_sum_num, previous_sum_denom, + previous_max_denom, map_size, num_steps): + # fss_logits is B x N x H x W x C + # confs_logits is B x N x H x W x C + # incremental_locs is B x N x 2 + # incremental_thetas is B x N x 1 + # previous_sum_num etc is B x 1 x H x W x C + + with tf.name_scope('combine_{:d}'.format(num_steps)): + running_sum_nums_ = []; running_sum_denoms_ = []; + running_max_denoms_ = []; + + fss_logits_ = tf.unstack(fss_logits, axis=1, num=num_steps) + confs_probs_ = tf.unstack(confs_probs, axis=1, num=num_steps) + incremental_locs_ = tf.unstack(incremental_locs, axis=1, num=num_steps) + incremental_thetas_ = tf.unstack(incremental_thetas, axis=1, num=num_steps) + running_sum_num = tf.unstack(previous_sum_num, axis=1, num=1)[0] + running_sum_denom = tf.unstack(previous_sum_denom, axis=1, num=1)[0] + running_max_denom = tf.unstack(previous_max_denom, axis=1, num=1)[0] + + for i in range(num_steps): + # Rotate the previous running_num and running_denom + running_sum_num, running_sum_denom, running_max_denom = rotate_preds( + incremental_locs_[i], incremental_thetas_[i], map_size, + [running_sum_num, running_sum_denom, running_max_denom], + output_valid_mask=False)[0] + # print i, num_steps, running_sum_num.get_shape().as_list() + running_sum_num = running_sum_num + fss_logits_[i] * confs_probs_[i] + running_sum_denom = running_sum_denom + confs_probs_[i] + running_max_denom = tf.maximum(running_max_denom, confs_probs_[i]) + running_sum_nums_.append(running_sum_num) + running_sum_denoms_.append(running_sum_denom) + running_max_denoms_.append(running_max_denom) + + running_sum_nums = tf.stack(running_sum_nums_, axis=1) + running_sum_denoms = tf.stack(running_sum_denoms_, axis=1) + running_max_denoms = tf.stack(running_max_denoms_, axis=1) + return running_sum_nums, running_sum_denoms, running_max_denoms + +def get_map_from_images(imgs, mapper_arch, task_params, freeze_conv, wt_decay, + is_training, batch_norm_is_training_op, num_maps, + split_maps=True): + # Hit image with a resnet. + n_views = len(task_params.aux_delta_thetas) + 1 + out = utils.Foo() + + images_reshaped = tf.reshape(imgs, + shape=[-1, task_params.img_height, + task_params.img_width, + task_params.img_channels], name='re_image') + + x, out.vars_to_restore = get_repr_from_image( + images_reshaped, task_params.modalities, task_params.data_augment, + mapper_arch.encoder, freeze_conv, wt_decay, is_training) + + # Reshape into nice things so that these can be accumulated over time steps + # for faster backprop. + sh_before = x.get_shape().as_list() + out.encoder_output = tf.reshape(x, shape=[task_params.batch_size, -1, n_views] + sh_before[1:]) + x = tf.reshape(out.encoder_output, shape=[-1] + sh_before[1:]) + + # Add a layer to reduce dimensions for a fc layer. + if mapper_arch.dim_reduce_neurons > 0: + ks = 1; neurons = mapper_arch.dim_reduce_neurons; + init_var = np.sqrt(2.0/(ks**2)/neurons) + batch_norm_param = mapper_arch.batch_norm_param + batch_norm_param['is_training'] = batch_norm_is_training_op + out.conv_feat = slim.conv2d(x, neurons, kernel_size=ks, stride=1, + normalizer_fn=slim.batch_norm, normalizer_params=batch_norm_param, + padding='SAME', scope='dim_reduce', + weights_regularizer=slim.l2_regularizer(wt_decay), + weights_initializer=tf.random_normal_initializer(stddev=init_var)) + reshape_conv_feat = slim.flatten(out.conv_feat) + sh = reshape_conv_feat.get_shape().as_list() + out.reshape_conv_feat = tf.reshape(reshape_conv_feat, shape=[-1, sh[1]*n_views]) + + with tf.variable_scope('fc'): + # Fully connected layers to compute the representation in top-view space. + fc_batch_norm_param = {'center': True, 'scale': True, + 'activation_fn':tf.nn.relu, + 'is_training': batch_norm_is_training_op} + f = out.reshape_conv_feat + out_neurons = (mapper_arch.fc_out_size**2)*mapper_arch.fc_out_neurons + neurons = mapper_arch.fc_neurons + [out_neurons] + f, _ = tf_utils.fc_network(f, neurons=neurons, wt_decay=wt_decay, + name='fc', offset=0, + batch_norm_param=fc_batch_norm_param, + is_training=is_training, + dropout_ratio=mapper_arch.fc_dropout) + f = tf.reshape(f, shape=[-1, mapper_arch.fc_out_size, + mapper_arch.fc_out_size, + mapper_arch.fc_out_neurons], name='re_fc') + + # Use pool5 to predict the free space map via deconv layers. + with tf.variable_scope('deconv'): + x, outs = deconv(f, batch_norm_is_training_op, wt_decay=wt_decay, + neurons=mapper_arch.deconv_neurons, + strides=mapper_arch.deconv_strides, + layers_per_block=mapper_arch.deconv_layers_per_block, + kernel_size=mapper_arch.deconv_kernel_size, + conv_fn=slim.conv2d_transpose, offset=0, name='deconv') + + # Reshape x the right way. + sh = x.get_shape().as_list() + x = tf.reshape(x, shape=[task_params.batch_size, -1] + sh[1:]) + out.deconv_output = x + + # Separate out the map and the confidence predictions, pass the confidence + # through a sigmoid. + if split_maps: + with tf.name_scope('split'): + out_all = tf.split(value=x, axis=4, num_or_size_splits=2*num_maps) + out.fss_logits = out_all[:num_maps] + out.confs_logits = out_all[num_maps:] + with tf.name_scope('sigmoid'): + out.confs_probs = [tf.nn.sigmoid(x) for x in out.confs_logits] + return out + +def setup_to_run(m, args, is_training, batch_norm_is_training, summary_mode): + assert(args.arch.multi_scale), 'removed support for old single scale code.' + # Set up the model. + tf.set_random_seed(args.solver.seed) + task_params = args.navtask.task_params + + batch_norm_is_training_op = \ + tf.placeholder_with_default(batch_norm_is_training, shape=[], + name='batch_norm_is_training_op') + + # Setup the inputs + m.input_tensors = {} + m.train_ops = {} + m.input_tensors['common'], m.input_tensors['step'], m.input_tensors['train'] = \ + _inputs(task_params) + + m.init_fn = None + + if task_params.input_type == 'vision': + m.vision_ops = get_map_from_images( + m.input_tensors['step']['imgs'], args.mapper_arch, + task_params, args.solver.freeze_conv, + args.solver.wt_decay, is_training, batch_norm_is_training_op, + num_maps=len(task_params.map_crop_sizes)) + + # Load variables from snapshot if needed. + if args.solver.pretrained_path is not None: + m.init_fn = slim.assign_from_checkpoint_fn(args.solver.pretrained_path, + m.vision_ops.vars_to_restore) + + # Set up caching of vision features if needed. + if args.solver.freeze_conv: + m.train_ops['step_data_cache'] = [m.vision_ops.encoder_output] + else: + m.train_ops['step_data_cache'] = [] + + # Set up blobs that are needed for the computation in rest of the graph. + m.ego_map_ops = m.vision_ops.fss_logits + m.coverage_ops = m.vision_ops.confs_probs + + # Zero pad these to make them same size as what the planner expects. + for i in range(len(m.ego_map_ops)): + if args.mapper_arch.pad_map_with_zeros_each[i] > 0: + paddings = np.zeros((5,2), dtype=np.int32) + paddings[2:4,:] = args.mapper_arch.pad_map_with_zeros_each[i] + paddings_op = tf.constant(paddings, dtype=tf.int32) + m.ego_map_ops[i] = tf.pad(m.ego_map_ops[i], paddings=paddings_op) + m.coverage_ops[i] = tf.pad(m.coverage_ops[i], paddings=paddings_op) + + elif task_params.input_type == 'analytical_counts': + m.ego_map_ops = []; m.coverage_ops = [] + for i in range(len(task_params.map_crop_sizes)): + ego_map_op = m.input_tensors['step']['analytical_counts_{:d}'.format(i)] + coverage_op = tf.cast(tf.greater_equal( + tf.reduce_max(ego_map_op, reduction_indices=[4], + keep_dims=True), 1), tf.float32) + coverage_op = tf.ones_like(ego_map_op) * coverage_op + m.ego_map_ops.append(ego_map_op) + m.coverage_ops.append(coverage_op) + m.train_ops['step_data_cache'] = [] + + num_steps = task_params.num_steps + num_goals = task_params.num_goals + + map_crop_size_ops = [] + for map_crop_size in task_params.map_crop_sizes: + map_crop_size_ops.append(tf.constant(map_crop_size, dtype=tf.int32, shape=(2,))) + + with tf.name_scope('check_size'): + is_single_step = tf.equal(tf.unstack(tf.shape(m.ego_map_ops[0]), num=5)[1], 1) + + fr_ops = []; value_ops = []; + fr_intermediate_ops = []; value_intermediate_ops = []; + crop_value_ops = []; + resize_crop_value_ops = []; + confs = []; occupancys = []; + + previous_value_op = None + updated_state = []; state_names = []; + + for i in range(len(task_params.map_crop_sizes)): + map_crop_size = task_params.map_crop_sizes[i] + with tf.variable_scope('scale_{:d}'.format(i)): + # Accumulate the map. + fn = lambda ns: running_combine( + m.ego_map_ops[i], + m.coverage_ops[i], + m.input_tensors['step']['incremental_locs'] * task_params.map_scales[i], + m.input_tensors['step']['incremental_thetas'], + m.input_tensors['step']['running_sum_num_{:d}'.format(i)], + m.input_tensors['step']['running_sum_denom_{:d}'.format(i)], + m.input_tensors['step']['running_max_denom_{:d}'.format(i)], + map_crop_size, ns) + + running_sum_num, running_sum_denom, running_max_denom = \ + tf.cond(is_single_step, lambda: fn(1), lambda: fn(num_steps*num_goals)) + updated_state += [running_sum_num, running_sum_denom, running_max_denom] + state_names += ['running_sum_num_{:d}'.format(i), + 'running_sum_denom_{:d}'.format(i), + 'running_max_denom_{:d}'.format(i)] + + # Concat the accumulated map and goal + occupancy = running_sum_num / tf.maximum(running_sum_denom, 0.001) + conf = running_max_denom + # print occupancy.get_shape().as_list() + + # Concat occupancy, how much occupied and goal. + with tf.name_scope('concat'): + sh = [-1, map_crop_size, map_crop_size, task_params.map_channels] + occupancy = tf.reshape(occupancy, shape=sh) + conf = tf.reshape(conf, shape=sh) + + sh = [-1, map_crop_size, map_crop_size, task_params.goal_channels] + goal = tf.reshape(m.input_tensors['step']['ego_goal_imgs_{:d}'.format(i)], shape=sh) + to_concat = [occupancy, conf, goal] + + if previous_value_op is not None: + to_concat.append(previous_value_op) + + x = tf.concat(to_concat, 3) + + # Pass the map, previous rewards and the goal through a few convolutional + # layers to get fR. + fr_op, fr_intermediate_op = fr_v2( + x, output_neurons=args.arch.fr_neurons, + inside_neurons=args.arch.fr_inside_neurons, + is_training=batch_norm_is_training_op, name='fr', + wt_decay=args.solver.wt_decay, stride=args.arch.fr_stride) + + # Do Value Iteration on the fR + if args.arch.vin_num_iters > 0: + value_op, value_intermediate_op = value_iteration_network( + fr_op, num_iters=args.arch.vin_num_iters, + val_neurons=args.arch.vin_val_neurons, + action_neurons=args.arch.vin_action_neurons, + kernel_size=args.arch.vin_ks, share_wts=args.arch.vin_share_wts, + name='vin', wt_decay=args.solver.wt_decay) + else: + value_op = fr_op + value_intermediate_op = [] + + # Crop out and upsample the previous value map. + remove = args.arch.crop_remove_each + if remove > 0: + crop_value_op = value_op[:, remove:-remove, remove:-remove,:] + else: + crop_value_op = value_op + crop_value_op = tf.reshape(crop_value_op, shape=[-1, args.arch.value_crop_size, + args.arch.value_crop_size, + args.arch.vin_val_neurons]) + if i < len(task_params.map_crop_sizes)-1: + # Reshape it to shape of the next scale. + previous_value_op = tf.image.resize_bilinear(crop_value_op, + map_crop_size_ops[i+1], + align_corners=True) + resize_crop_value_ops.append(previous_value_op) + + occupancys.append(occupancy) + confs.append(conf) + value_ops.append(value_op) + crop_value_ops.append(crop_value_op) + fr_ops.append(fr_op) + fr_intermediate_ops.append(fr_intermediate_op) + + m.value_ops = value_ops + m.value_intermediate_ops = value_intermediate_ops + m.fr_ops = fr_ops + m.fr_intermediate_ops = fr_intermediate_ops + m.final_value_op = crop_value_op + m.crop_value_ops = crop_value_ops + m.resize_crop_value_ops = resize_crop_value_ops + m.confs = confs + m.occupancys = occupancys + + sh = [-1, args.arch.vin_val_neurons*((args.arch.value_crop_size)**2)] + m.value_features_op = tf.reshape(m.final_value_op, sh, name='reshape_value_op') + + # Determine what action to take. + with tf.variable_scope('action_pred'): + batch_norm_param = args.arch.pred_batch_norm_param + if batch_norm_param is not None: + batch_norm_param['is_training'] = batch_norm_is_training_op + m.action_logits_op, _ = tf_utils.fc_network( + m.value_features_op, neurons=args.arch.pred_neurons, + wt_decay=args.solver.wt_decay, name='pred', offset=0, + num_pred=task_params.num_actions, + batch_norm_param=batch_norm_param) + m.action_prob_op = tf.nn.softmax(m.action_logits_op) + + init_state = tf.constant(0., dtype=tf.float32, shape=[ + task_params.batch_size, 1, map_crop_size, map_crop_size, + task_params.map_channels]) + + m.train_ops['state_names'] = state_names + m.train_ops['updated_state'] = updated_state + m.train_ops['init_state'] = [init_state for _ in updated_state] + + m.train_ops['step'] = m.action_prob_op + m.train_ops['common'] = [m.input_tensors['common']['orig_maps'], + m.input_tensors['common']['goal_loc']] + m.train_ops['batch_norm_is_training_op'] = batch_norm_is_training_op + m.loss_ops = []; m.loss_ops_names = []; + + if args.arch.readout_maps: + with tf.name_scope('readout_maps'): + all_occupancys = tf.concat(m.occupancys + m.confs, 3) + readout_maps, probs = readout_general( + all_occupancys, num_neurons=args.arch.rom_arch.num_neurons, + strides=args.arch.rom_arch.strides, + layers_per_block=args.arch.rom_arch.layers_per_block, + kernel_size=args.arch.rom_arch.kernel_size, + batch_norm_is_training_op=batch_norm_is_training_op, + wt_decay=args.solver.wt_decay) + + gt_ego_maps = [m.input_tensors['step']['readout_maps_{:d}'.format(i)] + for i in range(len(task_params.readout_maps_crop_sizes))] + m.readout_maps_gt = tf.concat(gt_ego_maps, 4) + gt_shape = tf.shape(m.readout_maps_gt) + m.readout_maps_logits = tf.reshape(readout_maps, gt_shape) + m.readout_maps_probs = tf.reshape(probs, gt_shape) + + # Add a loss op + m.readout_maps_loss_op = tf.losses.sigmoid_cross_entropy( + tf.reshape(m.readout_maps_gt, [-1, len(task_params.readout_maps_crop_sizes)]), + tf.reshape(readout_maps, [-1, len(task_params.readout_maps_crop_sizes)]), + scope='loss') + m.readout_maps_loss_op = 10.*m.readout_maps_loss_op + + ewma_decay = 0.99 if is_training else 0.0 + weight = tf.ones_like(m.input_tensors['train']['action'], dtype=tf.float32, + name='weight') + m.reg_loss_op, m.data_loss_op, m.total_loss_op, m.acc_ops = \ + compute_losses_multi_or(m.action_logits_op, + m.input_tensors['train']['action'], weights=weight, + num_actions=task_params.num_actions, + data_loss_wt=args.solver.data_loss_wt, + reg_loss_wt=args.solver.reg_loss_wt, + ewma_decay=ewma_decay) + + if args.arch.readout_maps: + m.total_loss_op = m.total_loss_op + m.readout_maps_loss_op + m.loss_ops += [m.readout_maps_loss_op] + m.loss_ops_names += ['readout_maps_loss'] + + m.loss_ops += [m.reg_loss_op, m.data_loss_op, m.total_loss_op] + m.loss_ops_names += ['reg_loss', 'data_loss', 'total_loss'] + + if args.solver.freeze_conv: + vars_to_optimize = list(set(tf.trainable_variables()) - + set(m.vision_ops.vars_to_restore)) + else: + vars_to_optimize = None + + m.lr_op, m.global_step_op, m.train_op, m.should_stop_op, m.optimizer, \ + m.sync_optimizer = tf_utils.setup_training( + m.total_loss_op, + args.solver.initial_learning_rate, + args.solver.steps_per_decay, + args.solver.learning_rate_decay, + args.solver.momentum, + args.solver.max_steps, + args.solver.sync, + args.solver.adjust_lr_sync, + args.solver.num_workers, + args.solver.task, + vars_to_optimize=vars_to_optimize, + clip_gradient_norm=args.solver.clip_gradient_norm, + typ=args.solver.typ, momentum2=args.solver.momentum2, + adam_eps=args.solver.adam_eps) + + if args.arch.sample_gt_prob_type == 'inverse_sigmoid_decay': + m.sample_gt_prob_op = tf_utils.inverse_sigmoid_decay(args.arch.isd_k, + m.global_step_op) + elif args.arch.sample_gt_prob_type == 'zero': + m.sample_gt_prob_op = tf.constant(-1.0, dtype=tf.float32) + + elif args.arch.sample_gt_prob_type.split('_')[0] == 'step': + step = int(args.arch.sample_gt_prob_type.split('_')[1]) + m.sample_gt_prob_op = tf_utils.step_gt_prob( + step, m.input_tensors['step']['step_number'][0,0,0]) + + m.sample_action_type = args.arch.action_sample_type + m.sample_action_combine_type = args.arch.action_sample_combine_type + + m.summary_ops = { + summary_mode: _add_summaries(m, args, summary_mode, + args.summary.arop_full_summary_iters)} + + m.init_op = tf.group(tf.global_variables_initializer(), + tf.local_variables_initializer()) + m.saver_op = tf.train.Saver(keep_checkpoint_every_n_hours=4, + write_version=tf.train.SaverDef.V2) + return m diff --git a/cognitive_mapping_and_planning/tfcode/cmp_summary.py b/cognitive_mapping_and_planning/tfcode/cmp_summary.py new file mode 100644 index 000000000..55313bfbd --- /dev/null +++ b/cognitive_mapping_and_planning/tfcode/cmp_summary.py @@ -0,0 +1,213 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Code for setting up summaries for CMP. +""" + +import sys, os, numpy as np +import matplotlib.pyplot as plt + + +import tensorflow as tf + +from tensorflow.contrib import slim +from tensorflow.contrib.slim import arg_scope + +import logging +from tensorflow.python.platform import app +from tensorflow.python.platform import flags +from src import utils +import src.file_utils as fu +import tfcode.nav_utils as nu + +def _vis_readout_maps(outputs, global_step, output_dir, metric_summary, N): + # outputs is [gt_map, pred_map]: + if N >= 0: + outputs = outputs[:N] + N = len(outputs) + + plt.set_cmap('jet') + fig, axes = utils.subplot(plt, (N, outputs[0][0].shape[4]*2), (5,5)) + axes = axes.ravel()[::-1].tolist() + for i in range(N): + gt_map, pred_map = outputs[i] + for j in [0]: + for k in range(gt_map.shape[4]): + # Display something like the midpoint of the trajectory. + id = np.int(gt_map.shape[1]/2) + + ax = axes.pop(); + ax.imshow(gt_map[j,id,:,:,k], origin='lower', interpolation='none', + vmin=0., vmax=1.) + ax.set_axis_off(); + if i == 0: ax.set_title('gt_map') + + ax = axes.pop(); + ax.imshow(pred_map[j,id,:,:,k], origin='lower', interpolation='none', + vmin=0., vmax=1.) + ax.set_axis_off(); + if i == 0: ax.set_title('pred_map') + + file_name = os.path.join(output_dir, 'readout_map_{:d}.png'.format(global_step)) + with fu.fopen(file_name, 'w') as f: + fig.savefig(f, bbox_inches='tight', transparent=True, pad_inches=0) + plt.close(fig) + +def _vis(outputs, global_step, output_dir, metric_summary, N): + # Plot the value map, goal for various maps to see what if the model is + # learning anything useful. + # + # outputs is [values, goals, maps, occupancy, conf]. + # + if N >= 0: + outputs = outputs[:N] + N = len(outputs) + + plt.set_cmap('jet') + fig, axes = utils.subplot(plt, (N, outputs[0][0].shape[4]*5), (5,5)) + axes = axes.ravel()[::-1].tolist() + for i in range(N): + values, goals, maps, occupancy, conf = outputs[i] + for j in [0]: + for k in range(values.shape[4]): + # Display something like the midpoint of the trajectory. + id = np.int(values.shape[1]/2) + + ax = axes.pop(); + ax.imshow(goals[j,id,:,:,k], origin='lower', interpolation='none') + ax.set_axis_off(); + if i == 0: ax.set_title('goal') + + ax = axes.pop(); + ax.imshow(occupancy[j,id,:,:,k], origin='lower', interpolation='none') + ax.set_axis_off(); + if i == 0: ax.set_title('occupancy') + + ax = axes.pop(); + ax.imshow(conf[j,id,:,:,k], origin='lower', interpolation='none', + vmin=0., vmax=1.) + ax.set_axis_off(); + if i == 0: ax.set_title('conf') + + ax = axes.pop(); + ax.imshow(values[j,id,:,:,k], origin='lower', interpolation='none') + ax.set_axis_off(); + if i == 0: ax.set_title('value') + + ax = axes.pop(); + ax.imshow(maps[j,id,:,:,k], origin='lower', interpolation='none') + ax.set_axis_off(); + if i == 0: ax.set_title('incr map') + + file_name = os.path.join(output_dir, 'value_vis_{:d}.png'.format(global_step)) + with fu.fopen(file_name, 'w') as f: + fig.savefig(f, bbox_inches='tight', transparent=True, pad_inches=0) + plt.close(fig) + +def _summary_vis(m, batch_size, num_steps, arop_full_summary_iters): + arop = []; arop_summary_iters = []; arop_eval_fns = []; + vis_value_ops = []; vis_goal_ops = []; vis_map_ops = []; + vis_occupancy_ops = []; vis_conf_ops = []; + for i, val_op in enumerate(m.value_ops): + vis_value_op = tf.reduce_mean(tf.abs(val_op), axis=3, keep_dims=True) + vis_value_ops.append(vis_value_op) + + vis_occupancy_op = tf.reduce_mean(tf.abs(m.occupancys[i]), 3, True) + vis_occupancy_ops.append(vis_occupancy_op) + + vis_conf_op = tf.reduce_max(tf.abs(m.confs[i]), axis=3, keep_dims=True) + vis_conf_ops.append(vis_conf_op) + + ego_goal_imgs_i_op = m.input_tensors['step']['ego_goal_imgs_{:d}'.format(i)] + vis_goal_op = tf.reduce_max(ego_goal_imgs_i_op, 4, True) + vis_goal_ops.append(vis_goal_op) + + vis_map_op = tf.reduce_mean(tf.abs(m.ego_map_ops[i]), 4, True) + vis_map_ops.append(vis_map_op) + + vis_goal_ops = tf.concat(vis_goal_ops, 4) + vis_map_ops = tf.concat(vis_map_ops, 4) + vis_value_ops = tf.concat(vis_value_ops, 3) + vis_occupancy_ops = tf.concat(vis_occupancy_ops, 3) + vis_conf_ops = tf.concat(vis_conf_ops, 3) + + sh = tf.unstack(tf.shape(vis_value_ops))[1:] + vis_value_ops = tf.reshape(vis_value_ops, shape=[batch_size, -1] + sh) + + sh = tf.unstack(tf.shape(vis_conf_ops))[1:] + vis_conf_ops = tf.reshape(vis_conf_ops, shape=[batch_size, -1] + sh) + + sh = tf.unstack(tf.shape(vis_occupancy_ops))[1:] + vis_occupancy_ops = tf.reshape(vis_occupancy_ops, shape=[batch_size,-1] + sh) + + # Save memory, only return time steps that need to be visualized, factor of + # 32 CPU memory saving. + id = np.int(num_steps/2) + vis_goal_ops = tf.expand_dims(vis_goal_ops[:,id,:,:,:], axis=1) + vis_map_ops = tf.expand_dims(vis_map_ops[:,id,:,:,:], axis=1) + vis_value_ops = tf.expand_dims(vis_value_ops[:,id,:,:,:], axis=1) + vis_conf_ops = tf.expand_dims(vis_conf_ops[:,id,:,:,:], axis=1) + vis_occupancy_ops = tf.expand_dims(vis_occupancy_ops[:,id,:,:,:], axis=1) + + arop += [[vis_value_ops, vis_goal_ops, vis_map_ops, vis_occupancy_ops, + vis_conf_ops]] + arop_summary_iters += [arop_full_summary_iters] + arop_eval_fns += [_vis] + return arop, arop_summary_iters, arop_eval_fns + +def _summary_readout_maps(m, num_steps, arop_full_summary_iters): + arop = []; arop_summary_iters = []; arop_eval_fns = []; + id = np.int(num_steps-1) + vis_readout_maps_gt = m.readout_maps_gt + vis_readout_maps_prob = tf.reshape(m.readout_maps_probs, + shape=tf.shape(vis_readout_maps_gt)) + vis_readout_maps_gt = tf.expand_dims(vis_readout_maps_gt[:,id,:,:,:], 1) + vis_readout_maps_prob = tf.expand_dims(vis_readout_maps_prob[:,id,:,:,:], 1) + arop += [[vis_readout_maps_gt, vis_readout_maps_prob]] + arop_summary_iters += [arop_full_summary_iters] + arop_eval_fns += [_vis_readout_maps] + return arop, arop_summary_iters, arop_eval_fns + +def _add_summaries(m, args, summary_mode, arop_full_summary_iters): + task_params = args.navtask.task_params + + summarize_ops = [m.lr_op, m.global_step_op, m.sample_gt_prob_op] + \ + m.loss_ops + m.acc_ops + summarize_names = ['lr', 'global_step', 'sample_gt_prob_op'] + \ + m.loss_ops_names + ['acc_{:d}'.format(i) for i in range(len(m.acc_ops))] + to_aggregate = [0, 0, 0] + [1]*len(m.loss_ops_names) + [1]*len(m.acc_ops) + + scope_name = 'summary' + with tf.name_scope(scope_name): + s_ops = nu.add_default_summaries(summary_mode, arop_full_summary_iters, + summarize_ops, summarize_names, + to_aggregate, m.action_prob_op, + m.input_tensors, scope_name=scope_name) + if summary_mode == 'val': + arop, arop_summary_iters, arop_eval_fns = _summary_vis( + m, task_params.batch_size, task_params.num_steps, + arop_full_summary_iters) + s_ops.additional_return_ops += arop + s_ops.arop_summary_iters += arop_summary_iters + s_ops.arop_eval_fns += arop_eval_fns + + if args.arch.readout_maps: + arop, arop_summary_iters, arop_eval_fns = _summary_readout_maps( + m, task_params.num_steps, arop_full_summary_iters) + s_ops.additional_return_ops += arop + s_ops.arop_summary_iters += arop_summary_iters + s_ops.arop_eval_fns += arop_eval_fns + + return s_ops diff --git a/cognitive_mapping_and_planning/tfcode/cmp_utils.py b/cognitive_mapping_and_planning/tfcode/cmp_utils.py new file mode 100644 index 000000000..6d87c697b --- /dev/null +++ b/cognitive_mapping_and_planning/tfcode/cmp_utils.py @@ -0,0 +1,164 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utility functions for setting up the CMP graph. +""" + +import os, numpy as np +import matplotlib.pyplot as plt + + +import tensorflow as tf + +from tensorflow.contrib import slim +from tensorflow.contrib.slim import arg_scope +import logging +from src import utils +import src.file_utils as fu +from tfcode import tf_utils + +resnet_v2 = tf_utils.resnet_v2 +custom_residual_block = tf_utils.custom_residual_block + +def value_iteration_network( + fr, num_iters, val_neurons, action_neurons, kernel_size, share_wts=False, + name='vin', wt_decay=0.0001, activation_fn=None, shape_aware=False): + """ + Constructs a Value Iteration Network, convolutions and max pooling across + channels. + Input: + fr: NxWxHxC + val_neurons: Number of channels for maintaining the value. + action_neurons: Computes action_neurons * val_neurons at each iteration to + max pool over. + Output: + value image: NxHxWx(val_neurons) + """ + init_var = np.sqrt(2.0/(kernel_size**2)/(val_neurons*action_neurons)) + vals = [] + with tf.variable_scope(name) as varscope: + if shape_aware == False: + fr_shape = tf.unstack(tf.shape(fr)) + val_shape = tf.stack(fr_shape[:-1] + [val_neurons]) + val = tf.zeros(val_shape, name='val_init') + else: + val = tf.expand_dims(tf.zeros_like(fr[:,:,:,0]), dim=-1) * \ + tf.constant(0., dtype=tf.float32, shape=[1,1,1,val_neurons]) + val_shape = tf.shape(val) + vals.append(val) + for i in range(num_iters): + if share_wts: + # The first Value Iteration maybe special, so it can have its own + # paramterss. + scope = 'conv' + if i == 0: scope = 'conv_0' + if i > 1: varscope.reuse_variables() + else: + scope = 'conv_{:d}'.format(i) + val = slim.conv2d(tf.concat([val, fr], 3, name='concat_{:d}'.format(i)), + num_outputs=action_neurons*val_neurons, + kernel_size=kernel_size, stride=1, activation_fn=activation_fn, + scope=scope, normalizer_fn=None, + weights_regularizer=slim.l2_regularizer(wt_decay), + weights_initializer=tf.random_normal_initializer(stddev=init_var), + biases_initializer=tf.zeros_initializer()) + val = tf.reshape(val, [-1, action_neurons*val_neurons, 1, 1], + name='re_{:d}'.format(i)) + val = slim.max_pool2d(val, kernel_size=[action_neurons,1], + stride=[action_neurons,1], padding='VALID', + scope='val_{:d}'.format(i)) + val = tf.reshape(val, val_shape, name='unre_{:d}'.format(i)) + vals.append(val) + return val, vals + + +def rotate_preds(loc_on_map, relative_theta, map_size, preds, + output_valid_mask): + with tf.name_scope('rotate'): + flow_op = tf_utils.get_flow(loc_on_map, relative_theta, map_size=map_size) + if type(preds) != list: + rotated_preds, valid_mask_warps = tf_utils.dense_resample(preds, flow_op, + output_valid_mask) + else: + rotated_preds = [] ;valid_mask_warps = [] + for pred in preds: + rotated_pred, valid_mask_warp = tf_utils.dense_resample(pred, flow_op, + output_valid_mask) + rotated_preds.append(rotated_pred) + valid_mask_warps.append(valid_mask_warp) + return rotated_preds, valid_mask_warps + +def get_visual_frustum(map_size, shape_like, expand_dims=[0,0]): + with tf.name_scope('visual_frustum'): + l = np.tril(np.ones(map_size)) ;l = l + l[:,::-1] + l = (l == 2).astype(np.float32) + for e in expand_dims: + l = np.expand_dims(l, axis=e) + confs_probs = tf.constant(l, dtype=tf.float32) + confs_probs = tf.ones_like(shape_like, dtype=tf.float32) * confs_probs + return confs_probs + +def deconv(x, is_training, wt_decay, neurons, strides, layers_per_block, + kernel_size, conv_fn, name, offset=0): + """Generates a up sampling network with residual connections. + """ + batch_norm_param = {'center': True, 'scale': True, + 'activation_fn': tf.nn.relu, + 'is_training': is_training} + outs = [] + for i, (neuron, stride) in enumerate(zip(neurons, strides)): + for s in range(layers_per_block): + scope = '{:s}_{:d}_{:d}'.format(name, i+1+offset,s+1) + x = custom_residual_block(x, neuron, kernel_size, stride, scope, + is_training, wt_decay, use_residual=True, + residual_stride_conv=True, conv_fn=conv_fn, + batch_norm_param=batch_norm_param) + stride = 1 + outs.append((x,True)) + return x, outs + +def fr_v2(x, output_neurons, inside_neurons, is_training, name='fr', + wt_decay=0.0001, stride=1, updates_collections=tf.GraphKeys.UPDATE_OPS): + """Performs fusion of information between the map and the reward map. + Inputs + x: NxHxWxC1 + + Outputs + fr map: NxHxWx(output_neurons) + """ + if type(stride) != list: + stride = [stride] + with slim.arg_scope(resnet_v2.resnet_utils.resnet_arg_scope( + is_training=is_training, weight_decay=wt_decay)): + with slim.arg_scope([slim.batch_norm], updates_collections=updates_collections) as arg_sc: + # Change the updates_collections for the conv normalizer_params to None + for i in range(len(arg_sc.keys())): + if 'convolution' in arg_sc.keys()[i]: + arg_sc.values()[i]['normalizer_params']['updates_collections'] = updates_collections + with slim.arg_scope(arg_sc): + bottleneck = resnet_v2.bottleneck + blocks = [] + for i, s in enumerate(stride): + b = resnet_v2.resnet_utils.Block( + 'block{:d}'.format(i + 1), bottleneck, [{ + 'depth': output_neurons, + 'depth_bottleneck': inside_neurons, + 'stride': stride[i] + }]) + blocks.append(b) + x, outs = resnet_v2.resnet_v2(x, blocks, num_classes=None, global_pool=False, + output_stride=None, include_root_block=False, + reuse=False, scope=name) + return x, outs diff --git a/cognitive_mapping_and_planning/tfcode/nav_utils.py b/cognitive_mapping_and_planning/tfcode/nav_utils.py new file mode 100644 index 000000000..2f764f33d --- /dev/null +++ b/cognitive_mapping_and_planning/tfcode/nav_utils.py @@ -0,0 +1,435 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Various losses for training navigation agents. + +Defines various loss functions for navigation agents, +compute_losses_multi_or. +""" + +import os, numpy as np +import matplotlib.pyplot as plt + + +import tensorflow as tf + +from tensorflow.contrib import slim +from tensorflow.contrib.slim import arg_scope +from tensorflow.contrib.slim.nets import resnet_v2 +from tensorflow.python.training import moving_averages +import logging +from src import utils +import src.file_utils as fu +from tfcode import tf_utils + + +def compute_losses_multi_or(logits, actions_one_hot, weights=None, + num_actions=-1, data_loss_wt=1., reg_loss_wt=1., + ewma_decay=0.99, reg_loss_op=None): + assert(num_actions > 0), 'num_actions must be specified and must be > 0.' + + with tf.name_scope('loss'): + if weights is None: + weight = tf.ones_like(actions_one_hot, dtype=tf.float32, name='weight') + + actions_one_hot = tf.cast(tf.reshape(actions_one_hot, [-1, num_actions], + 're_actions_one_hot'), tf.float32) + weights = tf.reduce_sum(tf.reshape(weights, [-1, num_actions], 're_weight'), + reduction_indices=1) + total = tf.reduce_sum(weights) + + action_prob = tf.nn.softmax(logits) + action_prob = tf.reduce_sum(tf.multiply(action_prob, actions_one_hot), + reduction_indices=1) + example_loss = -tf.log(tf.maximum(tf.constant(1e-4), action_prob)) + + data_loss_op = tf.reduce_sum(example_loss * weights) / total + if reg_loss_op is None: + if reg_loss_wt > 0: + reg_loss_op = tf.add_n(tf.losses.get_regularization_losses()) + else: + reg_loss_op = tf.constant(0.) + + if reg_loss_wt > 0: + total_loss_op = data_loss_wt*data_loss_op + reg_loss_wt*reg_loss_op + else: + total_loss_op = data_loss_wt*data_loss_op + + is_correct = tf.cast(tf.greater(action_prob, 0.5, name='pred_class'), tf.float32) + acc_op = tf.reduce_sum(is_correct*weights) / total + + ewma_acc_op = moving_averages.weighted_moving_average( + acc_op, ewma_decay, weight=total, name='ewma_acc') + + acc_ops = [ewma_acc_op] + + return reg_loss_op, data_loss_op, total_loss_op, acc_ops + + +def get_repr_from_image(images_reshaped, modalities, data_augment, encoder, + freeze_conv, wt_decay, is_training): + # Pass image through lots of convolutional layers, to obtain pool5 + if modalities == ['rgb']: + with tf.name_scope('pre_rgb'): + x = (images_reshaped + 128.) / 255. # Convert to brightness between 0 and 1. + if data_augment.relight and is_training: + x = tf_utils.distort_image(x, fast_mode=data_augment.relight_fast) + x = (x-0.5)*2.0 + scope_name = encoder + elif modalities == ['depth']: + with tf.name_scope('pre_d'): + d_image = images_reshaped + x = 2*(d_image[...,0] - 80.0)/100.0 + y = d_image[...,1] + d_image = tf.concat([tf.expand_dims(x, -1), tf.expand_dims(y, -1)], 3) + x = d_image + scope_name = 'd_'+encoder + + resnet_is_training = is_training and (not freeze_conv) + with slim.arg_scope(resnet_v2.resnet_utils.resnet_arg_scope(resnet_is_training)): + fn = getattr(tf_utils, encoder) + x, end_points = fn(x, num_classes=None, global_pool=False, + output_stride=None, reuse=None, + scope=scope_name) + vars_ = slim.get_variables_to_restore() + + conv_feat = x + return conv_feat, vars_ + +def default_train_step_kwargs(m, obj, logdir, rng_seed, is_chief, num_steps, + iters, train_display_interval, + dagger_sample_bn_false): + train_step_kwargs = {} + train_step_kwargs['obj'] = obj + train_step_kwargs['m'] = m + + # rng_data has 2 independent rngs, one for sampling episodes and one for + # sampling perturbs (so that we can make results reproducible. + train_step_kwargs['rng_data'] = [np.random.RandomState(rng_seed), + np.random.RandomState(rng_seed)] + train_step_kwargs['rng_action'] = np.random.RandomState(rng_seed) + if is_chief: + train_step_kwargs['writer'] = tf.summary.FileWriter(logdir) #, m.tf_graph) + else: + train_step_kwargs['writer'] = None + train_step_kwargs['iters'] = iters + train_step_kwargs['train_display_interval'] = train_display_interval + train_step_kwargs['num_steps'] = num_steps + train_step_kwargs['logdir'] = logdir + train_step_kwargs['dagger_sample_bn_false'] = dagger_sample_bn_false + return train_step_kwargs + +# Utilities for visualizing and analysing validation output. +def save_d_at_t(outputs, global_step, output_dir, metric_summary, N): + """Save distance to goal at all time steps. + + Args: + outputs : [gt_dist_to_goal]. + global_step : number of iterations. + output_dir : output directory. + metric_summary : to append scalars to summary. + N : number of outputs to process. + + """ + d_at_t = np.concatenate(map(lambda x: x[0][:,:,0]*1, outputs), axis=0) + fig, axes = utils.subplot(plt, (1,1), (5,5)) + axes.plot(np.arange(d_at_t.shape[1]), np.mean(d_at_t, axis=0), 'r.') + axes.set_xlabel('time step') + axes.set_ylabel('dist to next goal') + axes.grid('on') + file_name = os.path.join(output_dir, 'dist_at_t_{:d}.png'.format(global_step)) + with fu.fopen(file_name, 'w') as f: + fig.savefig(f, bbox_inches='tight', transparent=True, pad_inches=0) + file_name = os.path.join(output_dir, 'dist_at_t_{:d}.pkl'.format(global_step)) + utils.save_variables(file_name, [d_at_t], ['d_at_t'], overwrite=True) + plt.close(fig) + return None + +def save_all(outputs, global_step, output_dir, metric_summary, N): + """Save numerous statistics. + + Args: + outputs : [locs, goal_loc, gt_dist_to_goal, node_ids, perturbs] + global_step : number of iterations. + output_dir : output directory. + metric_summary : to append scalars to summary. + N : number of outputs to process. + """ + all_locs = np.concatenate(map(lambda x: x[0], outputs), axis=0) + all_goal_locs = np.concatenate(map(lambda x: x[1], outputs), axis=0) + all_d_at_t = np.concatenate(map(lambda x: x[2][:,:,0]*1, outputs), axis=0) + all_node_ids = np.concatenate(map(lambda x: x[3], outputs), axis=0) + all_perturbs = np.concatenate(map(lambda x: x[4], outputs), axis=0) + + file_name = os.path.join(output_dir, 'all_locs_at_t_{:d}.pkl'.format(global_step)) + vars = [all_locs, all_goal_locs, all_d_at_t, all_node_ids, all_perturbs] + var_names = ['all_locs', 'all_goal_locs', 'all_d_at_t', 'all_node_ids', 'all_perturbs'] + utils.save_variables(file_name, vars, var_names, overwrite=True) + return None + +def eval_ap(outputs, global_step, output_dir, metric_summary, N, num_classes=4): + """Processes the collected outputs to compute AP for action prediction. + + Args: + outputs : [logits, labels] + global_step : global_step. + output_dir : where to store results. + metric_summary : summary object to add summaries to. + N : number of outputs to process. + num_classes : number of classes to compute AP over, and to reshape tensors. + """ + if N >= 0: + outputs = outputs[:N] + logits = np.concatenate(map(lambda x: x[0], outputs), axis=0).reshape((-1, num_classes)) + labels = np.concatenate(map(lambda x: x[1], outputs), axis=0).reshape((-1, num_classes)) + aps = [] + for i in range(logits.shape[1]): + ap, rec, prec = utils.calc_pr(labels[:,i], logits[:,i]) + ap = ap[0] + tf_utils.add_value_to_summary(metric_summary, 'aps/ap_{:d}: '.format(i), ap) + aps.append(ap) + return aps + +def eval_dist(outputs, global_step, output_dir, metric_summary, N): + """Processes the collected outputs during validation to + 1. Plot the distance over time curve. + 2. Compute mean and median distances. + 3. Plots histogram of end distances. + + Args: + outputs : [locs, goal_loc, gt_dist_to_goal]. + global_step : global_step. + output_dir : where to store results. + metric_summary : summary object to add summaries to. + N : number of outputs to process. + """ + SUCCESS_THRESH = 3 + if N >= 0: + outputs = outputs[:N] + + # Plot distance at time t. + d_at_t = [] + for i in range(len(outputs)): + locs, goal_loc, gt_dist_to_goal = outputs[i] + d_at_t.append(gt_dist_to_goal[:,:,0]*1) + + # Plot the distance. + fig, axes = utils.subplot(plt, (1,1), (5,5)) + d_at_t = np.concatenate(d_at_t, axis=0) + axes.plot(np.arange(d_at_t.shape[1]), np.mean(d_at_t, axis=0), 'r.') + axes.set_xlabel('time step') + axes.set_ylabel('dist to next goal') + axes.grid('on') + file_name = os.path.join(output_dir, 'dist_at_t_{:d}.png'.format(global_step)) + with fu.fopen(file_name, 'w') as f: + fig.savefig(f, bbox_inches='tight', transparent=True, pad_inches=0) + file_name = os.path.join(output_dir, 'dist_at_t_{:d}.pkl'.format(global_step)) + utils.save_variables(file_name, [d_at_t], ['d_at_t'], overwrite=True) + plt.close(fig) + + # Plot the trajectories and the init_distance and final distance. + d_inits = [] + d_ends = [] + for i in range(len(outputs)): + locs, goal_loc, gt_dist_to_goal = outputs[i] + d_inits.append(gt_dist_to_goal[:,0,0]*1) + d_ends.append(gt_dist_to_goal[:,-1,0]*1) + + # Plot the distance. + fig, axes = utils.subplot(plt, (1,1), (5,5)) + d_inits = np.concatenate(d_inits, axis=0) + d_ends = np.concatenate(d_ends, axis=0) + axes.plot(d_inits+np.random.rand(*(d_inits.shape))-0.5, + d_ends+np.random.rand(*(d_ends.shape))-0.5, '.', mec='red', mew=1.0) + axes.set_xlabel('init dist'); axes.set_ylabel('final dist'); + axes.grid('on'); axes.axis('equal'); + title_str = 'mean: {:0.1f}, 50: {:0.1f}, 75: {:0.2f}, s: {:0.1f}' + title_str = title_str.format( + np.mean(d_ends), np.median(d_ends), np.percentile(d_ends, q=75), + 100*(np.mean(d_ends <= SUCCESS_THRESH))) + axes.set_title(title_str) + file_name = os.path.join(output_dir, 'dist_{:d}.png'.format(global_step)) + with fu.fopen(file_name, 'w') as f: + fig.savefig(f, bbox_inches='tight', transparent=True, pad_inches=0) + + file_name = os.path.join(output_dir, 'dist_{:d}.pkl'.format(global_step)) + utils.save_variables(file_name, [d_inits, d_ends], ['d_inits', 'd_ends'], + overwrite=True) + plt.close(fig) + + # Plot the histogram of the end_distance. + with plt.style.context('seaborn-white'): + d_ends_ = np.sort(d_ends) + d_inits_ = np.sort(d_inits) + leg = []; + fig, ax = utils.subplot(plt, (1,1), (5,5)) + ax.grid('on') + ax.set_xlabel('Distance from goal'); ax.xaxis.label.set_fontsize(16); + ax.set_ylabel('Fraction of data'); ax.yaxis.label.set_fontsize(16); + ax.plot(d_ends_, np.arange(d_ends_.size)*1./d_ends_.size, 'r') + ax.plot(d_inits_, np.arange(d_inits_.size)*1./d_inits_.size, 'k') + leg.append('Final'); leg.append('Init'); + ax.legend(leg, fontsize='x-large'); + ax.set_axis_on() + title_str = 'mean: {:0.1f}, 50: {:0.1f}, 75: {:0.2f}, s: {:0.1f}' + title_str = title_str.format( + np.mean(d_ends), np.median(d_ends), np.percentile(d_ends, q=75), + 100*(np.mean(d_ends <= SUCCESS_THRESH))) + ax.set_title(title_str) + file_name = os.path.join(output_dir, 'dist_hist_{:d}.png'.format(global_step)) + with fu.fopen(file_name, 'w') as f: + fig.savefig(f, bbox_inches='tight', transparent=True, pad_inches=0) + + # Log distance metrics. + tf_utils.add_value_to_summary(metric_summary, 'dists/success_init: ', + 100*(np.mean(d_inits <= SUCCESS_THRESH))) + tf_utils.add_value_to_summary(metric_summary, 'dists/success_end: ', + 100*(np.mean(d_ends <= SUCCESS_THRESH))) + tf_utils.add_value_to_summary(metric_summary, 'dists/dist_init (75): ', + np.percentile(d_inits, q=75)) + tf_utils.add_value_to_summary(metric_summary, 'dists/dist_end (75): ', + np.percentile(d_ends, q=75)) + tf_utils.add_value_to_summary(metric_summary, 'dists/dist_init (median): ', + np.median(d_inits)) + tf_utils.add_value_to_summary(metric_summary, 'dists/dist_end (median): ', + np.median(d_ends)) + tf_utils.add_value_to_summary(metric_summary, 'dists/dist_init (mean): ', + np.mean(d_inits)) + tf_utils.add_value_to_summary(metric_summary, 'dists/dist_end (mean): ', + np.mean(d_ends)) + return np.median(d_inits), np.median(d_ends), np.mean(d_inits), np.mean(d_ends), \ + np.percentile(d_inits, q=75), np.percentile(d_ends, q=75), \ + 100*(np.mean(d_inits) <= SUCCESS_THRESH), 100*(np.mean(d_ends) <= SUCCESS_THRESH) + +def plot_trajectories(outputs, global_step, output_dir, metric_summary, N): + """Processes the collected outputs during validation to plot the trajectories + in the top view. + + Args: + outputs : [locs, orig_maps, goal_loc]. + global_step : global_step. + output_dir : where to store results. + metric_summary : summary object to add summaries to. + N : number of outputs to process. + """ + if N >= 0: + outputs = outputs[:N] + N = len(outputs) + + plt.set_cmap('gray') + fig, axes = utils.subplot(plt, (N, outputs[0][1].shape[0]), (5,5)) + axes = axes.ravel()[::-1].tolist() + for i in range(N): + locs, orig_maps, goal_loc = outputs[i] + is_semantic = np.isnan(goal_loc[0,0,1]) + for j in range(orig_maps.shape[0]): + ax = axes.pop(); + ax.plot(locs[j,0,0], locs[j,0,1], 'ys') + # Plot one by one, so that they come in different colors. + for k in range(goal_loc.shape[1]): + if not is_semantic: + ax.plot(goal_loc[j,k,0], goal_loc[j,k,1], 's') + if False: + ax.plot(locs[j,:,0], locs[j,:,1], 'r.', ms=3) + ax.imshow(orig_maps[j,0,:,:,0], origin='lower') + ax.set_axis_off(); + else: + ax.scatter(locs[j,:,0], locs[j,:,1], c=np.arange(locs.shape[1]), + cmap='jet', s=10, lw=0) + ax.imshow(orig_maps[j,0,:,:,0], origin='lower', vmin=-1.0, vmax=2.0) + if not is_semantic: + xymin = np.minimum(np.min(goal_loc[j,:,:], axis=0), np.min(locs[j,:,:], axis=0)) + xymax = np.maximum(np.max(goal_loc[j,:,:], axis=0), np.max(locs[j,:,:], axis=0)) + else: + xymin = np.min(locs[j,:,:], axis=0) + xymax = np.max(locs[j,:,:], axis=0) + xy1 = (xymax+xymin)/2. - np.maximum(np.max(xymax-xymin), 12) + xy2 = (xymax+xymin)/2. + np.maximum(np.max(xymax-xymin), 12) + ax.set_xlim([xy1[0], xy2[0]]) + ax.set_ylim([xy1[1], xy2[1]]) + ax.set_axis_off() + file_name = os.path.join(output_dir, 'trajectory_{:d}.png'.format(global_step)) + with fu.fopen(file_name, 'w') as f: + fig.savefig(f, bbox_inches='tight', transparent=True, pad_inches=0) + plt.close(fig) + return None + +def add_default_summaries(mode, arop_full_summary_iters, summarize_ops, + summarize_names, to_aggregate, action_prob_op, + input_tensors, scope_name): + assert(mode == 'train' or mode == 'val' or mode == 'test'), \ + 'add_default_summaries mode is neither train or val or test.' + + s_ops = tf_utils.get_default_summary_ops() + + if mode == 'train': + s_ops.summary_ops, s_ops.print_summary_ops, additional_return_ops, \ + arop_summary_iters, arop_eval_fns = tf_utils.simple_summaries( + summarize_ops, summarize_names, mode, to_aggregate=False, + scope_name=scope_name) + s_ops.additional_return_ops += additional_return_ops + s_ops.arop_summary_iters += arop_summary_iters + s_ops.arop_eval_fns += arop_eval_fns + elif mode == 'val': + s_ops.summary_ops, s_ops.print_summary_ops, additional_return_ops, \ + arop_summary_iters, arop_eval_fns = tf_utils.simple_summaries( + summarize_ops, summarize_names, mode, to_aggregate=to_aggregate, + scope_name=scope_name) + s_ops.additional_return_ops += additional_return_ops + s_ops.arop_summary_iters += arop_summary_iters + s_ops.arop_eval_fns += arop_eval_fns + + elif mode == 'test': + s_ops.summary_ops, s_ops.print_summary_ops, additional_return_ops, \ + arop_summary_iters, arop_eval_fns = tf_utils.simple_summaries( + [], [], mode, to_aggregate=[], scope_name=scope_name) + s_ops.additional_return_ops += additional_return_ops + s_ops.arop_summary_iters += arop_summary_iters + s_ops.arop_eval_fns += arop_eval_fns + + + if mode == 'val': + arop = s_ops.additional_return_ops + arop += [[action_prob_op, input_tensors['train']['action']]] + arop += [[input_tensors['step']['loc_on_map'], + input_tensors['common']['goal_loc'], + input_tensors['step']['gt_dist_to_goal']]] + arop += [[input_tensors['step']['loc_on_map'], + input_tensors['common']['orig_maps'], + input_tensors['common']['goal_loc']]] + s_ops.arop_summary_iters += [-1, arop_full_summary_iters, + arop_full_summary_iters] + s_ops.arop_eval_fns += [eval_ap, eval_dist, plot_trajectories] + + elif mode == 'test': + arop = s_ops.additional_return_ops + arop += [[input_tensors['step']['loc_on_map'], + input_tensors['common']['goal_loc'], + input_tensors['step']['gt_dist_to_goal']]] + arop += [[input_tensors['step']['gt_dist_to_goal']]] + arop += [[input_tensors['step']['loc_on_map'], + input_tensors['common']['goal_loc'], + input_tensors['step']['gt_dist_to_goal'], + input_tensors['step']['node_ids'], + input_tensors['step']['perturbs']]] + arop += [[input_tensors['step']['loc_on_map'], + input_tensors['common']['orig_maps'], + input_tensors['common']['goal_loc']]] + s_ops.arop_summary_iters += [-1, -1, -1, arop_full_summary_iters] + s_ops.arop_eval_fns += [eval_dist, save_d_at_t, save_all, + plot_trajectories] + return s_ops + + diff --git a/cognitive_mapping_and_planning/tfcode/tf_utils.py b/cognitive_mapping_and_planning/tfcode/tf_utils.py new file mode 100644 index 000000000..5f96d8ff5 --- /dev/null +++ b/cognitive_mapping_and_planning/tfcode/tf_utils.py @@ -0,0 +1,840 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +import numpy as np +import sys +import tensorflow as tf +import src.utils as utils +import logging +from tensorflow.contrib import slim +from tensorflow.contrib.metrics.python.ops import confusion_matrix_ops +from tensorflow.contrib.slim import arg_scope +from tensorflow.contrib.slim.nets import resnet_v2 +from tensorflow.python.framework import dtypes +from tensorflow.python.ops import array_ops +from tensorflow.python.ops import check_ops +from tensorflow.python.ops import math_ops +from tensorflow.python.ops import variable_scope +sys.path.insert(0, '../slim') +from preprocessing import inception_preprocessing as ip + +resnet_v2_50 = resnet_v2.resnet_v2_50 + + +def custom_residual_block(x, neurons, kernel_size, stride, name, is_training, + wt_decay=0.0001, use_residual=True, + residual_stride_conv=True, conv_fn=slim.conv2d, + batch_norm_param=None): + + # batch norm x and relu + init_var = np.sqrt(2.0/(kernel_size**2)/neurons) + with arg_scope([conv_fn], + weights_regularizer=slim.l2_regularizer(wt_decay), + weights_initializer=tf.random_normal_initializer(stddev=init_var), + biases_initializer=tf.zeros_initializer()): + + if batch_norm_param is None: + batch_norm_param = {'center': True, 'scale': False, + 'activation_fn':tf.nn.relu, + 'is_training': is_training} + + y = slim.batch_norm(x, scope=name+'_bn', **batch_norm_param) + + y = conv_fn(y, num_outputs=neurons, kernel_size=kernel_size, stride=stride, + activation_fn=None, scope=name+'_1', + normalizer_fn=slim.batch_norm, + normalizer_params=batch_norm_param) + + y = conv_fn(y, num_outputs=neurons, kernel_size=kernel_size, + stride=1, activation_fn=None, scope=name+'_2') + + if use_residual: + if stride != 1 or x.get_shape().as_list()[-1] != neurons: + batch_norm_param_ = dict(batch_norm_param) + batch_norm_param_['activation_fn'] = None + x = conv_fn(x, num_outputs=neurons, kernel_size=1, + stride=stride if residual_stride_conv else 1, + activation_fn=None, scope=name+'_0_1x1', + normalizer_fn=slim.batch_norm, + normalizer_params=batch_norm_param_) + if not residual_stride_conv: + x = slim.avg_pool2d(x, 1, stride=stride, scope=name+'_0_avg') + + y = tf.add(x, y, name=name+'_add') + + return y + +def step_gt_prob(step, step_number_op): + # Change samping probability from 1 to -1 at step steps. + with tf.name_scope('step_gt_prob'): + out = tf.cond(tf.less(step_number_op, step), + lambda: tf.constant(1.), lambda: tf.constant(-1.)) + return out + +def inverse_sigmoid_decay(k, global_step_op): + with tf.name_scope('inverse_sigmoid_decay'): + k = tf.constant(k, dtype=tf.float32) + tmp = k*tf.exp(-tf.cast(global_step_op, tf.float32)/k) + tmp = tmp / (1. + tmp) + return tmp + +def dense_resample(im, flow_im, output_valid_mask, name='dense_resample'): + """ Resample reward at particular locations. + Args: + im: ...xHxWxC matrix to sample from. + flow_im: ...xHxWx2 matrix, samples the image using absolute offsets as given + by the flow_im. + """ + with tf.name_scope(name): + valid_mask = None + + x, y = tf.unstack(flow_im, axis=-1) + x = tf.cast(tf.reshape(x, [-1]), tf.float32) + y = tf.cast(tf.reshape(y, [-1]), tf.float32) + + # constants + shape = tf.unstack(tf.shape(im)) + channels = shape[-1] + width = shape[-2] + height = shape[-3] + num_batch = tf.cast(tf.reduce_prod(tf.stack(shape[:-3])), 'int32') + zero = tf.constant(0, dtype=tf.int32) + + # Round up and down. + x0 = tf.cast(tf.floor(x), 'int32'); x1 = x0 + 1; + y0 = tf.cast(tf.floor(y), 'int32'); y1 = y0 + 1; + + if output_valid_mask: + valid_mask = tf.logical_and( + tf.logical_and(tf.less_equal(x, tf.cast(width, tf.float32)-1.), tf.greater_equal(x, 0.)), + tf.logical_and(tf.less_equal(y, tf.cast(height, tf.float32)-1.), tf.greater_equal(y, 0.))) + valid_mask = tf.reshape(valid_mask, shape=shape[:-1] + [1]) + + x0 = tf.clip_by_value(x0, zero, width-1) + x1 = tf.clip_by_value(x1, zero, width-1) + y0 = tf.clip_by_value(y0, zero, height-1) + y1 = tf.clip_by_value(y1, zero, height-1) + + dim2 = width; dim1 = width * height; + + # Create base index + base = tf.reshape(tf.range(num_batch) * dim1, shape=[-1,1]) + base = tf.reshape(tf.tile(base, [1, height*width]), shape=[-1]) + + base_y0 = base + y0 * dim2 + base_y1 = base + y1 * dim2 + idx_a = base_y0 + x0 + idx_b = base_y1 + x0 + idx_c = base_y0 + x1 + idx_d = base_y1 + x1 + + # use indices to lookup pixels in the flat image and restore channels dim + sh = tf.stack([tf.constant(-1,dtype=tf.int32), channels]) + im_flat = tf.cast(tf.reshape(im, sh), dtype=tf.float32) + pixel_a = tf.gather(im_flat, idx_a) + pixel_b = tf.gather(im_flat, idx_b) + pixel_c = tf.gather(im_flat, idx_c) + pixel_d = tf.gather(im_flat, idx_d) + + # and finally calculate interpolated values + x1_f = tf.to_float(x1) + y1_f = tf.to_float(y1) + + wa = tf.expand_dims(((x1_f - x) * (y1_f - y)), 1) + wb = tf.expand_dims((x1_f - x) * (1.0 - (y1_f - y)), 1) + wc = tf.expand_dims(((1.0 - (x1_f - x)) * (y1_f - y)), 1) + wd = tf.expand_dims(((1.0 - (x1_f - x)) * (1.0 - (y1_f - y))), 1) + + output = tf.add_n([wa * pixel_a, wb * pixel_b, wc * pixel_c, wd * pixel_d]) + output = tf.reshape(output, shape=tf.shape(im)) + return output, valid_mask + +def get_flow(t, theta, map_size, name_scope='gen_flow'): + """ + Rotates the map by theta and translates the rotated map by t. + + Assume that the robot rotates by an angle theta and then moves forward by + translation t. This function returns the flow field field. For every pixel in + the new image it tells us which pixel in the original image it came from: + NewI(x, y) = OldI(flow_x(x,y), flow_y(x,y)). + + Assume there is a point p in the original image. Robot rotates by R and moves + forward by t. p1 = Rt*p; p2 = p1 - t; (the world moves in opposite direction. + So, p2 = Rt*p - t, thus p2 came from R*(p2+t), which is what this function + calculates. + + t: ... x 2 (translation for B batches of N motions each). + theta: ... x 1 (rotation for B batches of N motions each). + + Output: ... x map_size x map_size x 2 + """ + + with tf.name_scope(name_scope): + tx, ty = tf.unstack(tf.reshape(t, shape=[-1, 1, 1, 1, 2]), axis=4) + theta = tf.reshape(theta, shape=[-1, 1, 1, 1]) + c = tf.constant((map_size-1.)/2., dtype=tf.float32) + + x, y = np.meshgrid(np.arange(map_size), np.arange(map_size)) + x = tf.constant(x[np.newaxis, :, :, np.newaxis], dtype=tf.float32, name='x', + shape=[1, map_size, map_size, 1]) + y = tf.constant(y[np.newaxis, :, :, np.newaxis], dtype=tf.float32, name='y', + shape=[1,map_size, map_size, 1]) + + x = x-(-tx+c) + y = y-(-ty+c) + + sin_theta = tf.sin(theta) + cos_theta = tf.cos(theta) + xr = cos_theta*x - sin_theta*y + yr = sin_theta*x + cos_theta*y + + xr = xr + c + yr = yr + c + + flow = tf.stack([xr, yr], axis=-1) + sh = tf.unstack(tf.shape(t), axis=0) + sh = tf.stack(sh[:-1]+[tf.constant(_, dtype=tf.int32) for _ in [map_size, map_size, 2]]) + flow = tf.reshape(flow, shape=sh) + return flow + +def distort_image(im, fast_mode=False): + # All images in the same batch are transformed the same way, but over + # iterations you see different distortions. + # im should be float with values between 0 and 1. + im_ = tf.reshape(im, shape=(-1,1,3)) + im_ = ip.apply_with_random_selector( + im_, lambda x, ordering: ip.distort_color(x, ordering, fast_mode), + num_cases=4) + im_ = tf.reshape(im_, tf.shape(im)) + return im_ + +def fc_network(x, neurons, wt_decay, name, num_pred=None, offset=0, + batch_norm_param=None, dropout_ratio=0.0, is_training=None): + if dropout_ratio > 0: + assert(is_training is not None), \ + 'is_training needs to be defined when trainnig with dropout.' + + repr = [] + for i, neuron in enumerate(neurons): + init_var = np.sqrt(2.0/neuron) + if batch_norm_param is not None: + x = slim.fully_connected(x, neuron, activation_fn=None, + weights_initializer=tf.random_normal_initializer(stddev=init_var), + weights_regularizer=slim.l2_regularizer(wt_decay), + normalizer_fn=slim.batch_norm, + normalizer_params=batch_norm_param, + biases_initializer=tf.zeros_initializer(), + scope='{:s}_{:d}'.format(name, offset+i)) + else: + x = slim.fully_connected(x, neuron, activation_fn=tf.nn.relu, + weights_initializer=tf.random_normal_initializer(stddev=init_var), + weights_regularizer=slim.l2_regularizer(wt_decay), + biases_initializer=tf.zeros_initializer(), + scope='{:s}_{:d}'.format(name, offset+i)) + if dropout_ratio > 0: + x = slim.dropout(x, keep_prob=1-dropout_ratio, is_training=is_training, + scope='{:s}_{:d}'.format('dropout_'+name, offset+i)) + repr.append(x) + + if num_pred is not None: + init_var = np.sqrt(2.0/num_pred) + x = slim.fully_connected(x, num_pred, + weights_regularizer=slim.l2_regularizer(wt_decay), + weights_initializer=tf.random_normal_initializer(stddev=init_var), + biases_initializer=tf.zeros_initializer(), + activation_fn=None, + scope='{:s}_pred'.format(name)) + return x, repr + +def concat_state_x_list(f, names): + af = {} + for i, k in enumerate(names): + af[k] = np.concatenate([x[i] for x in f], axis=1) + return af + +def concat_state_x(f, names): + af = {} + for k in names: + af[k] = np.concatenate([x[k] for x in f], axis=1) + # af[k] = np.swapaxes(af[k], 0, 1) + return af + +def sample_action(rng, action_probs, optimal_action, sample_gt_prob, + type='sample', combine_type='one_or_other'): + optimal_action_ = optimal_action/np.sum(optimal_action+0., 1, keepdims=True) + action_probs_ = action_probs/np.sum(action_probs+0.001, 1, keepdims=True) + batch_size = action_probs_.shape[0] + + action = np.zeros((batch_size), dtype=np.int32) + action_sample_wt = np.zeros((batch_size), dtype=np.float32) + if combine_type == 'add': + sample_gt_prob_ = np.minimum(np.maximum(sample_gt_prob, 0.), 1.) + + for i in range(batch_size): + if combine_type == 'one_or_other': + sample_gt = rng.rand() < sample_gt_prob + if sample_gt: distr_ = optimal_action_[i,:]*1. + else: distr_ = action_probs_[i,:]*1. + elif combine_type == 'add': + distr_ = optimal_action_[i,:]*sample_gt_prob_ + \ + (1.-sample_gt_prob_)*action_probs_[i,:] + distr_ = distr_ / np.sum(distr_) + + if type == 'sample': + action[i] = np.argmax(rng.multinomial(1, distr_, size=1)) + elif type == 'argmax': + action[i] = np.argmax(distr_) + action_sample_wt[i] = action_probs_[i, action[i]] / distr_[action[i]] + return action, action_sample_wt + +def train_step_custom_online_sampling(sess, train_op, global_step, + train_step_kwargs, mode='train'): + m = train_step_kwargs['m'] + obj = train_step_kwargs['obj'] + rng_data = train_step_kwargs['rng_data'] + rng_action = train_step_kwargs['rng_action'] + writer = train_step_kwargs['writer'] + iters = train_step_kwargs['iters'] + num_steps = train_step_kwargs['num_steps'] + logdir = train_step_kwargs['logdir'] + dagger_sample_bn_false = train_step_kwargs['dagger_sample_bn_false'] + train_display_interval = train_step_kwargs['train_display_interval'] + if 'outputs' not in m.train_ops: + m.train_ops['outputs'] = [] + + s_ops = m.summary_ops[mode] + val_additional_ops = [] + + # Print all variables here. + if False: + v = tf.get_collection(tf.GraphKeys.VARIABLES) + v_op = [_.value() for _ in v] + v_op_value = sess.run(v_op) + + filter = lambda x, y: 'Adam' in x.name + # filter = lambda x, y: np.is_any_nan(y) + ind = [i for i, (_, __) in enumerate(zip(v, v_op_value)) if filter(_, __)] + v = [v[i] for i in ind] + v_op_value = [v_op_value[i] for i in ind] + + for i in range(len(v)): + logging.info('XXXX: variable: %30s, is_any_nan: %5s, norm: %f.', + v[i].name, np.any(np.isnan(v_op_value[i])), + np.linalg.norm(v_op_value[i])) + + tt = utils.Timer() + for i in range(iters): + tt.tic() + # Sample a room. + e = obj.sample_env(rng_data) + + # Initialize the agent. + init_env_state = e.reset(rng_data) + + # Get and process the common data. + input = e.get_common_data() + input = e.pre_common_data(input) + feed_dict = prepare_feed_dict(m.input_tensors['common'], input) + if dagger_sample_bn_false: + feed_dict[m.train_ops['batch_norm_is_training_op']] = False + common_data = sess.run(m.train_ops['common'], feed_dict=feed_dict) + + states = [] + state_features = [] + state_targets = [] + net_state_to_input = [] + step_data_cache = [] + executed_actions = [] + rewards = [] + action_sample_wts = [] + states.append(init_env_state) + + net_state = sess.run(m.train_ops['init_state'], feed_dict=feed_dict) + net_state = dict(zip(m.train_ops['state_names'], net_state)) + net_state_to_input.append(net_state) + for j in range(num_steps): + f = e.get_features(states[j], j) + f = e.pre_features(f) + f.update(net_state) + f['step_number'] = np.ones((1,1,1), dtype=np.int32)*j + state_features.append(f) + + feed_dict = prepare_feed_dict(m.input_tensors['step'], state_features[-1]) + optimal_action = e.get_optimal_action(states[j], j) + for x, v in zip(m.train_ops['common'], common_data): + feed_dict[x] = v + if dagger_sample_bn_false: + feed_dict[m.train_ops['batch_norm_is_training_op']] = False + outs = sess.run([m.train_ops['step'], m.sample_gt_prob_op, + m.train_ops['step_data_cache'], + m.train_ops['updated_state'], + m.train_ops['outputs']], feed_dict=feed_dict) + action_probs = outs[0] + sample_gt_prob = outs[1] + step_data_cache.append(dict(zip(m.train_ops['step_data_cache'], outs[2]))) + net_state = outs[3] + if hasattr(e, 'update_state'): + outputs = outs[4] + outputs = dict(zip(m.train_ops['output_names'], outputs)) + e.update_state(outputs, j) + state_targets.append(e.get_targets(states[j], j)) + + if j < num_steps-1: + # Sample from action_probs and optimal action. + action, action_sample_wt = sample_action( + rng_action, action_probs, optimal_action, sample_gt_prob, + m.sample_action_type, m.sample_action_combine_type) + next_state, reward = e.take_action(states[j], action, j) + executed_actions.append(action) + states.append(next_state) + rewards.append(reward) + action_sample_wts.append(action_sample_wt) + net_state = dict(zip(m.train_ops['state_names'], net_state)) + net_state_to_input.append(net_state) + + # Concatenate things together for training. + rewards = np.array(rewards).T + action_sample_wts = np.array(action_sample_wts).T + executed_actions = np.array(executed_actions).T + all_state_targets = concat_state_x(state_targets, e.get_targets_name()) + all_state_features = concat_state_x(state_features, + e.get_features_name()+['step_number']) + # all_state_net = concat_state_x(net_state_to_input, + # m.train_ops['state_names']) + all_step_data_cache = concat_state_x(step_data_cache, + m.train_ops['step_data_cache']) + + dict_train = dict(input) + dict_train.update(all_state_features) + dict_train.update(all_state_targets) + # dict_train.update(all_state_net) + dict_train.update(net_state_to_input[0]) + dict_train.update(all_step_data_cache) + dict_train.update({'rewards': rewards, + 'action_sample_wts': action_sample_wts, + 'executed_actions': executed_actions}) + feed_dict = prepare_feed_dict(m.input_tensors['train'], dict_train) + for x in m.train_ops['step_data_cache']: + feed_dict[x] = all_step_data_cache[x] + if mode == 'train': + n_step = sess.run(global_step) + + if np.mod(n_step, train_display_interval) == 0: + total_loss, np_global_step, summary, print_summary = sess.run( + [train_op, global_step, s_ops.summary_ops, s_ops.print_summary_ops], + feed_dict=feed_dict) + logging.error("") + else: + total_loss, np_global_step, summary = sess.run( + [train_op, global_step, s_ops.summary_ops], feed_dict=feed_dict) + + if writer is not None and summary is not None: + writer.add_summary(summary, np_global_step) + + should_stop = sess.run(m.should_stop_op) + + if mode != 'train': + arop = [[] for j in range(len(s_ops.additional_return_ops))] + for j in range(len(s_ops.additional_return_ops)): + if s_ops.arop_summary_iters[j] < 0 or i < s_ops.arop_summary_iters[j]: + arop[j] = s_ops.additional_return_ops[j] + val = sess.run(arop, feed_dict=feed_dict) + val_additional_ops.append(val) + tt.toc(log_at=60, log_str='val timer {:d} / {:d}: '.format(i, iters), + type='time') + + if mode != 'train': + # Write the default val summaries. + summary, print_summary, np_global_step = sess.run( + [s_ops.summary_ops, s_ops.print_summary_ops, global_step]) + if writer is not None and summary is not None: + writer.add_summary(summary, np_global_step) + + # write custom validation ops + val_summarys = [] + val_additional_ops = zip(*val_additional_ops) + if len(s_ops.arop_eval_fns) > 0: + val_metric_summary = tf.summary.Summary() + for i in range(len(s_ops.arop_eval_fns)): + val_summary = None + if s_ops.arop_eval_fns[i] is not None: + val_summary = s_ops.arop_eval_fns[i](val_additional_ops[i], + np_global_step, logdir, + val_metric_summary, + s_ops.arop_summary_iters[i]) + val_summarys.append(val_summary) + if writer is not None: + writer.add_summary(val_metric_summary, np_global_step) + + # Return the additional val_ops + total_loss = (val_additional_ops, val_summarys) + should_stop = None + + return total_loss, should_stop + +def train_step_custom_v2(sess, train_op, global_step, train_step_kwargs, + mode='train'): + m = train_step_kwargs['m'] + obj = train_step_kwargs['obj'] + rng = train_step_kwargs['rng'] + writer = train_step_kwargs['writer'] + iters = train_step_kwargs['iters'] + logdir = train_step_kwargs['logdir'] + train_display_interval = train_step_kwargs['train_display_interval'] + + s_ops = m.summary_ops[mode] + val_additional_ops = [] + + # Print all variables here. + if False: + v = tf.get_collection(tf.GraphKeys.VARIABLES) + v_op = [_.value() for _ in v] + v_op_value = sess.run(v_op) + + filter = lambda x, y: 'Adam' in x.name + # filter = lambda x, y: np.is_any_nan(y) + ind = [i for i, (_, __) in enumerate(zip(v, v_op_value)) if filter(_, __)] + v = [v[i] for i in ind] + v_op_value = [v_op_value[i] for i in ind] + + for i in range(len(v)): + logging.info('XXXX: variable: %30s, is_any_nan: %5s, norm: %f.', + v[i].name, np.any(np.isnan(v_op_value[i])), + np.linalg.norm(v_op_value[i])) + + tt = utils.Timer() + for i in range(iters): + tt.tic() + e = obj.sample_env(rng) + rngs = e.gen_rng(rng) + input_data = e.gen_data(*rngs) + input_data = e.pre_data(input_data) + feed_dict = prepare_feed_dict(m.input_tensors, input_data) + + if mode == 'train': + n_step = sess.run(global_step) + + if np.mod(n_step, train_display_interval) == 0: + total_loss, np_global_step, summary, print_summary = sess.run( + [train_op, global_step, s_ops.summary_ops, s_ops.print_summary_ops], + feed_dict=feed_dict) + else: + total_loss, np_global_step, summary = sess.run( + [train_op, global_step, s_ops.summary_ops], + feed_dict=feed_dict) + + if writer is not None and summary is not None: + writer.add_summary(summary, np_global_step) + + should_stop = sess.run(m.should_stop_op) + + if mode != 'train': + arop = [[] for j in range(len(s_ops.additional_return_ops))] + for j in range(len(s_ops.additional_return_ops)): + if s_ops.arop_summary_iters[j] < 0 or i < s_ops.arop_summary_iters[j]: + arop[j] = s_ops.additional_return_ops[j] + val = sess.run(arop, feed_dict=feed_dict) + val_additional_ops.append(val) + tt.toc(log_at=60, log_str='val timer {:d} / {:d}: '.format(i, iters), + type='time') + + if mode != 'train': + # Write the default val summaries. + summary, print_summary, np_global_step = sess.run( + [s_ops.summary_ops, s_ops.print_summary_ops, global_step]) + if writer is not None and summary is not None: + writer.add_summary(summary, np_global_step) + + # write custom validation ops + val_summarys = [] + val_additional_ops = zip(*val_additional_ops) + if len(s_ops.arop_eval_fns) > 0: + val_metric_summary = tf.summary.Summary() + for i in range(len(s_ops.arop_eval_fns)): + val_summary = None + if s_ops.arop_eval_fns[i] is not None: + val_summary = s_ops.arop_eval_fns[i](val_additional_ops[i], + np_global_step, logdir, + val_metric_summary, + s_ops.arop_summary_iters[i]) + val_summarys.append(val_summary) + if writer is not None: + writer.add_summary(val_metric_summary, np_global_step) + + # Return the additional val_ops + total_loss = (val_additional_ops, val_summarys) + should_stop = None + + return total_loss, should_stop + +def train_step_custom(sess, train_op, global_step, train_step_kwargs, + mode='train'): + m = train_step_kwargs['m'] + params = train_step_kwargs['params'] + rng = train_step_kwargs['rng'] + writer = train_step_kwargs['writer'] + iters = train_step_kwargs['iters'] + gen_rng = train_step_kwargs['gen_rng'] + logdir = train_step_kwargs['logdir'] + gen_data = train_step_kwargs['gen_data'] + pre_data = train_step_kwargs['pre_data'] + train_display_interval = train_step_kwargs['train_display_interval'] + + val_additional_ops = [] + # Print all variables here. + if False: + v = tf.get_collection(tf.GraphKeys.VARIABLES) + for _ in v: + val = sess.run(_.value()) + logging.info('variable: %30s, is_any_nan: %5s, norm: %f.', _.name, + np.any(np.isnan(val)), np.linalg.norm(val)) + + for i in range(iters): + rngs = gen_rng(params, rng) + input_data = gen_data(params, *rngs) + input_data = pre_data(params, input_data) + feed_dict = prepare_feed_dict(m.input_tensors, input_data) + + if mode == 'train': + n_step = sess.run(global_step) + + if np.mod(n_step, train_display_interval) == 0: + total_loss, np_global_step, summary, print_summary = sess.run( + [train_op, global_step, m.summary_op[mode], m.print_summary_op[mode]], + feed_dict=feed_dict) + else: + total_loss, np_global_step, summary = sess.run( + [train_op, global_step, m.summary_op[mode]], + feed_dict=feed_dict) + + if writer is not None: + writer.add_summary(summary, np_global_step) + + should_stop = sess.run(m.should_stop_op) + + if mode == 'val': + val = sess.run(m.agg_update_op[mode] + m.additional_return_op[mode], + feed_dict=feed_dict) + val_additional_ops.append(val[len(m.agg_update_op[mode]):]) + + if mode == 'val': + summary, print_summary, np_global_step = sess.run( + [m.summary_op[mode], m.print_summary_op[mode], global_step]) + if writer is not None: + writer.add_summary(summary, np_global_step) + sess.run([m.agg_reset_op[mode]]) + + # write custom validation ops + if m.eval_metrics_fn[mode] is not None: + val_metric_summary = m.eval_metrics_fn[mode](val_additional_ops, + np_global_step, logdir) + if writer is not None: + writer.add_summary(val_metric_summary, np_global_step) + + total_loss = val_additional_ops + should_stop = None + + return total_loss, should_stop + +def setup_training(loss_op, initial_learning_rate, steps_per_decay, + learning_rate_decay, momentum, max_steps, + sync=False, adjust_lr_sync=True, + num_workers=1, replica_id=0, vars_to_optimize=None, + clip_gradient_norm=0, typ=None, momentum2=0.999, + adam_eps=1e-8): + if sync and adjust_lr_sync: + initial_learning_rate = initial_learning_rate * num_workers + max_steps = np.int(max_steps / num_workers) + steps_per_decay = np.int(steps_per_decay / num_workers) + + global_step_op = slim.get_or_create_global_step() + lr_op = tf.train.exponential_decay(initial_learning_rate, + global_step_op, steps_per_decay, learning_rate_decay, staircase=True) + if typ == 'sgd': + optimizer = tf.train.MomentumOptimizer(lr_op, momentum) + elif typ == 'adam': + optimizer = tf.train.AdamOptimizer(learning_rate=lr_op, beta1=momentum, + beta2=momentum2, epsilon=adam_eps) + + if sync: + + sync_optimizer = tf.train.SyncReplicasOptimizer(optimizer, + replicas_to_aggregate=num_workers, + replica_id=replica_id, + total_num_replicas=num_workers) + train_op = slim.learning.create_train_op(loss_op, sync_optimizer, + variables_to_train=vars_to_optimize, + clip_gradient_norm=clip_gradient_norm) + else: + sync_optimizer = None + train_op = slim.learning.create_train_op(loss_op, optimizer, + variables_to_train=vars_to_optimize, + clip_gradient_norm=clip_gradient_norm) + should_stop_op = tf.greater_equal(global_step_op, max_steps) + return lr_op, global_step_op, train_op, should_stop_op, optimizer, sync_optimizer + +def add_value_to_summary(metric_summary, tag, val, log=True, tag_str=None): + """Adds a scalar summary to the summary object. Optionally also logs to + logging.""" + new_value = metric_summary.value.add(); + new_value.tag = tag + new_value.simple_value = val + if log: + if tag_str is None: + tag_str = tag + '%f' + logging.info(tag_str, val) + +def add_scalar_summary_op(tensor, name=None, + summary_key='summaries', print_summary_key='print_summaries', prefix=''): + collections = [] + op = tf.summary.scalar(name, tensor, collections=collections) + if summary_key != print_summary_key: + tf.add_to_collection(summary_key, op) + + op = tf.Print(op, [tensor], ' {:-<25s}: '.format(name) + prefix) + tf.add_to_collection(print_summary_key, op) + return op + +def setup_inputs(inputs): + input_tensors = {} + input_shapes = {} + for (name, typ, sz) in inputs: + _ = tf.placeholder(typ, shape=sz, name=name) + input_tensors[name] = _ + input_shapes[name] = sz + return input_tensors, input_shapes + +def prepare_feed_dict(input_tensors, inputs): + feed_dict = {} + for n in input_tensors.keys(): + feed_dict[input_tensors[n]] = inputs[n].astype(input_tensors[n].dtype.as_numpy_dtype) + return feed_dict + +def simple_add_summaries(summarize_ops, summarize_names, + summary_key='summaries', + print_summary_key='print_summaries', prefix=''): + for op, name, in zip(summarize_ops, summarize_names): + add_scalar_summary_op(op, name, summary_key, print_summary_key, prefix) + + summary_op = tf.summary.merge_all(summary_key) + print_summary_op = tf.summary.merge_all(print_summary_key) + return summary_op, print_summary_op + +def add_summary_ops(m, summarize_ops, summarize_names, to_aggregate=None, + summary_key='summaries', + print_summary_key='print_summaries', prefix=''): + if type(to_aggregate) != list: + to_aggregate = [to_aggregate for _ in summarize_ops] + + # set up aggregating metrics + if np.any(to_aggregate): + agg_ops = [] + for op, name, to_agg in zip(summarize_ops, summarize_names, to_aggregate): + if to_agg: + # agg_ops.append(slim.metrics.streaming_mean(op, return_reset_op=True)) + agg_ops.append(tf.contrib.metrics.streaming_mean(op)) + # agg_ops.append(tf.contrib.metrics.streaming_mean(op, return_reset_op=True)) + else: + agg_ops.append([None, None, None]) + + # agg_values_op, agg_update_op, agg_reset_op = zip(*agg_ops) + # agg_update_op = [x for x in agg_update_op if x is not None] + # agg_reset_op = [x for x in agg_reset_op if x is not None] + agg_values_op, agg_update_op = zip(*agg_ops) + agg_update_op = [x for x in agg_update_op if x is not None] + agg_reset_op = [tf.no_op()] + else: + agg_values_op = [None for _ in to_aggregate] + agg_update_op = [tf.no_op()] + agg_reset_op = [tf.no_op()] + + for op, name, to_agg, agg_op in zip(summarize_ops, summarize_names, to_aggregate, agg_values_op): + if to_agg: + add_scalar_summary_op(agg_op, name, summary_key, print_summary_key, prefix) + else: + add_scalar_summary_op(op, name, summary_key, print_summary_key, prefix) + + summary_op = tf.summary.merge_all(summary_key) + print_summary_op = tf.summary.merge_all(print_summary_key) + return summary_op, print_summary_op, agg_update_op, agg_reset_op + + + +def accum_val_ops(outputs, names, global_step, output_dir, metric_summary, N): + """Processes the collected outputs to compute AP for action prediction. + + Args: + outputs : List of scalar ops to summarize. + names : Name of the scalar ops. + global_step : global_step. + output_dir : where to store results. + metric_summary : summary object to add summaries to. + N : number of outputs to process. + """ + outs = [] + if N >= 0: + outputs = outputs[:N] + for i in range(len(outputs[0])): + scalar = np.array(map(lambda x: x[i], outputs)) + assert(scalar.ndim == 1) + add_value_to_summary(metric_summary, names[i], np.mean(scalar), + tag_str='{:>27s}: [{:s}]: %f'.format(names[i], '')) + outs.append(np.mean(scalar)) + return outs + +def get_default_summary_ops(): + return utils.Foo(summary_ops=None, print_summary_ops=None, + additional_return_ops=[], arop_summary_iters=[], + arop_eval_fns=[]) + + +def simple_summaries(summarize_ops, summarize_names, mode, to_aggregate=False, + scope_name='summary'): + + if type(to_aggregate) != list: + to_aggregate = [to_aggregate for _ in summarize_ops] + + summary_key = '{:s}_summaries'.format(mode) + print_summary_key = '{:s}_print_summaries'.format(mode) + prefix=' [{:s}]: '.format(mode) + + # Default ops for things that dont need to be aggregated. + if not np.all(to_aggregate): + for op, name, to_agg in zip(summarize_ops, summarize_names, to_aggregate): + if not to_agg: + add_scalar_summary_op(op, name, summary_key, print_summary_key, prefix) + summary_ops = tf.summary.merge_all(summary_key) + print_summary_ops = tf.summary.merge_all(print_summary_key) + else: + summary_ops = tf.no_op() + print_summary_ops = tf.no_op() + + # Default ops for things that dont need to be aggregated. + if np.any(to_aggregate): + additional_return_ops = [[summarize_ops[i] + for i, x in enumerate(to_aggregate )if x]] + arop_summary_iters = [-1] + s_names = ['{:s}/{:s}'.format(scope_name, summarize_names[i]) + for i, x in enumerate(to_aggregate) if x] + fn = lambda outputs, global_step, output_dir, metric_summary, N: \ + accum_val_ops(outputs, s_names, global_step, output_dir, metric_summary, + N) + arop_eval_fns = [fn] + else: + additional_return_ops = [] + arop_summary_iters = [] + arop_eval_fns = [] + return summary_ops, print_summary_ops, additional_return_ops, \ + arop_summary_iters, arop_eval_fns diff --git a/cognitive_mapping_and_planning/tfcode/vision_baseline_lstm.py b/cognitive_mapping_and_planning/tfcode/vision_baseline_lstm.py new file mode 100644 index 000000000..1b9d68772 --- /dev/null +++ b/cognitive_mapping_and_planning/tfcode/vision_baseline_lstm.py @@ -0,0 +1,533 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +import numpy as np + + +import tensorflow as tf + +from tensorflow.contrib import slim + +import logging +from tensorflow.python.platform import app +from tensorflow.python.platform import flags +from src import utils +import src.file_utils as fu +import tfcode.nav_utils as nu +from tfcode import tf_utils + +setup_train_step_kwargs = nu.default_train_step_kwargs +compute_losses_multi_or = nu.compute_losses_multi_or +get_repr_from_image = nu.get_repr_from_image + +_save_d_at_t = nu.save_d_at_t +_save_all = nu.save_all +_eval_ap = nu.eval_ap +_eval_dist = nu.eval_dist +_plot_trajectories = nu.plot_trajectories + +def lstm_online(cell_fn, num_steps, inputs, state, varscope): + # inputs is B x num_steps x C, C channels. + # state is 2 tuple with B x 1 x C1, B x 1 x C2 + # Output state is always B x 1 x C + inputs = tf.unstack(inputs, axis=1, num=num_steps) + state = tf.unstack(state, axis=1, num=1)[0] + outputs = [] + + if num_steps > 1: + varscope.reuse_variables() + + for s in range(num_steps): + output, state = cell_fn(inputs[s], state) + outputs.append(output) + outputs = tf.stack(outputs, axis=1) + state = tf.stack([state], axis=1) + return outputs, state + +def _inputs(problem, lstm_states, lstm_state_dims): + # Set up inputs. + with tf.name_scope('inputs'): + n_views = problem.n_views + + inputs = [] + inputs.append(('orig_maps', tf.float32, + (problem.batch_size, 1, None, None, 1))) + inputs.append(('goal_loc', tf.float32, + (problem.batch_size, problem.num_goals, 2))) + + # For initing LSTM. + inputs.append(('rel_goal_loc_at_start', tf.float32, + (problem.batch_size, problem.num_goals, + problem.rel_goal_loc_dim))) + common_input_data, _ = tf_utils.setup_inputs(inputs) + + inputs = [] + inputs.append(('imgs', tf.float32, (problem.batch_size, None, n_views, + problem.img_height, problem.img_width, + problem.img_channels))) + # Goal location as a tuple of delta location and delta theta. + inputs.append(('rel_goal_loc', tf.float32, (problem.batch_size, None, + problem.rel_goal_loc_dim))) + if problem.outputs.visit_count: + inputs.append(('visit_count', tf.int32, (problem.batch_size, None, 1))) + inputs.append(('last_visit', tf.int32, (problem.batch_size, None, 1))) + + for i, (state, dim) in enumerate(zip(lstm_states, lstm_state_dims)): + inputs.append((state, tf.float32, (problem.batch_size, 1, dim))) + + if problem.outputs.egomotion: + inputs.append(('incremental_locs', tf.float32, + (problem.batch_size, None, 2))) + inputs.append(('incremental_thetas', tf.float32, + (problem.batch_size, None, 1))) + + inputs.append(('step_number', tf.int32, (1, None, 1))) + inputs.append(('node_ids', tf.int32, (problem.batch_size, None, + problem.node_ids_dim))) + inputs.append(('perturbs', tf.float32, (problem.batch_size, None, + problem.perturbs_dim))) + + # For plotting result plots + inputs.append(('loc_on_map', tf.float32, (problem.batch_size, None, 2))) + inputs.append(('gt_dist_to_goal', tf.float32, (problem.batch_size, None, 1))) + step_input_data, _ = tf_utils.setup_inputs(inputs) + + inputs = [] + inputs.append(('executed_actions', tf.int32, (problem.batch_size, None))) + inputs.append(('rewards', tf.float32, (problem.batch_size, None))) + inputs.append(('action_sample_wts', tf.float32, (problem.batch_size, None))) + inputs.append(('action', tf.int32, (problem.batch_size, None, + problem.num_actions))) + train_data, _ = tf_utils.setup_inputs(inputs) + train_data.update(step_input_data) + train_data.update(common_input_data) + return common_input_data, step_input_data, train_data + + +def _add_summaries(m, summary_mode, arop_full_summary_iters): + summarize_ops = [m.lr_op, m.global_step_op, m.sample_gt_prob_op, + m.total_loss_op, m.data_loss_op, m.reg_loss_op] + m.acc_ops + summarize_names = ['lr', 'global_step', 'sample_gt_prob_op', 'total_loss', + 'data_loss', 'reg_loss'] + \ + ['acc_{:d}'.format(i) for i in range(len(m.acc_ops))] + to_aggregate = [0, 0, 0, 1, 1, 1] + [1]*len(m.acc_ops) + + scope_name = 'summary' + with tf.name_scope(scope_name): + s_ops = nu.add_default_summaries(summary_mode, arop_full_summary_iters, + summarize_ops, summarize_names, + to_aggregate, m.action_prob_op, + m.input_tensors, scope_name=scope_name) + m.summary_ops = {summary_mode: s_ops} + +def visit_count_fc(visit_count, last_visit, embed_neurons, wt_decay, fc_dropout): + with tf.variable_scope('embed_visit_count'): + visit_count = tf.reshape(visit_count, shape=[-1]) + last_visit = tf.reshape(last_visit, shape=[-1]) + + visit_count = tf.clip_by_value(visit_count, clip_value_min=-1, + clip_value_max=15) + last_visit = tf.clip_by_value(last_visit, clip_value_min=-1, + clip_value_max=15) + visit_count = tf.one_hot(visit_count, depth=16, axis=1, dtype=tf.float32, + on_value=10., off_value=0.) + last_visit = tf.one_hot(last_visit, depth=16, axis=1, dtype=tf.float32, + on_value=10., off_value=0.) + f = tf.concat_v2([visit_count, last_visit], 1) + x, _ = tf_utils.fc_network( + f, neurons=embed_neurons, wt_decay=wt_decay, name='visit_count_embed', + offset=0, batch_norm_param=None, dropout_ratio=fc_dropout, + is_training=is_training) + return x + +def lstm_setup(name, x, batch_size, is_single_step, lstm_dim, lstm_out, + num_steps, state_input_op): + # returns state_name, state_init_op, updated_state_op, out_op + with tf.name_scope('reshape_'+name): + sh = x.get_shape().as_list() + x = tf.reshape(x, shape=[batch_size, -1, sh[-1]]) + + with tf.variable_scope(name) as varscope: + cell = tf.contrib.rnn.LSTMCell( + num_units=lstm_dim, forget_bias=1.0, state_is_tuple=False, + num_proj=lstm_out, use_peepholes=True, + initializer=tf.random_uniform_initializer(-0.01, 0.01, seed=0), + cell_clip=None, proj_clip=None) + + sh = [batch_size, 1, lstm_dim+lstm_out] + state_init_op = tf.constant(0., dtype=tf.float32, shape=sh) + + fn = lambda ns: lstm_online(cell, ns, x, state_input_op, varscope) + out_op, updated_state_op = tf.cond(is_single_step, lambda: fn(1), lambda: + fn(num_steps)) + + return name, state_init_op, updated_state_op, out_op + +def combine_setup(name, combine_type, embed_img, embed_goal, num_img_neuorons=None, + num_goal_neurons=None): + with tf.name_scope(name + '_' + combine_type): + if combine_type == 'add': + # Simple concat features from goal and image + out = embed_img + embed_goal + + elif combine_type == 'multiply': + # Multiply things together + re_embed_img = tf.reshape( + embed_img, shape=[-1, num_img_neuorons / num_goal_neurons, + num_goal_neurons]) + re_embed_goal = tf.reshape(embed_goal, shape=[-1, num_goal_neurons, 1]) + x = tf.matmul(re_embed_img, re_embed_goal, transpose_a=False, transpose_b=False) + out = slim.flatten(x) + elif combine_type == 'none' or combine_type == 'imgonly': + out = embed_img + elif combine_type == 'goalonly': + out = embed_goal + else: + logging.fatal('Undefined combine_type: %s', combine_type) + return out + + +def preprocess_egomotion(locs, thetas): + with tf.name_scope('pre_ego'): + pre_ego = tf.concat_v2([locs, tf.sin(thetas), tf.cos(thetas)], 2) + sh = pre_ego.get_shape().as_list() + pre_ego = tf.reshape(pre_ego, [-1, sh[-1]]) + return pre_ego + +def setup_to_run(m, args, is_training, batch_norm_is_training, summary_mode): + # Set up the model. + tf.set_random_seed(args.solver.seed) + task_params = args.navtask.task_params + num_steps = task_params.num_steps + num_goals = task_params.num_goals + num_actions = task_params.num_actions + num_actions_ = num_actions + + n_views = task_params.n_views + + batch_norm_is_training_op = \ + tf.placeholder_with_default(batch_norm_is_training, shape=[], + name='batch_norm_is_training_op') + # Setup the inputs + m.input_tensors = {} + lstm_states = []; lstm_state_dims = []; + state_names = []; updated_state_ops = []; init_state_ops = []; + if args.arch.lstm_output: + lstm_states += ['lstm_output'] + lstm_state_dims += [args.arch.lstm_output_dim+task_params.num_actions] + if args.arch.lstm_ego: + lstm_states += ['lstm_ego'] + lstm_state_dims += [args.arch.lstm_ego_dim + args.arch.lstm_ego_out] + lstm_states += ['lstm_img'] + lstm_state_dims += [args.arch.lstm_img_dim + args.arch.lstm_img_out] + elif args.arch.lstm_img: + # An LSTM only on the image + lstm_states += ['lstm_img'] + lstm_state_dims += [args.arch.lstm_img_dim + args.arch.lstm_img_out] + else: + # No LSTMs involved here. + None + + m.input_tensors['common'], m.input_tensors['step'], m.input_tensors['train'] = \ + _inputs(task_params, lstm_states, lstm_state_dims) + + with tf.name_scope('check_size'): + is_single_step = tf.equal(tf.unstack(tf.shape(m.input_tensors['step']['imgs']), + num=6)[1], 1) + + images_reshaped = tf.reshape(m.input_tensors['step']['imgs'], + shape=[-1, task_params.img_height, task_params.img_width, + task_params.img_channels], name='re_image') + + rel_goal_loc_reshaped = tf.reshape(m.input_tensors['step']['rel_goal_loc'], + shape=[-1, task_params.rel_goal_loc_dim], name='re_rel_goal_loc') + + x, vars_ = get_repr_from_image( + images_reshaped, task_params.modalities, task_params.data_augment, + args.arch.encoder, args.solver.freeze_conv, args.solver.wt_decay, + is_training) + + # Reshape into nice things so that these can be accumulated over time steps + # for faster backprop. + sh_before = x.get_shape().as_list() + m.encoder_output = tf.reshape( + x, shape=[task_params.batch_size, -1, n_views] + sh_before[1:]) + x = tf.reshape(m.encoder_output, shape=[-1] + sh_before[1:]) + + # Add a layer to reduce dimensions for a fc layer. + if args.arch.dim_reduce_neurons > 0: + ks = 1; neurons = args.arch.dim_reduce_neurons; + init_var = np.sqrt(2.0/(ks**2)/neurons) + batch_norm_param = args.arch.batch_norm_param + batch_norm_param['is_training'] = batch_norm_is_training_op + m.conv_feat = slim.conv2d( + x, neurons, kernel_size=ks, stride=1, normalizer_fn=slim.batch_norm, + normalizer_params=batch_norm_param, padding='SAME', scope='dim_reduce', + weights_regularizer=slim.l2_regularizer(args.solver.wt_decay), + weights_initializer=tf.random_normal_initializer(stddev=init_var)) + reshape_conv_feat = slim.flatten(m.conv_feat) + sh = reshape_conv_feat.get_shape().as_list() + m.reshape_conv_feat = tf.reshape(reshape_conv_feat, + shape=[-1, sh[1]*n_views]) + + # Restore these from a checkpoint. + if args.solver.pretrained_path is not None: + m.init_fn = slim.assign_from_checkpoint_fn(args.solver.pretrained_path, + vars_) + else: + m.init_fn = None + + # Hit the goal_location with a bunch of fully connected layers, to embed it + # into some space. + with tf.variable_scope('embed_goal'): + batch_norm_param = args.arch.batch_norm_param + batch_norm_param['is_training'] = batch_norm_is_training_op + m.embed_goal, _ = tf_utils.fc_network( + rel_goal_loc_reshaped, neurons=args.arch.goal_embed_neurons, + wt_decay=args.solver.wt_decay, name='goal_embed', offset=0, + batch_norm_param=batch_norm_param, dropout_ratio=args.arch.fc_dropout, + is_training=is_training) + + if args.arch.embed_goal_for_state: + with tf.variable_scope('embed_goal_for_state'): + batch_norm_param = args.arch.batch_norm_param + batch_norm_param['is_training'] = batch_norm_is_training_op + m.embed_goal_for_state, _ = tf_utils.fc_network( + m.input_tensors['common']['rel_goal_loc_at_start'][:,0,:], + neurons=args.arch.goal_embed_neurons, wt_decay=args.solver.wt_decay, + name='goal_embed', offset=0, batch_norm_param=batch_norm_param, + dropout_ratio=args.arch.fc_dropout, is_training=is_training) + + # Hit the goal_location with a bunch of fully connected layers, to embed it + # into some space. + with tf.variable_scope('embed_img'): + batch_norm_param = args.arch.batch_norm_param + batch_norm_param['is_training'] = batch_norm_is_training_op + m.embed_img, _ = tf_utils.fc_network( + m.reshape_conv_feat, neurons=args.arch.img_embed_neurons, + wt_decay=args.solver.wt_decay, name='img_embed', offset=0, + batch_norm_param=batch_norm_param, dropout_ratio=args.arch.fc_dropout, + is_training=is_training) + + # For lstm_ego, and lstm_image, embed the ego motion, accumulate it into an + # LSTM, combine with image features and accumulate those in an LSTM. Finally + # combine what you get from the image LSTM with the goal to output an action. + if args.arch.lstm_ego: + ego_reshaped = preprocess_egomotion(m.input_tensors['step']['incremental_locs'], + m.input_tensors['step']['incremental_thetas']) + with tf.variable_scope('embed_ego'): + batch_norm_param = args.arch.batch_norm_param + batch_norm_param['is_training'] = batch_norm_is_training_op + m.embed_ego, _ = tf_utils.fc_network( + ego_reshaped, neurons=args.arch.ego_embed_neurons, + wt_decay=args.solver.wt_decay, name='ego_embed', offset=0, + batch_norm_param=batch_norm_param, dropout_ratio=args.arch.fc_dropout, + is_training=is_training) + + state_name, state_init_op, updated_state_op, out_op = lstm_setup( + 'lstm_ego', m.embed_ego, task_params.batch_size, is_single_step, + args.arch.lstm_ego_dim, args.arch.lstm_ego_out, num_steps*num_goals, + m.input_tensors['step']['lstm_ego']) + state_names += [state_name] + init_state_ops += [state_init_op] + updated_state_ops += [updated_state_op] + + # Combine the output with the vision features. + m.img_ego_op = combine_setup('img_ego', args.arch.combine_type_ego, + m.embed_img, out_op, + args.arch.img_embed_neurons[-1], + args.arch.lstm_ego_out) + + # LSTM on these vision features. + state_name, state_init_op, updated_state_op, out_op = lstm_setup( + 'lstm_img', m.img_ego_op, task_params.batch_size, is_single_step, + args.arch.lstm_img_dim, args.arch.lstm_img_out, num_steps*num_goals, + m.input_tensors['step']['lstm_img']) + state_names += [state_name] + init_state_ops += [state_init_op] + updated_state_ops += [updated_state_op] + + m.img_for_goal = out_op + num_img_for_goal_neurons = args.arch.lstm_img_out + + elif args.arch.lstm_img: + # LSTM on just the image features. + state_name, state_init_op, updated_state_op, out_op = lstm_setup( + 'lstm_img', m.embed_img, task_params.batch_size, is_single_step, + args.arch.lstm_img_dim, args.arch.lstm_img_out, num_steps*num_goals, + m.input_tensors['step']['lstm_img']) + state_names += [state_name] + init_state_ops += [state_init_op] + updated_state_ops += [updated_state_op] + m.img_for_goal = out_op + num_img_for_goal_neurons = args.arch.lstm_img_out + + else: + m.img_for_goal = m.embed_img + num_img_for_goal_neurons = args.arch.img_embed_neurons[-1] + + + if args.arch.use_visit_count: + m.embed_visit_count = visit_count_fc( + m.input_tensors['step']['visit_count'], + m.input_tensors['step']['last_visit'], args.arch.goal_embed_neurons, + args.solver.wt_decay, args.arch.fc_dropout, is_training=is_training) + m.embed_goal = m.embed_goal + m.embed_visit_count + + m.combined_f = combine_setup('img_goal', args.arch.combine_type, + m.img_for_goal, m.embed_goal, + num_img_for_goal_neurons, + args.arch.goal_embed_neurons[-1]) + + # LSTM on the combined representation. + if args.arch.lstm_output: + name = 'lstm_output' + # A few fully connected layers here. + with tf.variable_scope('action_pred'): + batch_norm_param = args.arch.batch_norm_param + batch_norm_param['is_training'] = batch_norm_is_training_op + x, _ = tf_utils.fc_network( + m.combined_f, neurons=args.arch.pred_neurons, + wt_decay=args.solver.wt_decay, name='pred', offset=0, + batch_norm_param=batch_norm_param, dropout_ratio=args.arch.fc_dropout) + + if args.arch.lstm_output_init_state_from_goal: + # Use the goal embedding to initialize the LSTM state. + # UGLY CLUGGY HACK: if this is doing computation for a single time step + # then this will not involve back prop, so we can use the state input from + # the feed dict, otherwise we compute the state representation from the + # goal and feed that in. Necessary for using goal location to generate the + # state representation. + m.embed_goal_for_state = tf.expand_dims(m.embed_goal_for_state, dim=1) + state_op = tf.cond(is_single_step, lambda: m.input_tensors['step'][name], + lambda: m.embed_goal_for_state) + state_name, state_init_op, updated_state_op, out_op = lstm_setup( + name, x, task_params.batch_size, is_single_step, + args.arch.lstm_output_dim, + num_actions_, + num_steps*num_goals, state_op) + init_state_ops += [m.embed_goal_for_state] + else: + state_op = m.input_tensors['step'][name] + state_name, state_init_op, updated_state_op, out_op = lstm_setup( + name, x, task_params.batch_size, is_single_step, + args.arch.lstm_output_dim, + num_actions_, num_steps*num_goals, state_op) + init_state_ops += [state_init_op] + + state_names += [state_name] + updated_state_ops += [updated_state_op] + + out_op = tf.reshape(out_op, shape=[-1, num_actions_]) + if num_actions_ > num_actions: + m.action_logits_op = out_op[:,:num_actions] + m.baseline_op = out_op[:,num_actions:] + else: + m.action_logits_op = out_op + m.baseline_op = None + m.action_prob_op = tf.nn.softmax(m.action_logits_op) + + else: + # A few fully connected layers here. + with tf.variable_scope('action_pred'): + batch_norm_param = args.arch.batch_norm_param + batch_norm_param['is_training'] = batch_norm_is_training_op + out_op, _ = tf_utils.fc_network( + m.combined_f, neurons=args.arch.pred_neurons, + wt_decay=args.solver.wt_decay, name='pred', offset=0, + num_pred=num_actions_, + batch_norm_param=batch_norm_param, + dropout_ratio=args.arch.fc_dropout, is_training=is_training) + if num_actions_ > num_actions: + m.action_logits_op = out_op[:,:num_actions] + m.baseline_op = out_op[:,num_actions:] + else: + m.action_logits_op = out_op + m.baseline_op = None + m.action_prob_op = tf.nn.softmax(m.action_logits_op) + + m.train_ops = {} + m.train_ops['step'] = m.action_prob_op + m.train_ops['common'] = [m.input_tensors['common']['orig_maps'], + m.input_tensors['common']['goal_loc'], + m.input_tensors['common']['rel_goal_loc_at_start']] + m.train_ops['state_names'] = state_names + m.train_ops['init_state'] = init_state_ops + m.train_ops['updated_state'] = updated_state_ops + m.train_ops['batch_norm_is_training_op'] = batch_norm_is_training_op + + # Flat list of ops which cache the step data. + m.train_ops['step_data_cache'] = [tf.no_op()] + + if args.solver.freeze_conv: + m.train_ops['step_data_cache'] = [m.encoder_output] + else: + m.train_ops['step_data_cache'] = [] + + ewma_decay = 0.99 if is_training else 0.0 + weight = tf.ones_like(m.input_tensors['train']['action'], dtype=tf.float32, + name='weight') + + m.reg_loss_op, m.data_loss_op, m.total_loss_op, m.acc_ops = \ + compute_losses_multi_or( + m.action_logits_op, m.input_tensors['train']['action'], + weights=weight, num_actions=num_actions, + data_loss_wt=args.solver.data_loss_wt, + reg_loss_wt=args.solver.reg_loss_wt, ewma_decay=ewma_decay) + + + if args.solver.freeze_conv: + vars_to_optimize = list(set(tf.trainable_variables()) - set(vars_)) + else: + vars_to_optimize = None + + m.lr_op, m.global_step_op, m.train_op, m.should_stop_op, m.optimizer, \ + m.sync_optimizer = tf_utils.setup_training( + m.total_loss_op, + args.solver.initial_learning_rate, + args.solver.steps_per_decay, + args.solver.learning_rate_decay, + args.solver.momentum, + args.solver.max_steps, + args.solver.sync, + args.solver.adjust_lr_sync, + args.solver.num_workers, + args.solver.task, + vars_to_optimize=vars_to_optimize, + clip_gradient_norm=args.solver.clip_gradient_norm, + typ=args.solver.typ, momentum2=args.solver.momentum2, + adam_eps=args.solver.adam_eps) + + + if args.arch.sample_gt_prob_type == 'inverse_sigmoid_decay': + m.sample_gt_prob_op = tf_utils.inverse_sigmoid_decay(args.arch.isd_k, + m.global_step_op) + elif args.arch.sample_gt_prob_type == 'zero': + m.sample_gt_prob_op = tf.constant(-1.0, dtype=tf.float32) + elif args.arch.sample_gt_prob_type.split('_')[0] == 'step': + step = int(args.arch.sample_gt_prob_type.split('_')[1]) + m.sample_gt_prob_op = tf_utils.step_gt_prob( + step, m.input_tensors['step']['step_number'][0,0,0]) + + m.sample_action_type = args.arch.action_sample_type + m.sample_action_combine_type = args.arch.action_sample_combine_type + _add_summaries(m, summary_mode, args.summary.arop_full_summary_iters) + + m.init_op = tf.group(tf.global_variables_initializer(), + tf.local_variables_initializer()) + m.saver_op = tf.train.Saver(keep_checkpoint_every_n_hours=4, + write_version=tf.train.SaverDef.V2) + + return m -- GitLab From c5a5d5586df8870ab8a57692d1ec83410ce1164f Mon Sep 17 00:00:00 2001 From: Egor-Krivov Date: Fri, 21 Apr 2017 19:17:28 +0300 Subject: [PATCH 029/171] xrange replaced with range 'xrange' was used in multiple places. In this setting it provided no measurable gain in terms of performance or memory, but broke python3 compatibility. It was replaced with 'range' --- slim/nets/inception_v4.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/slim/nets/inception_v4.py b/slim/nets/inception_v4.py index a03e4127d..b4f07ea70 100644 --- a/slim/nets/inception_v4.py +++ b/slim/nets/inception_v4.py @@ -223,7 +223,7 @@ def inception_v4_base(inputs, final_endpoint='Mixed_7d', scope=None): # 35 x 35 x 384 # 4 x Inception-A blocks - for idx in xrange(4): + for idx in range(4): block_scope = 'Mixed_5' + chr(ord('b') + idx) net = block_inception_a(net, block_scope) if add_and_check_final(block_scope, net): return net, end_points @@ -235,7 +235,7 @@ def inception_v4_base(inputs, final_endpoint='Mixed_7d', scope=None): # 17 x 17 x 1024 # 7 x Inception-B blocks - for idx in xrange(7): + for idx in range(7): block_scope = 'Mixed_6' + chr(ord('b') + idx) net = block_inception_b(net, block_scope) if add_and_check_final(block_scope, net): return net, end_points @@ -247,7 +247,7 @@ def inception_v4_base(inputs, final_endpoint='Mixed_7d', scope=None): # 8 x 8 x 1536 # 3 x Inception-C blocks - for idx in xrange(3): + for idx in range(3): block_scope = 'Mixed_7' + chr(ord('b') + idx) net = block_inception_c(net, block_scope) if add_and_check_final(block_scope, net): return net, end_points -- GitLab From d4d13ef926cad47aeb3e3aae12d0e6bf75db024d Mon Sep 17 00:00:00 2001 From: Ryan Sepassi Date: Fri, 21 Apr 2017 16:12:20 -0700 Subject: [PATCH 030/171] Add adversarial text model --- adversarial_text/BUILD | 76 +++ adversarial_text/README.md | 159 +++++ adversarial_text/adversarial_losses.py | 229 +++++++ adversarial_text/data/BUILD | 41 ++ adversarial_text/data/data_utils.py | 326 +++++++++ adversarial_text/data/data_utils_test.py | 192 ++++++ adversarial_text/data/document_generators.py | 370 +++++++++++ adversarial_text/data/gen_data.py | 215 ++++++ adversarial_text/data/gen_vocab.py | 98 +++ adversarial_text/evaluate.py | 129 ++++ adversarial_text/graphs.py | 661 +++++++++++++++++++ adversarial_text/graphs_test.py | 224 +++++++ adversarial_text/inputs.py | 325 +++++++++ adversarial_text/layers.py | 388 +++++++++++ adversarial_text/pretrain.py | 45 ++ adversarial_text/train_classifier.py | 62 ++ adversarial_text/train_utils.py | 133 ++++ 17 files changed, 3673 insertions(+) create mode 100644 adversarial_text/BUILD create mode 100644 adversarial_text/README.md create mode 100644 adversarial_text/adversarial_losses.py create mode 100644 adversarial_text/data/BUILD create mode 100644 adversarial_text/data/data_utils.py create mode 100644 adversarial_text/data/data_utils_test.py create mode 100644 adversarial_text/data/document_generators.py create mode 100644 adversarial_text/data/gen_data.py create mode 100644 adversarial_text/data/gen_vocab.py create mode 100644 adversarial_text/evaluate.py create mode 100644 adversarial_text/graphs.py create mode 100644 adversarial_text/graphs_test.py create mode 100644 adversarial_text/inputs.py create mode 100644 adversarial_text/layers.py create mode 100644 adversarial_text/pretrain.py create mode 100644 adversarial_text/train_classifier.py create mode 100644 adversarial_text/train_utils.py diff --git a/adversarial_text/BUILD b/adversarial_text/BUILD new file mode 100644 index 000000000..b0fdc6332 --- /dev/null +++ b/adversarial_text/BUILD @@ -0,0 +1,76 @@ +# Binaries +# ============================================================================== +py_binary( + name = "evaluate", + srcs = ["evaluate.py"], + deps = [ + ":graphs", + ], +) + +py_binary( + name = "train_classifier", + srcs = ["train_classifier.py"], + deps = [ + ":graphs", + ":train_utils", + ], +) + +py_binary( + name = "pretrain", + srcs = [ + "pretrain.py", + ], + deps = [ + ":graphs", + ":train_utils", + ], +) + +# Libraries +# ============================================================================== +py_library( + name = "graphs", + srcs = ["graphs.py"], + deps = [ + ":adversarial_losses", + ":inputs", + ":layers", + ], +) + +py_library( + name = "adversarial_losses", + srcs = ["adversarial_losses.py"], +) + +py_library( + name = "inputs", + srcs = ["inputs.py"], + deps = [ + "//adversarial_text/data:data_utils", + ], +) + +py_library( + name = "layers", + srcs = ["layers.py"], +) + +py_library( + name = "train_utils", + srcs = ["train_utils.py"], +) + +# Tests +# ============================================================================== +py_test( + name = "graphs_test", + size = "large", + srcs = ["graphs_test.py"], + deps = [ + ":graphs", + "//adversarial_text/data:data_utils", + ], +) diff --git a/adversarial_text/README.md b/adversarial_text/README.md new file mode 100644 index 000000000..05952c00f --- /dev/null +++ b/adversarial_text/README.md @@ -0,0 +1,159 @@ +# Adversarial Text Classification + +Code for *Adversarial Training Methods for Semi-Supervised Text Classification* +(https://arxiv.org/abs/1605.07725) and *Semi-Supervised Sequence Learning* +(https://arxiv.org/abs/1511.01432). + +## Requirements + +* Bazel ([install](https://bazel.build/versions/master/docs/install.html)) +* TensorFlow >= v1.1 + +## End-to-end IMDB Sentiment Classification + +### Fetch data + +``` +$ wget http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz \ + -O /tmp/imdb.tar.gz +$ tar -xf /tmp/imdb.tar.gz -C /tmp +``` + +The directory `/tmp/aclImdb` contains the raw IMDB data. + +### Generate vocabulary + +``` +$ IMDB_DATA_DIR=/tmp/imdb +$ bazel run data:gen_vocab -- \ + --output_dir=$IMDB_DATA_DIR \ + --dataset=imdb \ + --imdb_input_dir=/tmp/aclImdb \ + --lowercase=False +``` + +Vocabulary and frequency files will be generated in `$IMDB_DATA_DIR`. + +###  Generate training, validation, and test data + +``` +$ bazel run data:gen_data -- \ + --output_dir=$IMDB_DATA_DIR \ + --dataset=imdb \ + --imdb_input_dir=/tmp/aclImdb \ + --lowercase=False \ + --label_gain=False +``` + +`$IMDB_DATA_DIR` contains TFRecords files. + +### Pretrain IMDB Language Model + +``` +$ PRETRAIN_DIR=/tmp/models/imdb_pretrain +$ bazel run :pretrain -- \ + --train_dir=$PRETRAIN_DIR \ + --data_dir=$IMDB_DATA_DIR \ + --vocab_size=86934 \ + --embedding_dims=256 \ + --rnn_cell_size=1024 \ + --num_candidate_samples=1024 \ + --optimizer=adam \ + --batch_size=256 \ + --learning_rate=0.001 \ + --learning_rate_decay_factor=0.9999 \ + --max_steps=100000 \ + --max_grad_norm=1.0 \ + --num_timesteps=400 \ + --keep_prob_emb=0.5 \ + --normalize_embeddings +``` + +`$PRETRAIN_DIR` contains checkpoints of the pretrained language model. + +### Train classifier + +Most flags stay the same, save for the removal of candidate sampling and the +addition of `pretrained_model_dir`, from which the classifier will load the +pretrained embedding and LSTM variables, and flags related to adversarial +training and classification. + +``` +$ TRAIN_DIR=/tmp/models/imdb_classify +$ bazel run :train_classifier -- \ + --train_dir=$TRAIN_DIR \ + --pretrained_model_dir=$PRETRAIN_DIR \ + --data_dir=$IMDB_DATA_DIR \ + --vocab_size=86934 \ + --embedding_dims=256 \ + --rnn_cell_size=1024 \ + --cl_num_layers=1 \ + --cl_hidden_size=30 \ + --optimizer=adam \ + --batch_size=64 \ + --learning_rate=0.0005 \ + --learning_rate_decay_factor=0.9998 \ + --max_steps=15000 \ + --max_grad_norm=1.0 \ + --num_timesteps=400 \ + --keep_prob_emb=0.5 \ + --normalize_embeddings \ + --adv_training_method=vat +``` + +### Evaluate on test data + +``` +$ EVAL_DIR=/tmp/models/imdb_eval +$ bazel run :evaluate -- \ + --eval_dir=$EVAL_DIR \ + --checkpoint_dir=$TRAIN_DIR \ + --eval_data=test \ + --run_once \ + --num_examples=25000 \ + --data_dir=$IMDB_DATA_DIR \ + --vocab_size=86934 \ + --embedding_dims=256 \ + --rnn_cell_size=1024 \ + --batch_size=256 \ + --num_timesteps=400 \ + --normalize_embeddings +``` + +## Code Overview + +The main entry points are the binaries listed below. Each training binary builds +a `VatxtModel`, defined in `graphs.py`, which in turn uses graph building blocks +defined in `inputs.py` (defines input data reading and parsing), `layers.py` +(defines core model components), and `adversarial_losses.py` (defines +adversarial training losses). The training loop itself is defined in +`train_utils.py`. + +### Binaries + +* Pretraining: `pretrain.py` +* Classifier Training: `train_classifier.py` +* Evaluation: `evaluate.py` + +### Command-Line Flags + +Flags related to distributed training and the training loop itself are defined +in `train_utils.py`. + +Flags related to model hyperparameters are defined in `graphs.py`. + +Flags related to adversarial training are defined in `adversarial_losses.py`. + +Flags particular to each job are defined in the main binary files. + +### Data Generation + +* Vocabulary generation: `gen_vocab.py` +* Data generation: `gen_data.py` + +Command-line flags defined in `document_generators.py` control which dataset is +processed and how. + +## Contact for Issues + +* Ryan Sepassi, @rsepassi diff --git a/adversarial_text/adversarial_losses.py b/adversarial_text/adversarial_losses.py new file mode 100644 index 000000000..8cd465623 --- /dev/null +++ b/adversarial_text/adversarial_losses.py @@ -0,0 +1,229 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Adversarial losses for text models.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +flags = tf.app.flags +FLAGS = flags.FLAGS + +# Adversarial and virtual adversarial training parameters. +flags.DEFINE_float('perturb_norm_length', 0.1, + 'Norm length of adversarial perturbation to be ' + 'optimized with validation') + +# Virtual adversarial training parameters +flags.DEFINE_integer('num_power_iteration', 1, 'The number of power iteration') +flags.DEFINE_float('small_constant_for_finite_diff', 1e-3, + 'Small constant for finite difference method') + +# Parameters for building the graph +flags.DEFINE_string('adv_training_method', None, + 'The flag which specifies training method. ' + '"rp" : random perturbation training ' + '"at" : adversarial training ' + '"vat" : virtual adversarial training ' + '"atvat" : at + vat ') +flags.DEFINE_float('adv_reg_coeff', 1.0, + 'Regularization coefficient of adversarial loss.') + + +def random_perturbation_loss(embedded, length, loss_fn): + """Adds noise to embeddings and recomputes classification loss.""" + noise = tf.random_normal(shape=tf.shape(embedded)) + perturb = _scale_l2(_mask_by_length(noise, length), FLAGS.perturb_norm_length) + return loss_fn(embedded + perturb) + + +def adversarial_loss(embedded, loss, loss_fn): + """Adds gradient to embedding and recomputes classification loss.""" + grad, = tf.gradients( + loss, + embedded, + aggregation_method=tf.AggregationMethod.EXPERIMENTAL_ACCUMULATE_N) + grad = tf.stop_gradient(grad) + perturb = _scale_l2(grad, FLAGS.perturb_norm_length) + return loss_fn(embedded + perturb) + + +def virtual_adversarial_loss(logits, embedded, inputs, + logits_from_embedding_fn): + """Virtual adversarial loss. + + Computes virtual adversarial perturbation by finite difference method and + power iteration, adds it to the embedding, and computes the KL divergence + between the new logits and the original logits. + + Args: + logits: 2-D float Tensor, [num_timesteps*batch_size, m], where m=1 if + num_classes=2, otherwise m=num_classes. + embedded: 3-D float Tensor, [batch_size, num_timesteps, embedding_dim]. + inputs: VatxtInput. + logits_from_embedding_fn: callable that takes embeddings and returns + classifier logits. + + Returns: + kl: float scalar. + """ + # Stop gradient of logits. See https://arxiv.org/abs/1507.00677 for details. + logits = tf.stop_gradient(logits) + weights = _end_of_seq_mask(inputs.labels) + + # shape(embedded) = (batch_size, num_timesteps, embedding_dim) + d = _mask_by_length(tf.random_normal(shape=tf.shape(embedded)), inputs.length) + + # Perform finite difference method and power iteration. + # See Eq.(8) in the paper http://arxiv.org/pdf/1507.00677.pdf, + # Adding small noise to input and taking gradient with respect to the noise + # corresponds to 1 power iteration. + for _ in xrange(FLAGS.num_power_iteration): + d = _scale_l2(d, FLAGS.small_constant_for_finite_diff) + d_logits = logits_from_embedding_fn(embedded + d) + kl = _kl_divergence_with_logits(logits, d_logits, weights) + d, = tf.gradients( + kl, + d, + aggregation_method=tf.AggregationMethod.EXPERIMENTAL_ACCUMULATE_N) + d = tf.stop_gradient(d) + + perturb = _scale_l2( + _mask_by_length(d, inputs.length), FLAGS.perturb_norm_length) + vadv_logits = logits_from_embedding_fn(embedded + perturb) + return _kl_divergence_with_logits(logits, vadv_logits, weights) + + +def random_perturbation_loss_bidir(embedded, length, loss_fn): + """Adds noise to embeddings and recomputes classification loss.""" + noise = [tf.random_normal(shape=tf.shape(emb)) for emb in embedded] + masked = [_mask_by_length(n, length) for n in noise] + scaled = [_scale_l2(m, FLAGS.perturb_norm_length) for m in masked] + return loss_fn([e + s for (e, s) in zip(embedded, scaled)]) + + +def adversarial_loss_bidir(embedded, loss, loss_fn): + """Adds gradient to embeddings and recomputes classification loss.""" + grads = tf.gradients( + loss, + embedded, + aggregation_method=tf.AggregationMethod.EXPERIMENTAL_ACCUMULATE_N) + adv_exs = [ + emb + _scale_l2(tf.stop_gradient(g), FLAGS.perturb_norm_length) + for emb, g in zip(embedded, grads) + ] + return loss_fn(adv_exs) + + +def virtual_adversarial_loss_bidir(logits, embedded, inputs, + logits_from_embedding_fn): + """Virtual adversarial loss for bidirectional models.""" + logits = tf.stop_gradient(logits) + f_inputs, _ = inputs + weights = _end_of_seq_mask(f_inputs.labels) + + perturbs = [ + _mask_by_length(tf.random_normal(shape=tf.shape(emb)), f_inputs.length) + for emb in embedded + ] + for _ in xrange(FLAGS.num_power_iteration): + perturbs = [ + _scale_l2(d, FLAGS.small_constant_for_finite_diff) for d in perturbs + ] + d_logits = logits_from_embedding_fn( + [emb + d for (emb, d) in zip(embedded, perturbs)]) + kl = _kl_divergence_with_logits(logits, d_logits, weights) + perturbs = tf.gradients( + kl, + perturbs, + aggregation_method=tf.AggregationMethod.EXPERIMENTAL_ACCUMULATE_N) + perturbs = [tf.stop_gradient(d) for d in perturbs] + + perturbs = [ + _scale_l2(_mask_by_length(d, f_inputs.length), FLAGS.perturb_norm_length) + for d in perturbs + ] + vadv_logits = logits_from_embedding_fn( + [emb + d for (emb, d) in zip(embedded, perturbs)]) + return _kl_divergence_with_logits(logits, vadv_logits, weights) + + +def _mask_by_length(t, length): + """Mask t, 3-D [batch, time, dim], by length, 1-D [batch,].""" + maxlen = t.get_shape().as_list()[1] + mask = tf.sequence_mask(length, maxlen=maxlen) + mask = tf.expand_dims(tf.cast(mask, tf.float32), -1) + # shape(mask) = (batch, num_timesteps, 1) + return t * mask + + +def _scale_l2(x, norm_length): + # shape(x) = (batch, num_timesteps, d) + x /= (1e-12 + tf.reduce_max(tf.abs(x), 2, keep_dims=True)) + x_2 = tf.reduce_sum(tf.pow(x, 2), 2, keep_dims=True) + x /= tf.sqrt(1e-6 + x_2) + + return norm_length * x + + +def _end_of_seq_mask(tokens): + """Generate a mask for the EOS token (1.0 on EOS, 0.0 otherwise). + + Args: + tokens: 1-D integer tensor [num_timesteps*batch_size]. Each element is an + id from the vocab. + + Returns: + Float tensor same shape as tokens, whose values are 1.0 on the end of + sequence and 0.0 on the others. + """ + eos_id = FLAGS.vocab_size - 1 + return tf.cast(tf.equal(tokens, eos_id), tf.float32) + + +def _kl_divergence_with_logits(q_logits, p_logits, weights): + """Returns weighted KL divergence between distributions q and p. + + Args: + q_logits: logits for 1st argument of KL divergence shape + [num_timesteps * batch_size, num_classes] if num_classes > 2, and + [num_timesteps * batch_size] if num_classes == 2. + p_logits: logits for 2nd argument of KL divergence with same shape q_logits. + weights: 1-D float tensor with shape [num_timesteps * batch_size]. + Elements should be 1.0 only on end of sequences + + Returns: + KL: float scalar. + """ + # For logistic regression + if FLAGS.num_classes == 2: + q = tf.nn.sigmoid(q_logits) + p = tf.nn.sigmoid(p_logits) + kl = (-tf.nn.sigmoid_cross_entropy_with_logits(logits=q_logits, labels=q) + + tf.nn.sigmoid_cross_entropy_with_logits(logits=p_logits, labels=q)) + + # For softmax regression + else: + q = tf.nn.softmax(q_logits) + p = tf.nn.softmax(p_logits) + kl = tf.reduce_sum(q * (tf.log(q) - tf.log(p)), 1) + + num_labels = tf.reduce_sum(weights) + num_labels = tf.where(tf.equal(num_labels, 0.), 1., num_labels) + + loss = tf.identity(tf.reduce_sum(weights * kl) / num_labels, name='kl') + return loss diff --git a/adversarial_text/data/BUILD b/adversarial_text/data/BUILD new file mode 100644 index 000000000..33d46bcc1 --- /dev/null +++ b/adversarial_text/data/BUILD @@ -0,0 +1,41 @@ +package( + default_visibility = [ + "//adversarial_text:__subpackages__", + ], +) + +py_binary( + name = "gen_vocab", + srcs = ["gen_vocab.py"], + deps = [ + ":data_utils", + ":document_generators", + ], +) + +py_binary( + name = "gen_data", + srcs = ["gen_data.py"], + deps = [ + ":data_utils", + ":document_generators", + ], +) + +py_library( + name = "document_generators", + srcs = ["document_generators.py"], +) + +py_library( + name = "data_utils", + srcs = ["data_utils.py"], +) + +py_test( + name = "data_utils_test", + srcs = ["data_utils_test.py"], + deps = [ + ":data_utils", + ], +) diff --git a/adversarial_text/data/data_utils.py b/adversarial_text/data/data_utils.py new file mode 100644 index 000000000..1c31ab96d --- /dev/null +++ b/adversarial_text/data/data_utils.py @@ -0,0 +1,326 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utilities for generating/preprocessing data for adversarial text models.""" + +import operator +import os +import random +import re +import tensorflow as tf + +EOS_TOKEN = '' + +# Data filenames +# Sequence Autoencoder +ALL_SA = 'all_sa.tfrecords' +TRAIN_SA = 'train_sa.tfrecords' +TEST_SA = 'test_sa.tfrecords' +# Language Model +ALL_LM = 'all_lm.tfrecords' +TRAIN_LM = 'train_lm.tfrecords' +TEST_LM = 'test_lm.tfrecords' +# Classification +TRAIN_CLASS = 'train_classification.tfrecords' +TEST_CLASS = 'test_classification.tfrecords' +VALID_CLASS = 'validate_classification.tfrecords' +# LM with bidirectional LSTM +TRAIN_REV_LM = 'train_reverse_lm.tfrecords' +TEST_REV_LM = 'test_reverse_lm.tfrecords' +# Classification with bidirectional LSTM +TRAIN_BD_CLASS = 'train_bidir_classification.tfrecords' +TEST_BD_CLASS = 'test_bidir_classification.tfrecords' +VALID_BD_CLASS = 'validate_bidir_classification.tfrecords' + + +class ShufflingTFRecordWriter(object): + """Thin wrapper around TFRecordWriter that shuffles records.""" + + def __init__(self, path): + self._path = path + self._records = [] + self._closed = False + + def write(self, record): + assert not self._closed + self._records.append(record) + + def close(self): + assert not self._closed + random.shuffle(self._records) + with tf.python_io.TFRecordWriter(self._path) as f: + for record in self._records: + f.write(record) + self._closed = True + + def __enter__(self): + return self + + def __exit__(self, unused_type, unused_value, unused_traceback): + self.close() + + +class Timestep(object): + """Represents a single timestep in a SequenceWrapper.""" + + def __init__(self, token, label, weight, multivalent_tokens=False): + """Constructs Timestep from empty Features.""" + self._token = token + self._label = label + self._weight = weight + self._multivalent_tokens = multivalent_tokens + self._fill_with_defaults() + + @property + def token(self): + if self._multivalent_tokens: + raise TypeError('Timestep may contain multiple values; use `tokens`') + return self._token.int64_list.value[0] + + @property + def tokens(self): + return self._token.int64_list.value + + @property + def label(self): + return self._label.int64_list.value[0] + + @property + def weight(self): + return self._weight.float_list.value[0] + + def set_token(self, token): + if self._multivalent_tokens: + raise TypeError('Timestep may contain multiple values; use `add_token`') + self._token.int64_list.value[0] = token + return self + + def add_token(self, token): + self._token.int64_list.value.append(token) + return self + + def set_label(self, label): + self._label.int64_list.value[0] = label + return self + + def set_weight(self, weight): + self._weight.float_list.value[0] = weight + return self + + def copy_from(self, timestep): + self.set_token(timestep.token).set_label(timestep.label).set_weight( + timestep.weight) + return self + + def _fill_with_defaults(self): + if not self._multivalent_tokens: + self._token.int64_list.value.append(0) + self._label.int64_list.value.append(0) + self._weight.float_list.value.append(0.0) + + +class SequenceWrapper(object): + """Wrapper around tf.SequenceExample.""" + + F_TOKEN_ID = 'token_id' + F_LABEL = 'label' + F_WEIGHT = 'weight' + + def __init__(self, multivalent_tokens=False): + self._seq = tf.train.SequenceExample() + self._flist = self._seq.feature_lists.feature_list + self._timesteps = [] + self._multivalent_tokens = multivalent_tokens + + @property + def seq(self): + return self._seq + + @property + def multivalent_tokens(self): + return self._multivalent_tokens + + @property + def _tokens(self): + return self._flist[SequenceWrapper.F_TOKEN_ID].feature + + @property + def _labels(self): + return self._flist[SequenceWrapper.F_LABEL].feature + + @property + def _weights(self): + return self._flist[SequenceWrapper.F_WEIGHT].feature + + def add_timestep(self): + timestep = Timestep( + self._tokens.add(), + self._labels.add(), + self._weights.add(), + multivalent_tokens=self._multivalent_tokens) + self._timesteps.append(timestep) + return timestep + + def __iter__(self): + for timestep in self._timesteps: + yield timestep + + def __len__(self): + return len(self._timesteps) + + def __getitem__(self, idx): + return self._timesteps[idx] + + +def build_reverse_sequence(seq): + """Builds a sequence that is the reverse of the input sequence.""" + reverse_seq = SequenceWrapper() + + # Copy all but last timestep + for timestep in reversed(seq[:-1]): + reverse_seq.add_timestep().copy_from(timestep) + + # Copy final timestep + reverse_seq.add_timestep().copy_from(seq[-1]) + + return reverse_seq + + +def build_bidirectional_seq(seq, rev_seq): + bidir_seq = SequenceWrapper(multivalent_tokens=True) + for forward_ts, reverse_ts in zip(seq, rev_seq): + bidir_seq.add_timestep().add_token(forward_ts.token).add_token( + reverse_ts.token) + + return bidir_seq + + +def build_lm_sequence(seq): + """Builds language model sequence from input sequence. + + Args: + seq: SequenceWrapper. + + Returns: + SequenceWrapper with `seq` tokens copied over to output sequence tokens and + labels (offset by 1, i.e. predict next token) with weights set to 1.0. + """ + lm_seq = SequenceWrapper() + for i, timestep in enumerate(seq[:-1]): + lm_seq.add_timestep().set_token(timestep.token).set_label( + seq[i + 1].token).set_weight(1.0) + + return lm_seq + + +def build_seq_ae_sequence(seq): + """Builds seq_ae sequence from input sequence. + + Args: + seq: SequenceWrapper. + + Returns: + SequenceWrapper with `seq` inputs copied and concatenated, and with labels + copied in on the right-hand (i.e. decoder) side with weights set to 1.0. + The new sequence will have length `len(seq) * 2 - 1`, as the last timestep + of the encoder section and the first step of the decoder section will + overlap. + """ + seq_ae_seq = SequenceWrapper() + + for i in range(len(seq) * 2 - 1): + ts = seq_ae_seq.add_timestep() + + if i < len(seq) - 1: + # Encoder + ts.set_token(seq[i].token) + elif i == len(seq) - 1: + # Transition step + ts.set_token(seq[i].token) + ts.set_label(seq[0].token) + ts.set_weight(1.0) + else: + # Decoder + ts.set_token(seq[i % len(seq)].token) + ts.set_label(seq[(i + 1) % len(seq)].token) + ts.set_weight(1.0) + + return seq_ae_seq + + +def build_labeled_sequence(seq, class_label, label_gain=False): + """Builds labeled sequence from input sequence. + + Args: + seq: SequenceWrapper. + class_label: bool. + label_gain: bool. If True, class_label will be put on every timestep and + weight will increase linearly from 0 to 1. + + Returns: + SequenceWrapper with `seq` copied in and `class_label` added as label to + final timestep. + """ + label_seq = SequenceWrapper(multivalent_tokens=seq.multivalent_tokens) + + # Copy sequence without labels + seq_len = len(seq) + final_timestep = None + for i, timestep in enumerate(seq): + label_timestep = label_seq.add_timestep() + if seq.multivalent_tokens: + for token in timestep.tokens: + label_timestep.add_token(token) + else: + label_timestep.set_token(timestep.token) + if label_gain: + label_timestep.set_label(int(class_label)) + weight = 1.0 if seq_len < 2 else float(i) / (seq_len - 1) + label_timestep.set_weight(weight) + if i == (seq_len - 1): + final_timestep = label_timestep + + # Edit final timestep to have class label and weight = 1. + final_timestep.set_label(int(class_label)).set_weight(1.0) + + return label_seq + + +def split_by_punct(segment): + """Splits str segment by punctuation, filters our empties and spaces.""" + return [s for s in re.split(r'\W+', segment) if s and not s.isspace()] + + +def sort_vocab_by_frequency(vocab_freq_map): + """Sorts vocab_freq_map by count. + + Args: + vocab_freq_map: dict, vocabulary terms with counts. + + Returns: + list> sorted by count, descending. + """ + return sorted( + vocab_freq_map.items(), key=operator.itemgetter(1), reverse=True) + + +def write_vocab_and_frequency(ordered_vocab_freqs, output_dir): + """Writes ordered_vocab_freqs into vocab.txt and vocab_freq.txt.""" + tf.gfile.MakeDirs(output_dir) + with open(os.path.join(output_dir, 'vocab.txt'), 'w') as vocab_f: + with open(os.path.join(output_dir, 'vocab_freq.txt'), 'w') as freq_f: + for word, freq in ordered_vocab_freqs: + vocab_f.write('{}\n'.format(word)) + freq_f.write('{}\n'.format(freq)) diff --git a/adversarial_text/data/data_utils_test.py b/adversarial_text/data/data_utils_test.py new file mode 100644 index 000000000..614b12953 --- /dev/null +++ b/adversarial_text/data/data_utils_test.py @@ -0,0 +1,192 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for data_utils.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +from adversarial_text.data import data_utils + +data = data_utils + + +class SequenceWrapperTest(tf.test.TestCase): + + def testDefaultTimesteps(self): + seq = data.SequenceWrapper() + t1 = seq.add_timestep() + _ = seq.add_timestep() + self.assertEqual(len(seq), 2) + + self.assertEqual(t1.weight, 0.0) + self.assertEqual(t1.label, 0) + self.assertEqual(t1.token, 0) + + def testSettersAndGetters(self): + ts = data.SequenceWrapper().add_timestep() + ts.set_token(3) + ts.set_label(4) + ts.set_weight(2.0) + self.assertEqual(ts.token, 3) + self.assertEqual(ts.label, 4) + self.assertEqual(ts.weight, 2.0) + + def testTimestepIteration(self): + seq = data.SequenceWrapper() + seq.add_timestep().set_token(0) + seq.add_timestep().set_token(1) + seq.add_timestep().set_token(2) + for i, ts in enumerate(seq): + self.assertEqual(ts.token, i) + + def testFillsSequenceExampleCorrectly(self): + seq = data.SequenceWrapper() + seq.add_timestep().set_token(1).set_label(2).set_weight(3.0) + seq.add_timestep().set_token(10).set_label(20).set_weight(30.0) + + seq_ex = seq.seq + fl = seq_ex.feature_lists.feature_list + fl_token = fl[data.SequenceWrapper.F_TOKEN_ID].feature + fl_label = fl[data.SequenceWrapper.F_LABEL].feature + fl_weight = fl[data.SequenceWrapper.F_WEIGHT].feature + _ = [self.assertEqual(len(f), 2) for f in [fl_token, fl_label, fl_weight]] + self.assertAllEqual([f.int64_list.value[0] for f in fl_token], [1, 10]) + self.assertAllEqual([f.int64_list.value[0] for f in fl_label], [2, 20]) + self.assertAllEqual([f.float_list.value[0] for f in fl_weight], [3.0, 30.0]) + + +class DataUtilsTest(tf.test.TestCase): + + def testSplitByPunct(self): + output = data.split_by_punct( + 'hello! world, i\'ve been\nwaiting\tfor\ryou for.a long time') + expected = [ + 'hello', 'world', 'i', 've', 'been', 'waiting', 'for', 'you', 'for', + 'a', 'long', 'time' + ] + self.assertListEqual(output, expected) + + def _buildDummySequence(self): + seq = data.SequenceWrapper() + for i in range(10): + seq.add_timestep().set_token(i) + return seq + + def testBuildLMSeq(self): + seq = self._buildDummySequence() + lm_seq = data.build_lm_sequence(seq) + for i, ts in enumerate(lm_seq): + self.assertEqual(ts.token, i) + self.assertEqual(ts.label, i + 1) + self.assertEqual(ts.weight, 1.0) + + def testBuildSAESeq(self): + seq = self._buildDummySequence() + sa_seq = data.build_seq_ae_sequence(seq) + + self.assertEqual(len(sa_seq), len(seq) * 2 - 1) + + # Tokens should be sequence twice, minus the EOS token at the end + for i, ts in enumerate(sa_seq): + self.assertEqual(ts.token, seq[i % 10].token) + + # Weights should be len-1 0.0's and len 1.0's. + for i in range(len(seq) - 1): + self.assertEqual(sa_seq[i].weight, 0.0) + for i in range(len(seq) - 1, len(sa_seq)): + self.assertEqual(sa_seq[i].weight, 1.0) + + # Labels should be len-1 0's, and then the sequence + for i in range(len(seq) - 1): + self.assertEqual(sa_seq[i].label, 0) + for i in range(len(seq) - 1, len(sa_seq)): + self.assertEqual(sa_seq[i].label, seq[i - (len(seq) - 1)].token) + + def testBuildLabelSeq(self): + seq = self._buildDummySequence() + eos_id = len(seq) - 1 + label_seq = data.build_labeled_sequence(seq, True) + for i, ts in enumerate(label_seq[:-1]): + self.assertEqual(ts.token, i) + self.assertEqual(ts.label, 0) + self.assertEqual(ts.weight, 0.0) + + final_timestep = label_seq[-1] + self.assertEqual(final_timestep.token, eos_id) + self.assertEqual(final_timestep.label, 1) + self.assertEqual(final_timestep.weight, 1.0) + + def testBuildBidirLabelSeq(self): + seq = self._buildDummySequence() + reverse_seq = data.build_reverse_sequence(seq) + bidir_seq = data.build_bidirectional_seq(seq, reverse_seq) + label_seq = data.build_labeled_sequence(bidir_seq, True) + + for (i, ts), j in zip( + enumerate(label_seq[:-1]), reversed(range(len(seq) - 1))): + self.assertAllEqual(ts.tokens, [i, j]) + self.assertEqual(ts.label, 0) + self.assertEqual(ts.weight, 0.0) + + final_timestep = label_seq[-1] + eos_id = len(seq) - 1 + self.assertAllEqual(final_timestep.tokens, [eos_id, eos_id]) + self.assertEqual(final_timestep.label, 1) + self.assertEqual(final_timestep.weight, 1.0) + + def testReverseSeq(self): + seq = self._buildDummySequence() + reverse_seq = data.build_reverse_sequence(seq) + for i, ts in enumerate(reversed(reverse_seq[:-1])): + self.assertEqual(ts.token, i) + self.assertEqual(ts.label, 0) + self.assertEqual(ts.weight, 0.0) + + final_timestep = reverse_seq[-1] + eos_id = len(seq) - 1 + self.assertEqual(final_timestep.token, eos_id) + self.assertEqual(final_timestep.label, 0) + self.assertEqual(final_timestep.weight, 0.0) + + def testBidirSeq(self): + seq = self._buildDummySequence() + reverse_seq = data.build_reverse_sequence(seq) + bidir_seq = data.build_bidirectional_seq(seq, reverse_seq) + for (i, ts), j in zip( + enumerate(bidir_seq[:-1]), reversed(range(len(seq) - 1))): + self.assertAllEqual(ts.tokens, [i, j]) + self.assertEqual(ts.label, 0) + self.assertEqual(ts.weight, 0.0) + + final_timestep = bidir_seq[-1] + eos_id = len(seq) - 1 + self.assertAllEqual(final_timestep.tokens, [eos_id, eos_id]) + self.assertEqual(final_timestep.label, 0) + self.assertEqual(final_timestep.weight, 0.0) + + def testLabelGain(self): + seq = self._buildDummySequence() + label_seq = data.build_labeled_sequence(seq, True, label_gain=True) + for i, ts in enumerate(label_seq): + self.assertEqual(ts.token, i) + self.assertEqual(ts.label, 1) + self.assertNear(ts.weight, float(i) / (len(seq) - 1), 1e-3) + + +if __name__ == '__main__': + tf.test.main() diff --git a/adversarial_text/data/document_generators.py b/adversarial_text/data/document_generators.py new file mode 100644 index 000000000..990dae775 --- /dev/null +++ b/adversarial_text/data/document_generators.py @@ -0,0 +1,370 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Input readers and document/token generators for datasets.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from collections import namedtuple +import csv +import os +import random + +import tensorflow as tf + +from adversarial_text.data import data_utils + +flags = tf.app.flags +FLAGS = flags.FLAGS + +flags.DEFINE_string('dataset', '', 'Which dataset to generate data for') + +# Preprocessing config +flags.DEFINE_boolean('output_unigrams', True, 'Whether to output unigrams.') +flags.DEFINE_boolean('output_bigrams', False, 'Whether to output bigrams.') +flags.DEFINE_boolean('output_char', False, 'Whether to output characters.') +flags.DEFINE_boolean('lowercase', True, 'Whether to lowercase document terms.') + +# IMDB +flags.DEFINE_string('imdb_input_dir', '', 'The input directory containing the ' + 'IMDB sentiment dataset.') +flags.DEFINE_integer('imdb_validation_pos_start_id', 10621, 'File id of the ' + 'first file in the pos sentiment validation set.') +flags.DEFINE_integer('imdb_validation_neg_start_id', 10625, 'File id of the ' + 'first file in the neg sentiment validation set.') + +# DBpedia +flags.DEFINE_string('dbpedia_input_dir', '', + 'Path to DBpedia directory containing train.csv and ' + 'test.csv.') + +# Reuters Corpus (rcv1) +flags.DEFINE_string('rcv1_input_dir', '', + 'Path to rcv1 directory containing train.csv, unlab.csv, ' + 'and test.csv.') + +# Rotten Tomatoes +flags.DEFINE_string('rt_input_dir', '', + 'The Rotten Tomatoes dataset input directory.') + + +# The amazon reviews input file to use in either the RT or IMDB datasets. +flags.DEFINE_string('amazon_unlabeled_input_file', '', + 'The unlabeled Amazon Reviews dataset input file. If set, ' + 'the input file is used to augment RT and IMDB vocab.') + +Document = namedtuple('Document', + 'content is_validation is_test label add_tokens') + + +def documents(dataset='train', + include_unlabeled=False, + include_validation=False): + """Generates Documents based on FLAGS.dataset. + + Args: + dataset: str, identifies folder within IMDB data directory, test or train. + include_unlabeled: bool, whether to include the unsup directory. Only valid + when dataset=train. + include_validation: bool, whether to include validation data. + + Yields: + Document + + Raises: + ValueError: if include_unlabeled is true but dataset is not 'train' + """ + + if include_unlabeled and dataset != 'train': + raise ValueError('If include_unlabeled=True, must use train dataset') + + # Set the random seed so that we have the same validation set when running + # gen_data and gen_vocab. + random.seed(302) + + ds = FLAGS.dataset + if ds == 'imdb': + docs_gen = imdb_documents + elif ds == 'dbpedia': + docs_gen = dbpedia_documents + elif ds == 'rcv1': + docs_gen = rcv1_documents + elif ds == 'rt': + docs_gen = rt_documents + else: + raise ValueError('Unrecognized dataset %s' % FLAGS.dataset) + + for doc in docs_gen(dataset, include_unlabeled, include_validation): + yield doc + + +def tokens(doc): + """Given a Document, produces character or word tokens. + + Tokens can be either characters, or word-level tokens (unigrams and/or + bigrams). + + Args: + doc: Document to produce tokens from. + + Yields: + token + + Raises: + ValueError: if all FLAGS.{output_unigrams, output_bigrams, output_char} + are False. + """ + if not (FLAGS.output_unigrams or FLAGS.output_bigrams or FLAGS.output_char): + raise ValueError( + 'At least one of {FLAGS.output_unigrams, FLAGS.output_bigrams, ' + 'FLAGS.output_char} must be true') + + content = doc.content.strip() + if FLAGS.lowercase: + content = content.lower() + + if FLAGS.output_char: + for char in content: + yield char + + else: + tokens_ = data_utils.split_by_punct(content) + for i, token in enumerate(tokens_): + if FLAGS.output_unigrams: + yield token + + if FLAGS.output_bigrams: + previous_token = (tokens_[i - 1] if i > 0 else data_utils.EOS_TOKEN) + bigram = '_'.join([previous_token, token]) + yield bigram + if (i + 1) == len(tokens_): + bigram = '_'.join([token, data_utils.EOS_TOKEN]) + yield bigram + + +def imdb_documents(dataset='train', + include_unlabeled=False, + include_validation=False): + """Generates Documents for IMDB dataset. + + Data from http://ai.stanford.edu/~amaas/data/sentiment/ + + Args: + dataset: str, identifies folder within IMDB data directory, test or train. + include_unlabeled: bool, whether to include the unsup directory. Only valid + when dataset=train. + include_validation: bool, whether to include validation data. + + Yields: + Document + + Raises: + ValueError: if FLAGS.imdb_input_dir is empty. + """ + if not FLAGS.imdb_input_dir: + raise ValueError('Must provide FLAGS.imdb_input_dir') + + tf.logging.info('Generating IMDB documents...') + + def check_is_validation(filename, class_label): + if class_label is None: + return False + file_idx = int(filename.split('_')[0]) + is_pos_valid = (class_label and + file_idx >= FLAGS.imdb_validation_pos_start_id) + is_neg_valid = (not class_label and + file_idx >= FLAGS.imdb_validation_neg_start_id) + return is_pos_valid or is_neg_valid + + dirs = [(dataset + '/pos', True), (dataset + '/neg', False)] + if include_unlabeled: + dirs.append(('train/unsup', None)) + + for d, class_label in dirs: + for filename in os.listdir(os.path.join(FLAGS.imdb_input_dir, d)): + is_validation = check_is_validation(filename, class_label) + if is_validation and not include_validation: + continue + + with open(os.path.join(FLAGS.imdb_input_dir, d, filename)) as imdb_f: + content = imdb_f.read() + yield Document( + content=content, + is_validation=is_validation, + is_test=False, + label=class_label, + add_tokens=True) + + if FLAGS.amazon_unlabeled_input_file and include_unlabeled: + with open(FLAGS.amazon_unlabeled_input_file) as rt_f: + for content in rt_f: + yield Document(content=content, is_validation=False, is_test=False, + label=None, add_tokens=False) + + +def dbpedia_documents(dataset='train', + include_unlabeled=False, + include_validation=False): + """Generates Documents for DBpedia dataset. + + Dataset linked to at https://github.com/zhangxiangxiao/Crepe. + + Args: + dataset: str, identifies the csv file within the DBpedia data directory, + test or train. + include_unlabeled: bool, unused. + include_validation: bool, whether to include validation data, which is a + randomly selected 10% of the data. + + Yields: + Document + + Raises: + ValueError: if FLAGS.dbpedia_input_dir is empty. + """ + del include_unlabeled + + if not FLAGS.dbpedia_input_dir: + raise ValueError('Must provide FLAGS.dbpedia_input_dir') + + tf.logging.info('Generating DBpedia documents...') + + with open(os.path.join(FLAGS.dbpedia_input_dir, dataset + '.csv')) as db_f: + reader = csv.reader(db_f) + for row in reader: + # 10% of the data is randomly held out + is_validation = random.randint(1, 10) == 1 + if is_validation and not include_validation: + continue + + content = row[1] + ' ' + row[2] + yield Document( + content=content, + is_validation=is_validation, + is_test=False, + label=int(row[0]), + add_tokens=True) + + +def rcv1_documents(dataset='train', + include_unlabeled=True, + include_validation=False): + # pylint:disable=line-too-long + """Generates Documents for Reuters Corpus (rcv1) dataset. + + Dataset described at http://www.ai.mit.edu/projects/jmlr/papers/volume5/lewis04a/lyrl2004_rcv1v2_README.htm + + Args: + dataset: str, identifies the csv file within the rcv1 data directory. + include_unlabeled: bool, whether to include the unlab file. Only valid + when dataset=train. + include_validation: bool, whether to include validation data, which is a + randomly selected 10% of the data. + + Yields: + Document + + Raises: + ValueError: if FLAGS.rcv1_input_dir is empty. + """ + # pylint:enable=line-too-long + + if not FLAGS.rcv1_input_dir: + raise ValueError('Must provide FLAGS.rcv1_input_dir') + + tf.logging.info('Generating rcv1 documents...') + + datasets = [dataset] + if include_unlabeled: + if dataset == 'train': + datasets.append('unlab') + for dset in datasets: + with open(os.path.join(FLAGS.rcv1_input_dir, dset + '.csv')) as db_f: + reader = csv.reader(db_f) + for row in reader: + # 10% of the data is randomly held out + is_validation = random.randint(1, 10) == 1 + if is_validation and not include_validation: + continue + + content = row[1] + yield Document( + content=content, + is_validation=is_validation, + is_test=False, + label=int(row[0]), + add_tokens=True) + + +def rt_documents(dataset='train', + include_unlabeled=True, + include_validation=False): + # pylint:disable=line-too-long + """Generates Documents for the Rotten Tomatoes dataset. + + Dataset available at http://www.cs.cornell.edu/people/pabo/movie-review-data/ + In this dataset, amazon reviews are used for the unlabeled data. + + Args: + dataset: str, identifies the data subdirectory. + include_unlabeled: bool, whether to include the unlabeled data. Only valid + when dataset=train. + include_validation: bool, whether to include validation data, which is a + randomly selected 10% of the data. + + Yields: + Document + + Raises: + ValueError: if FLAGS.rt_input_dir is empty. + """ + # pylint:enable=line-too-long + + if not FLAGS.rt_input_dir: + raise ValueError('Must provide FLAGS.rt_input_dir') + + tf.logging.info('Generating rt documents...') + + data_files = [] + input_filenames = os.listdir(FLAGS.rt_input_dir) + for inp_fname in input_filenames: + if inp_fname.endswith('.pos'): + data_files.append((os.path.join(FLAGS.rt_input_dir, inp_fname), True)) + elif inp_fname.endswith('.neg'): + data_files.append((os.path.join(FLAGS.rt_input_dir, inp_fname), False)) + if include_unlabeled and FLAGS.amazon_unlabeled_input_file: + data_files.append((FLAGS.amazon_unlabeled_input_file, None)) + + for filename, class_label in data_files: + with open(filename) as rt_f: + for content in rt_f: + if class_label is None: + # Process Amazon Review data for unlabeled dataset + if content.startswith('review/text'): + yield Document(content=content, is_validation=False, + is_test=False, label=None, add_tokens=False) + else: + # 10% of the data is randomly held out for the validation set and + # another 10% of it is randomly held out for the test set + random_int = random.randint(1, 10) + is_validation = random_int == 1 + is_test = random_int == 2 + if (is_test and dataset != 'test') or ( + is_validation and not include_validation): + continue + + yield Document(content=content, is_validation=is_validation, + is_test=is_test, label=class_label, add_tokens=True) diff --git a/adversarial_text/data/gen_data.py b/adversarial_text/data/gen_data.py new file mode 100644 index 000000000..0631de8e7 --- /dev/null +++ b/adversarial_text/data/gen_data.py @@ -0,0 +1,215 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Create TFRecord files of SequenceExample protos from dataset. + +Constructs 3 datasets: + 1. Labeled data for the LSTM classification model, optionally with label gain. + "*_classification.tfrecords" (for both unidirectional and bidirectional + models). + 2. Data for the unsupervised LM-LSTM model that predicts the next token. + "*_lm.tfrecords" (generates forward and reverse data). + 3. Data for the unsupervised SA-LSTM model that uses Seq2Seq. + "*_sa.tfrecords". +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import string + +import tensorflow as tf + +from adversarial_text.data import data_utils +from adversarial_text.data import document_generators + +data = data_utils +flags = tf.app.flags +FLAGS = flags.FLAGS + +# Flags for input data are in document_generators.py +flags.DEFINE_string('vocab_file', '', 'Path to the vocabulary file. Defaults ' + 'to FLAGS.output_dir/vocab.txt.') +flags.DEFINE_string('output_dir', '', 'Path to save tfrecords.') + +# Config +flags.DEFINE_boolean('label_gain', False, + 'Enable linear label gain. If True, sentiment label will ' + 'be included at each timestep with linear weight ' + 'increase.') + + +def build_shuffling_tf_record_writer(fname): + return data.ShufflingTFRecordWriter(os.path.join(FLAGS.output_dir, fname)) + + +def build_tf_record_writer(fname): + return tf.python_io.TFRecordWriter(os.path.join(FLAGS.output_dir, fname)) + + +def build_input_sequence(doc, vocab_ids): + """Builds input sequence from file. + + Splits lines on whitespace. Treats punctuation as whitespace. For word-level + sequences, only keeps terms that are in the vocab. + + Terms are added as token in the SequenceExample. The EOS_TOKEN is also + appended. Label and weight features are set to 0. + + Args: + doc: Document (defined in `document_generators`) from which to build the + sequence. + vocab_ids: dict. + + Returns: + SequenceExampleWrapper. + """ + seq = data.SequenceWrapper() + for token in document_generators.tokens(doc): + if token in vocab_ids: + seq.add_timestep().set_token(vocab_ids[token]) + + # Add EOS token to end + seq.add_timestep().set_token(vocab_ids[data.EOS_TOKEN]) + + return seq + + +def make_vocab_ids(vocab_filename): + if FLAGS.output_char: + ret = dict([(char, i) for i, char in enumerate(string.printable)]) + ret[data.EOS_TOKEN] = len(string.printable) + return ret + else: + with open(vocab_filename) as vocab_f: + return dict([(line.strip(), i) for i, line in enumerate(vocab_f)]) + + +def generate_training_data(vocab_ids, writer_lm_all, writer_seq_ae_all): + """Generates training data.""" + + # Construct training data writers + writer_lm = build_shuffling_tf_record_writer(data.TRAIN_LM) + writer_seq_ae = build_shuffling_tf_record_writer(data.TRAIN_SA) + writer_class = build_shuffling_tf_record_writer(data.TRAIN_CLASS) + writer_valid_class = build_tf_record_writer(data.VALID_CLASS) + writer_rev_lm = build_shuffling_tf_record_writer(data.TRAIN_REV_LM) + writer_bd_class = build_shuffling_tf_record_writer(data.TRAIN_BD_CLASS) + writer_bd_valid_class = build_shuffling_tf_record_writer(data.VALID_BD_CLASS) + + for doc in document_generators.documents( + dataset='train', include_unlabeled=True, include_validation=True): + input_seq = build_input_sequence(doc, vocab_ids) + if len(input_seq) < 2: + continue + rev_seq = data.build_reverse_sequence(input_seq) + lm_seq = data.build_lm_sequence(input_seq) + rev_lm_seq = data.build_lm_sequence(rev_seq) + seq_ae_seq = data.build_seq_ae_sequence(input_seq) + if doc.label is not None: + # Used for sentiment classification. + label_seq = data.build_labeled_sequence( + input_seq, + doc.label, + label_gain=(FLAGS.label_gain and not doc.is_validation)) + bd_label_seq = data.build_labeled_sequence( + data.build_bidirectional_seq(input_seq, rev_seq), + doc.label, + label_gain=(FLAGS.label_gain and not doc.is_validation)) + class_writer = writer_valid_class if doc.is_validation else writer_class + bd_class_writer = (writer_bd_valid_class + if doc.is_validation else writer_bd_class) + class_writer.write(label_seq.seq.SerializeToString()) + bd_class_writer.write(bd_label_seq.seq.SerializeToString()) + + # Write + lm_seq_ser = lm_seq.seq.SerializeToString() + seq_ae_seq_ser = seq_ae_seq.seq.SerializeToString() + writer_lm_all.write(lm_seq_ser) + writer_seq_ae_all.write(seq_ae_seq_ser) + if not doc.is_validation: + writer_lm.write(lm_seq_ser) + writer_rev_lm.write(rev_lm_seq.seq.SerializeToString()) + writer_seq_ae.write(seq_ae_seq_ser) + + # Close writers + writer_lm.close() + writer_seq_ae.close() + writer_class.close() + writer_valid_class.close() + writer_rev_lm.close() + writer_bd_class.close() + writer_bd_valid_class.close() + + +def generate_test_data(vocab_ids, writer_lm_all, writer_seq_ae_all): + """Generates test data.""" + # Construct test data writers + writer_lm = build_shuffling_tf_record_writer(data.TEST_LM) + writer_rev_lm = build_shuffling_tf_record_writer(data.TEST_REV_LM) + writer_seq_ae = build_shuffling_tf_record_writer(data.TEST_SA) + writer_class = build_tf_record_writer(data.TEST_CLASS) + writer_bd_class = build_shuffling_tf_record_writer(data.TEST_BD_CLASS) + + for doc in document_generators.documents( + dataset='test', include_unlabeled=False, include_validation=True): + input_seq = build_input_sequence(doc, vocab_ids) + if len(input_seq) < 2: + continue + rev_seq = data.build_reverse_sequence(input_seq) + lm_seq = data.build_lm_sequence(input_seq) + rev_lm_seq = data.build_lm_sequence(rev_seq) + seq_ae_seq = data.build_seq_ae_sequence(input_seq) + label_seq = data.build_labeled_sequence(input_seq, doc.label) + bd_label_seq = data.build_labeled_sequence( + data.build_bidirectional_seq(input_seq, rev_seq), doc.label) + + # Write + writer_class.write(label_seq.seq.SerializeToString()) + writer_bd_class.write(bd_label_seq.seq.SerializeToString()) + lm_seq_ser = lm_seq.seq.SerializeToString() + seq_ae_seq_ser = seq_ae_seq.seq.SerializeToString() + writer_lm.write(lm_seq_ser) + writer_rev_lm.write(rev_lm_seq.seq.SerializeToString()) + writer_seq_ae.write(seq_ae_seq_ser) + writer_lm_all.write(lm_seq_ser) + writer_seq_ae_all.write(seq_ae_seq_ser) + + # Close test writers + writer_lm.close() + writer_rev_lm.close() + writer_seq_ae.close() + writer_class.close() + writer_bd_class.close() + + +def main(_): + tf.logging.info('Assigning vocabulary ids...') + vocab_ids = make_vocab_ids( + FLAGS.vocab_file or os.path.join(FLAGS.output_dir, 'vocab.txt')) + + with build_shuffling_tf_record_writer(data.ALL_LM) as writer_lm_all: + with build_shuffling_tf_record_writer(data.ALL_SA) as writer_seq_ae_all: + + tf.logging.info('Generating training data...') + generate_training_data(vocab_ids, writer_lm_all, writer_seq_ae_all) + + tf.logging.info('Generating test data...') + generate_test_data(vocab_ids, writer_lm_all, writer_seq_ae_all) + + +if __name__ == '__main__': + tf.app.run() diff --git a/adversarial_text/data/gen_vocab.py b/adversarial_text/data/gen_vocab.py new file mode 100644 index 000000000..43a8688fa --- /dev/null +++ b/adversarial_text/data/gen_vocab.py @@ -0,0 +1,98 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Generates vocabulary and term frequency files for datasets.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from collections import defaultdict + +import tensorflow as tf + +from adversarial_text.data import data_utils +from adversarial_text.data import document_generators + +flags = tf.app.flags +FLAGS = flags.FLAGS + +# Flags controlling input are in document_generators.py + +flags.DEFINE_string('output_dir', '', + 'Path to save vocab.txt and vocab_freq.txt.') + +flags.DEFINE_boolean('use_unlabeled', True, 'Whether to use the ' + 'unlabeled sentiment dataset in the vocabulary.') +flags.DEFINE_boolean('include_validation', False, 'Whether to include the ' + 'validation set in the vocabulary.') +flags.DEFINE_integer('doc_count_threshold', 1, 'The minimum number of ' + 'documents a word or bigram should occur in to keep ' + 'it in the vocabulary.') + +MAX_VOCAB_SIZE = 100 * 1000 + + +def fill_vocab_from_doc(doc, vocab_freqs, doc_counts): + """Fills vocabulary and doc counts with tokens from doc. + + Args: + doc: Document to read tokens from. + vocab_freqs: dict + doc_counts: dict + + Returns: + None + """ + doc_seen = set() + + for token in document_generators.tokens(doc): + if doc.add_tokens or token in vocab_freqs: + vocab_freqs[token] += 1 + if token not in doc_seen: + doc_counts[token] += 1 + doc_seen.add(token) + + +def main(_): + vocab_freqs = defaultdict(int) + doc_counts = defaultdict(int) + + # Fill vocabulary frequencies map and document counts map + for doc in document_generators.documents( + dataset='train', + include_unlabeled=FLAGS.use_unlabeled, + include_validation=FLAGS.include_validation): + fill_vocab_from_doc(doc, vocab_freqs, doc_counts) + + # Filter out low-occurring terms + vocab_freqs = dict((term, freq) for term, freq in vocab_freqs.iteritems() + if doc_counts[term] > FLAGS.doc_count_threshold) + + # Sort by frequency + ordered_vocab_freqs = data_utils.sort_vocab_by_frequency(vocab_freqs) + + # Limit vocab size + ordered_vocab_freqs = ordered_vocab_freqs[:MAX_VOCAB_SIZE] + + # Add EOS token + ordered_vocab_freqs.append((data_utils.EOS_TOKEN, 1)) + + # Write + tf.gfile.MakeDirs(FLAGS.output_dir) + data_utils.write_vocab_and_frequency(ordered_vocab_freqs, FLAGS.output_dir) + + +if __name__ == '__main__': + tf.app.run() diff --git a/adversarial_text/evaluate.py b/adversarial_text/evaluate.py new file mode 100644 index 000000000..7c68f88cf --- /dev/null +++ b/adversarial_text/evaluate.py @@ -0,0 +1,129 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Evaluates text classification model.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import math +import time + +import tensorflow as tf + +import graphs + +flags = tf.app.flags +FLAGS = flags.FLAGS + +flags.DEFINE_string('master', '', + 'BNS name prefix of the Tensorflow eval master, ' + 'or "local".') +flags.DEFINE_string('eval_dir', '/tmp/text_eval', + 'Directory where to write event logs.') +flags.DEFINE_string('eval_data', 'test', 'Specify which dataset is used. ' + '("train", "valid", "test") ') + +flags.DEFINE_string('checkpoint_dir', '/tmp/text_train', + 'Directory where to read model checkpoints.') +flags.DEFINE_integer('eval_interval_secs', 60, 'How often to run the eval.') +flags.DEFINE_integer('num_examples', 32, 'Number of examples to run.') +flags.DEFINE_bool('run_once', False, 'Whether to run eval only once.') + + +def restore_from_checkpoint(sess, saver): + """Restore model from checkpoint. + + Args: + sess: Session. + saver: Saver for restoring the checkpoint. + + Returns: + bool: Whether the checkpoint was found and restored + """ + ckpt = tf.train.get_checkpoint_state(FLAGS.checkpoint_dir) + if not ckpt or not ckpt.model_checkpoint_path: + tf.logging.info('No checkpoint found at %s', FLAGS.checkpoint_dir) + return False + + saver.restore(sess, ckpt.model_checkpoint_path) + return True + + +def run_eval(eval_ops, summary_writer, saver): + """Runs evaluation over FLAGS.num_examples examples. + + Args: + eval_ops: dict + summary_writer: Summary writer. + saver: Saver. + + Returns: + dict, with value being the average over all examples. + """ + sv = tf.train.Supervisor(logdir=FLAGS.eval_dir, saver=None, summary_op=None) + with sv.managed_session( + master=FLAGS.master, start_standard_services=False) as sess: + if not restore_from_checkpoint(sess, saver): + return + sv.start_queue_runners(sess) + + metric_names, ops = zip(*eval_ops.items()) + value_ops, update_ops = zip(*ops) + + # Run update ops + num_batches = int(math.ceil(FLAGS.num_examples / FLAGS.batch_size)) + tf.logging.info('Running %d batches for evaluation.', num_batches) + for i in range(num_batches): + if (i + 1) % 10 == 0: + tf.logging.info('Running batch %d/%d...', i + 1, num_batches) + sess.run(update_ops) + + values = sess.run(value_ops) + metric_values = dict(zip(metric_names, values)) + + tf.logging.info('Eval metric values:') + summary = tf.summary.Summary() + for name, val in metric_values.items(): + summary.value.add(tag=name, simple_value=val) + tf.logging.info('%s = %.3f', name, val) + + global_step_val = sess.run(tf.train.get_global_step()) + summary_writer.add_summary(summary, global_step_val) + + return metric_values + + +def main(_): + tf.logging.set_verbosity(tf.logging.INFO) + tf.gfile.MakeDirs(FLAGS.eval_dir) + tf.logging.info('Building eval graph...') + output = graphs.get_model().eval_graph(FLAGS.eval_data) + eval_ops, moving_averaged_variables = output + + saver = tf.train.Saver(moving_averaged_variables) + summary_writer = tf.summary.FileWriter( + FLAGS.eval_dir, graph=tf.get_default_graph()) + + while True: + run_eval(eval_ops, summary_writer, saver) + if FLAGS.run_once: + break + time.sleep(FLAGS.eval_interval_secs) + + +if __name__ == '__main__': + tf.app.run() diff --git a/adversarial_text/graphs.py b/adversarial_text/graphs.py new file mode 100644 index 000000000..4d5dce8d0 --- /dev/null +++ b/adversarial_text/graphs.py @@ -0,0 +1,661 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Virtual adversarial text models.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import csv +import os +import tensorflow as tf + +import adversarial_losses as adv_lib +import inputs as inputs_lib +import layers as layers_lib + +flags = tf.app.flags +FLAGS = flags.FLAGS + +# Flags governing adversarial training are defined in adversarial_losses.py. + +# Classifier +flags.DEFINE_integer('num_classes', 2, 'Number of classes for classification') + +# Data path +flags.DEFINE_string('data_dir', '/tmp/IMDB', + 'Directory path to preprocessed text dataset.') +flags.DEFINE_string('vocab_freq_path', None, + 'Path to pre-calculated vocab frequency data. If ' + 'None, use FLAGS.data_dir/vocab_freq.txt.') +flags.DEFINE_integer('batch_size', 64, 'Size of the batch.') +flags.DEFINE_integer('num_timesteps', 100, 'Number of timesteps for BPTT') + +# Model architechture +flags.DEFINE_bool('bidir_lstm', False, 'Whether to build a bidirectional LSTM.') +flags.DEFINE_integer('rnn_num_layers', 1, 'Number of LSTM layers.') +flags.DEFINE_integer('rnn_cell_size', 512, + 'Number of hidden units in the LSTM.') +flags.DEFINE_integer('cl_num_layers', 1, + 'Number of hidden layers of classification model.') +flags.DEFINE_integer('cl_hidden_size', 30, + 'Number of hidden units in classification layer.') +flags.DEFINE_integer('num_candidate_samples', -1, + 'Num samples used in the sampled output layer.') +flags.DEFINE_bool('use_seq2seq_autoencoder', False, + 'If True, seq2seq auto-encoder is used to pretrain. ' + 'If False, standard language model is used.') + +# Vocabulary and embeddings +flags.DEFINE_integer('embedding_dims', 256, 'Dimensions of embedded vector.') +flags.DEFINE_integer('vocab_size', 86934, + 'The size of the vocaburary. This value ' + 'should be exactly same as the number of the ' + 'vocabulary used in dataset. Because the last ' + 'indexed vocabulary of the dataset preprocessed by ' + 'my preprocessed code, is always and here we ' + 'specify the with the the index.') +flags.DEFINE_bool('normalize_embeddings', True, + 'Normalize word embeddings by vocab frequency') + +# Optimization +flags.DEFINE_float('learning_rate', 0.001, 'Learning rate while fine-tuning.') +flags.DEFINE_float('learning_rate_decay_factor', 1.0, + 'Learning rate decay factor') +flags.DEFINE_boolean('sync_replicas', False, 'sync_replica or not') +flags.DEFINE_integer('replicas_to_aggregate', 1, + 'The number of replicas to aggregate') + +# Regularization +flags.DEFINE_float('max_grad_norm', 1.0, + 'Clip the global gradient norm to this value.') +flags.DEFINE_float('keep_prob_emb', 1.0, 'keep probability on embedding layer') +flags.DEFINE_float('keep_prob_lstm_out', 1.0, + 'keep probability on lstm output.') +flags.DEFINE_float('keep_prob_cl_hidden', 1.0, + 'keep probability on classification hidden layer') + + +def get_model(): + if FLAGS.bidir_lstm: + return VatxtBidirModel() + else: + return VatxtModel() + + +class VatxtModel(object): + """Constructs training and evaluation graphs. + + Main methods: `classifier_training()`, `language_model_training()`, + and `eval_graph()`. + + Variable reuse is a critical part of the model, both for sharing variables + between the language model and the classifier, and for reusing variables for + the adversarial loss calculation. To ensure correct variable reuse, all + variables are created in Keras-style layers, wherein stateful layers (i.e. + layers with variables) are represented as callable instances of the Layer + class. Each time the Layer instance is called, it is using the same variables. + + All Layers are constructed in the __init__ method and reused in the various + graph-building functions. + """ + + def __init__(self, cl_logits_input_dim=None): + self.global_step = tf.contrib.framework.get_or_create_global_step() + self.vocab_freqs = _get_vocab_freqs() + + # Cache VatxtInput objects + self.cl_inputs = None + self.lm_inputs = None + + # Cache intermediate Tensors that are reused + self.tensors = {} + + # Construct layers which are reused in constructing the LM and + # Classification graphs. Instantiating them all once here ensures that + # variable reuse works correctly. + self.layers = {} + self.layers['embedding'] = layers_lib.Embedding( + FLAGS.vocab_size, FLAGS.embedding_dims, FLAGS.normalize_embeddings, + self.vocab_freqs, FLAGS.keep_prob_emb) + self.layers['lstm'] = layers_lib.LSTM( + FLAGS.rnn_cell_size, FLAGS.rnn_num_layers, FLAGS.keep_prob_lstm_out) + self.layers['lm_loss'] = layers_lib.SoftmaxLoss( + FLAGS.vocab_size, + FLAGS.num_candidate_samples, + self.vocab_freqs, + name='LM_loss') + + cl_logits_input_dim = cl_logits_input_dim or FLAGS.rnn_cell_size + self.layers['cl_logits'] = layers_lib.cl_logits_subgraph( + [FLAGS.cl_hidden_size] * FLAGS.cl_num_layers, cl_logits_input_dim, + FLAGS.num_classes, FLAGS.keep_prob_cl_hidden) + + @property + def pretrained_variables(self): + return (self.layers['embedding'].trainable_weights + + self.layers['lstm'].trainable_weights) + + def classifier_training(self): + loss = self.classifier_graph() + train_op = optimize(loss, self.global_step) + return train_op, loss, self.global_step + + def language_model_training(self): + loss = self.language_model_graph() + train_op = optimize(loss, self.global_step) + return train_op, loss, self.global_step + + def classifier_graph(self): + """Constructs classifier graph from inputs to classifier loss. + + * Caches the VatxtInput object in `self.cl_inputs` + * Caches tensors: `cl_embedded`, `cl_logits`, `cl_loss` + + Returns: + loss: scalar float. + """ + inputs = _inputs('train', pretrain=False) + self.cl_inputs = inputs + embedded = self.layers['embedding'](inputs.tokens) + self.tensors['cl_embedded'] = embedded + + _, next_state, logits, loss = self.cl_loss_from_embedding( + embedded, return_intermediates=True) + tf.summary.scalar('classification_loss', loss) + self.tensors['cl_logits'] = logits + self.tensors['cl_loss'] = loss + + acc = layers_lib.accuracy(logits, inputs.labels, inputs.weights) + tf.summary.scalar('accuracy', acc) + + adv_loss = (self.adversarial_loss() * tf.constant( + FLAGS.adv_reg_coeff, name='adv_reg_coeff')) + tf.summary.scalar('adversarial_loss', adv_loss) + + total_loss = loss + adv_loss + tf.summary.scalar('total_classification_loss', total_loss) + + with tf.control_dependencies([inputs.save_state(next_state)]): + total_loss = tf.identity(total_loss) + + return total_loss + + def language_model_graph(self, compute_loss=True): + """Constructs LM graph from inputs to LM loss. + + * Caches the VatxtInput object in `self.lm_inputs` + * Caches tensors: `lm_embedded` + + Args: + compute_loss: bool, whether to compute and return the loss or stop after + the LSTM computation. + + Returns: + loss: scalar float. + """ + inputs = _inputs('train', pretrain=True) + self.lm_inputs = inputs + return self._lm_loss(inputs, compute_loss=compute_loss) + + def _lm_loss(self, + inputs, + emb_key='lm_embedded', + lstm_layer='lstm', + lm_loss_layer='lm_loss', + loss_name='lm_loss', + compute_loss=True): + embedded = self.layers['embedding'](inputs.tokens) + self.tensors[emb_key] = embedded + lstm_out, next_state = self.layers[lstm_layer](embedded, inputs.state, + inputs.length) + if compute_loss: + loss = self.layers[lm_loss_layer]( + [lstm_out, inputs.labels, inputs.weights]) + with tf.control_dependencies([inputs.save_state(next_state)]): + loss = tf.identity(loss) + tf.summary.scalar(loss_name, loss) + + return loss + + def eval_graph(self, dataset='test'): + """Constructs classifier evaluation graph. + + Args: + dataset: the labeled dataset to evaluate, {'train', 'test', 'valid'}. + + Returns: + eval_ops: dict + var_restore_dict: dict mapping variable restoration names to variables. + Trainable variables will be mapped to their moving average names. + """ + inputs = _inputs(dataset, pretrain=False) + embedded = self.layers['embedding'](inputs.tokens) + _, next_state, logits, _ = self.cl_loss_from_embedding( + embedded, inputs=inputs, return_intermediates=True) + + eval_ops = { + 'accuracy': + tf.contrib.metrics.streaming_accuracy( + layers_lib.predictions(logits), inputs.labels, + inputs.weights) + } + + with tf.control_dependencies([inputs.save_state(next_state)]): + acc, acc_update = eval_ops['accuracy'] + acc_update = tf.identity(acc_update) + eval_ops['accuracy'] = (acc, acc_update) + + var_restore_dict = make_restore_average_vars_dict() + return eval_ops, var_restore_dict + + def cl_loss_from_embedding(self, + embedded, + inputs=None, + return_intermediates=False): + """Compute classification loss from embedding. + + Args: + embedded: 3-D float Tensor [batch_size, num_timesteps, embedding_dim] + inputs: VatxtInput, defaults to self.cl_inputs. + return_intermediates: bool, whether to return intermediate tensors or only + the final loss. + + Returns: + If return_intermediates is True: + lstm_out, next_state, logits, loss + Else: + loss + """ + if inputs is None: + inputs = self.cl_inputs + + lstm_out, next_state = self.layers['lstm'](embedded, inputs.state, + inputs.length) + logits = self.layers['cl_logits'](lstm_out) + loss = layers_lib.classification_loss(logits, inputs.labels, inputs.weights) + + if return_intermediates: + return lstm_out, next_state, logits, loss + else: + return loss + + def adversarial_loss(self): + """Compute adversarial loss based on FLAGS.adv_training_method.""" + + def random_perturbation_loss(): + return adv_lib.random_perturbation_loss(self.tensors['cl_embedded'], + self.cl_inputs.length, + self.cl_loss_from_embedding) + + def adversarial_loss(): + return adv_lib.adversarial_loss(self.tensors['cl_embedded'], + self.tensors['cl_loss'], + self.cl_loss_from_embedding) + + def virtual_adversarial_loss(): + """Computes virtual adversarial loss. + + Uses lm_inputs and constructs the language model graph if it hasn't yet + been constructed. + + Also ensures that the LM input states are saved for LSTM state-saving + BPTT. + + Returns: + loss: float scalar. + """ + if self.lm_inputs is None: + self.language_model_graph(compute_loss=False) + + def logits_from_embedding(embedded, return_next_state=False): + _, next_state, logits, _ = self.cl_loss_from_embedding( + embedded, inputs=self.lm_inputs, return_intermediates=True) + if return_next_state: + return next_state, logits + else: + return logits + + next_state, lm_cl_logits = logits_from_embedding( + self.tensors['lm_embedded'], return_next_state=True) + + va_loss = adv_lib.virtual_adversarial_loss( + lm_cl_logits, self.tensors['lm_embedded'], self.lm_inputs, + logits_from_embedding) + + with tf.control_dependencies([self.lm_inputs.save_state(next_state)]): + va_loss = tf.identity(va_loss) + + return va_loss + + def combo_loss(): + return adversarial_loss() + virtual_adversarial_loss() + + adv_training_methods = { + # Random perturbation + 'rp': random_perturbation_loss, + # Adversarial training + 'at': adversarial_loss, + # Virtual adversarial training + 'vat': virtual_adversarial_loss, + # Both at and vat + 'atvat': combo_loss, + '': lambda: tf.constant(0.), + None: lambda: tf.constant(0.), + } + + with tf.name_scope('adversarial_loss'): + return adv_training_methods[FLAGS.adv_training_method]() + + +class VatxtBidirModel(VatxtModel): + """Extension of VatxtModel that supports bidirectional input.""" + + def __init__(self): + super(VatxtBidirModel, + self).__init__(cl_logits_input_dim=FLAGS.rnn_cell_size * 2) + + # Reverse LSTM and LM loss for bidirectional models + self.layers['lstm_reverse'] = layers_lib.LSTM( + FLAGS.rnn_cell_size, + FLAGS.rnn_num_layers, + FLAGS.keep_prob_lstm_out, + name='LSTM_Reverse') + self.layers['lm_loss_reverse'] = layers_lib.SoftmaxLoss( + FLAGS.vocab_size, + FLAGS.num_candidate_samples, + self.vocab_freqs, + name='LM_loss_reverse') + + @property + def pretrained_variables(self): + variables = super(VatxtBidirModel, self).pretrained_variables + variables.extend(self.layers['lstm_reverse'].trainable_weights) + return variables + + def classifier_graph(self): + """Constructs classifier graph from inputs to classifier loss. + + * Caches the VatxtInput objects in `self.cl_inputs` + * Caches tensors: `cl_embedded` (tuple of forward and reverse), `cl_logits`, + `cl_loss` + + Returns: + loss: scalar float. + """ + inputs = _inputs('train', pretrain=False, bidir=True) + self.cl_inputs = inputs + f_inputs, _ = inputs + + # Embed both forward and reverse with a shared embedding + embedded = [self.layers['embedding'](inp.tokens) for inp in inputs] + self.tensors['cl_embedded'] = embedded + + _, next_states, logits, loss = self.cl_loss_from_embedding( + embedded, return_intermediates=True) + tf.summary.scalar('classification_loss', loss) + self.tensors['cl_logits'] = logits + self.tensors['cl_loss'] = loss + + acc = layers_lib.accuracy(logits, f_inputs.labels, f_inputs.weights) + tf.summary.scalar('accuracy', acc) + + adv_loss = (self.adversarial_loss() * tf.constant( + FLAGS.adv_reg_coeff, name='adv_reg_coeff')) + tf.summary.scalar('adversarial_loss', adv_loss) + + total_loss = loss + adv_loss + tf.summary.scalar('total_classification_loss', total_loss) + + saves = [inp.save_state(state) for (inp, state) in zip(inputs, next_states)] + with tf.control_dependencies(saves): + total_loss = tf.identity(total_loss) + + return total_loss + + def language_model_graph(self, compute_loss=True): + """Constructs forward and reverse LM graphs from inputs to LM losses. + + * Caches the VatxtInput objects in `self.lm_inputs` + * Caches tensors: `lm_embedded`, `lm_embedded_reverse` + + Args: + compute_loss: bool, whether to compute and return the loss or stop after + the LSTM computation. + + Returns: + loss: scalar float, sum of forward and reverse losses. + """ + inputs = _inputs('train', pretrain=True, bidir=True) + self.lm_inputs = inputs + f_inputs, r_inputs = inputs + f_loss = self._lm_loss(f_inputs, compute_loss=compute_loss) + r_loss = self._lm_loss( + r_inputs, + emb_key='lm_embedded_reverse', + lstm_layer='lstm_reverse', + lm_loss_layer='lm_loss_reverse', + loss_name='lm_loss_reverse', + compute_loss=compute_loss) + if compute_loss: + return f_loss + r_loss + + def eval_graph(self, dataset='test'): + """Constructs classifier evaluation graph. + + Args: + dataset: the labeled dataset to evaluate, {'train', 'test', 'valid'}. + + Returns: + eval_ops: dict + var_restore_dict: dict mapping variable restoration names to variables. + Trainable variables will be mapped to their moving average names. + """ + inputs = _inputs(dataset, pretrain=False, bidir=True) + embedded = [self.layers['embedding'](inp.tokens) for inp in inputs] + _, next_states, logits, _ = self.cl_loss_from_embedding( + embedded, inputs=inputs, return_intermediates=True) + f_inputs, _ = inputs + + eval_ops = { + 'accuracy': + tf.contrib.metrics.streaming_accuracy( + layers_lib.predictions(logits), f_inputs.labels, + f_inputs.weights) + } + + # Save states on accuracy update + saves = [inp.save_state(state) for (inp, state) in zip(inputs, next_states)] + with tf.control_dependencies(saves): + acc, acc_update = eval_ops['accuracy'] + acc_update = tf.identity(acc_update) + eval_ops['accuracy'] = (acc, acc_update) + + var_restore_dict = make_restore_average_vars_dict() + return eval_ops, var_restore_dict + + def cl_loss_from_embedding(self, + embedded, + inputs=None, + return_intermediates=False): + """Compute classification loss from embedding. + + Args: + embedded: Length 2 tuple of 3-D float Tensor + [batch_size, num_timesteps, embedding_dim]. + inputs: Length 2 tuple of VatxtInput, defaults to self.cl_inputs. + return_intermediates: bool, whether to return intermediate tensors or only + the final loss. + + Returns: + If return_intermediates is True: + lstm_out, next_states, logits, loss + Else: + loss + """ + if inputs is None: + inputs = self.cl_inputs + + out = [] + for (layer_name, emb, inp) in zip(['lstm', 'lstm_reverse'], embedded, + inputs): + out.append(self.layers[layer_name](emb, inp.state, inp.length)) + lstm_outs, next_states = zip(*out) + + # Concatenate output of forward and reverse LSTMs + lstm_out = tf.concat(lstm_outs, 1) + + logits = self.layers['cl_logits'](lstm_out) + f_inputs, _ = inputs # pylint: disable=unpacking-non-sequence + loss = layers_lib.classification_loss(logits, f_inputs.labels, + f_inputs.weights) + + if return_intermediates: + return lstm_out, next_states, logits, loss + else: + return loss + + def adversarial_loss(self): + """Compute adversarial loss based on FLAGS.adv_training_method.""" + + def random_perturbation_loss(): + return adv_lib.random_perturbation_loss_bidir(self.tensors['cl_embedded'], + self.cl_inputs[0].length, + self.cl_loss_from_embedding) + + def adversarial_loss(): + return adv_lib.adversarial_loss_bidir(self.tensors['cl_embedded'], + self.tensors['cl_loss'], + self.cl_loss_from_embedding) + + def virtual_adversarial_loss(): + """Computes virtual adversarial loss. + + Uses lm_inputs and constructs the language model graph if it hasn't yet + been constructed. + + Also ensures that the LM input states are saved for LSTM state-saving + BPTT. + + Returns: + loss: float scalar. + """ + if self.lm_inputs is None: + self.language_model_graph(compute_loss=False) + + def logits_from_embedding(embedded, return_next_state=False): + _, next_states, logits, _ = self.cl_loss_from_embedding( + embedded, inputs=self.lm_inputs, return_intermediates=True) + if return_next_state: + return next_states, logits + else: + return logits + + lm_embedded = (self.tensors['lm_embedded'], + self.tensors['lm_embedded_reverse']) + next_states, lm_cl_logits = logits_from_embedding( + lm_embedded, return_next_state=True) + + va_loss = adv_lib.virtual_adversarial_loss_bidir( + lm_cl_logits, lm_embedded, self.lm_inputs, logits_from_embedding) + + saves = [ + inp.save_state(state) + for (inp, state) in zip(self.lm_inputs, next_states) + ] + with tf.control_dependencies(saves): + va_loss = tf.identity(va_loss) + + return va_loss + + def combo_loss(): + return adversarial_loss() + virtual_adversarial_loss() + + adv_training_methods = { + # Random perturbation + 'rp': random_perturbation_loss, + # Adversarial training + 'at': adversarial_loss, + # Virtual adversarial training + 'vat': virtual_adversarial_loss, + # Both at and vat + 'atvat': combo_loss, + '': lambda: tf.constant(0.), + None: lambda: tf.constant(0.), + } + + with tf.name_scope('adversarial_loss'): + return adv_training_methods[FLAGS.adv_training_method]() + + +def _inputs(dataset='train', pretrain=False, bidir=False): + return inputs_lib.inputs( + data_dir=FLAGS.data_dir, + phase=dataset, + bidir=bidir, + pretrain=pretrain, + use_seq2seq=pretrain and FLAGS.use_seq2seq_autoencoder, + state_size=FLAGS.rnn_cell_size, + num_layers=FLAGS.rnn_num_layers, + batch_size=FLAGS.batch_size, + unroll_steps=FLAGS.num_timesteps) + + +def _get_vocab_freqs(): + """Returns vocab frequencies. + + Returns: + List of integers, length=FLAGS.vocab_size. + + Raises: + ValueError: if the length of the frequency file is not equal to the vocab + size, or if the file is not found. + """ + path = FLAGS.vocab_freq_path or os.path.join(FLAGS.data_dir, 'vocab_freq.txt') + + if tf.gfile.Exists(path): + with tf.gfile.Open(path) as f: + # Get pre-calculated frequencies of words. + reader = csv.reader(f, quoting=csv.QUOTE_NONE) + freqs = [int(row[-1]) for row in reader] + if len(freqs) != FLAGS.vocab_size: + raise ValueError('Frequency file length %d != vocab size %d' % + (len(freqs), FLAGS.vocab_size)) + else: + if FLAGS.vocab_freq_path: + raise ValueError('vocab_freq_path not found') + freqs = [1] * FLAGS.vocab_size + + return freqs + + +def make_restore_average_vars_dict(): + """Returns dict mapping moving average names to variables.""" + var_restore_dict = {} + variable_averages = tf.train.ExponentialMovingAverage(0.999) + for v in tf.global_variables(): + if v in tf.trainable_variables(): + name = variable_averages.average_name(v) + else: + name = v.op.name + var_restore_dict[name] = v + return var_restore_dict + + +def optimize(loss, global_step): + return layers_lib.optimize( + loss, global_step, FLAGS.max_grad_norm, FLAGS.learning_rate, + FLAGS.learning_rate_decay_factor, FLAGS.sync_replicas, + FLAGS.replicas_to_aggregate, FLAGS.task) diff --git a/adversarial_text/graphs_test.py b/adversarial_text/graphs_test.py new file mode 100644 index 000000000..849e3d06f --- /dev/null +++ b/adversarial_text/graphs_test.py @@ -0,0 +1,224 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for graphs.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from collections import defaultdict +import operator +import os +import random +import shutil +import string +import tempfile + +import tensorflow as tf + +import graphs +from adversarial_text.data import data_utils + +flags = tf.app.flags +FLAGS = flags.FLAGS +data = data_utils + +flags.DEFINE_integer('task', 0, 'Task id; needed for SyncReplicas test') + + +def _build_random_vocabulary(vocab_size=100): + """Builds and returns a dict.""" + vocab = set() + while len(vocab) < (vocab_size - 1): + rand_word = ''.join( + random.choice(string.ascii_lowercase) + for _ in range(random.randint(1, 10))) + vocab.add(rand_word) + + vocab_ids = dict([(word, i) for i, word in enumerate(vocab)]) + vocab_ids[data.EOS_TOKEN] = vocab_size - 1 + return vocab_ids + + +def _build_random_sequence(vocab_ids): + seq_len = random.randint(10, 200) + ids = vocab_ids.values() + seq = data.SequenceWrapper() + for token_id in [random.choice(ids) for _ in range(seq_len)]: + seq.add_timestep().set_token(token_id) + return seq + + +def _build_vocab_frequencies(seqs, vocab_ids): + vocab_freqs = defaultdict(int) + ids_to_words = dict([(i, word) for word, i in vocab_ids.iteritems()]) + for seq in seqs: + for timestep in seq: + vocab_freqs[ids_to_words[timestep.token]] += 1 + + vocab_freqs[data.EOS_TOKEN] = 0 + return vocab_freqs + + +class GraphsTest(tf.test.TestCase): + """Test graph construction methods.""" + + @classmethod + def setUpClass(cls): + # Make model small + FLAGS.batch_size = 2 + FLAGS.num_timesteps = 3 + FLAGS.embedding_dims = 4 + FLAGS.rnn_num_layers = 2 + FLAGS.rnn_cell_size = 4 + FLAGS.cl_num_layers = 2 + FLAGS.cl_hidden_size = 4 + FLAGS.vocab_size = 10 + + # Set input/output flags + FLAGS.data_dir = tempfile.mkdtemp() + + # Build and write sequence files. + vocab_ids = _build_random_vocabulary(FLAGS.vocab_size) + seqs = [_build_random_sequence(vocab_ids) for _ in range(5)] + seqs_label = [ + data.build_labeled_sequence(seq, random.choice([True, False])) + for seq in seqs + ] + seqs_lm = [data.build_lm_sequence(seq) for seq in seqs] + seqs_ae = [data.build_seq_ae_sequence(seq) for seq in seqs] + seqs_rev = [data.build_reverse_sequence(seq) for seq in seqs] + seqs_bidir = [ + data.build_bidirectional_seq(seq, rev) + for seq, rev in zip(seqs, seqs_rev) + ] + seqs_bidir_label = [ + data.build_labeled_sequence(bd_seq, random.choice([True, False])) + for bd_seq in seqs_bidir + ] + + filenames = [ + data.TRAIN_CLASS, data.TRAIN_LM, data.TRAIN_SA, data.TEST_CLASS, + data.TRAIN_REV_LM, data.TRAIN_BD_CLASS, data.TEST_BD_CLASS + ] + seq_lists = [ + seqs_label, seqs_lm, seqs_ae, seqs_label, seqs_rev, seqs_bidir, + seqs_bidir_label + ] + for fname, seq_list in zip(filenames, seq_lists): + with tf.python_io.TFRecordWriter( + os.path.join(FLAGS.data_dir, fname)) as writer: + for seq in seq_list: + writer.write(seq.seq.SerializeToString()) + + # Write vocab.txt and vocab_freq.txt + vocab_freqs = _build_vocab_frequencies(seqs, vocab_ids) + ordered_vocab_freqs = sorted( + vocab_freqs.items(), key=operator.itemgetter(1), reverse=True) + with open(os.path.join(FLAGS.data_dir, 'vocab.txt'), 'w') as vocab_f: + with open(os.path.join(FLAGS.data_dir, 'vocab_freq.txt'), 'w') as freq_f: + for word, freq in ordered_vocab_freqs: + vocab_f.write('{}\n'.format(word)) + freq_f.write('{}\n'.format(freq)) + + @classmethod + def tearDownClass(cls): + shutil.rmtree(FLAGS.data_dir) + + def setUp(self): + # Reset FLAGS + FLAGS.rnn_num_layers = 1 + FLAGS.sync_replicas = False + FLAGS.adv_training_method = None + FLAGS.num_candidate_samples = -1 + FLAGS.num_classes = 2 + FLAGS.use_seq2seq_autoencoder = False + + # Reset Graph + tf.reset_default_graph() + + def testClassifierGraph(self): + FLAGS.rnn_num_layers = 2 + model = graphs.VatxtModel() + train_op, _, _ = model.classifier_training() + # Pretrained vars: embedding + LSTM layers + self.assertEqual( + len(model.pretrained_variables), 1 + 2 * FLAGS.rnn_num_layers) + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + tf.train.start_queue_runners(sess) + sess.run(train_op) + + def testLanguageModelGraph(self): + train_op, _, _ = graphs.VatxtModel().language_model_training() + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + tf.train.start_queue_runners(sess) + sess.run(train_op) + + def testMulticlass(self): + FLAGS.num_classes = 10 + graphs.VatxtModel().classifier_graph() + + def testATMethods(self): + at_methods = [None, 'rp', 'at', 'vat', 'atvat'] + for method in at_methods: + FLAGS.adv_training_method = method + with tf.Graph().as_default(): + graphs.VatxtModel().classifier_graph() + + # Ensure variables have been reused + # Embedding + LSTM layers + hidden layers + logits layer + expected_num_vars = 1 + 2 * FLAGS.rnn_num_layers + 2 * ( + FLAGS.cl_num_layers) + 2 + self.assertEqual(len(tf.trainable_variables()), expected_num_vars) + + def testSyncReplicas(self): + FLAGS.sync_replicas = True + graphs.VatxtModel().language_model_training() + + def testCandidateSampling(self): + FLAGS.num_candidate_samples = 10 + graphs.VatxtModel().language_model_training() + + def testSeqAE(self): + FLAGS.use_seq2seq_autoencoder = True + graphs.VatxtModel().language_model_training() + + def testBidirLM(self): + graphs.VatxtBidirModel().language_model_graph() + + def testBidirClassifier(self): + at_methods = [None, 'rp', 'at', 'vat', 'atvat'] + for method in at_methods: + FLAGS.adv_training_method = method + with tf.Graph().as_default(): + graphs.VatxtBidirModel().classifier_graph() + + # Ensure variables have been reused + # Embedding + 2 LSTM layers + hidden layers + logits layer + expected_num_vars = 1 + 2 * 2 * FLAGS.rnn_num_layers + 2 * ( + FLAGS.cl_num_layers) + 2 + self.assertEqual(len(tf.trainable_variables()), expected_num_vars) + + def testEvalGraph(self): + _, _ = graphs.VatxtModel().eval_graph() + + def testBidirEvalGraph(self): + _, _ = graphs.VatxtBidirModel().eval_graph() + + +if __name__ == '__main__': + tf.test.main() diff --git a/adversarial_text/inputs.py b/adversarial_text/inputs.py new file mode 100644 index 000000000..ec99eded0 --- /dev/null +++ b/adversarial_text/inputs.py @@ -0,0 +1,325 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Input utils for virtual adversarial text classification.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import tensorflow as tf + +from adversarial_text.data import data_utils + + +class VatxtInput(object): + """Wrapper around NextQueuedSequenceBatch.""" + + def __init__(self, batch, state_name=None, tokens=None, num_states=0): + """Construct VatxtInput. + + Args: + batch: NextQueuedSequenceBatch. + state_name: str, name of state to fetch and save. + tokens: int Tensor, tokens. Defaults to batch's F_TOKEN_ID sequence. + num_states: int The number of states to store. + """ + self._batch = batch + self._state_name = state_name + self._tokens = (tokens if tokens is not None else + batch.sequences[data_utils.SequenceWrapper.F_TOKEN_ID]) + self._num_states = num_states + + # Once the tokens have passed through embedding and LSTM, the output Tensor + # shapes will be time-major, i.e. shape = (time, batch, dim). Here we make + # both weights and labels time-major with a transpose, and then merge the + # time and batch dimensions such that they are both vectors of shape + # (time*batch). + w = batch.sequences[data_utils.SequenceWrapper.F_WEIGHT] + w = tf.transpose(w, [1, 0]) + w = tf.reshape(w, [-1]) + self._weights = w + + l = batch.sequences[data_utils.SequenceWrapper.F_LABEL] + l = tf.transpose(l, [1, 0]) + l = tf.reshape(l, [-1]) + self._labels = l + + @property + def tokens(self): + return self._tokens + + @property + def weights(self): + return self._weights + + @property + def labels(self): + return self._labels + + @property + def length(self): + return self._batch.length + + @property + def state_name(self): + return self._state_name + + @property + def state(self): + # LSTM tuple states + state_names = _get_tuple_state_names(self._num_states, self._state_name) + return tuple([ + tf.contrib.rnn.LSTMStateTuple( + self._batch.state(c_name), self._batch.state(h_name)) + for c_name, h_name in state_names + ]) + + def save_state(self, value): + # LSTM tuple states + state_names = _get_tuple_state_names(self._num_states, self._state_name) + save_ops = [] + for (c_state, h_state), (c_name, h_name) in zip(value, state_names): + save_ops.append(self._batch.save_state(c_name, c_state)) + save_ops.append(self._batch.save_state(h_name, h_state)) + return tf.group(*save_ops) + + +def _get_tuple_state_names(num_states, base_name): + """Returns state names for use with LSTM tuple state.""" + state_names = [('{}_{}_c'.format(i, base_name), '{}_{}_h'.format( + i, base_name)) for i in range(num_states)] + return state_names + + +def _split_bidir_tokens(batch): + tokens = batch.sequences[data_utils.SequenceWrapper.F_TOKEN_ID] + # Tokens have shape [batch, time, 2] + # forward and reverse have shape [batch, time]. + forward, reverse = [ + tf.squeeze(t, axis=[2]) for t in tf.split(tokens, 2, axis=2) + ] + return forward, reverse + + +def _filenames_for_data_spec(phase, bidir, pretrain, use_seq2seq): + """Returns input filenames for configuration. + + Args: + phase: str, 'train', 'test', or 'valid'. + bidir: bool, bidirectional model. + pretrain: bool, pretraining or classification. + use_seq2seq: bool, seq2seq data, only valid if pretrain=True. + + Returns: + Tuple of filenames. + + Raises: + ValueError: if an invalid combination of arguments is provided that does not + map to any data files (e.g. pretrain=False, use_seq2seq=True). + """ + data_spec = (phase, bidir, pretrain, use_seq2seq) + data_specs = { + ('train', True, True, False): (data_utils.TRAIN_LM, + data_utils.TRAIN_REV_LM), + ('train', True, False, False): (data_utils.TRAIN_BD_CLASS,), + ('train', False, True, False): (data_utils.TRAIN_LM,), + ('train', False, True, True): (data_utils.TRAIN_SA,), + ('train', False, False, False): (data_utils.TRAIN_CLASS,), + ('test', True, True, False): (data_utils.TEST_LM, + data_utils.TRAIN_REV_LM), + ('test', True, False, False): (data_utils.TEST_BD_CLASS,), + ('test', False, True, False): (data_utils.TEST_LM,), + ('test', False, True, True): (data_utils.TEST_SA,), + ('test', False, False, False): (data_utils.TEST_CLASS,), + ('valid', True, False, False): (data_utils.VALID_BD_CLASS,), + ('valid', False, False, False): (data_utils.VALID_CLASS,), + } + if data_spec not in data_specs: + raise ValueError( + 'Data specification (phase, bidir, pretrain, use_seq2seq) %s not ' + 'supported' % str(data_spec)) + + return data_specs[data_spec] + + +def _read_single_sequence_example(file_list, tokens_shape=None): + """Reads and parses SequenceExamples from TFRecord-encoded file_list.""" + tf.logging.info('Constructing TFRecordReader from files: %s', file_list) + file_queue = tf.train.string_input_producer(file_list) + reader = tf.TFRecordReader() + seq_key, serialized_record = reader.read(file_queue) + ctx, sequence = tf.parse_single_sequence_example( + serialized_record, + sequence_features={ + data_utils.SequenceWrapper.F_TOKEN_ID: + tf.FixedLenSequenceFeature(tokens_shape or [], dtype=tf.int64), + data_utils.SequenceWrapper.F_LABEL: + tf.FixedLenSequenceFeature([], dtype=tf.int64), + data_utils.SequenceWrapper.F_WEIGHT: + tf.FixedLenSequenceFeature([], dtype=tf.float32), + }) + return seq_key, ctx, sequence + + +def _read_and_batch(data_dir, + fname, + state_name, + state_size, + num_layers, + unroll_steps, + batch_size, + bidir_input=False): + """Inputs for text model. + + Args: + data_dir: str, directory containing TFRecord files of SequenceExample. + fname: str, input file name. + state_name: string, key for saved state of LSTM. + state_size: int, size of LSTM state. + num_layers: int, the number of layers in the LSTM. + unroll_steps: int, number of timesteps to unroll for TBTT. + batch_size: int, batch size. + bidir_input: bool, whether the input is bidirectional. If True, creates 2 + states, state_name and state_name + '_reverse'. + + Returns: + Instance of NextQueuedSequenceBatch + + Raises: + ValueError: if file for input specification is not found. + """ + data_path = os.path.join(data_dir, fname) + if not tf.gfile.Exists(data_path): + raise ValueError('Failed to find file: %s' % data_path) + + tokens_shape = [2] if bidir_input else [] + seq_key, ctx, sequence = _read_single_sequence_example( + [data_path], tokens_shape=tokens_shape) + # Set up stateful queue reader. + state_names = _get_tuple_state_names(num_layers, state_name) + initial_states = {} + for c_state, h_state in state_names: + initial_states[c_state] = tf.zeros(state_size) + initial_states[h_state] = tf.zeros(state_size) + if bidir_input: + rev_state_names = _get_tuple_state_names(num_layers, + '{}_reverse'.format(state_name)) + for rev_c_state, rev_h_state in rev_state_names: + initial_states[rev_c_state] = tf.zeros(state_size) + initial_states[rev_h_state] = tf.zeros(state_size) + batch = tf.contrib.training.batch_sequences_with_states( + input_key=seq_key, + input_sequences=sequence, + input_context=ctx, + input_length=tf.shape(sequence['token_id'])[0], + initial_states=initial_states, + num_unroll=unroll_steps, + batch_size=batch_size, + allow_small_batch=False, + num_threads=4, + capacity=batch_size * 10, + make_keys_unique=True, + make_keys_unique_seed=29392) + return batch + + +def inputs(data_dir=None, + phase='train', + bidir=False, + pretrain=False, + use_seq2seq=False, + state_name='lstm', + state_size=None, + num_layers=0, + batch_size=32, + unroll_steps=100): + """Inputs for text model. + + Args: + data_dir: str, directory containing TFRecord files of SequenceExample. + phase: str, dataset for evaluation {'train', 'valid', 'test'}. + bidir: bool, bidirectional LSTM. + pretrain: bool, whether to read pretraining data or classification data. + use_seq2seq: bool, whether to read seq2seq data or the language model data. + state_name: string, key for saved state of LSTM. + state_size: int, size of LSTM state. + num_layers: int, the number of LSTM layers. + batch_size: int, batch size. + unroll_steps: int, number of timesteps to unroll for TBTT. + + Returns: + Instance of VatxtInput (x2 if bidir=True and pretrain=True, i.e. forward and + reverse). + """ + with tf.name_scope('inputs'): + filenames = _filenames_for_data_spec(phase, bidir, pretrain, use_seq2seq) + + if bidir and pretrain: + # Bidirectional pretraining + # Requires separate forward and reverse language model data. + forward_fname, reverse_fname = filenames + forward_batch = _read_and_batch(data_dir, forward_fname, state_name, + state_size, num_layers, unroll_steps, + batch_size) + state_name_rev = state_name + '_reverse' + reverse_batch = _read_and_batch(data_dir, reverse_fname, state_name_rev, + state_size, num_layers, unroll_steps, + batch_size) + forward_input = VatxtInput( + forward_batch, state_name=state_name, num_states=num_layers) + reverse_input = VatxtInput( + reverse_batch, state_name=state_name_rev, num_states=num_layers) + return forward_input, reverse_input + + elif bidir: + # Classifier bidirectional LSTM + # Shared data source, but separate token/state streams + fname, = filenames + batch = _read_and_batch( + data_dir, + fname, + state_name, + state_size, + num_layers, + unroll_steps, + batch_size, + bidir_input=True) + forward_tokens, reverse_tokens = _split_bidir_tokens(batch) + forward_input = VatxtInput( + batch, + state_name=state_name, + tokens=forward_tokens, + num_states=num_layers) + reverse_input = VatxtInput( + batch, + state_name=state_name + '_reverse', + tokens=reverse_tokens, + num_states=num_layers) + return forward_input, reverse_input + else: + # Unidirectional LM or classifier + fname, = filenames + batch = _read_and_batch( + data_dir, + fname, + state_name, + state_size, + num_layers, + unroll_steps, + batch_size, + bidir_input=False) + return VatxtInput(batch, state_name=state_name, num_states=num_layers) diff --git a/adversarial_text/layers.py b/adversarial_text/layers.py new file mode 100644 index 000000000..719928ea2 --- /dev/null +++ b/adversarial_text/layers.py @@ -0,0 +1,388 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Layers for VatxtModel.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +K = tf.contrib.keras + + +def cl_logits_subgraph(layer_sizes, input_size, num_classes, keep_prob=1.): + """Construct multiple ReLU layers with dropout and a linear layer.""" + subgraph = K.models.Sequential(name='cl_logits') + for i, layer_size in enumerate(layer_sizes): + if i == 0: + subgraph.add( + K.layers.Dense(layer_size, activation='relu', input_dim=input_size)) + else: + subgraph.add(K.layers.Dense(layer_size, activation='relu')) + + if keep_prob < 1.: + subgraph.add(K.layers.Dropout(keep_prob)) + subgraph.add(K.layers.Dense(1 if num_classes == 2 else num_classes)) + return subgraph + + +class Embedding(K.layers.Layer): + """Embedding layer with frequency-based normalization and dropout.""" + + def __init__(self, + vocab_size, + embedding_dim, + normalize=False, + vocab_freqs=None, + keep_prob=1., + **kwargs): + self.vocab_size = vocab_size + self.embedding_dim = embedding_dim + self.normalized = normalize + self.keep_prob = keep_prob + + if normalize: + assert vocab_freqs is not None + self.vocab_freqs = tf.constant( + vocab_freqs, dtype=tf.float32, shape=(vocab_size, 1)) + + super(Embedding, self).__init__(**kwargs) + + def build(self, input_shape): + with tf.device('/cpu:0'): + self.var = self.add_weight( + shape=(self.vocab_size, self.embedding_dim), + initializer=tf.random_uniform_initializer(-1., 1.), + name='embedding') + + if self.normalized: + self.var = self._normalize(self.var) + + super(Embedding, self).build(input_shape) + + def call(self, x): + embedded = tf.nn.embedding_lookup(self.var, x) + if self.keep_prob < 1.: + embedded = tf.nn.dropout(embedded, self.keep_prob) + return embedded + + def _normalize(self, emb): + weights = self.vocab_freqs / tf.reduce_sum(self.vocab_freqs) + + emb -= tf.reduce_sum(weights * emb, 0, keep_dims=True) + emb /= tf.sqrt(1e-6 + tf.reduce_sum( + weights * tf.pow(emb, 2.), 0, keep_dims=True)) + return emb + + +class LSTM(object): + """LSTM layer using static_rnn. + + Exposes variables in `trainable_weights` property. + """ + + def __init__(self, cell_size, num_layers=1, keep_prob=1., name='LSTM'): + self.cell_size = cell_size + self.num_layers = num_layers + self.keep_prob = keep_prob + self.reuse = None + self.trainable_weights = None + self.name = name + + def __call__(self, x, initial_state, seq_length): + with tf.variable_scope(self.name, reuse=self.reuse) as vs: + cell = tf.contrib.rnn.MultiRNNCell([ + tf.contrib.rnn.BasicLSTMCell( + self.cell_size, + forget_bias=0.0, + reuse=tf.get_variable_scope().reuse) + for _ in xrange(self.num_layers) + ]) + + # shape(x) = (batch_size, num_timesteps, embedding_dim) + # Convert into a time-major list for static_rnn + x = tf.unstack(tf.transpose(x, perm=[1, 0, 2])) + + lstm_out, next_state = tf.contrib.rnn.static_rnn( + cell, x, initial_state=initial_state, sequence_length=seq_length) + + # Merge time and batch dimensions + # shape(lstm_out) = timesteps * (batch_size, cell_size) + lstm_out = tf.concat(lstm_out, 0) + # shape(lstm_out) = (timesteps*batch_size, cell_size) + + if self.keep_prob < 1.: + lstm_out = tf.nn.dropout(lstm_out, self.keep_prob) + + if self.reuse is None: + self.trainable_weights = vs.global_variables() + + self.reuse = True + + return lstm_out, next_state + + +class SoftmaxLoss(K.layers.Layer): + """Softmax xentropy loss with candidate sampling.""" + + def __init__(self, + vocab_size, + num_candidate_samples=-1, + vocab_freqs=None, + **kwargs): + self.vocab_size = vocab_size + self.num_candidate_samples = num_candidate_samples + self.vocab_freqs = vocab_freqs + super(SoftmaxLoss, self).__init__(**kwargs) + + def build(self, input_shape): + input_shape = input_shape[0] + with tf.device('/cpu:0'): + self.lin_w = self.add_weight( + shape=(input_shape[-1], self.vocab_size), + name='lm_lin_w', + initializer='glorot_uniform') + self.lin_b = self.add_weight( + shape=(self.vocab_size,), + name='lm_lin_b', + initializer='glorot_uniform') + + super(SoftmaxLoss, self).build(input_shape) + + def call(self, inputs): + x, labels, weights = inputs + if self.num_candidate_samples > -1: + assert self.vocab_freqs is not None + labels = tf.expand_dims(labels, -1) + sampled = tf.nn.fixed_unigram_candidate_sampler( + true_classes=labels, + num_true=1, + num_sampled=self.num_candidate_samples, + unique=True, + range_max=self.vocab_size, + unigrams=self.vocab_freqs) + + lm_loss = tf.nn.sampled_softmax_loss( + weights=tf.transpose(self.lin_w), + biases=self.lin_b, + labels=labels, + inputs=x, + num_sampled=self.num_candidate_samples, + num_classes=self.vocab_size, + sampled_values=sampled) + else: + logits = tf.matmul(x, self.lin_w) + self.lin_b + lm_loss = tf.nn.sparse_softmax_cross_entropy_with_logits( + logits=logits, labels=labels) + + lm_loss = tf.identity( + tf.reduce_sum(lm_loss * weights) / _num_labels(weights), + name='lm_xentropy_loss') + return lm_loss + + +def classification_loss(logits, labels, weights): + """Computes cross entropy loss between logits and labels. + + Args: + logits: 2-D [timesteps*batch_size, m] float tensor, where m=1 if + num_classes=2, otherwise m=num_classes. + labels: 1-D [timesteps*batch_size] integer tensor. + weights: 2-D [timesteps*batch_size] float tensor. + + Returns: + Loss scalar of type float. + """ + inner_dim = logits.get_shape().as_list()[-1] + with tf.name_scope('classifier_loss'): + # Logistic loss + if inner_dim == 1: + loss = tf.nn.sigmoid_cross_entropy_with_logits( + logits=tf.squeeze(logits), labels=tf.cast(labels, tf.float32)) + # Softmax loss + else: + loss = tf.nn.sparse_softmax_cross_entropy_with_logits( + logits=logits, labels=labels) + + num_lab = _num_labels(weights) + tf.summary.scalar('num_labels', num_lab) + return tf.identity( + tf.reduce_sum(weights * loss) / num_lab, name='classification_xentropy') + + +def accuracy(logits, targets, weights): + """Computes prediction accuracy. + + Args: + logits: 2-D classifier logits [timesteps*batch_size, num_classes] + targets: 1-D [timesteps*batch_size] integer tensor. + weights: 1-D [timesteps*batch_size] float tensor. + + Returns: + Accuracy: float scalar. + """ + with tf.name_scope('accuracy'): + eq = tf.cast(tf.equal(predictions(logits), targets), tf.float32) + return tf.identity( + tf.reduce_sum(weights * eq) / _num_labels(weights), name='accuracy') + + +def predictions(logits): + """Class prediction from logits.""" + inner_dim = logits.get_shape().as_list()[-1] + with tf.name_scope('predictions'): + # For binary classification + if inner_dim == 1: + pred = tf.cast(tf.greater(tf.squeeze(logits), 0.5), tf.int64) + # For multi-class classification + else: + pred = tf.argmax(logits, 1) + return pred + + +def _num_labels(weights): + """Number of 1's in weights. Returns 1. if 0.""" + num_labels = tf.reduce_sum(weights) + num_labels = tf.where(tf.equal(num_labels, 0.), 1., num_labels) + return num_labels + + +def optimize(loss, + global_step, + max_grad_norm, + lr, + lr_decay, + sync_replicas=False, + replicas_to_aggregate=1, + task_id=0): + """Builds optimization graph. + + * Creates an optimizer, and optionally wraps with SyncReplicasOptimizer + * Computes, clips, and applies gradients + * Maintains moving averages for all trainable variables + * Summarizes variables and gradients + + Args: + loss: scalar loss to minimize. + global_step: integer scalar Variable. + max_grad_norm: float scalar. Grads will be clipped to this value. + lr: float scalar, learning rate. + lr_decay: float scalar, learning rate decay rate. + sync_replicas: bool, whether to use SyncReplicasOptimizer. + replicas_to_aggregate: int, number of replicas to aggregate when using + SyncReplicasOptimizer. + task_id: int, id of the current task; used to ensure proper initialization + of SyncReplicasOptimizer. + + Returns: + train_op + """ + with tf.name_scope('optimization'): + # Compute gradients. + tvars = tf.trainable_variables() + grads = tf.gradients( + loss, + tvars, + aggregation_method=tf.AggregationMethod.EXPERIMENTAL_ACCUMULATE_N) + + # Clip non-embedding grads + non_embedding_grads_and_vars = [(g, v) for (g, v) in zip(grads, tvars) + if 'embedding' not in v.op.name] + embedding_grads_and_vars = [(g, v) for (g, v) in zip(grads, tvars) + if 'embedding' in v.op.name] + + ne_grads, ne_vars = zip(*non_embedding_grads_and_vars) + ne_grads, _ = tf.clip_by_global_norm(ne_grads, max_grad_norm) + non_embedding_grads_and_vars = zip(ne_grads, ne_vars) + + grads_and_vars = embedding_grads_and_vars + non_embedding_grads_and_vars + + # Summarize + _summarize_vars_and_grads(grads_and_vars) + + # Decaying learning rate + lr = tf.train.exponential_decay( + lr, global_step, 1, lr_decay, staircase=True) + tf.summary.scalar('learning_rate', lr) + opt = tf.train.AdamOptimizer(lr) + + # Track the moving averages of all trainable variables. + variable_averages = tf.train.ExponentialMovingAverage(0.999, global_step) + + # Apply gradients + if sync_replicas: + opt = tf.train.SyncReplicasOptimizer( + opt, + replicas_to_aggregate, + variable_averages=variable_averages, + variables_to_average=tvars, + total_num_replicas=replicas_to_aggregate) + apply_gradient_op = opt.apply_gradients( + grads_and_vars, global_step=global_step) + with tf.control_dependencies([apply_gradient_op]): + train_op = tf.no_op(name='train_op') + + # Initialization ops + tf.add_to_collection(tf.GraphKeys.QUEUE_RUNNERS, + opt.get_chief_queue_runner()) + if task_id == 0: # Chief task + local_init_op = opt.chief_init_op + tf.add_to_collection('chief_init_op', opt.get_init_tokens_op()) + else: + local_init_op = opt.local_step_init_op + tf.add_to_collection('local_init_op', local_init_op) + tf.add_to_collection('ready_for_local_init_op', + opt.ready_for_local_init_op) + else: + # Non-sync optimizer + variables_averages_op = variable_averages.apply(tvars) + apply_gradient_op = opt.apply_gradients(grads_and_vars, global_step) + with tf.control_dependencies([apply_gradient_op, variables_averages_op]): + train_op = tf.no_op(name='train_op') + + return train_op + + +def _summarize_vars_and_grads(grads_and_vars): + tf.logging.info('Trainable variables:') + tf.logging.info('-' * 60) + for grad, var in grads_and_vars: + tf.logging.info(var) + + def tag(name, v=var): + return v.op.name + '_' + name + + # Variable summary + mean = tf.reduce_mean(var) + tf.summary.scalar(tag('mean'), mean) + with tf.name_scope(tag('stddev')): + stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean))) + tf.summary.scalar(tag('stddev'), stddev) + tf.summary.scalar(tag('max'), tf.reduce_max(var)) + tf.summary.scalar(tag('min'), tf.reduce_min(var)) + tf.summary.histogram(tag('histogram'), var) + + # Gradient summary + if grad is not None: + if isinstance(grad, tf.IndexedSlices): + grad_values = grad.values + else: + grad_values = grad + + tf.summary.histogram(tag('gradient'), grad_values) + tf.summary.scalar(tag('gradient_norm'), tf.global_norm([grad_values])) + else: + tf.logging.info('Var %s has no gradient', var.op.name) diff --git a/adversarial_text/pretrain.py b/adversarial_text/pretrain.py new file mode 100644 index 000000000..25d6a4766 --- /dev/null +++ b/adversarial_text/pretrain.py @@ -0,0 +1,45 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Pretrains a recurrent language model. + +Computational time: + 5 days to train 100000 steps on 1 layer 1024 hidden units LSTM, + 256 embeddings, 400 truncated BP, 64 minibatch and on 4 GPU with + SyncReplicasOptimizer, that is the total minibatch is 256. +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +import graphs +import train_utils + +FLAGS = tf.app.flags.FLAGS + + +def main(_): + """Trains Language Model.""" + tf.logging.set_verbosity(tf.logging.INFO) + with tf.device(tf.train.replica_device_setter(FLAGS.ps_tasks)): + model = graphs.get_model() + train_op, loss, global_step = model.language_model_training() + train_utils.run_training(train_op, loss, global_step) + + +if __name__ == '__main__': + tf.app.run() diff --git a/adversarial_text/train_classifier.py b/adversarial_text/train_classifier.py new file mode 100644 index 000000000..94fba3f6f --- /dev/null +++ b/adversarial_text/train_classifier.py @@ -0,0 +1,62 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Trains LSTM text classification model. + +Model trains with adversarial or virtual adversarial training. + +Computational time: + 6 hours to train 10000 steps without adversarial or virtual adversarial + training, on 1 layer 1024 hidden units LSTM, 256 embeddings, 400 truncated + BP, 64 minibatch and on single GPU. + + 12 hours to train 10000 steps with adversarial or virtual adversarial + training, with above condition. + +To initialize embedding and LSTM cell weights from a pretrained model, set +FLAGS.pretrained_model_dir to the pretrained model's checkpoint directory. +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +import graphs +import train_utils + +flags = tf.app.flags +FLAGS = flags.FLAGS + +flags.DEFINE_string('pretrained_model_dir', None, + 'Directory path to pretrained model to restore from') + + +def main(_): + """Trains LSTM classification model.""" + tf.logging.set_verbosity(tf.logging.INFO) + with tf.device(tf.train.replica_device_setter(FLAGS.ps_tasks)): + model = graphs.get_model() + train_op, loss, global_step = model.classifier_training() + train_utils.run_training( + train_op, + loss, + global_step, + variables_to_restore=model.pretrained_variables, + pretrained_model_dir=FLAGS.pretrained_model_dir) + + +if __name__ == '__main__': + tf.app.run() diff --git a/adversarial_text/train_utils.py b/adversarial_text/train_utils.py new file mode 100644 index 000000000..91104a135 --- /dev/null +++ b/adversarial_text/train_utils.py @@ -0,0 +1,133 @@ +# Copyright 2017 Google, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utilities for training adversarial text models.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import time + +import numpy as np +import tensorflow as tf + +flags = tf.app.flags +FLAGS = flags.FLAGS + +flags.DEFINE_string('master', '', 'Master address.') +flags.DEFINE_integer('task', 0, 'Task id of the replica running the training.') +flags.DEFINE_integer('ps_tasks', 0, 'Number of parameter servers.') +flags.DEFINE_string('train_dir', '/tmp/text_train', + 'Directory for logs and checkpoints.') +flags.DEFINE_integer('max_steps', 1000000, 'Number of batches to run.') +flags.DEFINE_boolean('log_device_placement', False, + 'Whether to log device placement.') + + +def run_training(train_op, + loss, + global_step, + variables_to_restore=None, + pretrained_model_dir=None): + """Sets up and runs training loop.""" + tf.gfile.MakeDirs(FLAGS.train_dir) + + # Create pretrain Saver + if pretrained_model_dir: + assert variables_to_restore + tf.logging.info('Will attempt restore from %s: %s', pretrained_model_dir, + variables_to_restore) + saver_for_restore = tf.train.Saver(variables_to_restore) + + # Init ops + if FLAGS.sync_replicas: + local_init_op = tf.get_collection('local_init_op')[0] + ready_for_local_init_op = tf.get_collection('ready_for_local_init_op')[0] + else: + local_init_op = tf.train.Supervisor.USE_DEFAULT + ready_for_local_init_op = tf.train.Supervisor.USE_DEFAULT + + is_chief = FLAGS.task == 0 + sv = tf.train.Supervisor( + logdir=FLAGS.train_dir, + is_chief=is_chief, + save_summaries_secs=5 * 60, + save_model_secs=5 * 60, + local_init_op=local_init_op, + ready_for_local_init_op=ready_for_local_init_op, + global_step=global_step) + + # Delay starting standard services to allow possible pretrained model restore. + with sv.managed_session( + master=FLAGS.master, + config=tf.ConfigProto(log_device_placement=FLAGS.log_device_placement), + start_standard_services=False) as sess: + # Initialization + if is_chief: + if pretrained_model_dir: + maybe_restore_pretrained_model(sess, saver_for_restore, + pretrained_model_dir) + if FLAGS.sync_replicas: + sess.run(tf.get_collection('chief_init_op')[0]) + sv.start_standard_services(sess) + + sv.start_queue_runners(sess) + + # Training loop + global_step_val = 0 + while not sv.should_stop() and global_step_val < FLAGS.max_steps: + global_step_val = train_step(sess, train_op, loss, global_step) + sv.stop() + + # Final checkpoint + if is_chief: + sv.saver.save(sess, sv.save_path, global_step=global_step) + + +def maybe_restore_pretrained_model(sess, saver_for_restore, model_dir): + """Restores pretrained model if there is no ckpt model.""" + ckpt = tf.train.get_checkpoint_state(FLAGS.train_dir) + checkpoint_exists = ckpt and ckpt.model_checkpoint_path + if checkpoint_exists: + tf.logging.info('Checkpoint exists in FLAGS.train_dir; skipping ' + 'pretraining restore') + return + + pretrain_ckpt = tf.train.get_checkpoint_state(model_dir) + if not (pretrain_ckpt and pretrain_ckpt.model_checkpoint_path): + raise ValueError( + 'Asked to restore model from %s but no checkpoint found.' % model_dir) + saver_for_restore.restore(sess, pretrain_ckpt.model_checkpoint_path) + + +def train_step(sess, train_op, loss, global_step): + """Runs a single training step.""" + start_time = time.time() + _, loss_val, global_step_val = sess.run([train_op, loss, global_step]) + duration = time.time() - start_time + + # Logging + if global_step_val % 10 == 0: + examples_per_sec = FLAGS.batch_size / duration + sec_per_batch = float(duration) + + format_str = ('step %d, loss = %.2f (%.1f examples/sec; %.3f ' 'sec/batch)') + tf.logging.info(format_str % (global_step_val, loss_val, examples_per_sec, + sec_per_batch)) + + if np.isnan(loss_val): + raise OverflowError('Loss is nan') + + return global_step_val -- GitLab From 94924d5d453c431193cf8dea06bba0f6954e6288 Mon Sep 17 00:00:00 2001 From: Ryan Sepassi Date: Fri, 21 Apr 2017 18:31:44 -0700 Subject: [PATCH 031/171] Add adversarial text to main README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 08b5a7a56..20e5bc35f 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ running TensorFlow 0.12 or earlier, please ## Models +- [adversarial_text](adversarial_text): semi-supervised sequence learning with + adversarial training. - [autoencoder](autoencoder): various autoencoders. - [compression](compression): compressing and decompressing images using a pre-trained Residual GRU network. - [differential_privacy](differential_privacy): privacy-preserving student models from multiple teachers. -- GitLab From f98cd28461bb51741d9c41742187e8e675c3cfda Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Fri, 21 Apr 2017 18:39:09 -0700 Subject: [PATCH 032/171] Convert the paper titles into links in adversarial_text/README.md --- adversarial_text/README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/adversarial_text/README.md b/adversarial_text/README.md index 05952c00f..a27d56c9e 100644 --- a/adversarial_text/README.md +++ b/adversarial_text/README.md @@ -1,8 +1,6 @@ # Adversarial Text Classification -Code for *Adversarial Training Methods for Semi-Supervised Text Classification* -(https://arxiv.org/abs/1605.07725) and *Semi-Supervised Sequence Learning* -(https://arxiv.org/abs/1511.01432). +Code for [*Adversarial Training Methods for Semi-Supervised Text Classification*](https://arxiv.org/abs/1605.07725) and [*Semi-Supervised Sequence Learning*](https://arxiv.org/abs/1511.01432). ## Requirements -- GitLab From 320db2096843751658efd14713acc15c3e5367d0 Mon Sep 17 00:00:00 2001 From: Saurabh Gupta Date: Fri, 21 Apr 2017 21:47:46 -0700 Subject: [PATCH 033/171] Description for cognitive mapping and planning in README. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 20e5bc35f..06b4f7df1 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ running TensorFlow 0.12 or earlier, please - [adversarial_text](adversarial_text): semi-supervised sequence learning with adversarial training. - [autoencoder](autoencoder): various autoencoders. +- [cognitive_mapping_and_planning](cognitive_mapping_and_planning): implementation of a spatial memory based mapping and planning architecture for visual navigation. - [compression](compression): compressing and decompressing images using a pre-trained Residual GRU network. - [differential_privacy](differential_privacy): privacy-preserving student models from multiple teachers. - [domain_adaptation](domain_adaptation): domain separation networks. -- GitLab From 7c42a178f67676467ca6e71d0628954a22396271 Mon Sep 17 00:00:00 2001 From: Matt Rickard Date: Fri, 21 Apr 2017 19:15:38 -0700 Subject: [PATCH 034/171] Remove unused function Variable summaries and the learning rate are added elsewhere in the code. A quick search also shows that this function is never called. --- slim/train_image_classifier.py | 9 --------- 1 file changed, 9 deletions(-) mode change 100644 => 100755 slim/train_image_classifier.py diff --git a/slim/train_image_classifier.py b/slim/train_image_classifier.py old mode 100644 new mode 100755 index b1cabe746..146f70026 --- a/slim/train_image_classifier.py +++ b/slim/train_image_classifier.py @@ -310,15 +310,6 @@ def _configure_optimizer(learning_rate): raise ValueError('Optimizer [%s] was not recognized', FLAGS.optimizer) return optimizer - -def _add_variables_summaries(learning_rate): - summaries = [] - for variable in slim.get_model_variables(): - summaries.append(tf.summary.histogram(variable.op.name, variable)) - summaries.append(tf.summary.scalar('training/Learning Rate', learning_rate)) - return summaries - - def _get_init_fn(): """Returns a function run by the chief worker to warm-start the training. -- GitLab From 39c59d137035c1b53b756b280510f1705c53fa4e Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Sat, 22 Apr 2017 22:47:46 -0700 Subject: [PATCH 035/171] Minor fixes to ISSUE_TEMPLATE.md to match the tensorflow repository --- ISSUE_TEMPLATE.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index a67664d8c..4da144cdd 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -1,4 +1,6 @@ -Please go to Stack Overflow for help and support: http://stackoverflow.com/questions/tagged/tensorflow +Please go to Stack Overflow for help and support: + +http://stackoverflow.com/questions/tagged/tensorflow Also, please understand that many of the models included in this repository are experimental and research-style code. If you open a GitHub issue, here is our policy: @@ -20,14 +22,15 @@ Also, please understand that many of the models included in this repository are - **GPU model and memory**: - **Exact command to reproduce**: -You can collect some of this information using our environment capture script: https://github.com/tensorflow/tensorflow/tree/master/tools +You can collect some of this information using our environment capture script: + +https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh You can obtain the TensorFlow version with python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" ### Describe the problem - Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request. ### Source code / logs -- GitLab From 5188c975a58939a328bd3ff551be191cd4ed00fc Mon Sep 17 00:00:00 2001 From: Alexander Gorban Date: Mon, 24 Apr 2017 12:00:33 -0700 Subject: [PATCH 036/171] A script to generate a text file with FSNS URLs. --- street/README.md | 13 +- street/python/fsns_urls.py | 49 ++ street/python/fsns_urls.txt | 1282 +++++++++++++++++++++++++++++++++++ 3 files changed, 1340 insertions(+), 4 deletions(-) create mode 100644 street/python/fsns_urls.py create mode 100644 street/python/fsns_urls.txt diff --git a/street/README.md b/street/README.md index 6385c15ca..1750a8843 100644 --- a/street/README.md +++ b/street/README.md @@ -79,6 +79,7 @@ Note that these datasets are very large. The approximate sizes are: * Validation: 64 files of 40MB each. * Test: 64 files of 50MB each. * Testdata: some smaller data files of a few MB for testing. +* Total: ~158 Gb. Here is a list of the download paths: @@ -99,9 +100,14 @@ https://download.tensorflow.org/data/fsns-20160927/validation/validation-00000-o https://download.tensorflow.org/data/fsns-20160927/validation/validation-00063-of-00064 ``` -The above files need to be downloaded individually, as they are large and -downloads are more likely to succeed with the individual files than with a -single archive containing them all. +All URLs are stored in the text file `python/fsns_urls.txt`, to download them in +parallel: + +``` +aria2c -c -j 20 -i fsns_urls.txt +``` +If you ctrl+c and re-execute the command it will continue the aborted download. + ## Confidence Tests @@ -256,4 +262,3 @@ defines a Tensor Flow graph that can be used to process images of variable sizes to output a 1-dimensional sequence, like a transcription/OCR problem, or a 0-dimensional label, as for image identification problems. For more information see [vgslspecs](g3doc/vgslspecs.md) - diff --git a/street/python/fsns_urls.py b/street/python/fsns_urls.py new file mode 100644 index 000000000..bea547b9d --- /dev/null +++ b/street/python/fsns_urls.py @@ -0,0 +1,49 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Creates a text file with URLs to download FSNS dataset using aria2c. + +The FSNS dataset has 640 files and takes 158Gb of the disk space. So it is +highly recommended to use some kind of a download manager to download it. + +Aria2c is a powerful download manager which can download multiple files in +parallel, re-try if encounter an error and continue previously unfinished +downloads. +""" + +import os + +_FSNS_BASE_URL = 'http://download.tensorflow.org/data/fsns-20160927/' +_SHARDS = {'test': 64, 'train': 512, 'validation':64} +_OUTPUT_FILE = "fsns_urls.txt" +_OUTPUT_DIR = "data/fsns" + +def fsns_paths(): + paths = ['charset_size=134.txt'] + for name, shards in _SHARDS.items(): + for i in range(shards): + paths.append('%s/%s-%05d-of-%05d' % (name, name, i, shards)) + return paths + + +if __name__ == "__main__": + with open(_OUTPUT_FILE, "w") as f: + for path in fsns_paths(): + url = _FSNS_BASE_URL + path + dst_path = os.path.join(_OUTPUT_DIR, path) + f.write("%s\n out=%s\n" % (url, dst_path)) + print("To download FSNS dataset execute:") + print("aria2c -c -j 20 -i %s" % _OUTPUT_FILE) + print("The downloaded FSNS dataset will be stored under %s" % _OUTPUT_DIR) diff --git a/street/python/fsns_urls.txt b/street/python/fsns_urls.txt new file mode 100644 index 000000000..959ffbd5d --- /dev/null +++ b/street/python/fsns_urls.txt @@ -0,0 +1,1282 @@ +http://download.tensorflow.org/data/fsns-20160927/charset_size=134.txt + out=data/fsns/charset_size=134.txt +http://download.tensorflow.org/data/fsns-20160927/test/test-00000-of-00064 + out=data/fsns/test/test-00000-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00001-of-00064 + out=data/fsns/test/test-00001-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00002-of-00064 + out=data/fsns/test/test-00002-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00003-of-00064 + out=data/fsns/test/test-00003-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00004-of-00064 + out=data/fsns/test/test-00004-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00005-of-00064 + out=data/fsns/test/test-00005-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00006-of-00064 + out=data/fsns/test/test-00006-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00007-of-00064 + out=data/fsns/test/test-00007-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00008-of-00064 + out=data/fsns/test/test-00008-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00009-of-00064 + out=data/fsns/test/test-00009-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00010-of-00064 + out=data/fsns/test/test-00010-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00011-of-00064 + out=data/fsns/test/test-00011-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00012-of-00064 + out=data/fsns/test/test-00012-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00013-of-00064 + out=data/fsns/test/test-00013-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00014-of-00064 + out=data/fsns/test/test-00014-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00015-of-00064 + out=data/fsns/test/test-00015-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00016-of-00064 + out=data/fsns/test/test-00016-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00017-of-00064 + out=data/fsns/test/test-00017-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00018-of-00064 + out=data/fsns/test/test-00018-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00019-of-00064 + out=data/fsns/test/test-00019-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00020-of-00064 + out=data/fsns/test/test-00020-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00021-of-00064 + out=data/fsns/test/test-00021-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00022-of-00064 + out=data/fsns/test/test-00022-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00023-of-00064 + out=data/fsns/test/test-00023-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00024-of-00064 + out=data/fsns/test/test-00024-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00025-of-00064 + out=data/fsns/test/test-00025-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00026-of-00064 + out=data/fsns/test/test-00026-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00027-of-00064 + out=data/fsns/test/test-00027-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00028-of-00064 + out=data/fsns/test/test-00028-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00029-of-00064 + out=data/fsns/test/test-00029-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00030-of-00064 + out=data/fsns/test/test-00030-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00031-of-00064 + out=data/fsns/test/test-00031-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00032-of-00064 + out=data/fsns/test/test-00032-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00033-of-00064 + out=data/fsns/test/test-00033-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00034-of-00064 + out=data/fsns/test/test-00034-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00035-of-00064 + out=data/fsns/test/test-00035-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00036-of-00064 + out=data/fsns/test/test-00036-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00037-of-00064 + out=data/fsns/test/test-00037-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00038-of-00064 + out=data/fsns/test/test-00038-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00039-of-00064 + out=data/fsns/test/test-00039-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00040-of-00064 + out=data/fsns/test/test-00040-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00041-of-00064 + out=data/fsns/test/test-00041-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00042-of-00064 + out=data/fsns/test/test-00042-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00043-of-00064 + out=data/fsns/test/test-00043-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00044-of-00064 + out=data/fsns/test/test-00044-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00045-of-00064 + out=data/fsns/test/test-00045-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00046-of-00064 + out=data/fsns/test/test-00046-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00047-of-00064 + out=data/fsns/test/test-00047-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00048-of-00064 + out=data/fsns/test/test-00048-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00049-of-00064 + out=data/fsns/test/test-00049-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00050-of-00064 + out=data/fsns/test/test-00050-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00051-of-00064 + out=data/fsns/test/test-00051-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00052-of-00064 + out=data/fsns/test/test-00052-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00053-of-00064 + out=data/fsns/test/test-00053-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00054-of-00064 + out=data/fsns/test/test-00054-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00055-of-00064 + out=data/fsns/test/test-00055-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00056-of-00064 + out=data/fsns/test/test-00056-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00057-of-00064 + out=data/fsns/test/test-00057-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00058-of-00064 + out=data/fsns/test/test-00058-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00059-of-00064 + out=data/fsns/test/test-00059-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00060-of-00064 + out=data/fsns/test/test-00060-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00061-of-00064 + out=data/fsns/test/test-00061-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00062-of-00064 + out=data/fsns/test/test-00062-of-00064 +http://download.tensorflow.org/data/fsns-20160927/test/test-00063-of-00064 + out=data/fsns/test/test-00063-of-00064 +http://download.tensorflow.org/data/fsns-20160927/train/train-00000-of-00512 + out=data/fsns/train/train-00000-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00001-of-00512 + out=data/fsns/train/train-00001-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00002-of-00512 + out=data/fsns/train/train-00002-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00003-of-00512 + out=data/fsns/train/train-00003-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00004-of-00512 + out=data/fsns/train/train-00004-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00005-of-00512 + out=data/fsns/train/train-00005-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00006-of-00512 + out=data/fsns/train/train-00006-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00007-of-00512 + out=data/fsns/train/train-00007-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00008-of-00512 + out=data/fsns/train/train-00008-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00009-of-00512 + out=data/fsns/train/train-00009-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00010-of-00512 + out=data/fsns/train/train-00010-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00011-of-00512 + out=data/fsns/train/train-00011-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00012-of-00512 + out=data/fsns/train/train-00012-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00013-of-00512 + out=data/fsns/train/train-00013-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00014-of-00512 + out=data/fsns/train/train-00014-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00015-of-00512 + out=data/fsns/train/train-00015-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00016-of-00512 + out=data/fsns/train/train-00016-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00017-of-00512 + out=data/fsns/train/train-00017-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00018-of-00512 + out=data/fsns/train/train-00018-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00019-of-00512 + out=data/fsns/train/train-00019-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00020-of-00512 + out=data/fsns/train/train-00020-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00021-of-00512 + out=data/fsns/train/train-00021-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00022-of-00512 + out=data/fsns/train/train-00022-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00023-of-00512 + out=data/fsns/train/train-00023-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00024-of-00512 + out=data/fsns/train/train-00024-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00025-of-00512 + out=data/fsns/train/train-00025-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00026-of-00512 + out=data/fsns/train/train-00026-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00027-of-00512 + out=data/fsns/train/train-00027-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00028-of-00512 + out=data/fsns/train/train-00028-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00029-of-00512 + out=data/fsns/train/train-00029-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00030-of-00512 + out=data/fsns/train/train-00030-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00031-of-00512 + out=data/fsns/train/train-00031-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00032-of-00512 + out=data/fsns/train/train-00032-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00033-of-00512 + out=data/fsns/train/train-00033-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00034-of-00512 + out=data/fsns/train/train-00034-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00035-of-00512 + out=data/fsns/train/train-00035-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00036-of-00512 + out=data/fsns/train/train-00036-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00037-of-00512 + out=data/fsns/train/train-00037-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00038-of-00512 + out=data/fsns/train/train-00038-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00039-of-00512 + out=data/fsns/train/train-00039-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00040-of-00512 + out=data/fsns/train/train-00040-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00041-of-00512 + out=data/fsns/train/train-00041-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00042-of-00512 + out=data/fsns/train/train-00042-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00043-of-00512 + out=data/fsns/train/train-00043-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00044-of-00512 + out=data/fsns/train/train-00044-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00045-of-00512 + out=data/fsns/train/train-00045-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00046-of-00512 + out=data/fsns/train/train-00046-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00047-of-00512 + out=data/fsns/train/train-00047-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00048-of-00512 + out=data/fsns/train/train-00048-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00049-of-00512 + out=data/fsns/train/train-00049-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00050-of-00512 + out=data/fsns/train/train-00050-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00051-of-00512 + out=data/fsns/train/train-00051-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00052-of-00512 + out=data/fsns/train/train-00052-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00053-of-00512 + out=data/fsns/train/train-00053-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00054-of-00512 + out=data/fsns/train/train-00054-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00055-of-00512 + out=data/fsns/train/train-00055-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00056-of-00512 + out=data/fsns/train/train-00056-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00057-of-00512 + out=data/fsns/train/train-00057-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00058-of-00512 + out=data/fsns/train/train-00058-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00059-of-00512 + out=data/fsns/train/train-00059-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00060-of-00512 + out=data/fsns/train/train-00060-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00061-of-00512 + out=data/fsns/train/train-00061-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00062-of-00512 + out=data/fsns/train/train-00062-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00063-of-00512 + out=data/fsns/train/train-00063-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00064-of-00512 + out=data/fsns/train/train-00064-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00065-of-00512 + out=data/fsns/train/train-00065-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00066-of-00512 + out=data/fsns/train/train-00066-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00067-of-00512 + out=data/fsns/train/train-00067-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00068-of-00512 + out=data/fsns/train/train-00068-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00069-of-00512 + out=data/fsns/train/train-00069-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00070-of-00512 + out=data/fsns/train/train-00070-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00071-of-00512 + out=data/fsns/train/train-00071-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00072-of-00512 + out=data/fsns/train/train-00072-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00073-of-00512 + out=data/fsns/train/train-00073-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00074-of-00512 + out=data/fsns/train/train-00074-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00075-of-00512 + out=data/fsns/train/train-00075-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00076-of-00512 + out=data/fsns/train/train-00076-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00077-of-00512 + out=data/fsns/train/train-00077-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00078-of-00512 + out=data/fsns/train/train-00078-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00079-of-00512 + out=data/fsns/train/train-00079-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00080-of-00512 + out=data/fsns/train/train-00080-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00081-of-00512 + out=data/fsns/train/train-00081-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00082-of-00512 + out=data/fsns/train/train-00082-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00083-of-00512 + out=data/fsns/train/train-00083-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00084-of-00512 + out=data/fsns/train/train-00084-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00085-of-00512 + out=data/fsns/train/train-00085-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00086-of-00512 + out=data/fsns/train/train-00086-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00087-of-00512 + out=data/fsns/train/train-00087-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00088-of-00512 + out=data/fsns/train/train-00088-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00089-of-00512 + out=data/fsns/train/train-00089-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00090-of-00512 + out=data/fsns/train/train-00090-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00091-of-00512 + out=data/fsns/train/train-00091-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00092-of-00512 + out=data/fsns/train/train-00092-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00093-of-00512 + out=data/fsns/train/train-00093-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00094-of-00512 + out=data/fsns/train/train-00094-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00095-of-00512 + out=data/fsns/train/train-00095-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00096-of-00512 + out=data/fsns/train/train-00096-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00097-of-00512 + out=data/fsns/train/train-00097-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00098-of-00512 + out=data/fsns/train/train-00098-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00099-of-00512 + out=data/fsns/train/train-00099-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00100-of-00512 + out=data/fsns/train/train-00100-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00101-of-00512 + out=data/fsns/train/train-00101-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00102-of-00512 + out=data/fsns/train/train-00102-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00103-of-00512 + out=data/fsns/train/train-00103-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00104-of-00512 + out=data/fsns/train/train-00104-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00105-of-00512 + out=data/fsns/train/train-00105-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00106-of-00512 + out=data/fsns/train/train-00106-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00107-of-00512 + out=data/fsns/train/train-00107-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00108-of-00512 + out=data/fsns/train/train-00108-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00109-of-00512 + out=data/fsns/train/train-00109-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00110-of-00512 + out=data/fsns/train/train-00110-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00111-of-00512 + out=data/fsns/train/train-00111-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00112-of-00512 + out=data/fsns/train/train-00112-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00113-of-00512 + out=data/fsns/train/train-00113-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00114-of-00512 + out=data/fsns/train/train-00114-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00115-of-00512 + out=data/fsns/train/train-00115-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00116-of-00512 + out=data/fsns/train/train-00116-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00117-of-00512 + out=data/fsns/train/train-00117-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00118-of-00512 + out=data/fsns/train/train-00118-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00119-of-00512 + out=data/fsns/train/train-00119-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00120-of-00512 + out=data/fsns/train/train-00120-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00121-of-00512 + out=data/fsns/train/train-00121-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00122-of-00512 + out=data/fsns/train/train-00122-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00123-of-00512 + out=data/fsns/train/train-00123-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00124-of-00512 + out=data/fsns/train/train-00124-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00125-of-00512 + out=data/fsns/train/train-00125-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00126-of-00512 + out=data/fsns/train/train-00126-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00127-of-00512 + out=data/fsns/train/train-00127-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00128-of-00512 + out=data/fsns/train/train-00128-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00129-of-00512 + out=data/fsns/train/train-00129-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00130-of-00512 + out=data/fsns/train/train-00130-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00131-of-00512 + out=data/fsns/train/train-00131-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00132-of-00512 + out=data/fsns/train/train-00132-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00133-of-00512 + out=data/fsns/train/train-00133-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00134-of-00512 + out=data/fsns/train/train-00134-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00135-of-00512 + out=data/fsns/train/train-00135-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00136-of-00512 + out=data/fsns/train/train-00136-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00137-of-00512 + out=data/fsns/train/train-00137-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00138-of-00512 + out=data/fsns/train/train-00138-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00139-of-00512 + out=data/fsns/train/train-00139-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00140-of-00512 + out=data/fsns/train/train-00140-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00141-of-00512 + out=data/fsns/train/train-00141-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00142-of-00512 + out=data/fsns/train/train-00142-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00143-of-00512 + out=data/fsns/train/train-00143-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00144-of-00512 + out=data/fsns/train/train-00144-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00145-of-00512 + out=data/fsns/train/train-00145-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00146-of-00512 + out=data/fsns/train/train-00146-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00147-of-00512 + out=data/fsns/train/train-00147-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00148-of-00512 + out=data/fsns/train/train-00148-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00149-of-00512 + out=data/fsns/train/train-00149-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00150-of-00512 + out=data/fsns/train/train-00150-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00151-of-00512 + out=data/fsns/train/train-00151-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00152-of-00512 + out=data/fsns/train/train-00152-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00153-of-00512 + out=data/fsns/train/train-00153-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00154-of-00512 + out=data/fsns/train/train-00154-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00155-of-00512 + out=data/fsns/train/train-00155-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00156-of-00512 + out=data/fsns/train/train-00156-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00157-of-00512 + out=data/fsns/train/train-00157-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00158-of-00512 + out=data/fsns/train/train-00158-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00159-of-00512 + out=data/fsns/train/train-00159-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00160-of-00512 + out=data/fsns/train/train-00160-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00161-of-00512 + out=data/fsns/train/train-00161-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00162-of-00512 + out=data/fsns/train/train-00162-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00163-of-00512 + out=data/fsns/train/train-00163-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00164-of-00512 + out=data/fsns/train/train-00164-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00165-of-00512 + out=data/fsns/train/train-00165-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00166-of-00512 + out=data/fsns/train/train-00166-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00167-of-00512 + out=data/fsns/train/train-00167-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00168-of-00512 + out=data/fsns/train/train-00168-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00169-of-00512 + out=data/fsns/train/train-00169-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00170-of-00512 + out=data/fsns/train/train-00170-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00171-of-00512 + out=data/fsns/train/train-00171-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00172-of-00512 + out=data/fsns/train/train-00172-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00173-of-00512 + out=data/fsns/train/train-00173-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00174-of-00512 + out=data/fsns/train/train-00174-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00175-of-00512 + out=data/fsns/train/train-00175-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00176-of-00512 + out=data/fsns/train/train-00176-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00177-of-00512 + out=data/fsns/train/train-00177-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00178-of-00512 + out=data/fsns/train/train-00178-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00179-of-00512 + out=data/fsns/train/train-00179-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00180-of-00512 + out=data/fsns/train/train-00180-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00181-of-00512 + out=data/fsns/train/train-00181-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00182-of-00512 + out=data/fsns/train/train-00182-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00183-of-00512 + out=data/fsns/train/train-00183-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00184-of-00512 + out=data/fsns/train/train-00184-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00185-of-00512 + out=data/fsns/train/train-00185-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00186-of-00512 + out=data/fsns/train/train-00186-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00187-of-00512 + out=data/fsns/train/train-00187-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00188-of-00512 + out=data/fsns/train/train-00188-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00189-of-00512 + out=data/fsns/train/train-00189-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00190-of-00512 + out=data/fsns/train/train-00190-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00191-of-00512 + out=data/fsns/train/train-00191-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00192-of-00512 + out=data/fsns/train/train-00192-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00193-of-00512 + out=data/fsns/train/train-00193-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00194-of-00512 + out=data/fsns/train/train-00194-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00195-of-00512 + out=data/fsns/train/train-00195-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00196-of-00512 + out=data/fsns/train/train-00196-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00197-of-00512 + out=data/fsns/train/train-00197-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00198-of-00512 + out=data/fsns/train/train-00198-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00199-of-00512 + out=data/fsns/train/train-00199-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00200-of-00512 + out=data/fsns/train/train-00200-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00201-of-00512 + out=data/fsns/train/train-00201-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00202-of-00512 + out=data/fsns/train/train-00202-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00203-of-00512 + out=data/fsns/train/train-00203-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00204-of-00512 + out=data/fsns/train/train-00204-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00205-of-00512 + out=data/fsns/train/train-00205-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00206-of-00512 + out=data/fsns/train/train-00206-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00207-of-00512 + out=data/fsns/train/train-00207-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00208-of-00512 + out=data/fsns/train/train-00208-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00209-of-00512 + out=data/fsns/train/train-00209-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00210-of-00512 + out=data/fsns/train/train-00210-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00211-of-00512 + out=data/fsns/train/train-00211-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00212-of-00512 + out=data/fsns/train/train-00212-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00213-of-00512 + out=data/fsns/train/train-00213-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00214-of-00512 + out=data/fsns/train/train-00214-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00215-of-00512 + out=data/fsns/train/train-00215-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00216-of-00512 + out=data/fsns/train/train-00216-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00217-of-00512 + out=data/fsns/train/train-00217-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00218-of-00512 + out=data/fsns/train/train-00218-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00219-of-00512 + out=data/fsns/train/train-00219-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00220-of-00512 + out=data/fsns/train/train-00220-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00221-of-00512 + out=data/fsns/train/train-00221-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00222-of-00512 + out=data/fsns/train/train-00222-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00223-of-00512 + out=data/fsns/train/train-00223-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00224-of-00512 + out=data/fsns/train/train-00224-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00225-of-00512 + out=data/fsns/train/train-00225-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00226-of-00512 + out=data/fsns/train/train-00226-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00227-of-00512 + out=data/fsns/train/train-00227-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00228-of-00512 + out=data/fsns/train/train-00228-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00229-of-00512 + out=data/fsns/train/train-00229-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00230-of-00512 + out=data/fsns/train/train-00230-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00231-of-00512 + out=data/fsns/train/train-00231-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00232-of-00512 + out=data/fsns/train/train-00232-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00233-of-00512 + out=data/fsns/train/train-00233-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00234-of-00512 + out=data/fsns/train/train-00234-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00235-of-00512 + out=data/fsns/train/train-00235-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00236-of-00512 + out=data/fsns/train/train-00236-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00237-of-00512 + out=data/fsns/train/train-00237-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00238-of-00512 + out=data/fsns/train/train-00238-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00239-of-00512 + out=data/fsns/train/train-00239-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00240-of-00512 + out=data/fsns/train/train-00240-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00241-of-00512 + out=data/fsns/train/train-00241-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00242-of-00512 + out=data/fsns/train/train-00242-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00243-of-00512 + out=data/fsns/train/train-00243-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00244-of-00512 + out=data/fsns/train/train-00244-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00245-of-00512 + out=data/fsns/train/train-00245-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00246-of-00512 + out=data/fsns/train/train-00246-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00247-of-00512 + out=data/fsns/train/train-00247-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00248-of-00512 + out=data/fsns/train/train-00248-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00249-of-00512 + out=data/fsns/train/train-00249-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00250-of-00512 + out=data/fsns/train/train-00250-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00251-of-00512 + out=data/fsns/train/train-00251-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00252-of-00512 + out=data/fsns/train/train-00252-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00253-of-00512 + out=data/fsns/train/train-00253-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00254-of-00512 + out=data/fsns/train/train-00254-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00255-of-00512 + out=data/fsns/train/train-00255-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00256-of-00512 + out=data/fsns/train/train-00256-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00257-of-00512 + out=data/fsns/train/train-00257-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00258-of-00512 + out=data/fsns/train/train-00258-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00259-of-00512 + out=data/fsns/train/train-00259-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00260-of-00512 + out=data/fsns/train/train-00260-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00261-of-00512 + out=data/fsns/train/train-00261-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00262-of-00512 + out=data/fsns/train/train-00262-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00263-of-00512 + out=data/fsns/train/train-00263-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00264-of-00512 + out=data/fsns/train/train-00264-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00265-of-00512 + out=data/fsns/train/train-00265-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00266-of-00512 + out=data/fsns/train/train-00266-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00267-of-00512 + out=data/fsns/train/train-00267-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00268-of-00512 + out=data/fsns/train/train-00268-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00269-of-00512 + out=data/fsns/train/train-00269-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00270-of-00512 + out=data/fsns/train/train-00270-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00271-of-00512 + out=data/fsns/train/train-00271-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00272-of-00512 + out=data/fsns/train/train-00272-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00273-of-00512 + out=data/fsns/train/train-00273-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00274-of-00512 + out=data/fsns/train/train-00274-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00275-of-00512 + out=data/fsns/train/train-00275-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00276-of-00512 + out=data/fsns/train/train-00276-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00277-of-00512 + out=data/fsns/train/train-00277-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00278-of-00512 + out=data/fsns/train/train-00278-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00279-of-00512 + out=data/fsns/train/train-00279-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00280-of-00512 + out=data/fsns/train/train-00280-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00281-of-00512 + out=data/fsns/train/train-00281-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00282-of-00512 + out=data/fsns/train/train-00282-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00283-of-00512 + out=data/fsns/train/train-00283-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00284-of-00512 + out=data/fsns/train/train-00284-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00285-of-00512 + out=data/fsns/train/train-00285-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00286-of-00512 + out=data/fsns/train/train-00286-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00287-of-00512 + out=data/fsns/train/train-00287-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00288-of-00512 + out=data/fsns/train/train-00288-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00289-of-00512 + out=data/fsns/train/train-00289-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00290-of-00512 + out=data/fsns/train/train-00290-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00291-of-00512 + out=data/fsns/train/train-00291-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00292-of-00512 + out=data/fsns/train/train-00292-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00293-of-00512 + out=data/fsns/train/train-00293-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00294-of-00512 + out=data/fsns/train/train-00294-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00295-of-00512 + out=data/fsns/train/train-00295-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00296-of-00512 + out=data/fsns/train/train-00296-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00297-of-00512 + out=data/fsns/train/train-00297-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00298-of-00512 + out=data/fsns/train/train-00298-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00299-of-00512 + out=data/fsns/train/train-00299-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00300-of-00512 + out=data/fsns/train/train-00300-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00301-of-00512 + out=data/fsns/train/train-00301-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00302-of-00512 + out=data/fsns/train/train-00302-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00303-of-00512 + out=data/fsns/train/train-00303-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00304-of-00512 + out=data/fsns/train/train-00304-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00305-of-00512 + out=data/fsns/train/train-00305-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00306-of-00512 + out=data/fsns/train/train-00306-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00307-of-00512 + out=data/fsns/train/train-00307-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00308-of-00512 + out=data/fsns/train/train-00308-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00309-of-00512 + out=data/fsns/train/train-00309-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00310-of-00512 + out=data/fsns/train/train-00310-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00311-of-00512 + out=data/fsns/train/train-00311-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00312-of-00512 + out=data/fsns/train/train-00312-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00313-of-00512 + out=data/fsns/train/train-00313-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00314-of-00512 + out=data/fsns/train/train-00314-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00315-of-00512 + out=data/fsns/train/train-00315-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00316-of-00512 + out=data/fsns/train/train-00316-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00317-of-00512 + out=data/fsns/train/train-00317-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00318-of-00512 + out=data/fsns/train/train-00318-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00319-of-00512 + out=data/fsns/train/train-00319-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00320-of-00512 + out=data/fsns/train/train-00320-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00321-of-00512 + out=data/fsns/train/train-00321-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00322-of-00512 + out=data/fsns/train/train-00322-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00323-of-00512 + out=data/fsns/train/train-00323-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00324-of-00512 + out=data/fsns/train/train-00324-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00325-of-00512 + out=data/fsns/train/train-00325-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00326-of-00512 + out=data/fsns/train/train-00326-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00327-of-00512 + out=data/fsns/train/train-00327-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00328-of-00512 + out=data/fsns/train/train-00328-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00329-of-00512 + out=data/fsns/train/train-00329-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00330-of-00512 + out=data/fsns/train/train-00330-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00331-of-00512 + out=data/fsns/train/train-00331-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00332-of-00512 + out=data/fsns/train/train-00332-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00333-of-00512 + out=data/fsns/train/train-00333-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00334-of-00512 + out=data/fsns/train/train-00334-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00335-of-00512 + out=data/fsns/train/train-00335-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00336-of-00512 + out=data/fsns/train/train-00336-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00337-of-00512 + out=data/fsns/train/train-00337-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00338-of-00512 + out=data/fsns/train/train-00338-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00339-of-00512 + out=data/fsns/train/train-00339-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00340-of-00512 + out=data/fsns/train/train-00340-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00341-of-00512 + out=data/fsns/train/train-00341-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00342-of-00512 + out=data/fsns/train/train-00342-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00343-of-00512 + out=data/fsns/train/train-00343-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00344-of-00512 + out=data/fsns/train/train-00344-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00345-of-00512 + out=data/fsns/train/train-00345-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00346-of-00512 + out=data/fsns/train/train-00346-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00347-of-00512 + out=data/fsns/train/train-00347-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00348-of-00512 + out=data/fsns/train/train-00348-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00349-of-00512 + out=data/fsns/train/train-00349-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00350-of-00512 + out=data/fsns/train/train-00350-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00351-of-00512 + out=data/fsns/train/train-00351-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00352-of-00512 + out=data/fsns/train/train-00352-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00353-of-00512 + out=data/fsns/train/train-00353-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00354-of-00512 + out=data/fsns/train/train-00354-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00355-of-00512 + out=data/fsns/train/train-00355-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00356-of-00512 + out=data/fsns/train/train-00356-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00357-of-00512 + out=data/fsns/train/train-00357-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00358-of-00512 + out=data/fsns/train/train-00358-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00359-of-00512 + out=data/fsns/train/train-00359-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00360-of-00512 + out=data/fsns/train/train-00360-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00361-of-00512 + out=data/fsns/train/train-00361-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00362-of-00512 + out=data/fsns/train/train-00362-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00363-of-00512 + out=data/fsns/train/train-00363-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00364-of-00512 + out=data/fsns/train/train-00364-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00365-of-00512 + out=data/fsns/train/train-00365-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00366-of-00512 + out=data/fsns/train/train-00366-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00367-of-00512 + out=data/fsns/train/train-00367-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00368-of-00512 + out=data/fsns/train/train-00368-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00369-of-00512 + out=data/fsns/train/train-00369-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00370-of-00512 + out=data/fsns/train/train-00370-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00371-of-00512 + out=data/fsns/train/train-00371-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00372-of-00512 + out=data/fsns/train/train-00372-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00373-of-00512 + out=data/fsns/train/train-00373-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00374-of-00512 + out=data/fsns/train/train-00374-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00375-of-00512 + out=data/fsns/train/train-00375-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00376-of-00512 + out=data/fsns/train/train-00376-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00377-of-00512 + out=data/fsns/train/train-00377-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00378-of-00512 + out=data/fsns/train/train-00378-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00379-of-00512 + out=data/fsns/train/train-00379-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00380-of-00512 + out=data/fsns/train/train-00380-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00381-of-00512 + out=data/fsns/train/train-00381-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00382-of-00512 + out=data/fsns/train/train-00382-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00383-of-00512 + out=data/fsns/train/train-00383-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00384-of-00512 + out=data/fsns/train/train-00384-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00385-of-00512 + out=data/fsns/train/train-00385-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00386-of-00512 + out=data/fsns/train/train-00386-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00387-of-00512 + out=data/fsns/train/train-00387-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00388-of-00512 + out=data/fsns/train/train-00388-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00389-of-00512 + out=data/fsns/train/train-00389-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00390-of-00512 + out=data/fsns/train/train-00390-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00391-of-00512 + out=data/fsns/train/train-00391-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00392-of-00512 + out=data/fsns/train/train-00392-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00393-of-00512 + out=data/fsns/train/train-00393-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00394-of-00512 + out=data/fsns/train/train-00394-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00395-of-00512 + out=data/fsns/train/train-00395-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00396-of-00512 + out=data/fsns/train/train-00396-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00397-of-00512 + out=data/fsns/train/train-00397-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00398-of-00512 + out=data/fsns/train/train-00398-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00399-of-00512 + out=data/fsns/train/train-00399-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00400-of-00512 + out=data/fsns/train/train-00400-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00401-of-00512 + out=data/fsns/train/train-00401-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00402-of-00512 + out=data/fsns/train/train-00402-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00403-of-00512 + out=data/fsns/train/train-00403-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00404-of-00512 + out=data/fsns/train/train-00404-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00405-of-00512 + out=data/fsns/train/train-00405-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00406-of-00512 + out=data/fsns/train/train-00406-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00407-of-00512 + out=data/fsns/train/train-00407-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00408-of-00512 + out=data/fsns/train/train-00408-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00409-of-00512 + out=data/fsns/train/train-00409-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00410-of-00512 + out=data/fsns/train/train-00410-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00411-of-00512 + out=data/fsns/train/train-00411-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00412-of-00512 + out=data/fsns/train/train-00412-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00413-of-00512 + out=data/fsns/train/train-00413-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00414-of-00512 + out=data/fsns/train/train-00414-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00415-of-00512 + out=data/fsns/train/train-00415-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00416-of-00512 + out=data/fsns/train/train-00416-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00417-of-00512 + out=data/fsns/train/train-00417-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00418-of-00512 + out=data/fsns/train/train-00418-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00419-of-00512 + out=data/fsns/train/train-00419-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00420-of-00512 + out=data/fsns/train/train-00420-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00421-of-00512 + out=data/fsns/train/train-00421-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00422-of-00512 + out=data/fsns/train/train-00422-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00423-of-00512 + out=data/fsns/train/train-00423-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00424-of-00512 + out=data/fsns/train/train-00424-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00425-of-00512 + out=data/fsns/train/train-00425-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00426-of-00512 + out=data/fsns/train/train-00426-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00427-of-00512 + out=data/fsns/train/train-00427-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00428-of-00512 + out=data/fsns/train/train-00428-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00429-of-00512 + out=data/fsns/train/train-00429-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00430-of-00512 + out=data/fsns/train/train-00430-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00431-of-00512 + out=data/fsns/train/train-00431-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00432-of-00512 + out=data/fsns/train/train-00432-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00433-of-00512 + out=data/fsns/train/train-00433-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00434-of-00512 + out=data/fsns/train/train-00434-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00435-of-00512 + out=data/fsns/train/train-00435-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00436-of-00512 + out=data/fsns/train/train-00436-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00437-of-00512 + out=data/fsns/train/train-00437-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00438-of-00512 + out=data/fsns/train/train-00438-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00439-of-00512 + out=data/fsns/train/train-00439-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00440-of-00512 + out=data/fsns/train/train-00440-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00441-of-00512 + out=data/fsns/train/train-00441-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00442-of-00512 + out=data/fsns/train/train-00442-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00443-of-00512 + out=data/fsns/train/train-00443-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00444-of-00512 + out=data/fsns/train/train-00444-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00445-of-00512 + out=data/fsns/train/train-00445-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00446-of-00512 + out=data/fsns/train/train-00446-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00447-of-00512 + out=data/fsns/train/train-00447-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00448-of-00512 + out=data/fsns/train/train-00448-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00449-of-00512 + out=data/fsns/train/train-00449-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00450-of-00512 + out=data/fsns/train/train-00450-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00451-of-00512 + out=data/fsns/train/train-00451-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00452-of-00512 + out=data/fsns/train/train-00452-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00453-of-00512 + out=data/fsns/train/train-00453-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00454-of-00512 + out=data/fsns/train/train-00454-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00455-of-00512 + out=data/fsns/train/train-00455-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00456-of-00512 + out=data/fsns/train/train-00456-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00457-of-00512 + out=data/fsns/train/train-00457-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00458-of-00512 + out=data/fsns/train/train-00458-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00459-of-00512 + out=data/fsns/train/train-00459-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00460-of-00512 + out=data/fsns/train/train-00460-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00461-of-00512 + out=data/fsns/train/train-00461-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00462-of-00512 + out=data/fsns/train/train-00462-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00463-of-00512 + out=data/fsns/train/train-00463-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00464-of-00512 + out=data/fsns/train/train-00464-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00465-of-00512 + out=data/fsns/train/train-00465-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00466-of-00512 + out=data/fsns/train/train-00466-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00467-of-00512 + out=data/fsns/train/train-00467-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00468-of-00512 + out=data/fsns/train/train-00468-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00469-of-00512 + out=data/fsns/train/train-00469-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00470-of-00512 + out=data/fsns/train/train-00470-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00471-of-00512 + out=data/fsns/train/train-00471-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00472-of-00512 + out=data/fsns/train/train-00472-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00473-of-00512 + out=data/fsns/train/train-00473-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00474-of-00512 + out=data/fsns/train/train-00474-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00475-of-00512 + out=data/fsns/train/train-00475-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00476-of-00512 + out=data/fsns/train/train-00476-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00477-of-00512 + out=data/fsns/train/train-00477-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00478-of-00512 + out=data/fsns/train/train-00478-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00479-of-00512 + out=data/fsns/train/train-00479-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00480-of-00512 + out=data/fsns/train/train-00480-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00481-of-00512 + out=data/fsns/train/train-00481-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00482-of-00512 + out=data/fsns/train/train-00482-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00483-of-00512 + out=data/fsns/train/train-00483-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00484-of-00512 + out=data/fsns/train/train-00484-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00485-of-00512 + out=data/fsns/train/train-00485-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00486-of-00512 + out=data/fsns/train/train-00486-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00487-of-00512 + out=data/fsns/train/train-00487-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00488-of-00512 + out=data/fsns/train/train-00488-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00489-of-00512 + out=data/fsns/train/train-00489-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00490-of-00512 + out=data/fsns/train/train-00490-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00491-of-00512 + out=data/fsns/train/train-00491-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00492-of-00512 + out=data/fsns/train/train-00492-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00493-of-00512 + out=data/fsns/train/train-00493-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00494-of-00512 + out=data/fsns/train/train-00494-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00495-of-00512 + out=data/fsns/train/train-00495-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00496-of-00512 + out=data/fsns/train/train-00496-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00497-of-00512 + out=data/fsns/train/train-00497-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00498-of-00512 + out=data/fsns/train/train-00498-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00499-of-00512 + out=data/fsns/train/train-00499-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00500-of-00512 + out=data/fsns/train/train-00500-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00501-of-00512 + out=data/fsns/train/train-00501-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00502-of-00512 + out=data/fsns/train/train-00502-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00503-of-00512 + out=data/fsns/train/train-00503-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00504-of-00512 + out=data/fsns/train/train-00504-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00505-of-00512 + out=data/fsns/train/train-00505-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00506-of-00512 + out=data/fsns/train/train-00506-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00507-of-00512 + out=data/fsns/train/train-00507-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00508-of-00512 + out=data/fsns/train/train-00508-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00509-of-00512 + out=data/fsns/train/train-00509-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00510-of-00512 + out=data/fsns/train/train-00510-of-00512 +http://download.tensorflow.org/data/fsns-20160927/train/train-00511-of-00512 + out=data/fsns/train/train-00511-of-00512 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00000-of-00064 + out=data/fsns/validation/validation-00000-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00001-of-00064 + out=data/fsns/validation/validation-00001-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00002-of-00064 + out=data/fsns/validation/validation-00002-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00003-of-00064 + out=data/fsns/validation/validation-00003-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00004-of-00064 + out=data/fsns/validation/validation-00004-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00005-of-00064 + out=data/fsns/validation/validation-00005-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00006-of-00064 + out=data/fsns/validation/validation-00006-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00007-of-00064 + out=data/fsns/validation/validation-00007-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00008-of-00064 + out=data/fsns/validation/validation-00008-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00009-of-00064 + out=data/fsns/validation/validation-00009-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00010-of-00064 + out=data/fsns/validation/validation-00010-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00011-of-00064 + out=data/fsns/validation/validation-00011-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00012-of-00064 + out=data/fsns/validation/validation-00012-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00013-of-00064 + out=data/fsns/validation/validation-00013-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00014-of-00064 + out=data/fsns/validation/validation-00014-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00015-of-00064 + out=data/fsns/validation/validation-00015-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00016-of-00064 + out=data/fsns/validation/validation-00016-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00017-of-00064 + out=data/fsns/validation/validation-00017-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00018-of-00064 + out=data/fsns/validation/validation-00018-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00019-of-00064 + out=data/fsns/validation/validation-00019-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00020-of-00064 + out=data/fsns/validation/validation-00020-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00021-of-00064 + out=data/fsns/validation/validation-00021-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00022-of-00064 + out=data/fsns/validation/validation-00022-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00023-of-00064 + out=data/fsns/validation/validation-00023-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00024-of-00064 + out=data/fsns/validation/validation-00024-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00025-of-00064 + out=data/fsns/validation/validation-00025-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00026-of-00064 + out=data/fsns/validation/validation-00026-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00027-of-00064 + out=data/fsns/validation/validation-00027-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00028-of-00064 + out=data/fsns/validation/validation-00028-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00029-of-00064 + out=data/fsns/validation/validation-00029-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00030-of-00064 + out=data/fsns/validation/validation-00030-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00031-of-00064 + out=data/fsns/validation/validation-00031-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00032-of-00064 + out=data/fsns/validation/validation-00032-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00033-of-00064 + out=data/fsns/validation/validation-00033-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00034-of-00064 + out=data/fsns/validation/validation-00034-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00035-of-00064 + out=data/fsns/validation/validation-00035-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00036-of-00064 + out=data/fsns/validation/validation-00036-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00037-of-00064 + out=data/fsns/validation/validation-00037-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00038-of-00064 + out=data/fsns/validation/validation-00038-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00039-of-00064 + out=data/fsns/validation/validation-00039-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00040-of-00064 + out=data/fsns/validation/validation-00040-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00041-of-00064 + out=data/fsns/validation/validation-00041-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00042-of-00064 + out=data/fsns/validation/validation-00042-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00043-of-00064 + out=data/fsns/validation/validation-00043-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00044-of-00064 + out=data/fsns/validation/validation-00044-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00045-of-00064 + out=data/fsns/validation/validation-00045-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00046-of-00064 + out=data/fsns/validation/validation-00046-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00047-of-00064 + out=data/fsns/validation/validation-00047-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00048-of-00064 + out=data/fsns/validation/validation-00048-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00049-of-00064 + out=data/fsns/validation/validation-00049-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00050-of-00064 + out=data/fsns/validation/validation-00050-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00051-of-00064 + out=data/fsns/validation/validation-00051-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00052-of-00064 + out=data/fsns/validation/validation-00052-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00053-of-00064 + out=data/fsns/validation/validation-00053-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00054-of-00064 + out=data/fsns/validation/validation-00054-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00055-of-00064 + out=data/fsns/validation/validation-00055-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00056-of-00064 + out=data/fsns/validation/validation-00056-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00057-of-00064 + out=data/fsns/validation/validation-00057-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00058-of-00064 + out=data/fsns/validation/validation-00058-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00059-of-00064 + out=data/fsns/validation/validation-00059-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00060-of-00064 + out=data/fsns/validation/validation-00060-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00061-of-00064 + out=data/fsns/validation/validation-00061-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00062-of-00064 + out=data/fsns/validation/validation-00062-of-00064 +http://download.tensorflow.org/data/fsns-20160927/validation/validation-00063-of-00064 + out=data/fsns/validation/validation-00063-of-00064 -- GitLab From c5d3f1f28d1215827543bbf1304d8e3ed960ec8f Mon Sep 17 00:00:00 2001 From: Ido Shamay Date: Tue, 25 Apr 2017 20:50:47 +0300 Subject: [PATCH 037/171] inception: Added protocol flag when running distributed (#1401) Default is TensorFlow default of 'grpc' communication protocol. If TensorFlow was complied with Verbs support 'grpc+verbs' can be used to accelerate the tensor passing communication. --- inception/README.md | 7 +++++++ inception/inception/imagenet_distributed_train.py | 3 ++- inception/inception/inception_distributed_train.py | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/inception/README.md b/inception/README.md index bbf13eb5a..6bf0f80e6 100644 --- a/inception/README.md +++ b/inception/README.md @@ -367,6 +367,13 @@ I tensorflow/core/distributed_runtime/rpc/grpc_channel.cc:206] Initialize HostPo I tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:202] Started server with target: grpc://localhost:2222 ``` +If you compiled TensorFlow (from v1.1-rc3) with VERBS support and you have the +required device and IB verbs SW stack, you can specify --protocol='grpc+verbs' +In order to use Verbs RDMA for Tensor passing between workers and ps. +Need to add the the --protocol flag in all tasks (ps and workers). +The default protocol is the TensorFlow default protocol of grpc. + + [Congratulations!](https://www.youtube.com/watch?v=9bZkp7q19f0) You are now training Inception in a distributed manner. diff --git a/inception/inception/imagenet_distributed_train.py b/inception/inception/imagenet_distributed_train.py index 1c3ee3ab8..f3615e012 100644 --- a/inception/inception/imagenet_distributed_train.py +++ b/inception/inception/imagenet_distributed_train.py @@ -45,7 +45,8 @@ def main(unused_args): {'ps': ps_hosts, 'worker': worker_hosts}, job_name=FLAGS.job_name, - task_index=FLAGS.task_id) + task_index=FLAGS.task_id, + protocol=FLAGS.protocol) if FLAGS.job_name == 'ps': # `ps` jobs wait for incoming connections from the workers. diff --git a/inception/inception/inception_distributed_train.py b/inception/inception/inception_distributed_train.py index 67078585b..c1a589acb 100644 --- a/inception/inception/inception_distributed_train.py +++ b/inception/inception/inception_distributed_train.py @@ -42,6 +42,9 @@ tf.app.flags.DEFINE_string('worker_hosts', '', """Comma-separated list of hostname:port for the """ """worker jobs. e.g. """ """'machine1:2222,machine2:1111,machine2:2222'""") +tf.app.flags.DEFINE_string('protocol', 'grpc', + """Communication protocol to use in distributed """ + """execution (default grpc) """) tf.app.flags.DEFINE_string('train_dir', '/tmp/imagenet_train', """Directory where to write event logs """ -- GitLab From f94f163726be25045ef86aebe17f69ca7c2703b9 Mon Sep 17 00:00:00 2001 From: Saurabh Gupta Date: Tue, 25 Apr 2017 14:09:31 -0700 Subject: [PATCH 038/171] Links to ResNetv2 pre-trained weights. (#1373) * Updated slim README.md to include links to ResNetv2 models. * Change v1 to V1, v2 to V2, and other minor comments. --- slim/README.md | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/slim/README.md b/slim/README.md index bf20a084c..85275e8d1 100644 --- a/slim/README.md +++ b/slim/README.md @@ -178,12 +178,12 @@ image classification dataset. In the table below, we list each model, the corresponding TensorFlow model file, the link to the model checkpoint, and the top 1 and top 5 accuracy (on the imagenet test set). -Note that the VGG and ResNet parameters have been converted from their original +Note that the VGG and ResNet V1 parameters have been converted from their original caffe formats ([here](https://github.com/BVLC/caffe/wiki/Model-Zoo#models-used-by-the-vgg-team-in-ilsvrc-2014) and [here](https://github.com/KaimingHe/deep-residual-networks)), -whereas the Inception parameters have been trained internally at +whereas the Inception and ResNet V2 parameters have been trained internally at Google. Also be aware that these accuracies were computed by evaluating using a single image crop. Some academic papers report higher accuracy by using multiple crops at multiple scales. @@ -195,12 +195,19 @@ Model | TF-Slim File | Checkpoint | Top-1 Accuracy| Top-5 Accuracy | [Inception V3](http://arxiv.org/abs/1512.00567)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_v3.py)|[inception_v3_2016_08_28.tar.gz](http://download.tensorflow.org/models/inception_v3_2016_08_28.tar.gz)|78.0|93.9| [Inception V4](http://arxiv.org/abs/1602.07261)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_v4.py)|[inception_v4_2016_09_09.tar.gz](http://download.tensorflow.org/models/inception_v4_2016_09_09.tar.gz)|80.2|95.2| [Inception-ResNet-v2](http://arxiv.org/abs/1602.07261)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_resnet_v2.py)|[inception_resnet_v2.tar.gz](http://download.tensorflow.org/models/inception_resnet_v2_2016_08_30.tar.gz)|80.4|95.3| -[ResNet 50](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_50.tar.gz](http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz)|75.2|92.2| -[ResNet 101](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_101.tar.gz](http://download.tensorflow.org/models/resnet_v1_101_2016_08_28.tar.gz)|76.4|92.9| -[ResNet 152](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_152.tar.gz](http://download.tensorflow.org/models/resnet_v1_152_2016_08_28.tar.gz)|76.8|93.2| +[ResNet V1 50](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_50.tar.gz](http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz)|75.2|92.2| +[ResNet V1 101](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_101.tar.gz](http://download.tensorflow.org/models/resnet_v1_101_2016_08_28.tar.gz)|76.4|92.9| +[ResNet V1 152](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_152.tar.gz](http://download.tensorflow.org/models/resnet_v1_152_2016_08_28.tar.gz)|76.8|93.2| +[ResNet V2 50](https://arxiv.org/abs/1603.05027)^|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[resnet_v2_50.tar.gz](http://download.tensorflow.org/models/resnet_v2_50_2017_04_14.tar.gz)|75.6|92.8| +[ResNet V2 101](https://arxiv.org/abs/1603.05027)^|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[resnet_v2_101.tar.gz](http://download.tensorflow.org/models/resnet_v2_101_2017_04_14.tar.gz)|77.0|93.7| +[ResNet V2 152](https://arxiv.org/abs/1603.05027)^|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[resnet_v2_152.tar.gz](http://download.tensorflow.org/models/resnet_v2_152_2017_04_14.tar.gz)|77.8|94.1| [VGG 16](http://arxiv.org/abs/1409.1556.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/vgg.py)|[vgg_16.tar.gz](http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz)|71.5|89.8| [VGG 19](http://arxiv.org/abs/1409.1556.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/vgg.py)|[vgg_19.tar.gz](http://download.tensorflow.org/models/vgg_19_2016_08_28.tar.gz)|71.1|89.8| +^ ResNet V2 models use Inception pre-processing and input image size of 299 (use +`--preprocessing_name inception --eval_image_size 299` when using +`eval_image_classifier.py`). Performance numbers for ResNet V2 models are +reported on ImageNet valdiation set. Here is an example of how to download the Inception V3 checkpoint: @@ -344,10 +351,10 @@ following error: ```bash InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [1001] rhs shape= [1000] ``` -This is due to the fact that the VGG and ResNet final layers have only 1000 +This is due to the fact that the VGG and ResNet V1 final layers have only 1000 outputs rather than 1001. -To fix this issue, you can set the `--labels_offsets=1` flag. This results in +To fix this issue, you can set the `--labels_offset=1` flag. This results in the ImageNet labels being shifted down by one: -- GitLab From 00c9b3aa9394a538a61ca16c6589e4b8d09b5662 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Tue, 25 Apr 2017 15:07:17 -0700 Subject: [PATCH 039/171] Improvements to several READMEs --- differential_privacy/dp_sgd/README.md | 26 ++++++------- lm_1b/README.md | 54 +++++++++++++-------------- next_frame_prediction/README.md | 28 +++++++------- resnet/README.md | 46 +++++++++++------------ textsum/README.md | 2 +- 5 files changed, 78 insertions(+), 78 deletions(-) diff --git a/differential_privacy/dp_sgd/README.md b/differential_privacy/dp_sgd/README.md index 887a13e8f..6c0846748 100644 --- a/differential_privacy/dp_sgd/README.md +++ b/differential_privacy/dp_sgd/README.md @@ -8,14 +8,14 @@ Open Sourced By: Xin Pan (xpan@google.com, github: panyx0718) -Machine learning techniques based on neural networks are achieving remarkable -results in a wide variety of domains. Often, the training of models requires -large, representative datasets, which may be crowdsourced and contain sensitive -information. The models should not expose private information in these datasets. -Addressing this goal, we develop new algorithmic techniques for learning and a -refined analysis of privacy costs within the framework of differential privacy. -Our implementation and experiments demonstrate that we can train deep neural -networks with non-convex objectives, under a modest privacy budget, and at a +Machine learning techniques based on neural networks are achieving remarkable +results in a wide variety of domains. Often, the training of models requires +large, representative datasets, which may be crowdsourced and contain sensitive +information. The models should not expose private information in these datasets. +Addressing this goal, we develop new algorithmic techniques for learning and a +refined analysis of privacy costs within the framework of differential privacy. +Our implementation and experiments demonstrate that we can train deep neural +networks with non-convex objectives, under a modest privacy budget, and at a manageable cost in software complexity, training efficiency, and model quality. paper: https://arxiv.org/abs/1607.00133 @@ -46,7 +46,7 @@ https://github.com/panyx0718/models/tree/master/slim # Download the data to the data/ directory. # List the codes. -ls -R differential_privacy/ +$ ls -R differential_privacy/ differential_privacy/: dp_sgd __init__.py privacy_accountant README.md @@ -72,16 +72,16 @@ differential_privacy/privacy_accountant/tf: accountant.py accountant_test.py BUILD # List the data. -ls -R data/ +$ ls -R data/ ./data: mnist_test.tfrecord mnist_train.tfrecord # Build the codes. -bazel build -c opt differential_privacy/... +$ bazel build -c opt differential_privacy/... # Run the mnist differntial privacy training codes. -bazel-bin/differential_privacy/dp_sgd/dp_mnist/dp_mnist \ +$ bazel-bin/differential_privacy/dp_sgd/dp_mnist/dp_mnist \ --training_data_path=data/mnist_train.tfrecord \ --eval_data_path=data/mnist_test.tfrecord \ --save_path=/tmp/mnist_dir @@ -102,6 +102,6 @@ train_accuracy: 0.53 eval_accuracy: 0.53 ... -ls /tmp/mnist_dir/ +$ ls /tmp/mnist_dir/ checkpoint ckpt ckpt.meta results-0.json ``` diff --git a/lm_1b/README.md b/lm_1b/README.md index 86203cd64..24de775c8 100644 --- a/lm_1b/README.md +++ b/lm_1b/README.md @@ -73,7 +73,7 @@ LSTM-8192-2048 (50\% Dropout) | 32.2 | 3.3 How To Run -Pre-requesite: +Prerequisites: * Install TensorFlow. * Install Bazel. @@ -97,7 +97,7 @@ Pre-requesite: [link](http://download.tensorflow.org/models/LM_LSTM_CNN/vocab-2016-09-10.txt) * test dataset: link [link](http://download.tensorflow.org/models/LM_LSTM_CNN/test/news.en.heldout-00000-of-00050) -* It is recommended to run on modern desktop instead of laptop. +* It is recommended to run on a modern desktop instead of a laptop. ```shell # 1. Clone the code to your workspace. @@ -105,7 +105,7 @@ Pre-requesite: # 3. Create an empty WORKSPACE file in your workspace. # 4. Create an empty output directory in your workspace. # Example directory structure below: -ls -R +$ ls -R .: data lm_1b output WORKSPACE @@ -121,13 +121,13 @@ BUILD data_utils.py lm_1b_eval.py README.md ./output: # Build the codes. -bazel build -c opt lm_1b/... +$ bazel build -c opt lm_1b/... # Run sample mode: -bazel-bin/lm_1b/lm_1b_eval --mode sample \ - --prefix "I love that I" \ - --pbtxt data/graph-2016-09-10.pbtxt \ - --vocab_file data/vocab-2016-09-10.txt \ - --ckpt 'data/ckpt-*' +$ bazel-bin/lm_1b/lm_1b_eval --mode sample \ + --prefix "I love that I" \ + --pbtxt data/graph-2016-09-10.pbtxt \ + --vocab_file data/vocab-2016-09-10.txt \ + --ckpt 'data/ckpt-*' ...(omitted some TensorFlow output) I love I love that @@ -138,11 +138,11 @@ I love that I find that amazing ...(omitted) # Run eval mode: -bazel-bin/lm_1b/lm_1b_eval --mode eval \ - --pbtxt data/graph-2016-09-10.pbtxt \ - --vocab_file data/vocab-2016-09-10.txt \ - --input_data data/news.en.heldout-00000-of-00050 \ - --ckpt 'data/ckpt-*' +$ bazel-bin/lm_1b/lm_1b_eval --mode eval \ + --pbtxt data/graph-2016-09-10.pbtxt \ + --vocab_file data/vocab-2016-09-10.txt \ + --input_data data/news.en.heldout-00000-of-00050 \ + --ckpt 'data/ckpt-*' ...(omitted some TensorFlow output) Loaded step 14108582. # perplexity is high initially because words without context are harder to @@ -166,28 +166,28 @@ Eval Step: 4531, Average Perplexity: 29.285674. ...(omitted. At convergence, it should be around 30.) # Run dump_emb mode: -bazel-bin/lm_1b/lm_1b_eval --mode dump_emb \ - --pbtxt data/graph-2016-09-10.pbtxt \ - --vocab_file data/vocab-2016-09-10.txt \ - --ckpt 'data/ckpt-*' \ - --save_dir output +$ bazel-bin/lm_1b/lm_1b_eval --mode dump_emb \ + --pbtxt data/graph-2016-09-10.pbtxt \ + --vocab_file data/vocab-2016-09-10.txt \ + --ckpt 'data/ckpt-*' \ + --save_dir output ...(omitted some TensorFlow output) Finished softmax weights Finished word embedding 0/793471 Finished word embedding 1/793471 Finished word embedding 2/793471 ...(omitted) -ls output/ +$ ls output/ embeddings_softmax.npy ... # Run dump_lstm_emb mode: -bazel-bin/lm_1b/lm_1b_eval --mode dump_lstm_emb \ - --pbtxt data/graph-2016-09-10.pbtxt \ - --vocab_file data/vocab-2016-09-10.txt \ - --ckpt 'data/ckpt-*' \ - --sentence "I love who I am ." \ - --save_dir output -ls output/ +$ bazel-bin/lm_1b/lm_1b_eval --mode dump_lstm_emb \ + --pbtxt data/graph-2016-09-10.pbtxt \ + --vocab_file data/vocab-2016-09-10.txt \ + --ckpt 'data/ckpt-*' \ + --sentence "I love who I am ." \ + --save_dir output +$ ls output/ lstm_emb_step_0.npy lstm_emb_step_2.npy lstm_emb_step_4.npy lstm_emb_step_6.npy lstm_emb_step_1.npy lstm_emb_step_3.npy lstm_emb_step_5.npy diff --git a/next_frame_prediction/README.md b/next_frame_prediction/README.md index 0094cd9a5..d79a6d4c7 100644 --- a/next_frame_prediction/README.md +++ b/next_frame_prediction/README.md @@ -34,7 +34,7 @@ to tf.SequenceExample. How to run: ```shell -ls -R +$ ls -R .: data next_frame_prediction WORKSPACE @@ -52,18 +52,18 @@ cross_conv2.png cross_conv3.png cross_conv.png # Build everything. -bazel build -c opt next_frame_prediction/... +$ bazel build -c opt next_frame_prediction/... # The following example runs the generated 2d objects. # For Sprites dataset, image_size should be 60, norm_scale should be 255.0. # Batch size is normally 16~64, depending on your memory size. -# + # Run training. -bazel-bin/next_frame_prediction/cross_conv/train \ - --batch_size=1 \ - --data_filepattern=data/tfrecords \ - --image_size=64 \ - --log_root=/tmp/predict +$ bazel-bin/next_frame_prediction/cross_conv/train \ + --batch_size=1 \ + --data_filepattern=data/tfrecords \ + --image_size=64 \ + --log_root=/tmp/predict step: 1, loss: 24.428671 step: 2, loss: 19.211605 @@ -75,11 +75,11 @@ step: 7, loss: 1.747665 step: 8, loss: 1.572436 step: 9, loss: 1.586816 step: 10, loss: 1.434191 -# + # Run eval. -bazel-bin/next_frame_prediction/cross_conv/eval \ - --batch_size=1 \ - --data_filepattern=data/tfrecords_test \ - --image_size=64 \ - --log_root=/tmp/predict +$ bazel-bin/next_frame_prediction/cross_conv/eval \ + --batch_size=1 \ + --data_filepattern=data/tfrecords_test \ + --image_size=64 \ + --log_root=/tmp/predict ``` diff --git a/resnet/README.md b/resnet/README.md index ee296636f..59740768c 100644 --- a/resnet/README.md +++ b/resnet/README.md @@ -23,7 +23,7 @@ https://arxiv.org/pdf/1605.07146v1.pdf Settings: * Random split 50k training set into 45k/5k train/eval split. -* Pad to 36x36 and random crop. Horizontal flip. Per-image whitenting. +* Pad to 36x36 and random crop. Horizontal flip. Per-image whitening. * Momentum optimizer 0.9. * Learning rate schedule: 0.1 (40k), 0.01 (60k), 0.001 (>60k). * L2 weight decay: 0.002. @@ -65,40 +65,40 @@ curl -o cifar-100-binary.tar.gz https://www.cs.toronto.edu/~kriz/cifar-100-binar How to run: ```shell -# cd to the your workspace. +# cd to your workspace. # It contains an empty WORKSPACE file, resnet codes and cifar10 dataset. # Note: User can split 5k from train set for eval set. -ls -R - .: - cifar10 resnet WORKSPACE +$ ls -R +.: +cifar10 resnet WORKSPACE - ./cifar10: - data_batch_1.bin data_batch_2.bin data_batch_3.bin data_batch_4.bin - data_batch_5.bin test_batch.bin +./cifar10: +data_batch_1.bin data_batch_2.bin data_batch_3.bin data_batch_4.bin +data_batch_5.bin test_batch.bin - ./resnet: - BUILD cifar_input.py g3doc README.md resnet_main.py resnet_model.py +./resnet: +BUILD cifar_input.py g3doc README.md resnet_main.py resnet_model.py # Build everything for GPU. -bazel build -c opt --config=cuda resnet/... +$ bazel build -c opt --config=cuda resnet/... # Train the model. -bazel-bin/resnet/resnet_main --train_data_path=cifar10/data_batch* \ - --log_root=/tmp/resnet_model \ - --train_dir=/tmp/resnet_model/train \ - --dataset='cifar10' \ - --num_gpus=1 +$ bazel-bin/resnet/resnet_main --train_data_path=cifar10/data_batch* \ + --log_root=/tmp/resnet_model \ + --train_dir=/tmp/resnet_model/train \ + --dataset='cifar10' \ + --num_gpus=1 # While the model is training, you can also check on its progress using tensorboard: -tensorboard --logdir=/tmp/resnet_model +$ tensorboard --logdir=/tmp/resnet_model # Evaluate the model. # Avoid running on the same GPU as the training job at the same time, # otherwise, you might run out of memory. -bazel-bin/resnet/resnet_main --eval_data_path=cifar10/test_batch.bin \ - --log_root=/tmp/resnet_model \ - --eval_dir=/tmp/resnet_model/test \ - --mode=eval \ - --dataset='cifar10' \ - --num_gpus=0 +$ bazel-bin/resnet/resnet_main --eval_data_path=cifar10/test_batch.bin \ + --log_root=/tmp/resnet_model \ + --eval_dir=/tmp/resnet_model/test \ + --mode=eval \ + --dataset='cifar10' \ + --num_gpus=0 ``` diff --git a/textsum/README.md b/textsum/README.md index f7f69ab45..1507a66a1 100644 --- a/textsum/README.md +++ b/textsum/README.md @@ -16,7 +16,7 @@ The results described below are based on model trained on multi-gpu and multi-machine settings. It has been simplified to run on only one machine for open source purpose. -DataSet +Dataset We used the Gigaword dataset described in [Rush et al. A Neural Attention Model for Sentence Summarization](https://arxiv.org/abs/1509.00685). -- GitLab From 214ecc79ddd93fc45265a719e8cf4e400ad47e2d Mon Sep 17 00:00:00 2001 From: Scott Sievert Date: Tue, 25 Apr 2017 10:19:33 -0500 Subject: [PATCH 040/171] DOC: document bash use for resnet --- resnet/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resnet/README.md b/resnet/README.md index 59740768c..7591b39cb 100644 --- a/resnet/README.md +++ b/resnet/README.md @@ -65,9 +65,9 @@ curl -o cifar-100-binary.tar.gz https://www.cs.toronto.edu/~kriz/cifar-100-binar How to run: ```shell -# cd to your workspace. -# It contains an empty WORKSPACE file, resnet codes and cifar10 dataset. -# Note: User can split 5k from train set for eval set. +# cd to the models repository and run with bash. Expected command output shown. +# The directory should contain an empty WORKSPACE file, the resnet code, and the cifar10 dataset. +# Note: The user can split 5k from train set for eval set. $ ls -R .: cifar10 resnet WORKSPACE -- GitLab From 4fbbcc7eb16abd486c6c73e838279e65cc45a2d9 Mon Sep 17 00:00:00 2001 From: handong1587 Date: Thu, 27 Apr 2017 18:16:44 +0800 Subject: [PATCH 041/171] Fix a typo --- inception/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inception/README.md b/inception/README.md index 6bf0f80e6..c4dc22004 100644 --- a/inception/README.md +++ b/inception/README.md @@ -756,7 +756,7 @@ batch-splitting the model across multiple GPUs. permit training the model with higher learning rates. * Often the GPU memory is a bottleneck that prevents employing larger batch - sizes. Employing more GPUs allows one to user larger batch sizes because + sizes. Employing more GPUs allows one to use larger batch sizes because this model splits the batch across the GPUs. **NOTE** If one wishes to train this model with *asynchronous* gradient updates, -- GitLab From 55d7a22cf50a53f735cb1ccbf484d130277ca513 Mon Sep 17 00:00:00 2001 From: Queequeg Date: Fri, 28 Apr 2017 11:13:21 +0800 Subject: [PATCH 042/171] Fix num_residual_units for w28-10 Fix num_residual_units for w28-10 --- resnet/resnet_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resnet/resnet_model.py b/resnet/resnet_model.py index 0690c207a..a8b7f10ca 100644 --- a/resnet/resnet_model.py +++ b/resnet/resnet_model.py @@ -85,7 +85,7 @@ class ResNet(object): # comparably good performance. # https://arxiv.org/pdf/1605.07146v1.pdf # filters = [16, 160, 320, 640] - # Update hps.num_residual_units to 9 + # Update hps.num_residual_units to 4 with tf.variable_scope('unit_1_0'): x = res_func(x, filters[0], filters[1], self._stride_arr(strides[0]), -- GitLab From 0d5f3137200b382a5e1fcba338f9482858524b4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Fouch=C3=A9?= Date: Fri, 28 Apr 2017 19:36:40 +0200 Subject: [PATCH 043/171] Update lm_1b_eval.py Solve Python 3 compatibility: - replacing xrange to range - add .decode() after f.read() to get strings instead of bytes when reading text file --- lm_1b/lm_1b_eval.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lm_1b/lm_1b_eval.py b/lm_1b/lm_1b_eval.py index 65c48aa4a..4d1a7c20b 100644 --- a/lm_1b/lm_1b_eval.py +++ b/lm_1b/lm_1b_eval.py @@ -83,7 +83,7 @@ def _LoadModel(gd_file, ckpt_file): with tf.Graph().as_default(): sys.stderr.write('Recovering graph.\n') with tf.gfile.FastGFile(gd_file, 'r') as f: - s = f.read() + s = f.read().decode() gd = tf.GraphDef() text_format.Merge(s, gd) @@ -177,7 +177,7 @@ def _SampleModel(prefix_words, vocab): prefix = [vocab.word_to_id(w) for w in prefix_words.split()] prefix_char_ids = [vocab.word_to_char_ids(w) for w in prefix_words.split()] - for _ in xrange(FLAGS.num_samples): + for _ in range(FLAGS.num_samples): inputs = np.zeros([BATCH_SIZE, NUM_TIMESTEPS], np.int32) char_ids_inputs = np.zeros( [BATCH_SIZE, NUM_TIMESTEPS, vocab.max_word_length], np.int32) @@ -269,7 +269,7 @@ def _DumpSentenceEmbedding(sentence, vocab): inputs = np.zeros([BATCH_SIZE, NUM_TIMESTEPS], np.int32) char_ids_inputs = np.zeros( [BATCH_SIZE, NUM_TIMESTEPS, vocab.max_word_length], np.int32) - for i in xrange(len(word_ids)): + for i in range(len(word_ids)): inputs[0, 0] = word_ids[i] char_ids_inputs[0, 0, :] = char_ids[i] -- GitLab From a9e998216fd08210ae566fefcb149576825ee5e8 Mon Sep 17 00:00:00 2001 From: Keping Wang Date: Sat, 29 Apr 2017 16:30:02 -0400 Subject: [PATCH 044/171] stack outputs instead of concat outputs --- tutorials/rnn/ptb/ptb_word_lm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/rnn/ptb/ptb_word_lm.py b/tutorials/rnn/ptb/ptb_word_lm.py index a130d819f..7430f2e43 100644 --- a/tutorials/rnn/ptb/ptb_word_lm.py +++ b/tutorials/rnn/ptb/ptb_word_lm.py @@ -157,7 +157,7 @@ class PTBModel(object): (cell_output, state) = cell(inputs[:, time_step, :], state) outputs.append(cell_output) - output = tf.reshape(tf.concat(axis=1, values=outputs), [-1, size]) + output = tf.reshape(tf.stack(axis=1, values=outputs), [-1, size]) softmax_w = tf.get_variable( "softmax_w", [size, vocab_size], dtype=data_type()) softmax_b = tf.get_variable("softmax_b", [vocab_size], dtype=data_type()) -- GitLab From ed7c95faf5bf657c41d0838f002100e6a736b4e6 Mon Sep 17 00:00:00 2001 From: "David G. Andersen" Date: Mon, 1 May 2017 07:23:30 -0700 Subject: [PATCH 045/171] Open source release of adversarial crypto code corresponding to Abadi & Andersen paper. --- adversarial_crypto/README.md | 56 +++++++ adversarial_crypto/train_eval.py | 274 +++++++++++++++++++++++++++++++ 2 files changed, 330 insertions(+) create mode 100644 adversarial_crypto/README.md create mode 100644 adversarial_crypto/train_eval.py diff --git a/adversarial_crypto/README.md b/adversarial_crypto/README.md new file mode 100644 index 000000000..431a9d41c --- /dev/null +++ b/adversarial_crypto/README.md @@ -0,0 +1,56 @@ +# Learning to Protect Communications with Adversarial Neural Cryptography + +This is a slightly-updated model used for the paper +["Learning to Protect Communications with Adversarial Neural +Cryptography"](https://arxiv.org/abs/1610.06918). + +> We ask whether neural networks can learn to use secret keys to protect +> information from other neural networks. Specifically, we focus on ensuring +> confidentiality properties in a multiagent system, and we specify those +> properties in terms of an adversary. Thus, a system may consist of neural +> networks named Alice and Bob, and we aim to limit what a third neural +> network named Eve learns from eavesdropping on the communication between +> Alice and Bob. We do not prescribe specific cryptographic algorithms to +> these neural networks; instead, we train end-to-end, adversarially. +> We demonstrate that the neural networks can learn how to perform forms of +> encryption and decryption, and also how to apply these operations +> selectively in order to meet confidentiality goals. + +This code allows you to train an encoder/decoder/adversary triplet +and evaluate their effectiveness on randomly generated input and key +pairs. + +## Prerequisites + +The only software requirements for running the encoder and decoder is having +Tensorflow installed. + +Requires Tensorflow r0.12 or later. + +## Training and evaluating + +After installing TensorFlow and ensuring that your paths are configured +appropriately: + + python train_eval.py + +This will begin training a fresh model. If and when the model becomes +sufficiently well-trained, it will reset the Eve model multiple times +and retrain it from scratch, outputting the accuracy thus obtained +in each run. + +## Model differences from the paper + +The model has been simplified slightly from the one described in +the paper - the convolutional layer width was reduced by a factor +of two. In the version in the paper, there was a nonlinear unit +after the fully-connected layer; that nonlinear has been removed +here. These changes improve the robustness of training. The +initializer for the convolution layers has switched to the +tf.contrib.layers default of xavier_initializer instead of +a simpler truncated_normal. + +## Contact information + +This model repository is maintained by David G. Andersen +([dave-andersen](https://github.com/dave-andersen)). diff --git a/adversarial_crypto/train_eval.py b/adversarial_crypto/train_eval.py new file mode 100644 index 000000000..1e67be96a --- /dev/null +++ b/adversarial_crypto/train_eval.py @@ -0,0 +1,274 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Adversarial training to learn trivial encryption functions, +from the paper "Learning to Protect Communications with +Adversarial Neural Cryptography", Abadi & Andersen, 2016. + +https://arxiv.org/abs/1610.06918 + +This program creates and trains three neural networks, +termed Alice, Bob, and Eve. Alice takes inputs +in_m (message), in_k (key) and outputs 'ciphertext'. + +Bob takes inputs in_k, ciphertext and tries to reconstruct +the message. + +Eve is an adversarial network that takes input ciphertext +and also tries to reconstruct the message. + +The main function attempts to train these networks and then +evaluates them, all on random plaintext and key values. + +""" + +# TensorFlow Python 3 compatibility +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +import signal +import sys +from six.moves import xrange # pylint: disable=redefined-builtin +import tensorflow as tf + +flags = tf.app.flags + +flags.DEFINE_float('learning_rate', 0.0008, 'Constant learning rate') +flags.DEFINE_integer('batch_size', 4096, 'Batch size') + +FLAGS = flags.FLAGS + +# Input and output configuration. +TEXT_SIZE = 16 +KEY_SIZE = 16 + +# Training parameters. +ITERS_PER_ACTOR = 1 +EVE_MULTIPLIER = 2 # Train Eve 2x for every step of Alice/Bob +# Train until either max loops or Alice/Bob "good enough": +MAX_TRAINING_LOOPS = 850000 +BOB_LOSS_THRESH = 0.02 # Exit when Bob loss < 0.02 and Eve > 7.7 bits +EVE_LOSS_THRESH = 7.7 + +# Logging and evaluation. +PRINT_EVERY = 200 # In training, log every 200 steps. +EVE_EXTRA_ROUNDS = 2000 # At end, train eve a bit more. +RETRAIN_EVE_ITERS = 10000 # Retrain eve up to ITERS*LOOPS times. +RETRAIN_EVE_LOOPS = 25 # With an evaluation each loop +NUMBER_OF_EVE_RESETS = 5 # And do this up to 5 times with a fresh eve. +# Use EVAL_BATCHES samples each time we check accuracy. +EVAL_BATCHES = 1 + + +def batch_of_random_bools(batch_size, n): + """Return a batch of random "boolean" numbers. + + Args: + batch_size: Batch size dimension of returned tensor. + n: number of entries per batch. + + Returns: + A [batch_size, n] tensor of "boolean" numbers, where each number is + preresented as -1 or 1. + """ + + as_int = tf.random_uniform( + [batch_size, n], minval=0, maxval=2, dtype=tf.int32) + expanded_range = (as_int * 2) - 1 + return tf.cast(expanded_range, tf.float32) + + +class AdversarialCrypto(object): + """Primary model implementation class for Adversarial Neural Crypto. + + This class contains the code for the model itself, + and when created, plumbs the pathways from Alice to Bob and + Eve, creates the optimizers and loss functions, etc. + + Attributes: + eve_loss: Eve's loss function. + bob_loss: Bob's loss function. Different units from eve_loss. + eve_optimizer: A tf op that runs Eve's optimizer. + bob_optimizer: A tf op that runs Bob's optimizer. + bob_reconstruction_loss: Bob's message reconstruction loss, + which is comparable to eve_loss. + reset_eve_vars: Execute this op to completely reset Eve. + """ + + def get_message_and_key(self): + """Generate random pseudo-boolean key and message values.""" + + batch_size = tf.placeholder_with_default(FLAGS.batch_size, shape=[]) + + in_m = batch_of_random_bools(batch_size, TEXT_SIZE) + in_k = batch_of_random_bools(batch_size, KEY_SIZE) + return in_m, in_k + + def model(self, collection, message, key=None): + """The model for Alice, Bob, and Eve. If key=None, the first FC layer + takes only the Key as inputs. Otherwise, it uses both the key + and the message. + + Args: + collection: The graph keys collection to add new vars to. + message: The input message to process. + key: The input key (if any) to use. + """ + + if key is not None: + combined_message = tf.concat(1, [message, key]) + else: + combined_message = message + + # Ensure that all variables created are in the specified collection. + with tf.contrib.framework.arg_scope( + [tf.contrib.layers.fully_connected, tf.contrib.layers.convolution], + variables_collections=[collection]): + + fc = tf.contrib.layers.fully_connected( + combined_message, + TEXT_SIZE + KEY_SIZE, + biases_initializer=tf.constant_initializer(0.0), + activation_fn=None) + + # Perform a sequence of 1D convolutions (by expanding the message out to 2D + # and then squeezing it back down). + fc = tf.expand_dims(fc, 2) + # 2,1 -> 1,2 + conv = tf.contrib.layers.convolution( + fc, 2, 2, 2, 'SAME', activation_fn=tf.nn.sigmoid) + # 1,2 -> 1, 2 + conv = tf.contrib.layers.convolution( + conv, 2, 1, 1, 'SAME', activation_fn=tf.nn.sigmoid) + # 1,2 -> 1, 1 + conv = tf.contrib.layers.convolution( + conv, 1, 1, 1, 'SAME', activation_fn=tf.nn.tanh) + conv = tf.squeeze(conv, 2) + return conv + + def __init__(self): + in_m, in_k = self.get_message_and_key() + encrypted = self.model('alice', in_m, in_k) + decrypted = self.model('bob', encrypted, in_k) + eve_out = self.model('eve', encrypted, None) + + self.reset_eve_vars = tf.group( + *[w.initializer for w in tf.get_collection('eve')]) + + optimizer = tf.train.AdamOptimizer(learning_rate=FLAGS.learning_rate) + + # Eve's goal is to decrypt the entire message: + eve_bits_wrong = tf.reduce_sum( + tf.abs((eve_out + 1.0) / 2.0 - (in_m + 1.0) / 2.0), [1]) + self.eve_loss = tf.reduce_sum(eve_bits_wrong) + self.eve_optimizer = optimizer.minimize( + self.eve_loss, var_list=tf.get_collection('eve')) + + # Alice and Bob want to be accurate... + self.bob_bits_wrong = tf.reduce_sum( + tf.abs((decrypted + 1.0) / 2.0 - (in_m + 1.0) / 2.0), [1]) + # ... and to not let Eve do better than guessing. + self.bob_reconstruction_loss = tf.reduce_sum(self.bob_bits_wrong) + bob_eve_error_deviation = tf.abs(float(TEXT_SIZE) / 2.0 - eve_bits_wrong) + # 7-9 bits wrong is OK too, so we squish the error function a bit. + # Without doing this, we often tend to hang out at 0.25 / 7.5 error, + # and it seems bad to have continued, high communication error. + bob_eve_loss = tf.reduce_sum( + tf.square(bob_eve_error_deviation) / (TEXT_SIZE / 2)**2) + + # Rescale the losses to [0, 1] per example and combine. + self.bob_loss = (self.bob_reconstruction_loss / TEXT_SIZE + bob_eve_loss) + + self.bob_optimizer = optimizer.minimize( + self.bob_loss, + var_list=(tf.get_collection('alice') + tf.get_collection('bob'))) + + +def doeval(s, ac, n, itercount): + """Evaluate the current network on n batches of random examples. + + Args: + s: The current TensorFlow session + ac: an instance of the AdversarialCrypto class + n: The number of iterations to run. + itercount: Iteration count label for logging. + + Returns: + Bob and eve's loss, as a percent of bits incorrect. + """ + + bob_loss_accum = 0 + eve_loss_accum = 0 + for _ in xrange(n): + bl, el = s.run([ac.bob_reconstruction_loss, ac.eve_loss]) + bob_loss_accum += bl + eve_loss_accum += el + bob_loss_percent = bob_loss_accum / (n * FLAGS.batch_size) + eve_loss_percent = eve_loss_accum / (n * FLAGS.batch_size) + print('%d %.2f %.2f' % (itercount, bob_loss_percent, eve_loss_percent)) + sys.stdout.flush() + return bob_loss_percent, eve_loss_percent + + +def train_until_thresh(s, ac): + for j in xrange(MAX_TRAINING_LOOPS): + for _ in xrange(ITERS_PER_ACTOR): + s.run(ac.bob_optimizer) + for _ in xrange(ITERS_PER_ACTOR * EVE_MULTIPLIER): + s.run(ac.eve_optimizer) + if j % PRINT_EVERY == 0: + bob_avg_loss, eve_avg_loss = doeval(s, ac, EVAL_BATCHES, j) + if (bob_avg_loss < BOB_LOSS_THRESH and eve_avg_loss > EVE_LOSS_THRESH): + print('Target losses achieved.') + return True + return False + + +def train_and_evaluate(): + """Run the full training and evaluation loop.""" + + ac = AdversarialCrypto() + init = tf.global_variables_initializer() + + with tf.Session() as s: + s.run(init) + print('# Batch size: ', FLAGS.batch_size) + print('# Iter Bob_Recon_Error Eve_Recon_Error') + + if train_until_thresh(s, ac): + for _ in xrange(EVE_EXTRA_ROUNDS): + s.run(eve_optimizer) + print('Loss after eve extra training:') + doeval(s, ac, EVAL_BATCHES * 2, 0) + for _ in xrange(NUMBER_OF_EVE_RESETS): + print('Resetting Eve') + s.run(reset_eve_vars) + eve_counter = 0 + for _ in xrange(RETRAIN_EVE_LOOPS): + for _ in xrange(RETRAIN_EVE_ITERS): + eve_counter += 1 + s.run(eve_optimizer) + doeval(s, ac, EVAL_BATCHES, eve_counter) + doeval(s, ac, EVAL_BATCHES, eve_counter) + + +def main(unused_argv): + # Exit more quietly with Ctrl-C. + signal.signal(signal.SIGINT, signal.SIG_DFL) + train_and_evaluate() + + +if __name__ == '__main__': + tf.app.run() -- GitLab From 3eba37c7ee135a6ac29b75deef97a35bad44d9e2 Mon Sep 17 00:00:00 2001 From: Alexander Gorban Date: Mon, 1 May 2017 14:47:57 -0700 Subject: [PATCH 046/171] Open source release of Attention OCR - a model for real-world image text extraction. --- attention_ocr/README.md | 75 +++ attention_ocr/python/all_jobs.screenrc | 9 + attention_ocr/python/common_flags.py | 149 +++++ attention_ocr/python/data_provider.py | 199 +++++++ attention_ocr/python/data_provider_test.py | 72 +++ attention_ocr/python/datasets/__init__.py | 19 + attention_ocr/python/datasets/fsns.py | 183 ++++++ attention_ocr/python/datasets/fsns_test.py | 103 ++++ .../testdata/fsns/charset_size=134.txt | 139 +++++ .../testdata/fsns/fsns-00000-of-00001 | Bin 0 -> 7904079 bytes .../python/datasets/testdata/fsns/links.txt | 1 + .../python/datasets/unittest_utils.py | 64 +++ .../python/datasets/unittest_utils_test.py | 64 +++ attention_ocr/python/eval.py | 78 +++ .../python/inception_preprocessing.py | 315 +++++++++++ attention_ocr/python/metrics.py | 90 +++ attention_ocr/python/metrics_test.py | 97 ++++ attention_ocr/python/model.py | 531 ++++++++++++++++++ attention_ocr/python/model_test.py | 181 ++++++ attention_ocr/python/sequence_layers.py | 422 ++++++++++++++ attention_ocr/python/sequence_layers_test.py | 112 ++++ attention_ocr/python/train.py | 209 +++++++ attention_ocr/python/utils.py | 80 +++ 23 files changed, 3192 insertions(+) create mode 100644 attention_ocr/README.md create mode 100644 attention_ocr/python/all_jobs.screenrc create mode 100644 attention_ocr/python/common_flags.py create mode 100644 attention_ocr/python/data_provider.py create mode 100644 attention_ocr/python/data_provider_test.py create mode 100644 attention_ocr/python/datasets/__init__.py create mode 100644 attention_ocr/python/datasets/fsns.py create mode 100644 attention_ocr/python/datasets/fsns_test.py create mode 100644 attention_ocr/python/datasets/testdata/fsns/charset_size=134.txt create mode 100644 attention_ocr/python/datasets/testdata/fsns/fsns-00000-of-00001 create mode 100644 attention_ocr/python/datasets/testdata/fsns/links.txt create mode 100644 attention_ocr/python/datasets/unittest_utils.py create mode 100644 attention_ocr/python/datasets/unittest_utils_test.py create mode 100644 attention_ocr/python/eval.py create mode 100644 attention_ocr/python/inception_preprocessing.py create mode 100644 attention_ocr/python/metrics.py create mode 100644 attention_ocr/python/metrics_test.py create mode 100644 attention_ocr/python/model.py create mode 100644 attention_ocr/python/model_test.py create mode 100644 attention_ocr/python/sequence_layers.py create mode 100644 attention_ocr/python/sequence_layers_test.py create mode 100644 attention_ocr/python/train.py create mode 100644 attention_ocr/python/utils.py diff --git a/attention_ocr/README.md b/attention_ocr/README.md new file mode 100644 index 000000000..4e534cc0b --- /dev/null +++ b/attention_ocr/README.md @@ -0,0 +1,75 @@ +## Attention-based Extraction of Structured Information from Street View Imagery + +*A TensorFlow model for real-world image text extraction problems.* + +This folder contains the code needed to train a new Attention OCR model on the +[FSNS dataset][FSNS] dataset to transcribe street names in France. You can +also use it to train it on your own data. + +More details can be found in our paper: + +["Attention-based Extraction of Structured Information from Street View +Imagery"](https://arxiv.org/abs/1704.03549) + +## Contacts + +Authors: +Zbigniew Wojna , +Alexander Gorban + +Pull requests: +[alexgorban](https://github.com/alexgorban) + +## Requirements + +1. Installed TensorFlow library ([instructions][TF]). +2. At least 158Gb of free disk space to download FSNS dataset: + +``` +aria2c -c -j 20 -i ../street/python/fsns_urls.txt +``` + +3. 16Gb of RAM or more, 32Gb is recommended. +4. The train.py works with in both modes CPU and GPU, using GPU is preferable. + The GPU mode was tested with Titan X and GTX980. + +[TF]: https://www.tensorflow.org/install/ +[FSNS]: https://github.com/tensorflow/models/tree/master/street + +## How to use this code + +To run all unit tests: + +``` +python -m unittest discover -p '*_test.py' +``` + +To train from scratch: + +``` +python train.py +``` + +To train a model using a pre-trained inception weights as initialization: +``` +wget http://download.tensorflow.org/models/inception_v3_2016_08_28.tar.gz +tar xf inception_v3_2016_08_28.tar.gz +python train.py --checkpoint_inception=inception_v3.ckpt +``` + +To fine tune the Attention OCR model using a checkpoint: + +``` +wget http://download.tensorflow.org/models/attention_ocr_2017_05_01.tar.gz +tar xf attention_ocr_2017_05_01.tar.gz +python train.py --checkpoint=model.ckpt-232572 +``` + +## Disclaimer + +This code is a modified version of the internal model we used for our paper. +Currently it reaches 82.71% full sequence accuracy after 215k steps of training. +The main difference between this version and the version used in the paper - for +the paper we used a distributed training with 50 GPU (K80) workers (asynchronous +updates), the provided checkpoint was created using this code after ~60 hours of +training on a single GPU (Titan X). diff --git a/attention_ocr/python/all_jobs.screenrc b/attention_ocr/python/all_jobs.screenrc new file mode 100644 index 000000000..ef7fdf237 --- /dev/null +++ b/attention_ocr/python/all_jobs.screenrc @@ -0,0 +1,9 @@ +# A GPU/screen config to run all jobs for training and evaluation in parallel. +# Execute: +# source /path/to/your/virtualenv/bin/activate +# screen -R TF -c all_jobs.screenrc + +screen -t train 0 python train.py --train_log_dir=workdir/train +screen -t eval_train 1 python eval.py --split_name=train --train_log_dir=workdir/train --eval_log_dir=workdir/eval_train +screen -t eval_test 2 python eval.py --split_name=test --train_log_dir=workdir/train --eval_log_dir=workdir/eval_test +screen -t tensorboard 3 tensorboard --logdir=workdir diff --git a/attention_ocr/python/common_flags.py b/attention_ocr/python/common_flags.py new file mode 100644 index 000000000..996bf4c6c --- /dev/null +++ b/attention_ocr/python/common_flags.py @@ -0,0 +1,149 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Define flags are common for both train.py and eval.py scripts.""" +import sys + +from tensorflow.python.platform import flags +import logging + +import datasets +import model + +FLAGS = flags.FLAGS + +logging.basicConfig( + level=logging.DEBUG, + stream=sys.stderr, + format='%(levelname)s ' + '%(asctime)s.%(msecs)06d: ' + '%(filename)s: ' + '%(lineno)d ' + '%(message)s', + datefmt='%Y-%m-%d %H:%M:%S') + + +def define(): + """Define common flags.""" + # yapf: disable + flags.DEFINE_integer('batch_size', 32, + 'Batch size.') + + flags.DEFINE_integer('crop_width', None, + 'Width of the central crop for images.') + + flags.DEFINE_integer('crop_height', None, + 'Height of the central crop for images.') + + flags.DEFINE_string('train_log_dir', '/tmp/attention_ocr/train', + 'Directory where to write event logs.') + + flags.DEFINE_string('dataset_name', 'fsns', + 'Name of the dataset. Supported: fsns') + + flags.DEFINE_string('split_name', 'train', + 'Dataset split name to run evaluation for: test,train.') + + flags.DEFINE_string('dataset_dir', None, + 'Dataset root folder.') + + flags.DEFINE_string('checkpoint', '', + 'Path for checkpoint to restore weights from.') + + flags.DEFINE_string('master', + '', + 'BNS name of the TensorFlow master to use.') + + # Model hyper parameters + flags.DEFINE_float('learning_rate', 0.004, + 'learning rate') + + flags.DEFINE_string('optimizer', 'momentum', + 'the optimizer to use') + + flags.DEFINE_string('momentum', 0.9, + 'momentum value for the momentum optimizer if used') + + flags.DEFINE_bool('use_augment_input', True, + 'If True will use image augmentation') + + # Method hyper parameters + # conv_tower_fn + flags.DEFINE_string('final_endpoint', 'Mixed_5d', + 'Endpoint to cut inception tower') + + # sequence_logit_fn + flags.DEFINE_bool('use_attention', True, + 'If True will use the attention mechanism') + + flags.DEFINE_bool('use_autoregression', True, + 'If True will use autoregression (a feedback link)') + + flags.DEFINE_integer('num_lstm_units', 256, + 'number of LSTM units for sequence LSTM') + + flags.DEFINE_float('weight_decay', 0.00004, + 'weight decay for char prediction FC layers') + + flags.DEFINE_float('lstm_state_clip_value', 10.0, + 'cell state is clipped by this value prior to the cell' + ' output activation') + + # 'sequence_loss_fn' + flags.DEFINE_float('label_smoothing', 0.1, + 'weight for label smoothing') + + flags.DEFINE_bool('ignore_nulls', True, + 'ignore null characters for computing the loss') + + flags.DEFINE_bool('average_across_timesteps', False, + 'divide the returned cost by the total label weight') + # yapf: enable + + +def get_crop_size(): + if FLAGS.crop_width and FLAGS.crop_height: + return (FLAGS.crop_width, FLAGS.crop_height) + else: + return None + + +def create_dataset(split_name): + ds_module = getattr(datasets, FLAGS.dataset_name) + return ds_module.get_split(split_name, dataset_dir=FLAGS.dataset_dir) + + +def create_mparams(): + return { + 'conv_tower_fn': + model.ConvTowerParams(final_endpoint=FLAGS.final_endpoint), + 'sequence_logit_fn': + model.SequenceLogitsParams( + use_attention=FLAGS.use_attention, + use_autoregression=FLAGS.use_autoregression, + num_lstm_units=FLAGS.num_lstm_units, + weight_decay=FLAGS.weight_decay, + lstm_state_clip_value=FLAGS.lstm_state_clip_value), + 'sequence_loss_fn': + model.SequenceLossParams( + label_smoothing=FLAGS.label_smoothing, + ignore_nulls=FLAGS.ignore_nulls, + average_across_timesteps=FLAGS.average_across_timesteps) + } + + +def create_model(*args, **kwargs): + ocr_model = model.Model(mparams=create_mparams(), *args, **kwargs) + return ocr_model diff --git a/attention_ocr/python/data_provider.py b/attention_ocr/python/data_provider.py new file mode 100644 index 000000000..1b1181158 --- /dev/null +++ b/attention_ocr/python/data_provider.py @@ -0,0 +1,199 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Functions to read, decode and pre-process input data for the Model. +""" +import collections +import functools +import tensorflow as tf +from tensorflow.contrib import slim + +import inception_preprocessing + +# Tuple to store input data endpoints for the Model. +# It has following fields (tensors): +# images: input images, +# shape [batch_size x H x W x 3]; +# labels: ground truth label ids, +# shape=[batch_size x seq_length]; +# labels_one_hot: labels in one-hot encoding, +# shape [batch_size x seq_length x num_char_classes]; +InputEndpoints = collections.namedtuple( + 'InputEndpoints', ['images', 'images_orig', 'labels', 'labels_one_hot']) + +# A namedtuple to define a configuration for shuffled batch fetching. +# num_batching_threads: A number of parallel threads to fetch data. +# queue_capacity: a max number of elements in the batch shuffling queue. +# min_after_dequeue: a min number elements in the queue after a dequeue, used +# to ensure a level of mixing of elements. +ShuffleBatchConfig = collections.namedtuple('ShuffleBatchConfig', [ + 'num_batching_threads', 'queue_capacity', 'min_after_dequeue' +]) + +DEFAULT_SHUFFLE_CONFIG = ShuffleBatchConfig( + num_batching_threads=8, queue_capacity=3000, min_after_dequeue=1000) + + +def augment_image(image): + """Augmentation the image with a random modification. + + Args: + image: input Tensor image of rank 3, with the last dimension + of size 3. + + Returns: + Distorted Tensor image of the same shape. + """ + with tf.variable_scope('AugmentImage'): + height = image.get_shape().dims[0].value + width = image.get_shape().dims[1].value + + # Random crop cut from the street sign image, resized to the same size. + # Assures that the crop is covers at least 0.8 area of the input image. + bbox_begin, bbox_size, _ = tf.image.sample_distorted_bounding_box( + tf.shape(image), + bounding_boxes=tf.zeros([0, 0, 4]), + min_object_covered=0.8, + aspect_ratio_range=[0.8, 1.2], + area_range=[0.8, 1.0], + use_image_if_no_bounding_boxes=True) + distorted_image = tf.slice(image, bbox_begin, bbox_size) + + # Randomly chooses one of the 4 interpolation methods + distorted_image = inception_preprocessing.apply_with_random_selector( + distorted_image, + lambda x, method: tf.image.resize_images(x, [height, width], method), + num_cases=4) + distorted_image.set_shape([height, width, 3]) + + # Color distortion + distorted_image = inception_preprocessing.apply_with_random_selector( + distorted_image, + functools.partial( + inception_preprocessing.distort_color, fast_mode=False), + num_cases=4) + distorted_image = tf.clip_by_value(distorted_image, -1.5, 1.5) + + return distorted_image + + +def central_crop(image, crop_size): + """Returns a central crop for the specified size of an image. + + Args: + image: A tensor with shape [height, width, channels] + crop_size: A tuple (crop_width, crop_height) + + Returns: + A tensor of shape [crop_height, crop_width, channels]. + """ + with tf.variable_scope('CentralCrop'): + target_width, target_height = crop_size + image_height, image_width = tf.shape(image)[0], tf.shape(image)[1] + assert_op1 = tf.Assert( + tf.greater_equal(image_height, target_height), + ['image_height < target_height', image_height, target_height]) + assert_op2 = tf.Assert( + tf.greater_equal(image_width, target_width), + ['image_width < target_width', image_width, target_width]) + with tf.control_dependencies([assert_op1, assert_op2]): + offset_width = (image_width - target_width) / 2 + offset_height = (image_height - target_height) / 2 + return tf.image.crop_to_bounding_box(image, offset_height, offset_width, + target_height, target_width) + + +def preprocess_image(image, augment=False, central_crop_size=None, + num_towers=4): + """Normalizes image to have values in a narrow range around zero. + + Args: + image: a [H x W x 3] uint8 tensor. + augment: optional, if True do random image distortion. + central_crop_size: A tuple (crop_width, crop_height). + num_towers: optional, number of shots of the same image in the input image. + + Returns: + A float32 tensor of shape [H x W x 3] with RGB values in the required + range. + """ + with tf.variable_scope('PreprocessImage'): + image = tf.image.convert_image_dtype(image, dtype=tf.float32) + if augment or central_crop_size: + if num_towers == 1: + images = [image] + else: + images = tf.split(value=image, num_or_size_splits=num_towers, axis=1) + if central_crop_size: + view_crop_size = (central_crop_size[0] / num_towers, + central_crop_size[1]) + images = [central_crop(img, view_crop_size) for img in images] + if augment: + images = [augment_image(img) for img in images] + image = tf.concat(images, 1) + + image = tf.subtract(image, 0.5) + image = tf.multiply(image, 2.5) + + return image + + +def get_data(dataset, + batch_size, + augment=False, + central_crop_size=None, + shuffle_config=None, + shuffle=True): + """Wraps calls to DatasetDataProviders and shuffle_batch. + + For more details about supported Dataset objects refer to datasets/fsns.py. + + Args: + dataset: a slim.data.dataset.Dataset object. + batch_size: number of samples per batch. + augment: optional, if True does random image distortion. + central_crop_size: A CharLogittuple (crop_width, crop_height). + shuffle_config: A namedtuple ShuffleBatchConfig. + shuffle: if True use data shuffling. + + Returns: + + """ + if not shuffle_config: + shuffle_config = DEFAULT_SHUFFLE_CONFIG + + provider = slim.dataset_data_provider.DatasetDataProvider( + dataset, + shuffle=shuffle, + common_queue_capacity=2 * batch_size, + common_queue_min=batch_size) + image_orig, label = provider.get(['image', 'label']) + + image = preprocess_image( + image_orig, augment, central_crop_size, num_towers=dataset.num_of_views) + label_one_hot = slim.one_hot_encoding(label, dataset.num_char_classes) + + images, images_orig, labels, labels_one_hot = (tf.train.shuffle_batch( + [image, image_orig, label, label_one_hot], + batch_size=batch_size, + num_threads=shuffle_config.num_batching_threads, + capacity=shuffle_config.queue_capacity, + min_after_dequeue=shuffle_config.min_after_dequeue)) + + return InputEndpoints( + images=images, + images_orig=images_orig, + labels=labels, + labels_one_hot=labels_one_hot) diff --git a/attention_ocr/python/data_provider_test.py b/attention_ocr/python/data_provider_test.py new file mode 100644 index 000000000..551bc75e0 --- /dev/null +++ b/attention_ocr/python/data_provider_test.py @@ -0,0 +1,72 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for data_provider.""" + +import numpy as np +import tensorflow as tf +from tensorflow.contrib.slim import queues + +import datasets +import data_provider + + +class DataProviderTest(tf.test.TestCase): + def setUp(self): + tf.test.TestCase.setUp(self) + + def test_preprocessed_image_values_are_in_range(self): + image_shape = (5, 4, 3) + fake_image = np.random.randint(low=0, high=255, size=image_shape) + image_tf = data_provider.preprocess_image(fake_image) + + with self.test_session() as sess: + image_np = sess.run(image_tf) + + self.assertEqual(image_np.shape, image_shape) + min_value, max_value = np.min(image_np), np.max(image_np) + self.assertTrue((-1.28 < min_value) and (min_value < 1.27)) + self.assertTrue((-1.28 < max_value) and (max_value < 1.27)) + + def test_provided_data_has_correct_shape(self): + batch_size = 4 + data = data_provider.get_data( + dataset=datasets.fsns_test.get_test_split(), + batch_size=batch_size, + augment=True, + central_crop_size=None) + + with self.test_session() as sess, queues.QueueRunners(sess): + images_np, labels_np = sess.run([data.images, data.labels_one_hot]) + + self.assertEqual(images_np.shape, (batch_size, 150, 600, 3)) + self.assertEqual(labels_np.shape, (batch_size, 37, 134)) + + def test_optionally_applies_central_crop(self): + batch_size = 4 + data = data_provider.get_data( + dataset=datasets.fsns_test.get_test_split(), + batch_size=batch_size, + augment=True, + central_crop_size=(500, 100)) + + with self.test_session() as sess, queues.QueueRunners(sess): + images_np = sess.run(data.images) + + self.assertEqual(images_np.shape, (batch_size, 100, 500, 3)) + + +if __name__ == '__main__': + tf.test.main() diff --git a/attention_ocr/python/datasets/__init__.py b/attention_ocr/python/datasets/__init__.py new file mode 100644 index 000000000..e2fef7b2d --- /dev/null +++ b/attention_ocr/python/datasets/__init__.py @@ -0,0 +1,19 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +import fsns +import fsns_test + +__all__ = [fsns, fsns_test] diff --git a/attention_ocr/python/datasets/fsns.py b/attention_ocr/python/datasets/fsns.py new file mode 100644 index 000000000..d8dd5efb4 --- /dev/null +++ b/attention_ocr/python/datasets/fsns.py @@ -0,0 +1,183 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Configuration to read FSNS dataset https://goo.gl/3Ldm8v.""" + +import os +import re +import tensorflow as tf +from tensorflow.contrib import slim +import logging + +DEFAULT_DATASET_DIR = os.path.join(os.path.dirname(__file__), 'data/fsns') + +# The dataset configuration, should be used only as a default value. +DEFAULT_CONFIG = { + 'name': 'FSNS', + 'splits': { + 'train': { + 'size': 1044868, + 'pattern': 'train/train*' + }, + 'test': { + 'size': 20404, + 'pattern': 'test/test*' + }, + 'validation': { + 'size': 16150, + 'pattern': 'validation/validation*' + } + }, + 'charset_filename': 'charset_size=134.txt', + 'image_shape': (150, 600, 3), + 'num_of_views': 4, + 'max_sequence_length': 37, + 'null_code': 133, + 'items_to_descriptions': { + 'image': 'A [150 x 600 x 3] color image.', + 'label': 'Characters codes.', + 'text': 'A unicode string.', + 'length': 'A length of the encoded text.', + 'num_of_views': 'A number of different views stored within the image.' + } +} + + +def read_charset(filename, null_character=u'\u2591'): + """Reads a charset definition from a tab separated text file. + + charset file has to have format compatible with the FSNS dataset. + + Args: + filename: a path to the charset file. + null_character: a unicode character used to replace '' character. the + default value is a light shade block '░'. + + Returns: + a dictionary with keys equal to character codes and values - unicode + characters. + """ + pattern = re.compile(r'(\d+)\t(.+)') + charset = {} + with tf.gfile.GFile(filename) as f: + for i, line in enumerate(f): + m = pattern.match(line) + if m is None: + logging.warning('incorrect charset file. line #%d: %s', i, line) + continue + code = int(m.group(1)) + char = m.group(2).decode('utf-8') + if char == '': + char = null_character + charset[code] = char + return charset + + +class _NumOfViewsHandler(slim.tfexample_decoder.ItemHandler): + """Convenience handler to determine number of views stored in an image.""" + + def __init__(self, width_key, original_width_key, num_of_views): + super(_NumOfViewsHandler, self).__init__([width_key, original_width_key]) + self._width_key = width_key + self._original_width_key = original_width_key + self._num_of_views = num_of_views + + def tensors_to_item(self, keys_to_tensors): + return tf.to_int64( + self._num_of_views * keys_to_tensors[self._original_width_key] / + keys_to_tensors[self._width_key]) + + +def get_split(split_name, dataset_dir=None, config=None): + """Returns a dataset tuple for FSNS dataset. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources, by default it uses + a predefined CNS path (see DEFAULT_DATASET_DIR). + config: A dictionary with dataset configuration. If None - will use the + DEFAULT_CONFIG. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if not dataset_dir: + dataset_dir = DEFAULT_DATASET_DIR + + if not config: + config = DEFAULT_CONFIG + + if split_name not in config['splits']: + raise ValueError('split name %s was not recognized.' % split_name) + + logging.info('Using %s dataset split_name=%s dataset_dir=%s', config['name'], + split_name, dataset_dir) + + # Ignores the 'image/height' feature. + zero = tf.zeros([1], dtype=tf.int64) + keys_to_features = { + 'image/encoded': + tf.FixedLenFeature((), tf.string, default_value=''), + 'image/format': + tf.FixedLenFeature((), tf.string, default_value='png'), + 'image/width': + tf.FixedLenFeature([1], tf.int64, default_value=zero), + 'image/orig_width': + tf.FixedLenFeature([1], tf.int64, default_value=zero), + 'image/class': + tf.FixedLenFeature([config['max_sequence_length']], tf.int64), + 'image/unpadded_class': + tf.VarLenFeature(tf.int64), + 'image/text': + tf.FixedLenFeature([1], tf.string, default_value=''), + } + items_to_handlers = { + 'image': + slim.tfexample_decoder.Image( + shape=config['image_shape'], + image_key='image/encoded', + format_key='image/format'), + 'label': + slim.tfexample_decoder.Tensor(tensor_key='image/class'), + 'text': + slim.tfexample_decoder.Tensor(tensor_key='image/text'), + 'num_of_views': + _NumOfViewsHandler( + width_key='image/width', + original_width_key='image/orig_width', + num_of_views=config['num_of_views']) + } + decoder = slim.tfexample_decoder.TFExampleDecoder(keys_to_features, + items_to_handlers) + charset_file = os.path.join(dataset_dir, config['charset_filename']) + charset = read_charset(charset_file) + file_pattern = os.path.join(dataset_dir, + config['splits'][split_name]['pattern']) + return slim.dataset.Dataset( + data_sources=file_pattern, + reader=tf.TFRecordReader, + decoder=decoder, + num_samples=config['splits'][split_name]['size'], + items_to_descriptions=config['items_to_descriptions'], + # additional parameters for convenience. + charset=charset, + num_char_classes=len(charset), + num_of_views=config['num_of_views'], + max_sequence_length=config['max_sequence_length'], + null_code=config['null_code']) diff --git a/attention_ocr/python/datasets/fsns_test.py b/attention_ocr/python/datasets/fsns_test.py new file mode 100644 index 000000000..17cee7d40 --- /dev/null +++ b/attention_ocr/python/datasets/fsns_test.py @@ -0,0 +1,103 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for FSNS datasets module.""" + +import collections +import os +import tensorflow as tf +from tensorflow.contrib import slim + +import fsns +import unittest_utils + +FLAGS = tf.flags.FLAGS + + +def get_test_split(): + config = fsns.DEFAULT_CONFIG.copy() + config['splits'] = {'test': {'size': 50, 'pattern': 'fsns-00000-of-00001'}} + return fsns.get_split('test', dataset_dir(), config) + + +def dataset_dir(): + return os.path.join(os.path.dirname(__file__), 'testdata/fsns') + + +class FsnsTest(tf.test.TestCase): + def test_decodes_example_proto(self): + expected_label = range(37) + expected_image, encoded = unittest_utils.create_random_image( + 'PNG', shape=(150, 600, 3)) + serialized = unittest_utils.create_serialized_example({ + 'image/encoded': [encoded], + 'image/format': ['PNG'], + 'image/class': + expected_label, + 'image/unpadded_class': + range(10), + 'image/text': ['Raw text'], + 'image/orig_width': [150], + 'image/width': [600] + }) + + decoder = fsns.get_split('train', dataset_dir()).decoder + with self.test_session() as sess: + data_tuple = collections.namedtuple('DecodedData', decoder.list_items()) + data = sess.run(data_tuple(*decoder.decode(serialized))) + + self.assertAllEqual(expected_image, data.image) + self.assertAllEqual(expected_label, data.label) + self.assertEqual(['Raw text'], data.text) + self.assertEqual([1], data.num_of_views) + + def test_label_has_shape_defined(self): + serialized = 'fake' + decoder = fsns.get_split('train', dataset_dir()).decoder + + [label_tf] = decoder.decode(serialized, ['label']) + + self.assertEqual(label_tf.get_shape().dims[0], 37) + + def test_dataset_tuple_has_all_extra_attributes(self): + dataset = fsns.get_split('train', dataset_dir()) + + self.assertTrue(dataset.charset) + self.assertTrue(dataset.num_char_classes) + self.assertTrue(dataset.num_of_views) + self.assertTrue(dataset.max_sequence_length) + self.assertTrue(dataset.null_code) + + def test_can_use_the_test_data(self): + batch_size = 1 + dataset = get_test_split() + provider = slim.dataset_data_provider.DatasetDataProvider( + dataset, + shuffle=True, + common_queue_capacity=2 * batch_size, + common_queue_min=batch_size) + image_tf, label_tf = provider.get(['image', 'label']) + + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + with slim.queues.QueueRunners(sess): + image_np, label_np = sess.run([image_tf, label_tf]) + + self.assertEqual((150, 600, 3), image_np.shape) + self.assertEqual((37, ), label_np.shape) + + +if __name__ == '__main__': + tf.test.main() diff --git a/attention_ocr/python/datasets/testdata/fsns/charset_size=134.txt b/attention_ocr/python/datasets/testdata/fsns/charset_size=134.txt new file mode 100644 index 000000000..5c7fcde2a --- /dev/null +++ b/attention_ocr/python/datasets/testdata/fsns/charset_size=134.txt @@ -0,0 +1,139 @@ +0 +133 +1 l +2 ’ +3 é +4 t +5 e +6 i +7 n +8 s +9 x +10 g +11 u +12 o +13 1 +14 8 +15 7 +16 0 +17 - +18 . +19 p +20 a +21 r +22 è +23 d +24 c +25 V +26 v +27 b +28 m +29 ) +30 C +31 z +32 S +33 y +34 , +35 k +36 É +37 A +38 h +39 E +40 » +41 D +42 / +43 H +44 M +45 ( +46 G +47 P +48 ç +2 ' +49 R +50 f +51 " +52 2 +53 j +54 | +55 N +56 6 +57 ° +58 5 +59 T +60 O +61 U +62 3 +63 % +64 9 +65 q +66 Z +67 B +68 K +69 w +70 W +71 : +72 4 +73 L +74 F +75 ] +76 ï +2 ‘ +77 I +78 J +79 ä +80 î +81 ; +82 à +83 ê +84 X +85 ü +86 Y +87 ô +88 = +89 + +90 \ +91 { +92 } +93 _ +94 Q +95 œ +96 ñ +97 * +98 ! +99 Ü +51 “ +100 â +101 Ç +102 Œ +103 û +104 ? +105 $ +106 ë +107 « +108 € +109 & +110 < +51 ” +111 æ +112 # +113 ® +114  +115 È +116 > +117 [ +17 — +118 Æ +119 ù +120 Î +121 Ô +122 ÿ +123 À +124 Ê +125 @ +126 Ï +127 © +128 Ë +129 Ù +130 £ +131 Ÿ +132 Û diff --git a/attention_ocr/python/datasets/testdata/fsns/fsns-00000-of-00001 b/attention_ocr/python/datasets/testdata/fsns/fsns-00000-of-00001 new file mode 100644 index 0000000000000000000000000000000000000000..eacafcc810fafba6c747e81a9f5e30e21c98d816 GIT binary patch literal 7904079 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≥IsRrNO2zol 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

g38ji9^6rvXnhYst8N(#Q#rknoGHu;Q2 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

aGgWbdKSqd%BT6CnaQQ{s5 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%0Apjo`fu3s?gr1ih>b3Yxb`k(%@-#46m__@c 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≥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

tXF-;ScNzo&O(>qMy|1fqrcJGW;R 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�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¬+sf!b0X%|Ah+4-LA^@t$tR9es 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

=5FiFJR}e@-7!MD@m?9>kLSY~c?t~yz!~`mD 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 vdv|@ZTKwY6&%XHCi%&kih^bczDeCpr*`NOW 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 z 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

Qx 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 ^>VB!nPv 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

AEYTA+wjQ`@g=YmI@z6~#p;X4~@TF+K5(}P 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%0D&sA{<%b;y3K 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ΞF%q+~{(^YUqK}VJP#sXFaO_ z(M8k!Y=;E&E4CfJ{=|sBhlV*O)*KmO2nxQK-}O&4=S z&YicuwbrcYle($l`T>RATi!k%bUJp1b;!fPBTmN8vF4J!-Q_>GW8OV-IH$d`?WLcapX%2+Kkr%Za7|X+>A?AEIqk*`$hlW)+?Go2M-z#~8rBIY#!KnOGk4nTmh07aW|fOrgn zfS@2?z(XWJ005Fu6hmi*LN7o-14jfH^)2m z^nVfA#r1FfYv9H3l?8cD>5FPN7q3|0e*VJSY3?$JW$)9Wog)XQHBV{r ztT}C)XVLij&AD%!&tA6h8`2`;ZtZHr70OTTw|8!+Pcw&i;9S zo`v(H4CZ^6-4@9D>Yr#X$Ytf2%Q0)0rH%}})4ebozi--oc-hQWIS1Y~=jS%g?a^72 z=B|A>j`R+pcCbT2qGqeZTUg{)MQk?&j@o}eb@7Yalsw`e*O!Uq0IK&ST^5qyw#`DK9-M+$N*tonHA&J+SX%m-HZO z>i6rer5%e(Veo~!b~{QJFDtZs{8T@A@4*0{D{lhUb$HP|DEY$#i&tJAfibzw^M~BA zsJ}A$+3o9IWjg~;w!Iqpa?PMkiNk&Ai;fQs7dMZeS^w#wks)^%^t#`xVcFHh#YHDx zhJ>fx@mkYpd5YJ9s#DUuHQMTse~bF}cj^$@q@xcXhAZk@UoE3r8nKj(OtdKE_{ zV_i1KN0ycE+uqeK;mqvc7rrix8E%x8lda@ZFUm_iMiNkGGz5;m(GXUelW{ z9rK}FwK8Pc7f8ar<6&~YW?agS-UKui9E&#AVPrrHJVfv7$S^l#hzslf4 zt=BG>GU4)l$5LZQJv=6)Jf12WcJrNoR>p?@OD`uzZfmtW>Bh%)$Crne=4aF#lSMyz zNv;(}S1$dmMo!0ij`SI6nCjNWbM^EQhM~D{ceI(lJaV*c42zT@IRk4(CDy)`PqNH@ zZ0ugF{_E>@qtWi6=MOEtxI%j~Y+RQfop)9>Sa;w~%`r<4b;bpk^#yXT?Os3n70u{B zsP;NyBvq_N&Yu=`@?7U903};AHBb%#ZC9I0X8A$+n#?7U&DyI$3R9g5FtuzV-$rbieUhQ2mpu}SS>@*3aN}{Xe7Y^3IGa_0u&`m zs7&;AWNv#R)4nbTPBhxW5Sf{Tz{DWnkzqhI0&jpoO3|36Sb=aD7Jqy3QbC z@?wD)nZ@u#1WqwDms3-%B;taxZdC=%*yI0$y&5^rMuGq!yoTpkf#;DyPYh}v^GM(c zYv6buQwSnNXapb<1b_`JLNgqN z6;i2mM+i3I><|kOU_gin1=9p!0I`UY zN)Tj_fH{l>nx-WZ353W*fg%JU#Bscdo=cfrcnB7-n7}KF@&UvEVvK1TAw*LMAqpTG z0SfYj@3P-v{K2;|%dSbb3^;bVwlLG`z^D$k5-*S3itvZm59YcWvG_u~541dPqr>^T@LU#<7s?5Ul7Y|xHwikZrZU6xIJCcWCA z`^v{BF7;{MIc|UZ$9L}Bcya6gyisZCw|2c5=JI}Wx7rilE4{wuz3Nstr(^PkiQA^X z_iXE%^fbNuy+>a4k8BRvl6&OC=87jW++}6IRWDO+emk02y6W1`BW-@f554}Y>yw3G zPS~4RG~h64e0TQnrUwqWkJ#Ez)pkUeg~>l(-mi4_sjU|_%PGKhY2TI8=8vyf{&=s? zbrOzTZ8eGGB`d8P6`y{Y`&OEx7dKj)M zTjKk9V!KUN!)I|%W?dQ@y<0nUU;DV97oAykM#OBc&$q-zoHa zy=}-eTivzk6O4XqDJ!S0;dh$`PmP{=XNwo2-xlVM(rg~(yL)u*l^f+#*Vshm=FQm{ z*~MC{%bX??$#zSu2tkW1B(yqzNc5FdXmP^LNr~SUZ zJw4K?V!~jT-XA(m`zz7>cB;M??!+ii$+K`{hJ4%dpMTgq?U{jXoCg*K-P{mbymk&) z(`eR!Bg(BaoUk9MV#YVq47gNrINjUn%<}0z zc8l6=W@di2(v;8x&)s%WZ}H3P)m{2|I&ORK{KK-)o08p6F3!sj?%8W#pXS#?eVcCm z+~8K^i8&4S8M>}L+h*6!Y01ZLs$Wfb0B-xab=qFMFF|&ETgLBK?T1Ij7o3+}4)t|8 zaX85-+zQs$*{iSSPtiO7DtyvzW^wEz>z@fr0t0j|)w){-`%9~<6+s8LUx#xXS2cg+ zFzo$8FF4HM*SZ9>`PV%KncMz=%&_G9*kk)%g`nk2-TLKCi}fhZ?HS@QI{rAC@$6}X z#UFo;3jDO&7?e~IMmsq-C@-(3X#>%4v;;s%46MdzL>88ExlBee45D}dFcAm_SVB`$ z#6XNF8uFM(WV}=X|d#RM8LFd~XjG!j$00WjBak!Ai5M>8L)>&A-z{gwc+t^x?C zx_koyu~=pa#E=F8MJNhT6y#V|Rimn^s^K|oV-0B_x02h`uvG?*)fx>P5d@4WhLOqS z7E(E{=KzZ#hmAGbUq5~my}F*1;cE3Y#Z|1@h2I03cui0Z2F?i2FjZgF}KbB80|7FnLQ73=tHqCe5zYz(l#ggkUisiXxbZt1C>1 zxJMK}#{Y%WOb>&B(`jn~ff`km1I8`LVJPR(JS!aU@RJSKpq03!jI0TclQVGd)C z=Pa>YDwQbY77P%0El@K?juK3cFeV+GDEkvH4FYEUT-{7#-sA%D$YX*+iOH|r)Ot(; zJ^`4zyjetov94BKQ&wd(uzJ>@u2gB%I+didim}k@^kwChdX)jPw3U?=!GvYmYE?~H z`CpbZ*0-xCM-->l%4HG?LTqF;wJMG?K!A}*d-+cztji)qq)smgOj|?qZ3rPWC2By3 z03w)}#2$6hLD3=zApt;4i1>Am5CecL z#!N1FoOn9NJBE2x(RBOin{8i2q+f6RxDC2Ie&9}KX-Lf^&(o`S{eAJP{hGXnecJiK z>^2wr4vtHHaegIMe`!8p26Oo1UyV~yMrp5gO-G%67m&VZ>%(;Gg`xfd_6_3fuD&Z8 z_oC^I9gpHS6^0z9?{CXId@S1Cca|%&p`i28IW^rz9IStIX`4yy?2iULsJPa)GcJqI z%G|Q$*}%40bM}ARekYM>J}J$PTs^$Y|3K5|>lfG8vq~zDUmDnQ@hQ7=HOr$<5wO%d^vq?Mn!e+J*($#=x?{TF0OGbAui3Ho6;~vgz{FYdar14i8@V{UGc*E%~5JYu%B`b~(cWcODN2d)}`1 zin7u37PnAxtscchs`%~C-fzi$*GDx#aMTB-{rKa5Y_P$_=4o2Tl9zw$)ePFyen6R| z|73^M$T7+}w&^+RJz8t4XI6jv>}Rywl!@X0QgBGSrOUSlbm#hAI5&`OxB7wO8|U2(X3ni2GP}`bN4G}$_}pR2!j}j4hYofu z_>ejE@0;Qfb=uC3szY;wmo)76p}Br%)3M=Q9op|s;U@p;s_xr*@XMgL-z|49m#+=n zd#Fq@s9#K{0bxr#D`!veUH$o}RuZtT(d}2h`5nI9`nvrgx1pYHS#FzdZM>#d{o1^~ ztmusM1Eb)ZTw1mZJ*eKY`OvQdL*D`z2H}(GL1BBD`_92JwoIAp-3vRn3|4sgkLhfv zoRWI``IhX0kJRp!VqQ=gw6+t}VO69f&s#kz)_Ia9WyNq#`fmnCCW z$G3OC?Dx8dHoNqpT)VGW`^V?9m!{i{ZEG)gY9I3Qg8z~2F-7-0X0_RUt*P>iVN;HB zzkgVh`MaVA`F5O~u50dkPz^bioagr+gpR;hrFl>tO_#?r!{8Bd-S9C0I{Mjf`R}78UO+jgeL1XC<^PvWfQ@s2}uA13IsujP5#a%y#<7b5CK2|U_uap z06|26N!B3zW8VX_BMU}=BE;N{Oo4c2-P!*;60#hxs;VRe)z)a$D!sbasHx?38X)ij z!I0ws!9dE0L{mUBm=|~mF%Spp|0H{GX5`VwTYZF$>sCrzH>*(WeFif{D6HMKF-6)U3d3DpWe1K}A)`pwwXCYO8A5 zTHaX8GK>ThObFH+bShOf&vP|p<(jH0D+{GUE|t&-3!G7}S5?>4)YMSaf8a@T+c816 z@ZWY2nbRjAgoHqXfXT-k5&%rW696EQ-&+Tc0tg^7c|g>4H}hC2-q)rR8!-Qb*eD@1 z>l4L$0%9my^+1#RHiUT5n-YDx$Di_GeA}?@g#XMIP3CQZDepQ2%;aK@GnO9G5b<7R(8$GvG>ovKR-9N0lWVC%eq|I*n4bu&tuP`p4OZBJ)(c#N$=md9_W7Ouic%!-_9gE*DNb))9<$Z z#6`*97EZ};>EV0Yz2%*^Vb@2L+bsGraO<_~bqjapS;t=8ZuiBmEjjnD=hSNj-P;bb zacc0S{j>=`UbJu=QBj*y>S6!u-1dT#g;ph@yz@(3_o)Uu71+$3vdU%j z=S}nOy%_g#GR>d;VByt1YkpRi_qbvG2A;oMkou>61#IaX_3r#E=L@_3l*M#QyZrN+ zRdCmq6ZXHnGJDL=G1(XAG?~4A;Gm3pE?Z_VYm;O#m+@hub}x?(;g!GR?4ACuxjdb8 zV1{n)nweUb@Kx7wTYi?0!i!vr=Jy^6PsnceQOzh$j(hy!bJ_~m8FPEHvlnunZ*vx} z+i--Z?)1p?3>|QVZP0b=*!3?whTddP7YrQWdUSnDD0SF+>$D-S$1g=t#)RRCPam~Z z*1t77Y-a4)g$_F&L|{K%cF?Z#Ov||Sn}2Jb^p(z>`e|hAM@mUwjO{v+%6rRoM5iC<^5Kb9PQ(Qa%ryRzGEKOdx(Z;Tro1ZR-~0oIX7olWW9un&Yt<<&wF2aD0`9fqeq_i^~WI7MFS zfnVWc7Cq|xbZ6{3!|?LfcWk`md!`ZZ${T0pTJHx3UXPt3$O{>|V~PLYm~U~RAD+bw zDw5CEbhB<9(W2DYuU(s&KHoO6nJL+`lyUpWyUh;Anp$p6-L`4K=g`zt{mRobHk@jX zE?xTYwDqFpLG@02_qf8}eHJq9^vzCA`JM9zd2L zN-h9GK^_5)Kmh^)A}KQIq%j28)CD0h6BA8c0RSNSZUX=?0gyl>LY){wx{fgc#43pZ zfsjxpVVPiJSQ1eKP62?#IYJbwK~uWk|7R8yAG{#wD{C;Jv}&VH&FVFRK?n3YfCWg? zlpqLLbTVMY=LCr68HzB767wYxWN3<#N)$4gfl~qrEk!1Bh+sBR6|jkRLd;welPjL+ zg-!s0_@69KOeqxI5D0)+5N`t{a)=2uSWXTf1DwWS zRI^5nUW5`51zFyp)oK7CMvY9+8Os@3A!BG72t3CN9BVKd)q0AeNL@ytX`5>LB*hs{ zBz7W#{{0XUCtHN-20D=hMG%1mibN>U*a0E{kVv5g|7o`3?JBZtO#~q*emn#NAOO)h z9-_LJBpxtK&mf9}$b+vJJGQfry+0}Lr8Fb!;;pqamco$@H6;h!yVT0>En%0jOl9&F z<*L-E^67j2ST=PikL=~ucWcSeTRANfl;cho6kMA5X;AAmB~JKr^01;t_eyF%PusZb zgZmrMBWX&`#03S*+wEGVzQSD#4y!z}>#Db+>*yVMu{}d3NRFM*G(Yp6?l|>+dg!sx zrYFwqON~;_57&*#-Vu@VVNzS?+wRI1J#vl>IxK9RE3=PYpS5m=wp(M_*wPQpKRA95 zv93z2_i-lp$^Ll1ZCgoo!?SJXU7Pdtp|$1nz`^d99!n=(Z1JvZS?eCRhwVf zCF#mzf?ICCyz1(n@*N{1`ud*w>MzlZSZaJ(HY87aEjsGf$9bWb6;`{SSd~p0dH>Dl zh?}v)XST3x-P@}=GpL!|r}?=-@~0WT;E;OlyAF@ zezSU_-sAeaM{ic%Zq;e3D z>Eiv!c~0w_H}YQDWWt&K$CZ&IEB!jl`iIxPT$3^_ZrQ8F2?rdaEAu0NFSGxgS>!9J z^u1ga(Qxvq@jkVC=8TL8wD$1b9cOIdHepAF;2o8Cd+3uxKl+3;+SktIIwcEiaNxpM zee{oahlaUC8;U9$$s1L;4m-2WWBKT3JDlZwNj9W7IP?_^og9&}ESw#;4X_ z8nL8VlkM%k_g(8|5p-<-1p2QPp5u+Y9quQ$1)tJj6j2@IO`VWjNzUe%j#KDxJe zPBlB)t!>t~!n<=XYNGC5s%{zn;g#$yfo8dG$W`(ueUccK81LMA5v!A!ym1e22F-jam&D>HhSCfA^cA zt#>6H?0-M;{b0$lmq(5tUg+bta?854`^tWHbL}wtbG_tQ6WJALbhmfK2wP9K)3mf` zIa1nb!Tdf0y3I{{8Q9o~IX$-~%CCdGuMoTb$mGOn(sYI9rsiy`=Di<0b+_yLNtrpk z-2-Q)T{w$ucG=9hZu-TtpzM4)0Kx}NRtgY-Ut?O%ax{69htF1;7B9Sl@ zg#f}d4KRihiA1MiYgOt$#nnaMbp|bv(vU)udi88=EG!U3*Q#r4H5v#2P0^Sa00A^j z0Tv2GAOeO6(ue{O@E8+<1;#a z>Y{6iNlcF+B#0nN5QFg$fDj=F1)gUp3K5JUR$3|$f`Y*FJTG7j5uzxB1wu&~NCARG zV>HvmDdq}^UlBqWV}uAHfMS@cYAq&|LC>)|z!`wRi>@?~LNpIBAVk1`Gh1%wF88O3BP(RmfYx+eAS=ztJJ6cVkAATmw!qR)${bcB#Vk%&Z0d>H@` z1ZI*C1dxV^f&zvJAX8kJdGl@hV>;wP^8t{Uvx|uUMc;K(=8D<1TwFPet8(1ss-MM` zS4WfMRs5a4VXF%Qntkpw@Z+^M1EJ^>FLJ47t6cMUtz~&h4f&J^T}a* zHz14PwZHRK!~L%x=K@-46Tt+Lh@jP#u9J>!`6beb89t`Fm)! zg00=lvBrmv{YoBx-?;EjN|O9h(ZLNvJsMkVXpq=@#lUk>hMzv`hmCDoy7)kN!MJf3 za}MfO)6x<~ zbeUy1cV}Ss=R3R0_NBeQyX^RBy>&Y_8peA!-23F_Bf}T_L(l8ycsVrKs^fO2xP|oy z?J#il{>1|Z+@9o9y5ik|z%@?pAHyQ!u6~~Q?a5G^RUgX+?OT>``?uBl-(L#~7Ii$I zwC%>@k-uoA!p7RVUITjviA;e3QRtL{!1LI^8j()J5di=J5CC}|0YW1vCt`Dk=P3 zzrJ0oF6|n*HUJV&qq074W+Lr96%s^(Y?vw5c(2R6IOm?y$IC{UzI*0luy1uTjV z#B&4|4+J8=hN7g1012T0L=+_>Mp=+22ofjTF*dOhhCWWg8&eKkZDs$5JWVh zD2N~c1Yz@j5SxL4|33ah1|>jbKm$Mk763pHl7EI0NW=}q?zy_x$1zS}4r}zWxs%#; z3r-qyeqv#%G`MM0*UyQ{pT8%jbxdA$!pPc*FS?6mq1`@9tR4?FQSoiq;Et{$E=Keh6m>=1TJYEikS)463m zi&?|Mx6LaX-Ss=co{4bi+4cIvZgQM;&TmcF3{Qt~T;br&f7j>Vf;7k`CLFXwDO*8gW@ugP8unRU6tX7uf|DX`R{hiA%owPDT6;N(>ed!C)q z|7H(WKc`g>;xE+x9y)AWR4o{}{J`9Ut!l>FX1wt`)}+jD*!7jJ$y44f^;Qf%Fl)!& z2}ugSCbl4cS;WfX6{{jQ1ow*6Dz^IYF{|dfa{L|tq*d8}Z;grD-l6Z4$O(46a#v@p z4&KW)b*=a2z}u$p42fVN{vuyeJN#*4*vt!;z=Es>MiYSrF>6&t`-gW=%yfxJPAm;=J8Im_O&P~M zGj96D7CoBK=$+I0m9MsTjN#+OsaX|o~8A<+3ci4%a_f!_CB!dVabn{84LAQX%1t4ol`R#UW46BqFuk` z4}a5+q*IfnK=@O5tP&DOL*2lNs_ zEiv*cLuFM}RaKQ*tT@pj5)Bc?4KaP^*nbJux!4 zmeotJLEs220G{InmKS(2ecp^?)|GZ>0*VL`7iM%_>44BYZxDhAAOs(`%O3)JOm8c17pZzmXet%lcY zwS`}PXe(=FluTExt5(zqtYBZ?h9WG|17m%KrIm$5LK`I#ia;^pfu^YBV7YDL(6D6q9i~{NhN|(P6W*G0;SUn8m$ok34}a0S-cP|0L%lH5JA9N zjX|x}Q-A>i&8m5w-pCqQOG-{5TEt@s5ir355yYNDOf!?Y$`b<38$^JBiJ3_t0?;g@ zfCK<65JVw_5Qf-H4F&)bz+-_EAVL&_06-WMNK=Ra!N@WINMur;gBW1bJputjke10L zj7%^J1Oq{j0R=H6f&c)8Fr?7`sx(ZEu&zJhIcA^*piucJ0QpqvLK+}x@`_@QC|MCkhbB=V!oVu-BWrt zrZj$ONeSqg{^zRK=a|dOd)2yLb7G>bp0#TDZhDK-*`u!qjL6d5-{CbpzU2=~W2Lom z(+=AUV=kXoE!vSnIiJY(XnK5q+Kp1KAlKhBc>mhHcW)$&?$9uW8k!rh;z~v@y3N!z zift=^sidz!B2+O}B{Td`@-Erop(hY6uc-(URNv(oYU zruMDcMi*q{9&FG!=zg;M*{HWb+OhvRt5GAK_8#18-pWcvdKG5w`MTKRSgGgT zEhFNmv;a-IgsUsk=Zrn+vvovtH`%$vCtLpr{^LJ&@Ym7Jt_>RSdC^IWqs<;B4!q)t8mb2iE;3bP2Pzbm|S z_VQh|&$bSb=^wS+71lO1CD8W$*_P$MW0D#7W-X4o)}%MuJz0>A5H3>ANtNhp`)o9NhlNz+ieAFqdb>gAY z*RNfw8%oyPvWRQmcSXed-`m&EuyO0FFJvt0eVDt~vtMNPy}?#j<)r@h8xhrqCkF6pKa59*$%5Cy-<(tTYKjYAG_(7oqvyN=r^<-bI<#6jS`@fa9+;b)T)w-_v(aTrJ=fB%5 zM|5>1FK`BR?H`@Npwa2oYAtId1{MG;Xw?QyH7Au*kR}k&1_NNVw7^T`3aL?N)M`Q5 z-x_tTvA(5LDzT)Xga{l$3=l*L2}B4Hp^j5vUL#Qm5DXB40>J=6A|~JRVxDI>SySGh)24b>b3!tc-dSZydNuPQIC(p9iVwNUuI zfI<)nKrr&Z3xAjXEFx80f&G`VZ+}>Ux3ZA{V3ZJP#joCI)DX0Om>}Si%kRw2AB|RG*S!{rJ8`p5F&s9=6L}j zjj@{LIk{3MRmc!U3k2)*29D(@Ldh5f0E9rA0+2vJ0SpL$1Ob8&q#zXj+Y9T2eFO-E zn5bF*?Uv$Lj?C{zd_eP9k4!`_vvNjUF(Pws`~U52p$RWFXK(;QkU41r5C{`$IuVl1tJt295I2!kSYX6K+=p*Ua11^0Q}l;Dq#t#=zJR$LAqq?|UEA z=MD^TOH3<^wCOjzdCLx4KMmRvJxfr+gdCTl>s$EiLx%5IG-zYbhHb8_J~V9wn^TD3`>G9rMJt#5vp!ql#xPOd)a zXy_8@yubX(n#*%LW<6J@@4l6PdFzL7#@Wib6F0C^ygFG8P-gvEdu6a9v3o365jryX z8+kn~^?TroX$_Xmznu&cF8pa(xplzAYv)(VUcOt^9NB8R9^H9ocPEd|=khYn4yhl0 zpkQfu8(E8}q>{Ci(}1-3%hgM2rsT(ZkGJ_1SGIA3)BcqxE((gBoHtoDsB`;u(v!vxCxcwKOo=+;f8tZoqGGV`cDofLUS3)i z@u_`mr`5f21;^emT&M~9GPC=hGKMuT8iI-~`}xNCU8unC{Mf_QJ<6Nfw0Haj`&1mi z{;|8)F5955%@gygT|32h%svE08&-_ltoA!Kv33ddpi07?OP=O7E#gMK9n~Yh-um+@ zHc9p4-b4AApsr5t!`dH7wVB|2aMPZ5O*c;dLhnnT`1Dn~@`}BGzFhZu())Ay(x}>- zi@rEE>d0soO{VTT-pza?^)B-5b^2Yfo#Vv&bAkiAj8mT+b)xP0CyF*lZ62i#3P_W7 zJbPkTo?p)URTH*fvH2$4Z!+-w*`2%JoM{<0_)yh=x$mzyKInVKw>ba9wQ)n*rAEBk z&?7BAGgR@t1ywKlJ2PIk?ChUr8hY`OMk{+PsCiL4dwK>vXT5W*Cp%*Ppy-z$^PH!j za&z9B67zD!E~T*F`u>XEu9Ll&b!>9P>0+aIDUI_V6l>h>SPp3v8|Lr2)5~JZ?b+j2 zmyQ2DxVm&-gYh-(*vDtSdVQ>D(|duhjpxMDf)2ZnUb&7s`At+kz|s|4mBW?}xpV7p zKzP?U`!Gh@;8C~8wsb|AUf`rW)@bxvibe*#NY8`-AkKhPEKh4OK^Q{TpaT+0!O#i| z3ngp7Jj+#A8mcNajy61!G7!)NBZ@K^HqrnQnkIrk0I3UUgUD>TEo$lrAjn*HM42Ii zCSJa1&jtZR6r>135E4QVq#(tKd4?G9oB(yW=69u5t73RSA*3x=6{w5?MwAgC1{8lT z{P`(IDU&mZ77V;ztz!ft5LLnJY^_eG(rAc;5SrL1tc)syp+?K84N8dwAR{I$!7L$0 zf+S}2mNuR2P1&!at0WRvKhT740$ArMW=2TOa|00r$ti>co?s$CKt$U~QPYM+4-^at zB^FtTpxAW9iBU|7H3O0u6N(b6C`}UJvC#kt1V+qrm;n?*SWKxkZOz2N?;lMPie77CM-iZafEb$v z$UiEGX>J83{L~aW1cA9l00apJVvZk800N?M4gv@Rz+n!WG$WW7ILJbZ;xPe4z!I90 zN@xfOq!6M2gblq^$EGS7peZ#ouPTIj!GRZ`cw#igEk^Jy}UqeT20 zKuYXhA^}!(yfY!IfMAF*{O1b@O=;7>1fCND0Wz7p{ZEtr_X3By;e;h?lg{{cc^$gW zZAQYN@J02L7i_w=p@Bp7VE*E_lvOM8ehyc7CwyMu;Gg0HX$zZ2M^fgUq%X1Y2#-dnRGYy0|-Gb=-`uZ&(- zlK$&dy;D6mot?8|>%=KxU(R`qn=-y8e%lY94{B$0({L2Qc1!vtH2XF4WMAi?*pD$? zhuD1Yt57yPxjZtwXLO8J?fAz_cJ*EN)$Z`IgMEt{_pY(-=Mr}3#@+Y}e;Q2C4e99k zde7>2?~lLfVQ4>S^RP2sol2)o?%jCAAlaUA7Bd=sSoh#?uMsDQY;do?hN=wmHNG8R z@@##R;olN^zws;$cmL**etxb8YdaJlot))f9g{GoXV$WzFnjv6@|v}{Axb{cb5ZvP zG0j>w$ea~^R#AM!^{Q>8$I120ItNA^sj(@%q`Opb!*a0hQI+mXjL+od(`L+9?z?@b zOm?eB8p=-j#Z!|imdlsN%$FtKeGz)N1#norbMbQzzr_h8;$e@J&-u@{jNwOgY<)KO z%i8rnOSw}6`?cJ>r<%{&96ajQj->F%V^+(Cu$rg=eeRy0Thek_a?Lba`?+^Ozx2_; z5lOF+jsK=CxrM9gaUF$#N!br3Tb!SGVn?>5;`xR(A0xY-Opnh?DV`BpS!Sy}yE6Ra zT3}39cyD!^JEqfwwue)PerZ~;Wz+N86}8<~MtAFW_jTgVjISN%eS6Y*<+cvzPFlxm z)CtK{1th#B^^s$8g|?C zv|B)Ql)p!}i~$4Imlo`)sqWrB@K^Ta#Jt|$U-#7bcbe02s*RC4Q<|(ibITb>OE<0x zKkNMCn=$Z4&OXaa>sA+^%3mGZVeQ=ePx7CAftd@(d9MndddQoM{xH~|q-m1uCjHnh zy%AsKurU<|pDUPjweMq><3WCZ+Fm%8*48^?-kSJ3Pt%;2dw$M*bSwDX)~(y#jI%ya zQdHsM>lWv-=un&;@F}6k-d3)k-nGAz z`02NuSLwKH(k8)T=)ohgnL9RuZ-OxJNV#iG!OnN82Xlwjp1qrAY_V*y7hUv2`0>3` zCZpv_sZ>sQBJeyR0w9Qz(1ej7md6MogeVFjosQ$UDprRHB}lA*K!M^CUHPxP&aEV# z?skAiw2aa7g4Tc~5(_5DO3sSO5edOi2lY1b`9b5e)zUPyhfEB$$Ni z;%VK~QFsE0KnS2IKm(otnxOzhf;ctufbg6GC@?JnfIxv@BcLI)p%`M&Qjicz0$EH5 ziwLw*Sn#}nS>e~0LI8mXdIAV*NCglC2m}cYu%HKohnR;DARwU-B18mj2_O_8h@xmn z05(-%!PK@fgn$MFLy>YxL_L~VJTYNJ3rwB}951kdqBxq!WHKuYTZTxgO4UXkL5u}O zC|ckVj1`aX=5+s#NrHlko6b3v%(9zj}g3{_5wL#AU z0tsLlsmw~Q6r|YB)`nwQm0D9o&cJJo*a#^s;W#~^2n~^dXpAAiSj2%5q9A}AAz}hMp};=_St6<}AtI2HN+Ezy zzz9ObFaSb`0fQ(;P6<3gh+>U8#L$eAA`oCe0HO?lQ!p}$AOp)8SdL+6i9{-8XhHzT zu|}g>Ay?2cisxB@=aB>;3So>10FVX(i-~|CgcPC?M1){o5I7zSSU?a+q*AGrCYW$W zmJlqJFbvHQ3@{eM!+4Ry0wF`u422j$Kmq{-0ban6f|!E5AW#%7vrt-ESwaXk2Ax6R zMB@X7VR*sJt@^hEh8UVSR#JtO072jc!V`i3-~j@NNDxIyuXl}Xv*=`aqesF9FWZK@ z77V^Q!*HcywCY^Ab%%|{kG6jvCzSW}wl7b#UHvPyB%-DF$HNYjGTKZnrSBZJ98&pz z==#dID!RVi6*IGwZc!9LRK&)@MAX~B#ui0vMQp`F#qPkuL{SmJ?!v$hun`ncL_#`u z%&fJ}huPfE^Pcw{$?6|lt&*)Tbi=>)aT=!_3Uo?v%v{NcB~qE_|2&~ z&1^oe?0F=wjxOD9LTksucUR|yCjX&Fwp6rrSvjrmjz^)PHw{nwy51RTzxl6sc*naR zQl=G8{?kVo+}LVvTx-YRV@LNB9a->Wq;N3ti!Y~g$jGpH)}_4kWt#hQczLQ*hW&Z; z<*C)kDO*b0l=WX+)5mS{lRi(6ewfhcK!q`(aeiaI^U>7Msvxm`bf?2-RzDcwIjxdk zyUuC@Z?!z?v-ugf59@nItvwPpS=`^8`U>W+XQy{OwX1&{5|aDxabe?$BY**YAJd=2uJQi;wQ?H!JP%v`ap}Hz#={hDNrEPpz0Z z#MZ6W)>#(&(AO!p85k0~Wkk}`JML?y@+U@wMP_GOHaTKp z<{aEq#XYVgoas1HlW_H^^Jv?}O_qf9w3y@`yltI|wYV{9f`vMLd)TB4L;F2DzWza- zEo*j#%zd&YF!Q*xV(XDN*6~3%d${+UI3{*uecR-MLAl!>g*2}-`&KZ_YoZE$yKAAg z+_kcOGhOE5s^@{-&AWuZN-5spmiDwyW9QBp)3aCBG)!H(X4jtx%ZB~)-aXOv8hT<% zisjihUyrUo(jvsmZoslzN37rZZ66sNSNSU5fc{4*}84lz-#NDsUMLg*Ia^vhS%&f9zS$o<>TOMZ9+1O4(`rB{AJqi zYmICxbsZ{Q+Rp9PW`J8tpH*pFJ6gIvYqvS=(}AA#w?{1bvbc2d_I;%*)_T#1Ta%xS z>iPZ7mpT`MUto8)t_v@$S=;mY2=t^~`LBJGZktruU-80+V}wQsanqb2@7 zf9J()(sX>^>i6E}d6S~WgDKm5PUmd-YyWGv+xoZbJKQ+B1W}n6hu*wj7T&BQ3R3!8jYMmkBvIP zs8<^G3ZqUzBn2Z%3IqlO0C<(k+)x9`O7+!M6hno;V^MCLpny_<<@6VT2>=vQIf@@Z zND-wFFa#(96jF*Pg_I&f0i)+=bO6hVmP4Gv?-)IN^n z>RQYQMVCU>MviUL%N+yEc|5Fi`nf!snYt79OMSC4XMEW?m-wZ?rJ1`=5+$|MRY z!w_HuIfxJghyp+frLy(}LWCiQ8A75+YN`ySB~^d(OY;8|lopi&iSPiZ6oQ3DV`XM$ zrqL(`1%^B$m=c~5fl8PXNC+g9O2jBiI!X-?P(bDC2?PKKYpW+jCW({~04ahLK~pok z%+vmBJusCW{Z~u^WT3XcNydfHl(o)r9LHhVwjgKn0Ez+RIn46_0)YR`5HJ}?5P}df zh)kDEphO@6kk!7Z$=rw#!cfk4K@e~l@f^ot%mK^;h#ABXV)@^2n8&695LioJ)_UUQ zq*4=31e5|QQ?POj5&{e%3aJT_{>M9Ef|_z&g`6#b7?M8$Kr)a7GVyK7Pk<1>L();3 zz*l+Qq93<);XX{)rd`ed*4(~dz=LLd$IpMxY+N>dlivrs2G2*#n-Y@Qrl#3Hw;%0n zJBn2NEjhdC`hbf+QIjJjv&XqS9@AiM#LJwDR$hgh3+g#F=@zS5X8yIK@tH%_h22Tl z>h$*UPi~pn`&vTCwE3FRZDN;Pnx!mCnKHa6|M9{Y>vhW>wIXI*-q%|Z9U}i)JiZ+i z;4&g3+NKd4c+Fv^uQ1@zN4JM@szmL)C7)-%zwg}jLg~pBK6_*Ld?|5i4Hta)RB&Vc z_p-LzmcPGTVmIG2(F{3ezJ!g2{+PJgtL=m39U{3c`YWU1s7>A@+B`hS{pr_k**&*o zMQ!#Ef1z{S^C-mIZRN4|hrRaZPm|97=v+Q;=igPdXRp=MYu;XM!%q#J5Nvbp$gM?& zKesww^Sac0Oy1cBqitNdnv!J6|HYuFC$Wx8>6rH7CBEjs1-}l{{1mr?V}4!jpLg=pPexsVCg}(cuwK-@kJrI9kTc`8+wh^i+_ex$~)Ay<5*N_in+Qg3d#s%ISk=Dhca--dlf9?!d zhDdo)<0gI4BC}>^-u3BoaKghpn_oBgn)w;;4{KZPbn)W4fSfnuuMZo)`jBz=r2M;` zo9_2)WHq#9kEO@fL^}6jUh&TlR(6LqHM;dHosJE-Xwi1u_^6uXR_Rd(w!NE>sXx3X z)c1A$p({5}8vc04&K9mN{u^EAG&|(oQS7Ry*m&fW)hpxZIh&I3g4`w_+f?gDMzj+8 zrCplS?AEN3T<;{a3-@1k|1s+&{j$K&*Zjd{kM(O^du{hiwjDn)=y&g@FPGkS-{2(8 z`1>O(F#Geq#E%QdeB-OG-&^E*WV+Mpph=C+%^%po*5mWIuWlo=&SqDXb(oY?;T97a z($Tze6X{FQyfFZoKxV&thpe8rIxj9WC_M1ta#g#c?|n+$*Qoi`L!aJ%bS@NC+?PD| zw2Y`&`26+E>ipnUX`CcdIpLY<7=%EgP@;emh9Ds#6p`rzLWmFsKp+xh5)UZBh#7QJ zX<4N?r$!7KYxFhMI&+Omrt=^p2qRKU9s-7B4G91MK+F)7O4Iiv_uVj*k0)%8op-hre#vlL$P>eVLAu<)O%ikG73IU@s zQ;HA<06+>Tp#&096a^k(jO4iiAp}U4{1c2h%s~$GMoJiwj3TY5)R$LO*Hq~tg%y@M zOKS^_M#~F4CBR^ij0URLk?JY~hE&BPqr@PQ!3&|30mulW00KFsj8H}hqYO}pB#0nl z5@LX(5J3nqC6p5RT|f|FlU=~18G*Haaz+88kU|Imh5$2$7(@tS2xPr5#t>;c*K?2Aal`9@a^%4O90G36pa>f9N>9_cJSwx-f_OoAb6`rn}wc zi<^7dkGokGvi(!fe+u_yu6TKP+M;iMtEXl?y{DY<{^;V~YoE_MaN9EQ!lvN|@*b7k z8rR=0t5?a!BTecah;x}exGP%aG_#L!U~KbcFP%2N>;KCCsg+T8;q^zm*^N5>Y-fmw zdUYwJj-lsUG`#tWtX^k7fAaI4e*9LmZ;u{Bv!y{(yY;;_`CXi@)X-x^LQafu{{8-4 z|1>hcTkzOFveWPZp(BD8m7U3%aIzv}H^2O;vFQ0Z_ul>bT6r`)zisubm@7fYyG*`o z?wCHY|H>xaj$U~+{$Xb^GWSVy?cRt#a}wLTHt3k59XGO5^PIYaY#)1M_`KMxe*S7~ z_O?;2c26IWHZQ!rq3Ux^$=tz~3tC)CI;Pq^eDH^lGf#f**P{bE6tic|UHh0ni;^nN zG+EPYl%4h9MNO~T_nemV)NQ(bSK7fZb@9+-2jj;LvrEz|=CoR@-F$T1bzy_M;Nm(+ zInp*Pw(H|4I(n{78xwB^&E_SSE){1 zCQ6&+L2a{dZ`}XShv89QekeSHwk-VW^xO7S_NQmMDZ&h!YmLqw#yu8(=X*Zw8)siH zaZTeJ?^kZEA9DX@x9p$Kn%)SW#qT=bJ#}c8ElF-A0f*m}?%4Hs>BJxFyG1&Wsd|~& zW*K`w0e&f*60l$*&s(JE`0?#8TJ?%P9Wu0!b+aAu&$hL^IAl<}2QHuA!IWK-hYi{C z*sb*<*EzigAl&hmebjoJ zsuVQ2OyjO?GU4mEDc}26C;LB7J0Mm;9W2 z^3Cuk=Z4rXpDYm{&Bd<1BX+o+7}hCzuIk)xpV2FtTfe$|r8v9wU~A8&c}>>sJ#w(c z&zQI;!N)I*Jver7ju!$UzFh)F; zkO&yhV?sqDQ6g`&WJi^JpoI`30AX!@Cgd;z3PI3U8+eS%N-Jurb%0PNNwP+QP=YZ6 z5|R~=fHH;%0GL7m0Ac`ASxRDhYRU{!Z9bQb{!GEh6fnlH{H#Stwwu?gDj6dGZsOzz zF983QYz3H{^io^+i$HCzBsA5*Gr*uJ<@0}}N<#n`W{6PJ#ZiDvs0IPR7-Ym$7cZ}i z7-JMdNTI2a2ti6^nGK^gGOqzFO|%cg-HxTNEnkO!eNXc1^_b32xSm4j1fi%Ku8#6a!deV5Fi8* z0GLt6s2p2BA>e9NEf7#Z0hGnPfFS@WB!~e3B*+M)|1J}ONk=Rnxa7?!`2T&>(hH`w zYpny3QTDX{@=fc{9!q_mzAbo{RJpIaVr-UmRy(t`^H+7wKUWv0y`DLIg_GYqrpkGp z(ZknjU&y*;*HWMQb-kuMyLn{B!q5fN{+zNgE8D4xa6q?WKU-KGxbpICxY{}W#`^7N zhODk{6RE45az&R`=b2qWr*qfC19H!_8Mx!!zzuKgzP=p4yTJ%;-mmKyF9xpY8xd4L z<;BwU)ablU``sr62L;RyjaGf$YFJX~+pPJ%u<+;Oqdz(>ZJYRG%A=nlEmxSYe17cD zj~{-ZeC}ey#y>d$i^_fO)=95+N=l4>u!3uH>g?G&7fQ{KT+i^HcN@2Hf!6!mWVHBr zQtf-P&w9?!Y4L~ayW`%k3SHBtN8g5C6SZ5%#l+OxHh7rb5b=+Dhn%-{R!;~S>RQ=0 zFQwDlbq{hkT)TKE*RZ*T#WgGM1{vhe$9$``g90CD>WnLDJLpbEa%<oIiJixc3TyI!Ll(&*sWrQuWDwISSo2mF>T4qJ7<>#J*teR3uxL{Iq~{^Z@9b0@d8 zE=hY=)FN_2$Jh2d*L}Np<(p@zTSXZ+@Zqfqi0@;B-%^?? zokNMl=l57m$j4-nUaGpk9vuj6b?6;NiVS-5MR*s1@cMZ@3`Pvod3n z?I+|gKj!ktC41_9dUz*|^YNqeVcSS6O>*a)nq3aQ@H%ws~`T2 zBXcZ5B8o$LHGS`u`pvcI@UR=}$N4S=T+abDaiba!<^? z^TYqpv{`%h#=P?09e45R>Z|{_*p0Thy~?jw=_9wWfR1%jPwjM7Zhm(lyKl3%P4i%y z_XvweuQl;sP88=G7r(y$!KZLS{iz;-v-hNFr#*c7{kmGe8+lEX?yTA}+-B3DZ10s$c&LXJ@hPytZ6Xovy`C?XURNIAK{ z6fwXEG8A@00xv|fCvDR{LBPc z<_t}9M<%%#GD!?fk!-TkoyuB8VCv`vP##_Y$Wuf1_8}(oR{;LocUVhkLI@cBH(LZk zQ`Uz`Dky6(WxbB+b!9cDi77+0)*B$>1V$wW00Y!yDKMqsP>PtGMT!_@wTO~I2mxWW zUOQ;&LI?6}FiH9;g;Ykd2*TQsXpsRxB}tMgP>#bGBaXxJC(mQ0QmIfXAcp0o)ez8X zomiun^m=MA$_e2N0+EP1j+10c)u^X{asr1SB!uZ9g%UvwN)%v-f!0i8#w(OsHRO4b zff`Y&kt8EvK*3{`3NVJ`!7PeQPpCuz1`r@5y98^0YQU5{SBsqipolR{Ydxa?A;@Iq zBtVoxh#&wM04&2&LMS9q4hBU$7C4RqKtxd@l1YWkaS#DU8Dt1EXnF@Bga82v7z_pk zF+<3dJ3tu%3=o8{$+AZ&VG@-CbtnQNA&kggK$(Ps?4lhHbqBatYC6v%3s ze}%QOu9h+Mzioy8&cNFH@jo^~nIo4mr9(sDdRO0Z;-h{IUNwn(!YvsW**yWLbm$!! zc53US7ai|pChSVtrVj4kJx+|g(C|Yt|Jj%|b8GzK9{D}W z%WCr{eRlnBXV8dCeXb9$vk4 z--Ec)(g*Cyusgw3Z?$gecC)5AStJfPR#tH4vfrz(B_#p+0IP{NRrM})zR-1pT{Z9z zem5e;f5FUk(=(rDur_gNYuB%6<1#>-X_KFu`(#IwraVEF9vQtM`mRffHU_8W-q~Kd z`{y|Kn>JrFt}aVY4p<3&qi(qMpKw@6&_5K6d`(Tl)s4dDvU3YB83z}BH7i{1{CG*l zyC)WJ?nr6VR}Pr^uIDZ>LyA2IXGZIuv=9)xGCcnC~fB zlz*smVrS#J4LdIM{^b)$K{mPf<%FmlGaNFgdF*H!$JnYvU zwOQztmM~pGvM@__|(kUy_+3(TNDIO{XDLn-KORzinA-y_Zy!__#Rl& zBz*b4fn(AiEgi3;FSE8CI@@k&arbfDiOSdqA47A48`(8Jlisaae(r=h4@P}q;S(2r z^l4pFX-xUqPBkGSW+ z-qGK}`Tg<+p}reKPM>Z&dzjUbqU7^C&bLd6_+p^H7J9_2?B$S`Ub*aD*rLCSIyZW^ zL~*Y7{iEOAYiLoA!WUf!Kf70X|K^4MAhr5sVefX$?S7A~9v=r1^bywOeMahgZr)ii z!7}z({I_Wj4V9Nm>bWlu&`h!zG1jmJH=5l-M;Giu*^{$-OoN2a7=(VEs zx%c@vMWdwZ9_gzpV?R&ZR~O=WnK!dqPjTCJem;jFhY^nvh8Qz~0OJuL42lR71}T6H z0Fj!OScFK7<2a0Y)9*EvAjAMLQE#ZJ)+u>Y(Yn!Sl+9!aK|%-zpeRWkhh(}5V~#MO z;5h;ar9?KKK?r2h(zK;vfHKn>?Y|x;|4L~nfLPAFHcb~s0KoF-F{M}mz!;H9T?jBh zj8RA^U~;WHfDj;1Yx;uni^JMps9I)Jo~(c|IWi5_qD2a1<_`R45Hk6){-dxo;RVPT zgM^xBLxxSeEJ7*5m{3Y6k*(_tUB_*kY|vmkYgBQPQfWuf|*KX zE@+f$4aA%XfKCz(i~)gHXtd^5);x!dM5i~@=&GoJh{Pyi2swx#fCyqrO))IB$q0!3 zyBah_s6vQpMU(&T^eBUn$xe4FD^-!~=$E}G2w)js%fL@Iu*P(;3fUr4^f<~UgSB)(Rs=X-$lcQ zXNj^TmdL)jR6V#eh36eWe*azMegM{pj@4vuKjn5D%9pg`FY>#gB{LazF9n&0}4j zPMKL}ddFTXQOxCYsgn+!&bcz%Q}s7tbc4}NioOr_kJ@DRb^MsP2~J^+dboLTS=IH=lmn92%)S#Xf|5U79e?(?cVMd3&#SOR~p1 zw~PsXI(O{*E-q25a!b{|lo!|DoSc;P_?@+X&gRq2rhQY!4vy**Hz>Q`yoF!7Z)_Fd z9ADB8?1OOk;?g#5Pxi%A;dyFk)eOg95yfS%_^RXTimU)eE8@Hoo=C>V7W-PV#Y#iVH z1LxLxnb(E6?kyMJa2%K3YWUMPc310lRJ`}Qe7E(iV4tnx;+ZpFZ;17!{aYOFx@FvK z<*t~a&zDuit#vrOew6OUvV93r8+S#1Z_-(CC?F~!Oqsk&eA$3 z<5%gQB5Gi!3=a-4%ou_aWFnOy#Eb!+699lBlK_zOjF|}t*4haGfDn?}C7dbCh5dU< zmx(!3cRB+ALjWT!_B~g+j!We{*<1jDNX@oLTOH}~?0HVO8b*L?+ z1As9qJ2e0>`R5p@bq2_nWHO-1Ae7aHE7$G`O-TZb06-v+@ zl@(HXnW4PYpsQv^BP0X@%81MZ5=tqNb^er6$_VDELW2YqP^fsdMyXZ{8nx0~qtz%h z<|;EQGb5HTV{LP!{s0A&br3PGjSsx&J3)d`~%P>2!YF+-3L$tW3& zqDUx#2qF$MM)jh>VAM;LLJT>DAeUsx-WCQClhs%dG7bSO+t&%g5OEklAQGcQ2}H6B z5z2cz3ISz6q6}gT5M;o_>tc){h73@|bLMu|miE>Nait~Y1^I<#WtBR;NC6ZnBLETz z2m^%u*Qp3F2qDJUq^vTnMj=L65EKH>xi*QuZ^eSLo)#t?S-NnZmq&-iVLK1158L%P zWjLZ3X7pM;p<1U83$(3toP1!f_oSOmzrGe;JUf#!RvR$lVR_+}3*!&8?BKMf{qmEG zd|EC)GWo!|-eq(&l~lg z%p2<$nKSlT_XUf;IXh3>{n9>OY<41}su$Z}R(d^L1&nEn9jakCrp8RRpvqA>M!Lhksc1a&FGVu4{L{%&e$C z@y~FxI`^li*q)Tvew0>pm`oO)zrF8*Cf0K*MVh0&dzunSm_>`~1u2}#6dT`JF zuDT?PuwJ<_e zz1&!^B>LXVV?{m><3-!qCsR_D=LD2i!WdUQ)5WE=NjQv}|F}`|PmSquM18Tz=`-#0UdB{bZ}LXn6LLCD|We+TL$H zZ=n89;IoC@C*GJ*a%f!htJkV0Xv{~r_Sfz>7&0Gdc2Q8W^wN6;WB zh)M+n6+j%o7y`fufs{bK-pE+3vXTLYj4A~-SED0sps0e}&J0VhdR){)9eJ@7C1W3~7Xvj3#7)qYSDu7Chgd23ax zy@V7XQ6e=uy+Jep40#1F5yBt>kOPpb?MIgzo@#kXxp5wtG&{`nSG52RLVz&%4+RGq z0H*aNVh{piO2`I)LG~X46`4{s0YnTEDA$}r1`&psFhB&1H7bvm&CRXNe`f#6{E=Ow zmk31$B1wo6Kq+Jh1B5t;D1?ybc?GXf2m&t%JkN6+Cn%H(g}@0MMCirGrr5C>0r^7z0kmeUQp~TT^Pa z>5WA4Lm$iQKm_HT9R{+`1VYMy$cV@&6gZW+#=^$R+{%nFQIhK)IHXXklv*_wkVqxH zXfQ}d$YEZo;8Z+?OmEa1h{!PHRf1Bhmg{jLMgT*=AqIg6D8&E@7;unbKp}%1!U6<{ z86~3xC`5>2#xMX75d;Wegi#4l#9=wSMppV@UJjO_nCHxFtt{-UA?8Yp%L)n#%gQTt zdLv;#q>MsHA^d+1LJo1Yl3^1sjxiE=K@j+TZe?FSU7l$0F1*~9u52k?==ZlrMfBO> zx>;F{=B~;MCpSh#J$9jV^eOI;hJazj`P;L{2eY5RV;LDThW0tSNj<;%Gy0z_{ zda9b&tFjuHWh~CRe8=i6@!O8szd`q@7@;d6rLcAoEDnSOD3-ShmhO&?Fy)!rz{pAlPbmvrL5OKWYF;j8(+HASnTO($Uah?NIQH?C<&dtXNf~}a^TL2 ztlzJ%Pi^|F+i&mcj*1Os4ddU>-E$`7$@OXPa<`8TP0B2{xA$;5Iws40Majo|O%gwy zad^K#yM4+DKl1Lxmd@^2> z*H4>M@3imG!h`?tnxW2{eRbP(3Gb&Sz~4_+bc)v*t?P#vCMZ6YFIlDN{yE>dTj{JD zE)6GK%by>dEG+N*vytSpyh#WhT)*Gzz^Rkx*w5}KoQNOz&;97*LFZD- zn7I*MzFu$H@a2m%uNLkHPc?SDn)r20r$F^!>p=}3-r9Ha^y~4}4OWMS?bMuF@$PQG z`1Fjy$scak>@A<#?4#e*3m-pbD57>ckLLsh^V({!vuS$z$>*yaWg?}BGC~;#m(%~^^;;H_J`~na_ zYq?McWKj)+3_?H=1&C4r5vSHD8IbfweRY+=OrymJA%qwM5+R~UYl$v|7+`=<`X6Nt zFwH+?N=;!5U|72~LI6NO8D#*Pq&>(4^Grda^nWB;0t5lX%#>saAYhO}nJWYc0t6wC zFkid)WDGD`YX*RFB?p2CG6*qaj7WqK0szE_=Qzx9JjNJ83;-5*zPbh&YnWsNM8XIO z91<{u7!w{d%mIi*gaP6p<`7~GLWUKL7obulsI`Jtt;7iN6hQ=tC|d+gEmDvd6ue+= zXKh>8(bm?I*D$@oR--YeMrf!s7%Gg08cO8)L?*8ZO_Vb;b-n`tA(nGl83GhRgdjtV zq1plwCcmSEQHlX40EL;t%vP&4*ANAPRpr%{I*vzX78Yua%4pCN4jLe#dL(F+Y6~-^ zQZO0~1||^$jJoI?wkR8eg);)h7nK5!qsAI~zMqlgl z=*H>6tDLuUu9xHcSugtB;mVdl<1XDSn3>eM{pdOF&LR7Mby+)RamLzITsCiG8~s!} zHuR?ZzEIs<=cT`c!LuJpEe{&(0>7JWCm z%vN^#cy&owxOJlE*&vG}LvM|~#nQ&^i}MV4k>vFI&(+lRHI0VN&aLs@QsMOGM3sNQ z_Ss#e=e_2fvr;=mOv$;H(_Rx^ba9X6y5g+!xjmA9O|%)kBGIqr*N>7LNzb1YpAPMu zTjKFn8yFquJB&Zm%&xM^c;%XA!-bCvi+`TlvE_Q{&;*yMH@0lO^C>*j;>pTmsd@Ec z_fK0@AN$U+t~;XRx0~F^BDu?fPJT zZgsO1_}=WM+4;UHzfu$n`|o~duilEDSo{ii>G`3~xVEiMwVh%9VcoB~hk-@Toc?Ej zm%SR`=u!WG!v^2HbN5~~Y_Onphfebc3#(OL4FdbCR({Z&&sDAZIDcQ7gKws1hRdLR z2S@L}IidIc%XwYPZjLz?=DE{vSEt#n7l-a!_52YzuW3o2HqVQ8p6etT%eM~7jvpKD z(mp-LyVK-TWn{>;dP}PF4mv7VU5_b(nYH_ZWuKJuUQ|U z!p}GZY2Bi*od2r{KCgXqa+j5N=wasNK^ zVqQ?km%B%;%zmZ=>6z@~Cs@^s}_~ zGXj?DPVRU;CdLV``e*g0i}@!m2FJ6Y_<~gT&zo)X`iQH0L`7d18mq`V*27=XWkpce zXAg@1URnJn?9$7%8&@uM3~Vv#N{f0zhZbDe?}4wa!p_D`9+lwJcB0*wtiZ`F7yY?$ ztDjfE^jpH3s~kiOVuCP(2yh%j7^&3E(n_#*RI6=7B1n=5sw*j9BGps?3IL-~T??(#wSAzloW{?47aw$TDAd&@}06|Wn&?*!VA%l?; zDq@5cyb3FrT&h3_0TM<3=BAh|5&wyg1^~$Rc=@Yx?Gr-)kXkhjkX1o)7BevAsQfR{ zpvm{a004-|;o1l?fB`}nVTK?DL>`2){03lIN^2^5=Qs`_(~BU8d5-5fp5qXL97Y&I z#PgiK21t4!8X%BNh6JAHAY?|dl2`ExB~+@RTFpU7jiNy!BES$Ul;&1y8yg!1#|xOF z2BIseQ8FdMvhiKPFa{WDtu37!xVX4AR9Kqc zAwZbtIE6q&y4D!0E?}xEgLkbuhD2qOG+4zfdU(iMl*9w!v?NA&zF{#!NP*#;v$HU zrGvGVt(8G#A!g5o;=|YNTqw02C0y zoK|bD2$UCBr@H*rn^)=Lz$$s7-Jp_gounWj1a~c0MmBS_&Bo1?kQ_sW;XWR zw!`zceYZ3Z=W1{#<-qYpcYH2yE_#y^e$VBLUFSy)hqN7Xal5BFp|_^*m^P!9HUBUW zJ)ZwFDLFiJZ~fc-b~u#S`B>bKu=h9HmOpEtvB9GGi6xf?tIM78UL8$urvJR=Nz>l< z7cHB7_V9_6OL>>S1h=cwV>&$aNZj7%(1?TQNM@A-wV3sQn%@>e22cnN5m$3{_41URJ>>1 zkq&v0P1{Yb?|J9lW{6-y?)0dmw3*%+1SMew}TH{`i(X|@3lYp%I8KIFQ3LbX8Vsh5lAh@X|~~vtr_e3 zrPq9z(Q{_ zU%f8}MvqzQGjHfrx-PKe*FjaT*L_PW+HW0a8+O9S<3M=Rl8JriGzeRG)j!c#s<~k3 zwr}RV@YU04YtQ}b`UcLtGa{;U#Cw0_vHP;$1-l13b_E^l?AiL&+@BH2{(CyuP2PJU zDbK5Ac-)A7U2U8)o2V>fd>W>_JuIY5JJqJglB%K_o%zMlQ&!nb&%Q#(c2IRJKXd4x zq3*iN70Kgz29;kO8U3eGUd!OO-7YR%tz@x1r`C7A>yzi^+o-=Qxjw}VzbqQ`!);pb zn!BA}B!&Dsbf$UmkiWZD4KH7zPCmA^+qO>m`|E|>nO}2w$eQV;Bbzuqy1D4|jLTM6 zI3yzmj3H(m#)v~o1<Gl>pKGssc00weXp#nF3c;c!1a8Ik~_1WL>lBnBy=sMeVMpGG9e00f9a2q6N9 zNOFBEpcKpTak4fLLk0mhk%a(I1Q>vr0f_+$sJvbS7($3BkZ~p@&~z*?dDH=55O5p^ zAwvj5fFX||j{!yyaieCQVBtc7m!vfSXv8a<_fh|5Jg>CnZBZu zF$A<)&caG%X{BKjAx26hk%*#BWYxG@r`0L7D#`%jIZh!6Y6VpBfQJAHKmb^0RH&7_ zO35n~SYd=1a}+S6$z~1!qX;k#Fb)6=0OSA?AO#3eStg4y1Q0L;Fo!uFAr4c_AP( zEwpN_m4yYyd{ud+fceUbit36=r66cEYMoAR01~LGHW);T0im@99Dqz&3i9o0iroA6 ztoDC<2<1u1YK6)sybKY92q9>m7H3%Fa5g!9T%D#>g5}J;YYwcrT(wB^ZRhJ5mJunZ zmZtysf{wOIQlhP6PnxAOcd)$9jDbCTTaDj*#j4rph}$uPOXiv{uUm8S*CfAxz9tMS zyC8iD8nxLk;!1G-)i2qeTkB*mbyeDMkLNdYc+uhYHI(jWKBs4Hx1SexMNBGg`l#)# zfr<5U3tHTMGH0G|+_$l#H#;m`%8njLSJW(P*8UD(cUj*rkDgy@+_B-MyjeRIwjJ={ z#&NgcE}l)TTJ(wB8|&3NGUJ|{y!QTVg1CRKeq8HJpMYhpPdQYyf9mewwRqBoF{+uB z#sZz+iL-SsjDG7t4~M?^?Qp#1(E5h4e9MN7MvSyme~AgVpEJ z4+!#{TL0+Q&RdmNl2;m^s3!cV=88@2)ML%*XQ4>yt9TU?40zuN$;Q2|E@Mqnli<_ ze}uyFZPcCnL7B$}dw5H2`e>!Y=$G~oNR#aWN z9ysc2_YQBSgqaUtaj0)&`-SVyy^8&v6!3lakai7Ho~{hrUU0a*`-y-R@pw?zrSo>va|et((oJcUCE=3w~sqyERDKg^XiJr z>2IwYFHLga`T5P>C$IHQTYevy{xLHRw{N{*K~N-D*tp%3kl3paPtNQ=;laYJsWl1p zPlR-Cw(H&VLEZzOKbhXSgYst&5zbBM>MYvcY3vho;NX_&z7;R3SEZFEuAZ|)_3-zA ziMrRxkv->MFPhZs@;`;!C4TmBG~iH<&!vI?4DIB5Yge>! z-*ZkibD8RWqYlNpEqnFqwf{qa^ZLT@$wfUZp0k2hAq%bQT)F>isQ-xj4i5Fdp1;sD zuh;s<{?A`q54#f`bAR>x-6yVmYxFHUb+^yWfD1NH;$Adqm_8;~v%zi8$6lq`MNSKi zt}z}Vi|Uf7nBE8aXh5CTpPQwo>qdZL-E?*J{psNknx5jU9R$7JfUpFpR8tL<3ZN3S z_SWXsmP#9IM3rUb6=jyzg0;1!UMCdii`2;1=!hs9C^6dG*As|>iUuC5fd~~?$s?6y z03}7$yh3Yk?*uGV+B#O1<$ue{O6_cH>o#;Xmg>GIrvuCriK74@3;`1{k3~^WiO3<2 zGD-=92q7#OjXH!7<~flVMIy>;CO|1b3?UA2oWTGDATT3A7(%U3uX#hCfxa$H+=~Ae zr#yT0Jn^ll)AkwE!=ruu%F4g#@4kFZd|#SXu2h<}^lj_lRkysnAnncjtj`5Xz?)l| zH}Z0^sbiJ-rywQetFc<|+qH{<8h)hz`1#|fTZ0B}9FV~`LcK?!4nLP^ycY-ej`V`rw;pz0bRiKwy)ND`yW$n#98#G+0z7;9>(^);0> z(15i-Ycxobl48j5JkJXP76ga^HRu465K?eR;MH0|t%eFg1k_klrLWYh1Pz3k5d(yh zL`4ZuCMUoEq&FI=Y~5oRQA`1o00kHz#3090AQ8YIpgcyLhSOMUt(|NvZETRHLR(%~ zVXW5Jm|NJ}n3*dcFw`bcBf?4V5*;!d8S@tqp95x%}lyY5RI){)W03gnvbDk?-;4zTszk?9| zuZj3yS^@$9D5V^6&hxjFJ=gOXV~ok(6?0=gwdM2sD9%gL-HYbox6a;Mp@p*L0gVqA z>8=hndab;!js00K;cSVyy}bsy9~qZlTT}Xc$n)#V)pcjbFFqM^CgS5|>#v@&DWi1T z#=B13s&TPJk16L8Op8WNu39p9_~LBoX+0ob92(NE>cRKpulD)T?wmXDas0=O53@dP zI#;;cihZLt8mq=9EA=vKTT^ZZjd%o4rfC=V7Q0<4A#{o@$t%fW$vywNPA(eWs7c5E zPxN;+H&=Mw=uANHzJu4#{W>>i;H9r2PeR+=dAd=nU1U&|ht(zoH$E3ybWGW*4Y$3V zGcn@jgkO!XZ5~kmY0j(nOKUgAk>!V6n0Gqk$oBiQSFa1N`liSeefq|(gD+HdbctRn z%vNev+W5O(=O5QbMtWbJw7%*9pPa1t{o0QBLT_&OF+VGk{pQH&KT45}npbxBx$PSU z+#b3uaY8MxumvrD+Do$=JKGfKH8vssJAYDdL}vL(wFk^-{ZYMK){?a+banbguY^Vu zGaT2S_emH%Vk-Gk>V9wQB27rwrs>Zq{Q2NG+xO*nM2f4lFirtR?d?NQ#| zul|M$lba7H`egU(iY(^365F1`@!pz zTMqU)S|T+eg&+L+g;zuZuw%Hw8PdQ8Nlg~!0& ztzWxr-cV=JrwKm~WoJB@P|#fBo$uwmjYqdc2#wxcxwiNh{PE+;wI5AOl_@nWIj&e* z>BQQvo*a2qeAvRcF_+pst!iHu`GS0b7cbR)c6R3EcHwpQ`b7y%YSi3Yy~hQY0+uYi zK#EQ8)KQ4-TV*B)IaOj_#ZmR&Cr?U!=ic&puyNwepE2_{Zyp)>wnn*DrO&^YE;m^4 zd{F0eL6fJXREvt<8g{p5jWPjsThzH7IlM{YSON6^JgBC#`0s6*uIvdk?#Y{`#y&f$ zj)tQ*K3x1da$22D4IgzH()RF;%t}L!v)UUPE2}~^U|kZqfFOb# zAP6x*3^K~8fJLV9thB7Ov@`=U$=+s21ptt)bGOr>yH$fl7CdkXWtyhTl0+G&93oB# zA_&QVGtRI?Oajz3pmRVmCJ;dmD9`~!f+vdT3FcveZ~_@*NW?~OFTVl-R!foK&=8Z4 zRj>g6zZq6vKblK?eEbU+EnK8jn8WE~%goKm;7CISLjp>cFC7?K(2|;|5y_t82(MHY zV5SKW$|Ni-tW3GmRAeq)VE{pf9BKC7Uw(al_1fy=U8qoSP)LZM!=@@uqeMgq62JV+ z%gnZV`2-dysJaxF=B9RqE4u1dD5snPjF2D+7~_9q1?<0*0)PlY2J>Av&N+pUBa8*{ zUlI%gz!8Kb|NN&BP9fwN{`>zrR~gqShY)Fk$c#p4G7%22Bm*J4i#l#7Up0C2A9 zI%hh7oD;|}1CU_=b>Q*UI0haJ!NZ3$0I`k$L_h}=dD0C6A|_F`7>qt97pI~{!bU<& zg6w55T1!=GSA_pA3 zc>X|}f&OhlUbM(dw3^Ui_r2Dot6yTTo)0~NzStiWiR7#OUy<%L<<>3Bue*5P+r0Z? z_nSEMRO#YV`=+dUF<$6UZQ7*CM@MY;b~mbMdR_m@^Qglk!|qM++x>fW(#%)GvsO*r z`TO4d4?|iPZ}k4$zIw;&Neg%9rL`}x@%w3zQg4-G^Y!1$5B@rqce(e@IgJB)q;`4+ z-aWq;SnXB4jgb|$RLe@*{q_3mL7R5B)C(HK+GsAZ`YD~<{i|)>(Bx__H;Q?Cj5S(+hBX*h8uJ1O(`^{xTAjK z;NL#;T?=DFAANb8`@3ezw7s>Y zduiS3emN&9i*Tylt8m$yg_qeDHZp{#3`&@K-Q0SCDdOD7C(fR)iheF%=TG;!-EM8V zc4kEX7RK7c7B)8zAKF8RTXXeoObL{I@bjyopn3eTQhyiJYmzYN>b3QCK)csP+6$CC9T|b-sN_ne~%I(~Ba9;g? zf{S;GGjyE$K{|gfbbN)~n<~`}J+!gS;hu9I`d$6vaP)1{J9KY}*a4x@FK2bER?Dwt z)#+`A_que0mK)bB{6MY9ikdclNA%Aoj`wb7Sp9YV3m#nB@ZkKf^N$VO+45}n*oi4( z?fH+pooQVRdrvDAvOc9>%@>~vwo17)&%H1_xW>07UlixP_@qbwxEH@avu|GQ`43O6 zoiO*wJMrxJoSj}zC+$3Y0GmK$zo5;Lil4-p1X$i=ok$I47Rb}PQuv2KgKq~1q+T!|PG-*xQ%YaL#1Teezl8I``oFeb!*z|yvh zth*QPA9uKcAVCmgpeU}~97W8w`j{;c$egJhXaG>j zAi123amI8Afuy<_Wh$qLP*q0)CmccKSs?K2eMng3Zl0Ey@%`&BgK9JuGH5oPa6yzr z!jMW3K!hQ#a>faP7&@sAC}02rokON001*@rL<~ZXq30#glLP=9>WpH85$J#^`Ds8b zN+zS#;^oaKk_-kYV2h8z*LoV#fp|HS0*nlhjE(zEm@-uO;I4>oNng@DMC!E81fjRuPu34+cz0RR#V z1WYi&k^lrmBoT`Og>J*6rf(QzN zXfPSAR;!nl17@%o5yl=@6+uFf00H_pcf<9KFSQ5Jf`qmG z%1@~|)dBp6H|h9~Y5awTenskUGOjC-w5sam1zjIki~KOELAmF)L+Kv^-@GX@s=ryy zG0dOQs+E8LOQG7i%B2R+X+LvZX43Vbp~adVC_nIKP}H2|bD~tq_l<8i?@9Sw^!r#q(ep8F3u>q9 zK3l;1&yU=*t9Q@vfLZ-lw6K&cA9bp7iGkyu3~O1kX@jo|?sxemI1b(~P_fF#4$Z{! z>E3#fwYvqF??0vPJ*Ir(@&*PU} zN-1wzwEoPNxQChTkDF)h%UX4A>Z%#uMPJX1e^I$&;FJAR5{4B%RMMW>?B_K6tfxEU z&+1~14WFW~t@*b0q*9^E?iy={3e}GM;~IEy_wzvIRnrw+d)zf#Eo3t*yJ)$QH5>ID zuwi6HPF$3Gp9`(FP`%`+xX`Dt|2KiMwbsB z8h)zYJkWlsy>_xx>IzNmb-#A|+0#znE>W^{=8@P~(A~UKUDZZ?x-(&PfylGVLYGfD za3Q6s>$WMhS;CG>X`NcghmN0+gUnZUpE%Zn-ktNY_sDXat6%EW_jF`JY?C!b%bsXe zbY7nxrt3v_%`Mi_;9X$-;cVxKO23lt9T?Im@VQ@Br)sx%2UK|4ApBPk|0h;sg~Wy_ zi>7xw82;C%-q*n`S9R}QuIesC?Rbb21qFtJt?XY{s&glmWye)IX|GNFu zoy?O;-wBrK6IY%rF|5FRwM*bZ;$P6JB64ZsYr%k6fkL=rjIImDc)T!$D72tZxc9S#*^B1;%xq-!dp8p1#z#I3m~)d6G( zVZbS;fB|lRSd=7)u%_#(rUQ(;e0>TQDQNaG0Ffz_at3uyxFAyEB4!zz1Rw!Suwamp zLE@^SL#|=06NJqM+0UB`E?^`kUoUKwY|Q1vRPr;K{d|<%TnLFQ8w9J-C!>H*;Q}Tf zpMcQ9fu)KHCIbQhyLESZc4kJF-Qg@+rbLOT$n;--)BdLBq-4-sC#M_{;-VBH2oUtN z@gh&SB0sAL|2;-P000rN$CN?Hvy%xRLjRTHK?o_Oh$F@kryi$-LF5Uyds5|;QjJm# zKuHvc(PZ@Y(NwA3Y#RwBb7~_;Pgb^l$aRw>Pzcb*J zL8vpp7-u?lX{t+AU8<_68WNCXl#CXW!DJwkfCz#FaRew}SRjHZ5>b+5gJdugQDpgw zC)5~61aX8RCY&G&fvQuNs)}yK?s5Tv*c=X#C?5&=AL>H6Fwt*_fT^C%))ZdjLZ3f#F8&RjA@Y4^6JLv zA0CLk`H+FH&2)3G5x2Ik99!<$z&c&8u1qf0jIpSZ4R$S?-d}O8@_%R%pX8lA@V;Dq zW6RQ$XYY%zgJ`yO9V zrm;)hR6Mi8*66$*KQp#B=$p}Q@w}NQlNJB~AOJ~3K~z@Vyp6MZ1|OMysZWnZn{Le* z6>+!V;cnrN;**COBTx2dx!r$Ht6^H(?I~}5*VxcwLC=-zwv0{4Dizg1e3vyzTh?Vl z&f$Ug`}cOn%w90`lv`dL*UsxY%c>gMDxhQIvrXQAd$4J~Pil{VfWAE|cU?u-)Vtrb zX!Ienr~Q&oF$uHC#}QwvENW4pP|3<66+X-=lv=sU+{wo(UpuSCT1)NUa(>C@-KVSO z8sh$m@(KJLw(QaDvA>J~;ZvOv2Pz-hT)EBV@Ft1wPkYVBn;VP1+1&r_)7o54r>0Z#dc?d4fa_*%JeQc>B0x$&rsK!)XG~v9UIp5 z^Q+{#F@;uEsx6%zVhb35WNy9n94E)*CxO0HWaaM8f3_cktBS2QuZc=W(~EqB!(BtT_qqe5TT7h3gv zNbsuV!9QERX&m`EvucA7$FHW7KCbr)uVP<4>GQDdF&Vx0B!3njPC8Wk*PKn;FV4-| z^=Wt7YN2%h<4@N=3~6O-*>9BdNa?OA#TT^xy2oO2R|)^Tzqi-X)TyaUR`#lQ^t|oS zj6$35o$47;YheFfPrm<*E4_Av8d}4${QZ~BH_7uNArC*jdC_DE3ksjw=kd|uJH}n? z{!hj#d$OT@&X;oo2Op~SVSJDK!$;4FU9*1TsV=RXM+8@1b)i`EJX6{I`{JtGEu(z@ z94Rw+^0?+R=ihehTiJJ4{ij!Ej@Z)RNJ{Yj+4I^rY*wgm?z6zN>bmFyZxut$;8MMt zIV^*0UxyuY8_!o7*ihRwEa=wzm27EvIdgmO>rp`=Ev7sjxSm+NWkLj|sy0dId5X@s zu5-7WQ4VmHBB$FC(KW^GaycmloDy9Tn2sUD954(J=UCNrq*D>;>c8?Qz#Jf^Ln<33 zh=9xOPD@Q=PVUHYW~QZPIkHMdh6M!q=4RP`eoOTC_X7yH6o<{8r&A_NGD4yw&q>oW zDCeTpA|UL}$x#(%G>W28QtVuHy9f~kNhX3(cTty1b*hT$M7qu)!W?2w5E2P8V1us! zC5T0=tB3=fV{^E56&nR&61l(yB1r}l1JLPKR7#N`U{L@f!Lo=o?qbyCR&|}bRL!la zE{$qAw(mcF3q%MA3^JQcCT}md4h4>|By$K(n%$GQdruImFNIw25Yk zajqze0g4!7g)u-mV~kVg`Km(BJg9(Y!7x9|!GR>nM8uFF207=H1D5Zac^<47^8hXc0VDuX2ABW<8RrZ_B#4sPYy}9pG^ay#>8ji5u!~UARh0l_5G8{sn+!%z zNrekLIpb8;PX#z^>YoA_V%5BwWM z&A$l!|D1*pBLvXDQlDoEQpR+~XpJR%&P-o6yJWMNX#A(-_U>Nc<<-Cy!4XSecl&!* znzVAru2l>yORFtJNVn}@zrLn z3(Osx*es~nr4}8}?uzL9ZS4C!%c^C(*idPwwa>0$wl3mL8Zu%>*QV{vH^R>QA9{E- zZj}}=eD^W!!|yRC(mM{CTs^v&sq}&yMV+mlGOIDZAsB+|Wat#H{cl&98Uv+oaH-=&QKE z;+0=`rP%qaRvis%85;F!nCoA@*n8hrkr9&`2aMeQsQTpwcgy62 z1`li#zvWNQ@BgsD+U_^LH3yezR&smb07F0ses*tHu~z-l4)h$N48L)ttKO|w@4^)t zUn_DyeOBbA$ML^WZvXgRwOe)c{#mW($_}FnWz>2xW}S7^l9OGUteF31$;$M!HGd|r zKlHiV(iiiKC$Fh^ZN%Q}F}>P&J+(%!eb;Eo>gJ}q*)K-q(b%T9%8vM4HE;a;(iw4| z4_+JXckAGzPL8~si*vT#ed^U}`4|1Y)cx zYM$Mdm6hkT>jp`ZWeFfa0C&52MrsaYTve&d2~-s@O&16?8AXg4giNQDDG)KJxHZP| zECw^e7$E4@6piVUQPzPf$p*8R$?9Weod3;AOV3V~ea)q#%Y>CIo{^SKtfsJ%#jO@| zjx9GcJHxFg{{8_1mhy7*K7RO&MbW=N0jBC1>3`i0hqu*iFp7D3dAWJHMw4tZn%y=v zHz_9vU{{_KK%{D#s%dUbRjDo*WWNIbW^d zb~$tcByLku|NQ;-_A|HXx>Ng+_$}9-t1zx%>eN-6>e3iTkcd#Cl!^vfBoZM60I0fM z1Q7%UO$VHFUH5=<9*0^d280my#6=WcCzJvJFv0)}NJNAXN-0J}2O8&;a~*OHAw`IZ z0x+3?C_)H1qm)uz5U?c4h+t6{p$h@V8Pin?D5Ih%7%ZX@8fDR7kY!O62qqXpz!||v z5(vW3tti>KHi5{pC>y-YX3^kdu|NQ1$v_!%x}14-8)e*Vwn&1Qot>SXnZq~}4OjNHR!*=z;xo=0Of15JUk& z$T(*J5F!Xf1Q1gOJuS|FBSDm8*&q@TBZ4tuj8n!DB8&l-%MCaau|yE^90ei7j6;{A zW@Tn4C8cDhWowF(lbK;L%1Ys2=!rZK5g`IS`5b@|#{hT|f%%MsXRQ677s3CgtEw3~~ei> zB;K^to@s4-bin1%pB)E$ocf`~>h3)&#~#YQYwp}~R9F$;!UgM&e9?O62vEAp=S-zy zFMFaipy`G=NA`xUn{qAFhb*`EnROs;e}ylr&el%vQ(?;8jtjzTT_{y_$nem#jAh*l z42&-IQ@UKVCQh{P?0r0;{f2@SeCNHYR-(q`Uu_<38+|DK(YFh=I(8oLVE47K3Wvjr z7P*dpBzC^|d@;P)d2{ceym2$k;|h!^UH)DFYsTVNi;lkZ|5l z*vB3{#uV*Hx7uA(&eiO_=s12~`%um6v6;*HIdw|uQKeqBPH$19=>F+X=D1^S?wL5# zr^?JKg^mv>cQ82vb-kD671pFszgC|HM;4A4m;^uD7N!QbSyrm9F)qDmZo=t41+K`C z{hnX?z2ZW8FRT4i-uL|E0k0MeUohcT@xg1G)mhQF z?6KJq{_|~{>lgHW`lI)bQEN9G>Q)-wo?3czk9FOvUD=ft`ew@SwsV(wZCbx1oD^$* z-Mp&!MZ5dV)m7DQ6`fVD$ghw+9}hn7r|g@0;B3~XQLn%5zA-pr#9VF0#5wC`HnCoc z9OC;dWlzcHM@RY&AJVmXPLt`4o>%U)WbTTkuaB*_HJ-b+|M6L-EdLn2=fFJ~4IZK>QY1w4%Y(Q@2364}=1vqS4!w*Tg(IX7aH7Q`eA0b+quaX-IL=^Ys86nL;&<3zQ%RIm4U-%9suq030Di z1k4cUi1`)pE?*_m*BYRy`u873MRDpP`;(dS=g%J}SD;Bm-Udn5EJhzmQ?0%}gowaO ze4YLU3I`V|5<)dSJte^HQoJoDK_D3!X%5BZ>*r^+T2sFyr^~6jTXWjo05XIT$A}{U z1uU9nlb6NpXAvb40!%fgxK)G@F%WE&kw6#(7;sS(F~*Gj&t)Sf*dWWQK_x^WOeRbc zI1!LRL=tns+*Er`w#}KPfI?gVB1Q%QOGxFwsplr9ro8@^_9M+@cQO$ZFUixzr~^b9 z;uHcd06+lcfC9)N1_*-ul19Mt;pTjc6C#KZ$N4K2|JCy4m;Z3)$*?hofJeGP9AX_p z4H1e&00kfzfXNI+8AAjZ*LB@Z2oVHIBq$@JY{FD$M%k!2nIHN>?l6h%>xMA;w*7b)cB?JtXx01;wPGRczJfG{$fO|mR&RI@qklv9(@BofJ-ZLs*5 z7^fzykt3#Qx+fN@sk-V?Amb7dAi#>-otBpRH$5%a<-i0ZNC*)yA^>1XmMzpvl4OKD zQH*>JU6e)HXoLh&z!AZsLB>Sl06>fh!VqEs6IqgoAVQ27=eouqN3tjZ%H0mPsw$Eo z86*jC@L!iBRdh$5BReBIJta+16lY#8_Von-i=s?b9Y72aMv!=99LTw+-HB4l{^e9X zshR&=Tn;>)B>(4d=;=xX5OBshLI5I!F(LxQB&mZlBL47#3eH~FI)j^W^>4+R+=hoW ztqZ64CW1GQr#|YqDX1xqTd6dfv`Nz{GTU(((#A+1$ZgLO62bK+N*{WX4Cjj6_2nSN~Zf$@3uliw}b zA274>=Qn;Qx0Wt5=THgD@ohAtf28x+vXJTLzfZ`B628>jyXo=9R-{;!FnM{6>@~wD z+raTpO}aE3*zoSS{kOxv(*5JF{qwfxlv~lwM&ByiaI)!%<=c|W;|A0^vgv&-zq{+( zb`LB=2cI5UFs<=6txTDOsM`%b%{w-fHFp*1a2-9hp~C zS(ALK^ur>l(Jc-4Ze~7jAnp2gYu(BDDKFHdeYKk5=cRHZ4|aOd^UIie)hY|JHr_bsTZ@l(P9=y6l#R?}*O`oA|{lyJM zHgCMzR-O|urRC-BnF+UFyjr_@b~Py@eBRt0Jtj2yyCA!lkKxnmSzE4-m|D5yvy*F9 zm%i}w@R;AnUnR#mf}6#bT7cd!{_=Tl+4=nra%!!WP~>UbTb;x%{n}p^Vcl8<&Ws+t z{O7M4ujdqhwJk4hU6CR0@&?|hxXiyuhb0xx-Q06Eu-`B+??NPA^Fh0M zuUhP$w{vXl{mH3b(XZDRKM)5cd*H_lWnPP`H^= zP`O#%*CZ5w=iB<_(m`$G&i(rHrcm>C8!mpG+hqEf89P6v`j_eT&*v%&o;0}Ym)g=k zdBgt6BNt46eZ0ll&c|CzIW6k$~pTy9Erz$m5~XN+M2Wl=U7j0S_Ksnn$?s)7*X zkU|VN2VAEda1IfM0wJQPsfyF#5G1j9iO|sE;n~?aE@n?l|7&+U({s|_fB1-ip{T>= zf||o^bGYoHC<=-L>u$I1)}St!1TH|%C`C*#5F`tVuIIX396{O3N{l9Jps(BR#u8Sj zDnSF0M1&E86cTQ*$i9I-ve}3U0gNL6xXv+#l1Vn3jfe;;RRM#d!GI+hKmZV?8~^|W zBA6`}PJtvzl1d095D`QOA_8F0ZBy-;4tI`|Y7_!MI3`FG2sX(^$XIS_R&Gj`BiErD ziJuf83kI$M%rVm;)c~Ui5W*N^x(*o-AfX&^#ylPuWS*k}f{+6U5h4h2L@>_xQU9yJ z^HeqH9!(k{QKt%#fMmo7GmM!aaEyV`49(txY!(e>Q7|BgC_qdWArUde$O}k>$PkJ- z$jLP1!aOg{o#(K58JrX$je)GJoLrl|K#^bovCFNRE!N1gr3?nM;#9tW`sU1YAOU9E za~*cO*~?t0Z~=o^Hb|0AH4b!!p~cT2TLi$FB#RsYMNt@~5Mr0pot>$2&b__80{j92 z0LJeoCsnilzrvIUG)BU{FwC!5{!(UY<>3 z%wV!|EIC~+gk{-agpdnF00v-?Osb+d9Bzlr>ErDy5y|PY=Vj-(oG!D$gnW@Ch!8+Z zIiv_NA`=-=ke8L~cDexP7zk#g#bow&I#j1yqYMg?1R2H{Fs_TDAj`%)o6YTVajHYk zn5IG^A%r;q3~~lNwHY8GUi;!+6Q~qg)F&Hbm8LM z@ed`XdeEKR8DlLY7Z%>|a~;#Q=D~h%n-mYsZ29hfyR&spjr-WZ|6RBuSsZkHp+Wx3^HljjIdd=cvD&9$2QKxT@569LI z>oBC!O5M$~67&UI5a{Z5|tH!R~!pNMKRdv>Va^+nj3 zAz#PUD3#lP!uyZ&N40x%FWmCLSg2R6*H&%Nml$-)n0%r6hkweK%W3XveY^9E5Wn*k z_V(Y=G^)~*sarS3KbskMXL3S|p6Pk={IxU5xIG7M?BCqy*!bp)+@H2R(7H!g-~HqF z^E2xqH-0+wi!ZV!f&5Chr(p@>a3+W6G|ddoZkGgR~B((!JY$?E2gNrv8Vr zeT6c;-}H@*UeXN@F9)Vy_O&hwI2hZ`Ja15gX90aG7aQB}QEu&f!MAYFwgrMeO^E4Y zy!b2fo#W4x`+b+Rsn~11X+v_)_ZJrpvR!-;<-LFN$h7S}+jT44{`9!gXGc#M(IM=^ zy@7@B{c9x~^u73X&;3dBH{JfH#ap_yUdGRR<3RO!esha-xO(??UfBy*AFk}DFB?+0 zAAEgQ+h6Kzfdj{Fr&iybEd*)3qh@_=p5v}E)iD2K+^mcjHJ2Vd-|=SE%+{l7&dRbk zS#2Nq5&h+FoUoS7+sb*$nfByE>>g{c^_%e_i zU@|dCHOM#w03(b62TW1j96>A*$zsF;(N#(S6F3nG;($rAY%m)UB8tmJ01^zc!D>db z$T3oMU1K^&&}cRT1~DN_!#Zag&^cio0*;_4i1`K_pe+B3M^&z?f(DGl7~pNSX;_dL z0kR+fN}&c26M%+P6+lKf!;C>r0bo$XL}85UkTXUpWgJ76UqS4VM+AZ}#t;br{m;ri z0GvX~xTaIiITr;H3V;ws1R#h|kgzB+0W*UEh!PY}QNmbYj8Vz~K#WtPN%r>kvI|bxYI18Dg+QU2T~nBX zM0<|JB*qlVbWfWFr;I8(58MA`n4DZk19-H6{q2O%&+qkbn>(PgyAcx?8q#^(SM;H@?G4!b8oC5$U1DehR%I8gPiP|3=ez{EHwIdoe=snW; zR6O)%==&O9lCSRB+sXOve8ju}TbV=Q2|F@t-#cXZr_%ZTx0m>34^E7~(8Kq4%p2$B zW$E1)M}6@%uKep8@OUr)#*j@&iz~Z|8D3kzdU(LWO{m^ zBdI6L7m?*=6VIhi==9}b_a1wTjCfTwHFnL+^f7a7bt(@p)$LOGTC0+s4_1YInSHsv zR{)0PW2z2(vS635Y5&bj_xgoYj0g?6^X2A;&`ObmYPTsHl(eYsV2Rgkq5U)9)1vzo zZa+)nzXoM(+ex&H;$~ZXYSx`$69Qiu{ZAAv%1SmY}udN(DE&6 z?CjqA!GN`mSG^qR^Yms2I(2!<(Q{p^&1Qk~!m=I^{_AzA3pT_j;eDW^N%I5V~9ppf_I{p*&WKR#=DAoNA8F;xxigFoo8 z10r{M*KTjdhaRPZ;8*|vAOJ~3K~$b_mfu#Y$>dH8=Z#4pJLd6<)ibt4eH@^yd^oH8 zwZ47cyg44xY}=bQFDjmn*d8ABIc~vZ@0OP?T@;O_HcVc7yyWV92$h6b_8jtCHxMQw&)Lg@gnyZ#g{1Z^LTa@kg++8(0 zogZHFU7HH;KlJOl$5q)7?`=zHU%bbkkg`GBTw>QjLkAwOQmsk3BHfp*S@~w($rYbh z6n#H-+x8MSSH(`PSo~t8n=?B9?s}iv{S6 z?VJ8&b#UE1(fwYWS}B!lxjSq9r|t!>#n&EquidA$J{w-w3n^!K`{jFb(dKK~9XT?i zeA&qUH>=*5)n(Gr$=hB$-qX59Y{uSqOIFnJUUDH(jz<>@_`ETejF4C5{vNqYJE^R= z{_6C}R_(=@YgJz-H*FX-^4Sn#%hMr47;;GlW-}oIhl1{Ay5^#~0+}i@ok7SkVORiW zE0B$V1JA-8(cFrzaSVyX^ZQqcKoG$UBFea~>n72}Fwe=#%g)X54-B$eylgg`)9E5e z^fvqWTZ072jG>@wIuS$!bPgz>T;mjSWDpHZ)3P&i^Kx@D{-#^71Vu|;dTvf?j!2A} zQ_r#6nAw?{k?L^RA?eTz4~7;i>{P6{s55si!nhzz{>7D^%CrPKT4Z?MM-W ztk%#VT}6c0oT`m8O>;P~1~EfihfISA5DqY9kW#<_NAO={D}NK8aRxoFN-#fUMzAMq z1~G^5zfvdwJV;!=2S0b(2h066gM)ItJ{CZn&vugzw&=NWQxvJruruDUh1N>$1zfXw5_GN4nA z^GWUeM?v|iM0#RKn7UJ9Ypov?8NPQy-`gW=&YNGM z%-l|cU(A2ETujTEFJ4{qpoPy#p~6**v*VyIuLG(DTuE6yt^JE{z4?%PGY22v@!O~L z#34Oe?x1V`JUDf)--QYVyN}i;KKop^d~E8qXSmG3kiqX>MlW-8O6wGR=X^qo{u6c= z6?d(Sh+8ml)0H8c0?yPf8eLtzaB9k#ST$?o;(kBsG&AmPb5c2f`(f{H=*7N>@URbW zcVx7C9rqL*$zkVy1bOzr`EOg zd3%2(M=X0+uja7Mg;U3MJ{7FJ=-VRcUHm|;`|RjV_e-p72ZI7O^twDs%Ilcg6bBjjQWi~FeqIX zDqUD}^hAf0F&$<#`qVD7)sn6K(l`AI(KlV7?#wu2r@~v+F56eHoejk%M)u_`pwDC#Q`M0-^tbg0>4~+{OQ2JBv zw=RP&rF31g{6KgqBnZG{<$eLcKL}cVp=e+_WxCE>DyKk%h#-QAh$I;rWneK$7;{}! zY`M9)IoUd;z_YxFC}b1^D2oOJ2x5R!%5|o>HL8QW+}y-piK%~6old8R>I@7D3=In_ zSti`-XT^kYs#9HOnkphJ38K|(A%fsmHH;;I2t|MiKogkgCCe6r(P}anjiM}xBKiLP z$G4xqvhp%j=weu9NK>dnb(WKp>vXCZ2?7zFcDLfvm<}}!DjJ8PEXXECp)EU4aq5^D zjApYS5uI|#MU4Wts!*iK2AM;y1IQ?Y42S>&9Wb3KimGzT31WzH&$@%IL%<|i2r3>_ zyzobx9z2^vrYk^nKF zj8n=v1^_V*+242>=bT^;ML{%~%%UK1&WT|#4hS_ErOY6dP(wE;p%6fbsUR{@1|~DM zdP!b3*=CazGlEd}fDj<0SU{qPMFAs(D5aW9(^Oq`t4^mg&+c$J@^sD37(wVS=K~|? zK_Pm0RGf2{raCm004^w!WVK2*t8BGN7L#PQaEvJg96|;Kjzo?yhnR3c0Z=J%>xR>< zJ5}9fP@O`;5n;ffOf#rXm}XGjV1_{n;gmv3IAeet9-h31sLU8+00Kb}WKoet8F9o2 zWrRY`6-lxvCJ|y{5MmI{ID`-({9n!zV+^6E7aIZqndiR&=)osbMgU}zBKr9GgoK6^ zC|DqWfk1CxFHsgKCk7?dGgTJ=5Fo-3ArJPM0l+!;w2gxQ^dbLWr~(0i{!iB4^GG9# zq9A$#F&F^I7$t-Ze>`%_@WIh18Xxa_p<>)T*yc{qy3ylL>KDY8r?M{|>d|i5wQp_n zfBx8IYunn75AB=P?d|(#J{u04f%!zW{Gf)buYFopG`VWCfkTY%3v|_M+tH7~rzOGB zxbBBTOYZl~qPuGL`dTzFt7Jx@wyn>H2Ce(?-g0YErQ|fP@_GYXhG+?IUTa8$6T#)u z=Vbh7JGEcitJ=V($J@1zo%Z@rfchk=Vl|l3COakht^IoEE)7Qfe)zpl%!I)U;`824 zm>jsF#k9Lui>$uVXL|VQD;Flzt<<17^ItmeS*2Rm*EN$OZ!cON@*S3ZvTNSd=hZe> zWa~n`=lDy7Be%p<$akV(wfUuXY(99d&hKgu=dNql=GTVB+cKssifwJ40@HTg*b`%) zy>{->kENPi?B91mzEcOAOkO&!;hb+rVn1aa^g7rA-ro67gQj~5x9gmLProg0M^O0r z8=FmWCyynn){C8Ll)Jn9WyaFdk5054x$ExJS_S46>h$Q~jJ}0O*XrEa_dyj)`w9=> ztH!&+ekwPLmHjgOuI8Fs_I#a}!wb(_yeO@TcBMw02`7Tn9M_+I>0Rc=^|lTBH+kUy zX8WhuetQd@nbJ3MU6;yj0{X{J-&pMFv7{kYT3@JAZ0InY64|oO^09Z{CTCs?xpQ*{ zZyj<<>vikWna*$Tm0Y(sZ{H%*nj~1M+|@DJu0jjD4D$L@aDTB{-wxMr)1vjp(wPT; zJ-TzR`GViOR?w;u*G5m=+yC*lb+nckX|sLKn-IL+j?}-#n-@ZG?Vz zNuD(G-Is}%C!HGJ;?At_&`o|LYtPELcXq&m@{>0Rrdi&%r;im{n8RCF2)bD=`%tCt zqOI!7?dz+4n@xV|#olh-w<`8pBz$z^!QoG#vq!9_kMXkbpmEPLuMLZtUH5Cdi;2g2 zPQ0ld{L?A?@HEHpnK_-7bYArJ%j9AH3u?`z{IOSPcQcKiM+H=h^!RBOB4wEoSBPwR|vGmI(^;ltGWcY95&Tq`kc)YkCeMXTmi zFEOt2iR~SF?@e$lhzrrg|;K1=}(%m)bO?3%ho&ZP4NK<7aLUnh=#jUAHM1Q^?Raud6}>1Zcj)~937C@ zc57nww05n6WkJr{IY<-$+mQ3Hd|KHZR%BN3_~xhr^YX z;mFL;iH4j`phyPb07EKbK@gCL88d*}u493#E_be7C;0CCO@MmQHl2?7&Df+cj2L5t7z6;u0pw7IkYX${fH4;V!GtiN8k8B1+&rh# zNpu1MkY!O;BrHHr7!hMnpDG6c5S=<)c|^pLqzIy9GI6uT%qh>!lOYzcAPSLL0t6wYfKyHg00_ z1AqbnVp$YrL4q7G;$fVKvM8AqMG`Ql2B8K80{0OA{z__$5e5+bd-!=WiyUwSIr2~= z5QefzHp$i?VlYM}MYKEf3_}M3gqV9ER#-szFC`da0eMcr|0zNbjhbWde=qp|`9~oD zo;MW>SYXg|h;m9PA)vw!GNSpDjIGgk^R@79d$_@U=~hLt`fWAB-{a zQHypqPT77pdcI?Pm6YkNhR*$w7_Zt3UTC%hSM0Z|RdA*{%O3ZWc5T?^>iPt} zyJcFHL;LnFSz4y&!cT2zgEm3RY5+I$3diC6i0ux&GdFZ^n)N*thtfQh)9Yw)iI& zojiEWjRozl_k46Ht-kx=-j+s}^1nJHx{p*@lG5Ut(38*UTWWHbK?U#3pJngbs8-D% z+3mkYEjkgEFn)NCh$S_TZ#=Z`^1a2Mxw&L!`{^%TyEYD7EjF;dsXd_e8t1ez!`8)} z+R^L?Ot@6!Zm~CEKe8d8*s;gC)rXbMz9;H0?UUZC+xv{t?)GUHC$xRBa(&FO?t2DJ zp73p71ij&lzG3Y+#+D)TY8+s#pX;$KbaGoolVs_8YYtY)zs2rVC0 ztwHO;&a#_IR7P z?LRx*xbAA}yS8hun39`tyDkex9J=H4FmmWkKX-O`@Sc*33nq)xQQ;L``_F^j-mde< zMe;Vk-W)Qw;pb_A8y|LkF{LWWuHj#;X6(-IPj|dc&p0=Ao$upGZ$3sIXymZv8|fW) zY-^}EsPf(GV}I{2uQ>+N5aZbU!MjolPfqF;;oWgz;kg^vrLsV+qZHG(^PDT0r-S>v zSypIC$r1zC*{1@>iOLg?WV}CUcYBY#6P>n2PU^li`TFEtQ~V#+op7^&aHQ(hfh_$ISSoA zk5)cQSRCEIacb}3=$&oSu+2lizd6K?1sAEj@T(9S=9kaULQ{ZyD?KzrBF+l-h3?(c;js+1h#)xVdx`6-|1<6fS z5y%?X2_za-k>nYi^3*@+t~|&4_aCre5ugB&NSJ|uAYd6#Xc!D~(Q3BIf?^WQW|J%; zq)4I!6vb-&Vf=L2otj+_4hbq89>JY%=+<<*n^DS{AY%(+7*NP`f&p^c-I`Mez7PV8 zF_smR*=$x6g%CqGbY0T~giMMoE21P~0YI)3!|66Ook}(l3Oe`?(uDt27*G%q79hp~ z#sZchHpwQFNx_P$=H=$vRpQJ_%c44wkYJW&&N*X%Q3fc(fCEku0tg|5FoPaJ0l24K zhB1cz&eS;Ilu^SlG))7Di6TY_GUlo2LXAxe2LMCPxm$JT z+U*o0s}*tv5JDIt003Z|8brjRA}btF2)HPS0ul_aQ^+VF2tpA_il{JwE0T$GAVPsb zhyl`FI$(fk1Q0GTgaH;g5;#H(xQLDg2t~*!hm1nNDWwo0QIG_W$o60xI2W;CQe;sS z0Oy1f#whd5OfeFKe}xwZ9@rM=kWs)q6Xt)hlNcc^U?@u_MNv$OEX$HCGQhAPU;zu* z0}}?Gl5@ZT!v94i=>KZ8{}#pbzZ?<(!T-KFe=lY*h8f@` zAeu)ExE`i&F1nyz^YIBK287q$Q6y<+0H;7$zn6RW-~8U3nzCyjtv~2b#Ln(VXZbGa zoz7yVrF-7iYjS$x;cd^3Z0uw8Ycu`Lr~Eswk0?{C_mpqwajv{+P1esTwW=ShBidh= zn6qDxpO74QG%C8_vvKqqB>C z6sdG-cgb60cbLcSm}_!=>(Z~Xzoo&@S`i&?{kVEC-}zr(E5{7&|M<+LyB|N?EV%Vb zxqn`tZ~6LNsXt#W$8HWQ$W`8ddc98UAn&7=d92q z%@%b)?ZqSfzpfck-r|~9d+qA(7rL|xPU(4A%6Ie11EKYVF4GpApO(_%T>f93O3fb~ zXKBoK-|oM;efc6=CS6-QFXzRHUv=Kp+P&(;-IIGFW39`UPxl|#a){rTHrignR+?QJgaq3 z7QbD)!Qq+jHnks}sJ?07ZnCt~}FKPb^@3UvCP0iPuE-61LFX3&)DG^U@<_wM5NxK#=f5)DF;`O|)BVRt7kkj|s zd}o8@H$JbN^(eh%;*KXho1R!*xMa_Sl_}e%7wB<6yxx#O?YtMDPQKbFp? z)9&_7-xgA$^oEcD-i zdj@oUC!~JLS~V^+Gj?vgsd@A0S9=!qx|w}`>8-Ij3(KCkQg7Dh>qlPhKfEGmT#pH- z_r2-3>%o_pPk9a5Kb=UK$)d=|4s_VGqmi^(L* z0)mA6$;kMNPX$0EI)ad^07+PoMA2#jARpjVPz1pwNeYq~XBa~OnL!9(9C1V`;R28? za$raR0o2FOhXbk;O{e;wjEp>oBPA^@z(0&}4m|uC4h@4j@?3;KRW&e@^XyI$0EQXV znPKP|Mn+zi``z=mZcRlT=Vj)Ega%2H2pD1nax4QXNrIUZOjW80E>4){RGkhd`-_ZY zl1VgKWJQqyW)`bO6fr``Y*kEVQ87sfG2P{M*&P5OUGbJpwtw9Y|L%Su{|noN+yhgv zyK>EvjZvcIsaeTcNuPg`TsgsoP=$5-*oCz(tf zLfz1zVL(Ze6j_#K3?L_ja0oc(B1Q-zO*b^614PX>Mf5TYR2Fo_=3~Y(gopv`*`!eb zIc3DHIyKF0CKf;lVhnRGa3}yELnLA>BP=5UKm-wx1WAITCPF9x04gJIC{D+N{VN6?FFCzu zWn0nGWzPPZlu@o-n^FUO9$l#3zfAt(N?f(!zr#AdUePr-^ZodYTWzNfIubE^dBK3k z2d{1@DAWTl9i1vCOd2%zsP|-htWd4r!{mm|4!-gUI^4oDcFZkXG;)rA|MJ2d?= z$bX*Cz0{Gtp452$U~7C_YUfw}KWjP96dClqe7h1ITh>gxwR2j5)gvB__sT9lA#P)p z%=@hd2Bt3TxbkJ`M`Pxc`29JcU$axy7WP{nQ}FTJ&5bW8OEbM|Za(?MG-%J(N_*#( zyHxCI)XM!{IV*~5Njt}v+1;Sl)Ps5bw=No!adKI{zLy4lwoDnhr*ZS2x0cj-c&N~a z=+1$SyB=85XZZWvuCDq~PouxJd|Ua+ZNC5V6cn%K9qWt*?Z2D!0DF{cWexM z4vgP&&;DgWJiXlI)64h@8?GiF8ePUaR_`4?IbS^?rp)8XPp^q>)l(TSi=avSLbjPI z#YQD~^}d6%^~4|h%UrruB4<;~$<(`>{A;W&JUC%|l`*w@HNWDzOP=qVuy*5~IxkLn zYnwtg&I{?@Z6rJQ3mKmCSau-i-P;}eS`K$Wz^nH%#3A>jbiwl|Bt;inn!WOT)1Iz9yQ1NV9 z{nPu%6h*QC03ZNKL_t*Nuf9_1NQLrmCM7p`busYZ-ljR$)tws-Y25o>T>rS!m3?}a zzO(zoYFy*ny$$VWhR*KM^mp&$?-!hn*1Wbo4(w!m->2Lvq6JNo8DMUH_90P7qL;)f%v&q|Rc9|4_v4W7mIi!plgb5f6 zoNQ0eh@P(8ELI959b!{F{Pj zloLXARi!G;%*e|4^T(d!P@SqEVhj<67;wM{r3N870Tf^ah=Cbr|1y|7#!${V1xNt! zfAM+fd4BRpL=GW@hC#7NJdb4mYwhNobN<-XVQQ_%ai3E~>!Wr-=ak(>;jVW!&z$d}Lb%-z0fp$9%gQ%mx(A3DjERt1;ZyybPdrq$*xIkJ6VaG5!^ zw%FeeYdv~#u?*X^IiSqK>08FOd_UuPx$L`5KU-cTEeo34qFTzCZq}VG9J4#ue?uM_ zBZf7-HZY}R3w?!fc}xwjv1hx@>-1>w;f0!`!M4@y{jUbNJM8Dx@u5?W7ZG=FzNpY+_|wh(9+?Lxtcy0kkz>=NR_gxqzkh1{ zv(36o@!lyl)?B$iF=NK2u4^Xtsb}67Ub9Tnlb5r3ZFs5R(zq8No7D2nXD{|_O5LEr z)0_RMQ0vi)t7Q`UO`r8a_v@BZwcnNc>o)w3pZ5G3`?|1wr#FYUHh(aRjCl0uMMe$! zk6y8V>afl$8~ZI>HotJgP4d7a_f0iqrI0mfcEO+K8iNBTRN3v5Iu*v(k#F`MTDD5a z*VJvMVGV?pN2AMaxml}qwO0M}WU-@0kCI z)-$S|_i8eANn5F0QD#?Q~vdDz7ZaicS7@yhL1 z@L%(nw4Wa7`%ly6c${B#?d-hV7g-mpXk8*#HmSFA!lE(dGOo9o|M;_zzvG4`MK^Xm zboi?vTB7bvs5*1V>N!(K#dP$uY}z{^VQrb__N*`B?#ZK`u~Hr_bl$+?<|aBMVI$mlKsl4?wq4QjN%6*I23y7!eV+SmtUT5He)p;T z70+BLvO2lx+wr64o>@F_xA7z=xVcg`c`?g=R%fu-dDFAQl`V1B*B{4BEppc9RO8U{ zXVS)e?%1l=qJtS@Kc%+y?!T*J;ML$CGtaEC4I0qpV$mS$kQSv&9(tfJ>sfBg@L4ND zdmZCra|@5sdSmCrpQzlDb@jlaFB`+_+V6E52Xg!6^*>$YNW`;w7s4wdVyGBGldM?H zUIM~4tEE8x;1b2dD^@6#Kg>sv0TvAaiB2?C*K+JeX09tICr4FP&WXt^n#?AXB8#$! zFo%#M1TlsfV@{~1s*YT{VQ9YI-eJM{6~#nVov1`YqOZlfa9H7Dg^Kw2S{1Wsu_#_% zHnYvdIibwZ4V`f&2pD0G6$mAcMNv{jfH6SGFEC$7SV&+hQp_kc2&NoyhB@_Ul7C5c^e^fDujhhrN(m)|aK;co2q4A)F_@uKU8QbSbGZ$t zs=M57vlUrvg2jp~7G$#s-d>WIP4@ON`v>@Vd6~=>MOGxvnL!Lni9x7SRUJ-;Q*&yD z3Pqq;C5w+@^EH{gC2Rr&X*zRLXaJFOL@A&E15pyJRpqQJuNvsJuSnLn+G_=NPqwX zh8W?7N~lga1&l!iF-91G|5~^ILMc4fQBS`Q|NFuIt)BOQ2mfva4TBhjQ4fg%aLyTJ zc`JIIjH-O*-s6NA!T)z3Qf_(VtpkhD_scsHkM6q`vcF4ZdF70)XFjwm(Q@RTrHSuO z?(4oR{(P^y1I2}xZp3x@d};8L<$KdYUPP9yR)IGf)ZcgX<+|?*$-$kA)ErZ6QQ4~T zOO`kO{p|OLO}k%zOIUJtUA;CZmzDo4zbakzxo@qv`BEDSI#V~@^j1eJ@t;Zt+~5z)u2l697BtYY8cruu*IIm-`h1i@-Z{E zYS_{nlfy6fyuat_^|yUOdKcT=V&ks?(@y}{X$AP+w75z{q3w`2n!am%Fmx`Ef?j@NIrKVwki28Y^r={0U&jjyK< z#+JAp-Duuaa_R6y{`p0L6tZ(=-ARt#vp$utpmqPJ)44iZCa#x4Rus7(P{Xw;_3M3m zL>UaDsP2Qcixi2;= z@%W~(rb!8Hk}K%s_BHmKg$A!!b12>awXu8bf{LAFwCV1EtY`5fmQ-q%()CB$`}j*? z+RE6~$gEGkcV@Tm72%y;IE=4YzU9QX8<_}oe9)jr;!5LakJC!y(d)pkt&zC%v)P-U zzn@YzugA#zoo8=5@N;qYgaHf2N@B?P+b?fDxZ~fnWbvp4-#%q+zV@!l9NS7&TAhCAX3C8!-rJ<9+iM8BEBMjNL2nk$`t@eh?Z~L}wWEqHml7se zD|OyhylCYQ)n1f*RmywpR;jI5-!5~0&H&Q+CXa6??`m*yEpz8MuV!3qcYI#)sLDU7 zJa%gRqAkv@s$Z>-5J%vbSnAo!ck~6UG?~S z_lc`=y4DWhkz;P>PbRxU*LR(t|H82w?<#!Gxm~wh)t7I_$IiNB>zgsfK67#UnW9Q? zpPv<q3)xG_zzBcIF_||FvoW1|FZ0pliCpSL1cy+TjrR@BeV^iYv zK{KP=^G_Ep9}=>!X~23l`L`gsl+VZJ=j-J!2v`si#*)dTSj=Xt#r)?_mZs*p z>?kSQZBW2D00LkfxHX#RbeI%hZ=028hqV-6oUba=R!o7-NJ}x28GWPQ-!PqNr5W3|-eW z15hACH*f(#1R}JUCDAHLR+&=57^Q?F0V9k7qzrO|G35k$*z^!_3LrzC!5ak(V(e5^ zLb#z*m)pPsv1+csAa9ciS-k{V2C@hg*+aV%MN!JlwR?cMs;cS+5d=vms#`SxLmUDI zfT$>Dt0bDRgdhV9aH3JCrnzefhPtLP=6Ni`9B_l^;D44*4ghD2B89|4MbbT!y9v1_Vf= z3>kzB5QDj$8ZoFzHen!{6{{r6o{bX1@k%x1aZk4`Eb4tJf01+l%-Of$LCW-%!$z*K^&jvp zX8(jz=i#v=-!k|2l>Y9l7qP6Uyt4nRCi;!izO7qNcKVkl?^G&@b1g)nMxmxks=So9v>VoZECx1@!P<$Sz#+? zFBrD9o2A075zFQlAF588Rx@8QXV=gUK~?K`H&beP|y`l#XEgn0e> z*ZX$0i8!{v{m1o3`ec_1vX-8hJMVs}#nZb~0mIk7x&LOP{BwHm%L8WEo!6BCS1zw9 zvuSB5(b<(1v? zwQJ#??Z&puA9B7}Sd#}i_d@F!iPLJ=TzzEq&kJqNPhOJVZ^nkfdF5H@I{KBFQ>-O4 zpC%=*xyzpouer)Gwp!+>`F%bPXt=&~VEm4$$FGh4oY+13cwp;GM=!Nn6LR56@v?i@ zwk)&UT>fKrDBip)GtBO_qYXD8w;0LmJccWo1Siz zbNoq}`#o>Nf940bJu&jx(muP_bg7e=y?LxP@?8Bp%^cl!*bAKaRXTag?O}W0Y5 z&*W_3`X|+HwBIG%`t-3-S{3n=>UdjYRPwJ|6Lx2pZ~x{^#{QY_x@{=Da{ByBZN~-v zxjH_cRKMRW#Q)mk$m4~;tEZEOR%}(fMskI6H47JR{Wj?L{RqJ#=kvA(`1u6NvIsE; zfC~avLjSDbGU*7f|OvhMHC_80fG5!zDizB4ua5QrBNh^A%Wb$9CAZ< zI-G8+O?Bjnkc$XNh|99z@8{!XG3$BGw1lKDpFaorhkBLrRm_qkBUJ-}AQ-BlyL8Q^ zt4_B|b#X=|QS$ckvDv%@QI-`sEId@xwSYiBi^Xg)+b{qYMaBp*&L}c`0=*I7h*E%= z$)<433`($!&3;z@@L(YqXc=}lPzhrO)u7-Jf}Zst_awppM$-OO8VQoa(xv8;k%$)H&diC<%g~$clgk06mryBw!@TqO3@wBp?W>L0oP(MA&Sy2^a&; z3_~NL2mnAB3nCIFK@bE0Ibp?_v>_LN4V&tnIl1togj*fZ_|XsUp1*&kMyuNkl8)8w`*q*s z<%^dUzj&s7`N=I3_qe-dj@AcaGZo z!*y!^*Nttz#)fq$@O8BBUhjj};KpI2!>i=qbfoVwcr_>UT>OaBW~*)c({sGWO)Gz+Q8|rGCELX8fG8U)HZmDCMurMdU`T)C_~qJA0BZo|Cj6crnpa**nLhc{8d=i?)Jn%m9{OL6MVAM z$V&=udQ9ScgBq7?%@^Z9CEiQ`z2xKH+}!T z3-x>MSUtaCUhzZu3$7~YHbT27Y|^U*-t9<@Qa?lMjG5iF@~wBJYV?uv{e1ep`Rayvu&_E)vf=(z5#mw&+#4(YL~5il3+pVz2kTxb488!)HhC z_kA|0Q19=ny}B$~7_Q~i?tkfeNW|Ryu|wzaIqfE#Eb&$Tp-(+s=EbPrZKig21{^** z;lrut?pdcF3>fuud0g3;46efLaRkg#9ZWrbb9O*t#Xm^jaLwUEBAOCcJ zS)9+A3L)Q9Cmu|=IDA6HnLQ(FRBX8uK8QZsx%$zCPj?q6agNP$zpNQ~Xxx?|S)G=b z_8nN$xYTfH(_VYNjW;hV)bB=}BF73TJCakM@1HU9WWOP|&wBShyJbjX(NP&gs(x5_ zdJ1oM)O2f1H`Ji8tI?G7Iv;*LsaZRBUBlHASDq{@-YC~5;+rd-&T^{?ibp2G{Z9lyP$=$#OBpq$?7Zx3NkdMJ3OeAb!Q2`q%mO8B@Z6Nl zq)!Pi?!}iYO~djP^v~~S5=0$gt{GlF7Nl`C$ECXr0U}8h8KuNvx=ta)HZNOvp)d$Q zU|;~}KzAFeLp3W_Lw92Z7Azh{NEO4Ox^f-KDZlNm-0ZxpP^Kw1bN(V>B9v&Bn)Nj; z^G_NV7!rV47PA1Sl(E0VI)D)JxD6php1Y}tWdsppfEtWJ1|TGa5JD&e96?DEAz}r? zgApR4K&>XED3atcQ4&ft0w~vYqG^U8>j~GRk$b%qJohCDK`uT0l_j9 zMG-;{0bqpcL^p_TAPBu}-jZ$@oVjHp%8IBnNs$<^+89M5GJD$uNpP!>Qo=Fj7EEm3c1V$ zD4I=X2)Id>F+>I1qih{|cSgmHoEMoz3 z$QYm$K!Z|MQ&m-UyH&T_t!Wx#OjT9GF#b(2B0<2Obf>{QPNn~Lf$(o+5YYc+CZLC< z#Q@|U;|%AF1IhsM#27jIm*)!s01R-JHgd?P*s?22ec8VF%&BE3rX2NIp42n0SKN#W zrw;bLdU5JbqCR3ID|6hl*Ay7Ibx0`XSTjlP6l_@G|j(`(%8Kz8bQ$+oFhKm14W)<~~U6`YiOz z@`;5ukFQs4_lGAhvkF#Co0ju=KzRI~>A9H&*2P^J2eQTw?YU{sM(K9ni+8p+{^xR1 z->$dSBe4<3rk&rq@Jh_UsXj~E{Bz@EUSRfCx3lFYzhBM03d|c*x?=u~ z$3Dyto?WR=wL&ZPeWhyLRX0%mpQQ=!o32Vs8`JquwZvxDYYS3(o$qtDWQ&SnSJqV> zKXla2-|MTF%Bi}deV1(SoBJZ0AHQfFpR}pdx+Xity}`M=PxUOeeO%O?#1W`!QqBsvlcivdhvR1}}1>LXS{N*?Ka-(N0#mJFQGq#poyFFvt zZ_CXx|CCMMU;XW_W=o~i5!o9j$0SA_<8?p3#Ls@eAqAYg=DnN2%T33R9T_!#_M(*i zGvC)b@+iuZ?1--UCF($vMqTt`VxxN}hCThV>9(W7)sDw%{Ota8&&3}%zxUl<=@uG# zwO!K|m73i=vth!dX@9&=HI&{am+;HE&NOL;*XZM=sKoV^uPnnR^AxXZ}jf* z2Va&b(7VXM4q<*vjGOhchn((e8TNSKmywrZgEj9u5B+1$HuPONZCBZ!+m07YiaY<@ z{nZ~fO&k;8eRj#Zk_#_Z8vG!k$e^K1s*WFh>2Cb(km1u`1Xox#$Q~c<8kgIze9oJf zg;p-q-F}Vwt=d}Z;nb(YOD5!IRM~x$cuncvaNx~4f5zNT{RJDpC~#rOmdXol6Nk4B zf82gk>jFzo{4RPgrcK>)kwMV~)1Unly?=j7i<&b)xneQho-_{2c>cI@xoY&XQ}37VfpDY+JPDOVG3z3;QWT zZk9VM!yXjq_VSVmF(@?%A%G!Hxz%Fz_x1Dj@m5tP%a;711$=BijFHs3DL%Xa03ZNK zL_t*4Ox*=!LC|$hbzNkF2nCN-k8=hfM;JjsAmyTtXqK)@fKvn^)^&{ozzt+4*$hG5 z(1_*~1tiD<1G=WGf`|b?2n(EZo$`$DNlEX20E`@Ncb>!L{OvG{CVNgc5UI^qv3N@m7$F=%EC`qZfGCheB8te*&&NN|UpAW%5)jAGz)*q`78H{NA%=ia z)o?rVa*$gD88Jb}bLMcLo63Quq94L~6 zG2{?X1SKp8hU9X)1wpX+diw?XLk@CsvKitAGZ4a10D>aQiVU5A>Vz`{D1#JX4zM6t z6f*)q5@pVqp=ySv0f~!(q{x!lY?4JmK#+6fsX2rH8c`%kR1`&)Ws}L|3v@dXS zvD&?ld|bbz<$IsP_clKmG^4}xb)g`l<}>? z0egvYK4W*m$!`u{IdeU{Xa9kEl?{==7 z{$pNlT%-QSPIVeMu|V3aGCg*bK9+YoeR9*PmG2fm?B!km#G()I=fyX-(wq7lC;95| zvgMofyRFZxH+XN^Qa5fDtT*|M+o#&SUg@`<%&@~j^R_(N5qKf}l`ZE)lRDOO%_r5l@o^1#U#X!L9}P|j z#)C?yRBC8+(PC@9a4^aMg;f+wZ}%H@+2&TyePHwwz3%)tdYPN#SUJBUf#; z@kZ(C_}~EvH_x_SdTL~U|F-onK0BDS=2$CHq)8yWL$Ioo- zRt#jRuyXT|IZi!Kf;)cy6-Q1%B@Y%@&pR{;AA990;vX&kIn-n5;(TXczAKq9 zYF833-mX^Z8r?264KI;deSh034Qn@E-8e0ESX^AIlf2DzH-mBtJci!XwTCJ zr#9|PDSv%_!m2}`dYIqG?XP27eR=M@$P(5+KQHR7ifTk zPuzRwPSGYRVh6U^fns-KVT;(^otPL{*oCdws9-mCVT&TtJ$37x^ZR4Q_xJOx2WGKm z4YStdI_K>D+A-Vnq7pxD1s&5Mg?Sdw-`-??!sx)kfmPC#ug&LP!eUUp5}z|0jy`=x zuJiS9`{=Jj9*8I0zc(B8r&7aCt@X3~R%HKd_r1rWPp$2v7e~IZJYLbM@7$Lw7Ii7x zXmVuRLvuGgofWnru7fU!`|%@1R;`#*HC9s8BL)ZnNZ>@qs6jM&x_KEyBZmth((LvE zO;z&p^9l=PO@exXvs-22a8OL4KrzLdDl3|U0V?o_QHlX7X7C||5`}PxBZP5CqyR9D zX?9g5nx-fs&m#(%q*A7dJg3PT<{*TGFd$IquuBc^Y6sZb<3{#Z-H|t084+tU6lTA8P&W|j2 zXv$7b|NQE`CRqtA5lR@N)Cn@6Q_$!l*#HDg)d+$b(KyEGFwYQxm;w!A40r*H zqR8o3vEm*G5JpuDR16uTnyN^uOk{_uDpXaNrZUDbbm=<~#*pWcyV>mN>8TS%O(U92 zp$0LBbO;LwBZ!ekRlCDNxSZ6iG;^w(m&4#@qzKycY)X+tWePZ^;{}Kr#L&R$0Rl3! zt5k-nYn}--N&wKCMV{w4yPc;RuhXfjrbx1Z7d^~wZbmmqft$(fW-^(LW&ojpb&x?# z(F(KkR8DB_{uW<6@wzp#FbufDrzVl!j23eF6i(0HlCWNU7_(v%CA-*h_1=J+_Q8fjYtFwNJjiyi&%Bc#7Ek5^y$_AIw=K}K zE05opGA?cyUX<|YL%{Lf^U#}m*GEpIHm+g2!(@|fC3|klQ zp+!*nlw)}-Pguv-c277^Z|ae8%IV%qCwMhFwYBNj8T{8K#YzwJe^l4x5nnaPy7QiJ zJ?M0;k=@5k+*1Z_@{CG2^X8>r$Sy<5vO#_e3Vl-kigklGdvBdPY?ysZ^C#DG-K0f9 zwrbnMnjXJ*Xlq=2siH2ljQhv?t2K?z-i7pqkt%Xzn+uY{0}ryCY*BFF!hS zwZ~~OEN1J@=AS0+pHoy&{#ZTBxsoUM+fpMwtsivfQm`d*Ktk`+>We|;x`$=g{gpnT zxcC7#xK^eA*B$mN9;v#mrLw;bNd#=i;1m5WzPTE{;n(2arRz;OIi`_YzrCRw1`Lc0 zQk6!Bvy!{L$*+FA!2oOdjeoZKj$S;z{ek}9!gu=}-nsnIr?aKYuejcNK;uKnDfOdw z&no+HWy|~b%sMxRb!$e~ek;~Qyr^???SfZ>$86fSceH-snQy`3sCKl&y&Ai;gJl91 zFFnyb{`RsDkq1k)o8xzA(`>KJQ#YpB1_j-lTWo`)O}D2?@n=H8ISeuuL z9=p#UyXoeZTIC{t;`)31=gifxf%k^qhjaJEye%FyZ|bU3<=1?xHX@eO)}GAp4SV-e z9odkSYg4c3ypibD4U@P1qJQmG9sXPjJFxD|xWe;8y{gV?Uw-+QX4k?tjTlhr@Gk%H zHQr}08y>$r`nz}dpe;kYdx5p#B|Z8+dA*_FT>Vt?{d^bQVok&C!OF3=Omg$4OUksuEZ0E+pA4r)_Nx)~+Aoks`&VwG$NV#))Efr-;QBmxKplxkFE3~(F= zFryFy8l&L$m)m-s(PFU+3QA7=mY(#-pce~^3f-CTIq_}I?=;aQ5<)P7kReBry)eH( zCkRB6zdTPW$|-dBcH?*sBV3T1pPQM76p-~RBlY`VlcyV@jMI=MGtZurZ^n9p1f$-> z5VkvP2ol6Wh7jZ-gjka$#sL5sp{m9dy~gnZ5_n_~b%IVu0b#%>3IuW3pf`wm-pwo+ z3<8D}F&;q*h$`7_Hc2ZgaugO=9g-qBR7usG^;n9g$+83hFdB>o(P$7vj^hDg&R?oB z3JK#0(*RSbYF9OfEh{xsKzfr~zE?3HgmGp@W=>`77GA?QHBK! z8PGJ1Qi3=n=s2_4#Pi5#)MFk2Kq*rRBMOnRfW3=(F~D>>y~Se5%*@0XG7bO^>dm50 zaUWHdMP9Jv7g4PMU_c>Y&MlDrOBVgFlGi!ub^XI-xMu({rZI*PC9VoBK>p)K0RXS_ z@a!u)Pj&g-epSg1mD8r>Rj~D)(7)WfGWT}xj5rx`{Q1XY&8%O3J}zG)e^&Zt)_kxj ztZc2uEtDQ-v=81Z2e;Nz8<6k?cl{mS{VrY*ht0<;TRe^ZYx#NY(QvWF@zk>eeR323 zY+M?8_SdeH+~a09o)iBoILUcX;HSnAy!`O=c9#}fQo8z+_i>bpFy zjNY0*d7z0*Fg5H}`DWYCejV6%&45O!ujBIy zlYFc}MQ4T7N*UV<`q#bC_G*(z|9j(Sou7Yi zwc%_FkMU9Gk6&KDA--RHrQO=nK_&JDd~Y!AQU6|%^&?|TRA2bu9rD;Xx`UV;JLcY? z9g!td)4T`P?;gOvU+h1ke8jf-!^X8NHlaGd>3C*tbfbF7<2;%#8gOdW4M&xce{k(* znZqOI_xUr&Yn>7Q4vQY#+i`yDh7JKGw!Dq-ZL%^n>d*YlpJ)Bso0rz^bFRk9=gloA zlJ6bgQ@({?kiO0NlSh;MR?WVU)Un$7h_(JV96Q%}4x15oadJd-qlSZhn!Tt!BvT3x z%wBe9Z--)8aW79d_%`Hsy-EEm7Bf$Mx$W@h%T;F;bilJ>75_LeuH~?f^)EI$7<{eP zB5K+(r>ob#dRh=W8rAbk`y^}O;fZByKe)SQO(IU{w?D#XK$g8l)o$a#UiWZuzgPX zZ3hI{tw1N}bvm=CH(K))#eo!#BEk$Nf#*d|;1!uN46SyXP7okN03w7Kr3^Y}C6F=5 zAOsjt&1t1~IgcS=5CH@M0SqF*7+?@00I>6R#u$SD1I7>p00ROTKnM{47(-BF3<1nB z2sNjn3;+n2MghbCLZ|?s5FJDqLqZ7ygm-CR8B++85l0bakU^G{nI(#%i8l}%vE}C5 zc!V%T2o^dr@>4Px1PEgu35+nwYF8u~L#cm^0JAWc&UdO0{D1Z!5iWFJ36k77Kb8~YF2tcaJ6rxcGR7Pb*Q4~!t@+Q5J zgB(*Cg8(xmINt!kn5I!h#To`011eKhB{w5am7pkQxtTK{VA&bjx!DB>VQ()VgTbT$ zLV%Y4H-llCUzG1qBtgd;^#(?vrl<@sR%kUCbymBBA>`rhi4eBs=K~6Ph1nR-G*XbB zotv7K_csdyX!Xgr=M@4BRGZylwIU5Ut9q$S0H&PN`KM?Oht*nW(KLmFm}x}d1ienj z>7c+1Jmw$(5JH~gc#gw75_G)YAQ}vMH#ajtKvDI2ybn(mt4jdYvwd&y;Plb8PruY8r4^64Ac_;Xi=*pT*vl zN(vcej3VdQ61d`MoMbpHnRVZ8UD?05Z^Z5D{V$wq_I}>HQpRh3%_?jAM&)t)jY3B`g401RE{sK^K~Aoxl`DYjY?)aV6ZjOzp zJ`!6?>@WwLfz%MOW$8=uCe8 z6yldy-5j8lnNq#aulNRcb1x;gf7aKx+=(Q6)85bK%8h2OyI8gJr;49EZ&nyxJ|o~} zo8~c}e)8e^vIQq^B<9+a>`xwhHt##*X7tvXr+;bfR(9<$du5~g$8-&Pt@fEw`%=f}>UIyWW%?e_fptNO*%J36^80L(x$zxK{) z&toD%=&`J$o7S9uZJ#+~_nI#=zZaD*KfU);+$?8)YNg|w&qZx+)3Z9R`ZngB?eEJ8 zYb%a~K5h4YO1-pO?A^2K(&`04BWGOOUv*7~n>G3eg*F{9E{k5<-g$KM;9hgu;Q58i z|K>&~HN7zQ_vcX`TbPD?p1bkphy-yjpgtxg(uFf7Ev+UC9TE{+K-E@A@rR6IQv@|754hV`oRJ-k) zt)IQ)k~iiLatu4T#4>MA{jMd~E0;Y>>^HAGnDplC(%E0a%1*IGoSV2}Q?GNKPEOyw zsM(%My(=Hxnl81uJcLdStk+_0^oE!du>7k2lpR^QZHZqkea~6te_`Rs7uZ=+9s;klw0> z=T4u+&Cb5OZtJ(?NMY2E@EZYpuC=MU-=HPUto(IOqZ3;@rF`Bn^$S?xMg|TW z4Wb896%VgsKfw>H>@aeoQ(x{fSuq4OKp}Oed;kPpfs%+Y#t`^d{S5)6007DW1xR%c zV<-d674PB{CJ+Yc|0&`jpp+r#s@XyR&DyAn00xi(r=6N1NEn06bw5`*00WdjfEb0I z?(T}BsImiN>}EC*s>re=s}kfmqgjtJC&>zC8qgT8Qlv6OC`S~cS{;RUilL&YypC5@ zm1+vrG+u9aWIM1ZPz3b64mvbTX0GJ0iQYO+hcV9}beRYLt&RX8#1MrL0Vk?}j3P!M zVUPg?Ab^~J5knl0d4a5XvYAF^4z~aEM~4P`hN63Khnnr`Zirkdc;=o1M>L zUh=UROeT$KvL@$wxl=?6tOXiXjV7bJ*$o1$sVYQJ$te^?!D_cbjw@cW1jqAvd3gvS ztI?GICj%p#m6=tPo@2`@V1VWQ&C2xoOPFTKFDS?_R7?ub>3L2R2#?$$AsT>8w%Q9V z`5Bp+swPX`lBd~IZ!{@3Nt2n(VWv>3GAa|SiIm&Yw0S076 zao8P{AwmhyW6s@dGMXU+0?!u}6%-XRf#XF{G?)wsK!M{qh84S%laV9Kk_!Mr2oYis zF$RItt?%>{LI?o@fC9!CpcDYe0Aq*&h5)6IGUyx$ySnNbqbqOuWb6LyY_g`zrs`Nf z?9%T89zFx}Qw=qJmt@%jSGVGaPHGc-xu6^Kf4X)0w47}%w~d{*;OcAt1)V}S>Ixq( zZ@DjO%HC&F1EWfj8BfOUhzjg{&cqil)1qaSu4BIS+H+sLRjom9e7{j=qcN=DQt^I| zI^6ocwaWO5dG5ZAo^6?#38)!K!;>e6;$PS&l`YC`bAcW`>WL*aLWIv*-uVo*DeGR>+R zx(9zBP`K=5pEvOXXT089S<1Ip3VGrg*yKautywo-?7sPP$NI~`z0`or39ssXDyri% zS?>EsO&!10|MK5~d*_&%m%8TO?&hos{dUhRsm%}W6x@5l+<>lw4)hy&F7$80JnvC# zV&V42yF7}n_0+doQU81c>&5f@_SBPx(8u5sJ%A#&oqVw=_iLLT>4C#0r_Oveqr&*L z8AY3gN-Z9E-Cil+U7eG{Kb7;Uu%=bu&B7-Q3d#M3>#SAhJTFH(E+0H$Xk3XzP&nCNnP=6e6(z9 z+;42K?MTRxb4h<*zZkc48*I)U>?VX@F7nBQZdG&6U%I(3`hKZz8EqVcKIs>?Xx(aL zhY^;5NEY(0b8D&F=h)J{$0wtkLdQ2}R=t0E^OZUJ`fknUQ&TpS&(MC@enc1+^?d5n zYje|MU$#`58{4S+6ux=vo3Ksqj{JPH?^l%WRCc0z(QDP*6Ca+}I368yG2m`Lw+_C1 z^M;G!63@))wEWHRp=;v?)Ox7*PrH94WY)YLrRxtLm+ISi#)LR)n%|IFj9sks`(F3k z_s0xwJZ@u^b0}75I3|1W)s`3O^~uLV4QaYW-d{1=Hv6EQYiN4b z@uoKd2TE5?jvpAQ@IB%DUkCrp!LRSmPm6hQ`P_xFIfGihpWCKEiv`NF;!9KR)oN00 zZvgmwJSO+ilq0?RE^AU}%l*vM2M_jmkM>L7_u0eVE4tXYPH)!T3Y~ryJV?(T_IatU z{-=GpHMggf*t213oLi&DcR-Ivcek~lY@X4y#@)`=Q5CSDt%FCxbq?pM(F975yvOo-UIvp?Y2qOl7GhPii zOMaY+dh`#{LO?NN&I`vFrWhdz5yDu&9M3yD-LXNB9V&20OqEnifi*KT?{8XOdX~*@ zX9h+Ey&hoBSr17Fp%lmx$uB6(Dv-=(i-(8N-QC@+H}OEA05c$H3?m9TtmA<|6`9H^ zAgZcRyM;iAnMKnRj2I>sSyC8bRHdp-WfU<@l^GzKBH0}XLO>}+5ILBI!$?+Sh@hP3 zfEd~BHVBa*2#gRx5HwXo67|rTG)AR7>(6&zR87;EW_QRAUdEW`AaBpG==BCCB|xcW zmt~8kfHJBUsK~}d(co}65D)S^jFb{IFD0YM(K#)Pi7-IO}(aUvGqm*foXiQUxf;5IWK_>`09gi_ryGLx> ztD`+uk1hRc%7N$6&!ErQga(&uFG?J~-|ej`Aj~_?Upey*0!<1z4iNV)vMWe z{k?6Uca57nbkvp($G3#_{POPN_}TLhm;1W;#i$5Fzqb!cS-5H)|D@IJKi_lUwn}=+ zZ5a0R#G{qri92hz3=eW^;az9Lu+fdq{AzV4{BB*6UB+}E@m-}S6)$yovVOFCuhbP6 z8`M7*(CqQzMUArBc5nGLdtT!`)!KryxWT$6jh4Vk>4`myweDhzUlwwlJnhx5`J)G> zNA^XFLYh?@HFlU|$m*2Z6H9N~cx>i6X#rDCO!qi>aM{(yGe@1-KV?c?{82iL_*hXc-<6FRT#zp(16$g%zW z7M!YKd+}*Pn@Eq08x4a;-wADc?pUr~{H;4(@q1MJ`a4^73fg%*d=uM{yQ$j67O^p9 zrt@8i=lFf6j#?I;=}>@M z_t#rnpP5AjjAEc-#&Zbr4jW^H*^1=6yh20^jqX;XTalYF*Tdagm8p++ zaW9W7Os%5Mtm8SGtw51wMv1}{qUkl2IxJFAp2bwc&CA=nVzr7tHPw=mjv-(GF#s6@ z7(sxLQwV|pAdmn65OChXMHV4|ffK#~zyO7Sx>l0^yjsr84n`SdE=r2IW;IR^my;TW z|I)1xWfTF(7=#cI01)^eBnbc@kYPrE6DsO>3>c$?KnO%0Q%WEu1TYK$$8iWkNEy>8 zP&G~?fB~7xuBZ{nAY{D2^MVLfg=$Xxiv-3PVU#hTDU@LW@_>gBa+*pdyGk_TG+#47 z0KiT}NL??PG6(@=6jFc)Lli&&5#uq(@tDUv$03A~AP7994ypm7X|h&WV9m#4KPNLCSq0z|;BU=A6P4nW2vAWIJ5Bzge=04R(?2pM3x zg;|U-gpjkuh{qTJh%mw!8#yCHkXW_M!VKr(2qR8o8UO$?SU_|C_25E|;~;i+++v5- z^5bs-f(RjubXaE;2%sE~G{*jZO{Iuoo(GU-IkFu24$NbN!N_q)QIw*hqN1V#Tak_D zbveJXzDOu5Im@WmbBHS{EV2|7YMPeMa;Qx+n@plkr>JUPZmz>FF^F^q1E=E|U^a)n z$YxOqp$Mr&rI6q(ic{)5};=posjwEe;uua?Emj+KNB2i}sl{6x zAL72<8u+cs%T50MO{%i^Sn0?%eb{viH=>qFo2O<{tf0w)?Snj!#7wADr6Ow0zFW z<5@Q+9MV41`Qz(J2iNq7`{K#0#>0+n^WQumtvk0q-L=Hg>vQ`S z?Aq3Gga5bN_ugDgFc+-b?$e|4{t1shSE|zZS?Q~>MW}|J`&M%XyUw;+&{QmLo6MD~1Zv8RpXUAHH7MAzkZhyFQr@d5=t^T1JK3kIm z2k&3lXnf9DPtT8~Q$JRJJmS>)?1A3nCZD?P-Q!2G<_7MM$73Jwt>0l~AjM}Tx!t(( z@=5TMb4Qc<%=!_S((HwQwp;4g%h`Bgs~k9}B1gS45(H|FU%&GwhN_Tgp8Yo$u=`_%fy)A@!!4}Y(%Yg&}QaiVQN-5p6D z^KSM|nEO0RxH`M(=wD@)txYd^q|K^5TIS5Wz#dbcRb1G_qu=+ODt_73nonvIp`CoZ z@#D68#s(cPrA9Pmda3`O3Dxhq9qjw~+U^>IDm0E8_9o$L`>MbZj^54vyLyt*w$^>U zkAL>#X1lJu{k=ggb@63r$-Z$g@lyYwoGg9+1y3ITKHIL|pwn&#UtM1~Zj)#4uRhjC z=Cdug26$c>eZ98dg&);JDjo=_-EeV8$BiYk#~Oo6UMr0I9{vYD9agpP@}?!P^~rQ= zGj>?Hz6VDx@w)!&@thNBU3>2?SkkYOcgw2n&ut6$^PLp6W5Mc#hgT;BmODJVHxXCk z6Av~w2pq*H5C5GUIyHg&{XH|!O*9$xqR5pfRty0o+jN>uWPsUiwqHMU5avZe4fFB| zBajeCDWC{K3Mt3&5HmC(4&=6BKCP|v&AdCX%^ZB1fJL;Sp zL4+7!6aj{uaomJ54L}}ZfH1-wKo}v!cn-^wO;IIEG{6{#IGz(AyF_~<{9 z*7>n93IK)(XwcQq4x!USK&kWHW)xt^oO$IC0%zU|0M0fB0GLV$)SNscga|^&7*G{W zg^KfIguoRX-~{;!AOJxGA;iwAC5Rvd2qFnGNhW{+@b4Uf7=?fV%ISDwRWXJZz5qf< zHR5pC>~@>YX5)2Y5!3;R6bLy0U<807Ns6p+80QPR95GAOix47>s6{r5B+L2v`JzE& zjA6`i7$FQ9baI`H5GtRhNq4 z3##nW9?!oxdz|-X!_d=5gV=N5ve9#b2b7M^j^hVTFC#W-HT8Z$)iqgVx6JdHIpy?G z^=8nCl5pvVHTOqXU$~&nAdeRF`b5v~QPcRaqN!56^pwu-6iej;8xIdQ6%reC-`GU{;a2XfNk1atJUV(vRuR}NWY2wU~Ip)G7Xoj$wR zQNN10BUkk}AZ>g;B{}AJyY?|fJL+G4EA~G;Xnn6o-%|`D8$Jmv?7nkquT$`1mlE~X z%-=cn`-=ks>GS<3H{LrWde1ixJjpHgeU;qJKL$PcvMK7-%(+s(r(+w-o9kU)e7;Qb z`J5_S=1r*{5O{Z2nYyd@PdxF?IwRC}cFCCvTdBLe;@sCx5rQ0*r_v_g$#)GTN#VoA-{^9dQ?>c=ie6?>+@exrggB%q) zf7o3#f>pXzqsEl8Sy8Qr=Ja_MA(+bsqZ9hw%WWSnPfz*yeW<~E!47Gdk|$N)a^+Rq zJ*|CnSB*Lodw9j&Dz%3g8X7;%jF@_57VJFX@w?WyVh67_%}OYCUOd)3tpCJf(>9!% z-YJO-uREjE`BAx@hSqPo_Sok3%F3{+PeaEIEr@J9KcL*PzH#U32v4LXPfl;XuWS2y zEN&ea`FP~zfV54s+`|*JYH#Dl)E+S_>dnUGRptdWGMX1}Dmax;s&2CuAAhHP`dRZt z*pw;7?k#yxLYRH%>XVkoMlBhf7V&}ZdPg?zOGpjrG-Bb*D%(AaLRYMLSj;gi`&PxB zRlh&99JQVQ6f|XuxfNGb{KoM;6D9Yv;gR*nUK=rSL~^Id==)J(rBl!1EG>TNztuka z_t}thwtEq?Obw%ZL|xdlw_&0OB2rx0cCC8W?Kp5o!@GY^RIJqb^@Ox0_4iaOTYme2 zt_P;Mwf!@gt;^dD4czF6&HESc^eVXfHLz=D#|HS9sqk`VTlZ|s!ef<6E|7J#ONVTA zAJ%8)slRUr-T6>$x_8N=+3({f+*^=6{p<4OD=K-!zqwOCW$c0v)2DZNyz_96j(*+q z4nO&k(rwnRcNZpbg$1(gU>2P!U?dem1Q8{K$bjc`3^P?xEf$L==gJaMRZ0jm>CFgC21s%lh`h^#6cMgT$v zAi=H)9fk-nCx?Upg9sw#v|2F+0mA??#4$<%bYdn-7=w_55J1F304SyZwm@fh5u<=& zfB!Pb5qLkKZQnMO2C z0jer!K#}ZOa;DvE({Vgxh%u%}vZ5#)LKty6olew?h~ogDlA@@LSS?mnQ5j_%hY{is z!~g*1>JBCZFn~DtFG~C0$;K(C0nTmS#b`LoP#B|>0>G9%9hd%fZK(nCw(K4qePp#d zF?7k5p6RAZLzm7k+L};RH)J;R|9rZjRo9PazJ#{hGzk7am=n?O(Y+bo{YO9A(X-d( z=Rd8${hnWqiv6p7Y&r4#t5P$ppSlg7xvo!4(#qFS)7O}Lm0#w&`)Hq%PnPa2DykSF zZQr+jQ1g*Pq|*niT@!+CmHpMX;^Fj!)F<6y=|``KI+LRVciJ!df!@T!u@VAyBg4_i3kklvs1` z!tsdk+BI5*mppTEY{%Rc<)+Vn@7b}S&g_-U82-TA|ID2D=zUWY{$zaLUZc4#w0?=~ zjca>P*tcw2lOAP9l>FuK;9cNkU&FIz!+d|$#U*Nwn=>&_EI4TlyfC0i!*Qj~PaLxD z$KI$aXPchsZCKg1=j?immQ@ZPb@5d5dGFVb8eZjL&0$^cy-kVzdBixkyM0;N3C*mZ z8(j-;?DjXYab=IMHfzXkT5G@X;bHUff%wG-rFMta%bWD{>|tzlbyeL#G(`>KY!A;D(xCu991Cea}|G$2VW8(zqAgwCL9F-A5xr)?Ddu)jjL{i-R$h z$hCc*JB`o6p84i%Sl;V)@A$zBhsM3>rsHegd@$wG=d_<4D}N4tJ@xU(?S_d{g(U7w;i1l&sl-|LFV`LzfIGS#nXl_-XgbNg;jrid81R>{?w~9ei%v;`Jl@ zt_`iJZQ@jipg0I65~Esvj;!Ye9WRJFJ!cXP27}(@<7Sd_GP8>cGHf=5M3YrdUm`X~{03OZj?xczbx2DW*6y$u21c7Q_h>QUJsh0P^q5 z%p(Mx%25b0KvstYA;j3Vt_sda0*Fxx7^9FmBUbqUoqa23>!0B{4onFKOr^=ej2&NRdx)%NoV_mB{aJK3JhMYK? zAqW|BnduNDss{dlKh9|%hw#5Q%VoZE{$UU~L&=cy`~V>O_ehKZN-3m}Aqp8}kW$0| zq7VW^8PM3GLIuMtVH{a*|kC6rR9`k1MjBH3gDfuMr`Q9>k1(qxrV3L(^q zqNvw%9EUihQ35bvipE6B0gMrb=s(Zrf8P&RTRr<1p3eUL7yNs5&Pp$rt%5SfG)nn} zb^2Q8$-OL}w>=viw)(=>SFnE8r(KMn0P1n%Hx=W$4kF{R_bB*y|ne2 z-W|MpT#xD8erfK;#7k9sH5~7Uzhp1T_?EXbw;N3C>nV?zJtD%eKdGX=W1S|CmJCVS z5M!;tmiPKurMfP8`-=hb3Deq@8v1MCqsdV%tM?u;_*}{-&y;2!aT`BdgJCDP0j+lU zHGZ^Gs(iBH$*kRPv{0`W2g1X@9daN3=T-;ZwTEskZj{RFW*%KSASW=t(%fq~nfs1g zhvrp9{VxeqCKVJaS!Z^4uV4A@>hEQGSJ0JtTnJKbbbV8)e%#mhWmi<%)5$bBaTvRN zw7njKkdJAtE2P%{RBL#|tsQf!E#E!h)0Rnjk*jK)>#BqsEmy6c2kptf_nr3}xcl1K zlsZ!?zItephF)>M-^WWUxAgX_aaEeG4wA199T?slRBpTW*P9i-U$0O8`(g8>tWC}0 z>sOp{`(4dy+50G;GwW8{H`C4Me*WloumSs^Kh$U0D&w`}z`lLd@uvsAO}W+eR@0CP zpZzb!4tXyq>CLAW^;-sd2i+WYV_r&fgGp2M>$I=gXli#y zYm;@z5SlLmWt z?wwG&*TDKa;U2Ii`0v%r!OsGoKI}WjzH-&#j}bxk{9%R7_(GQx^# zue^~su9{Rm=22AO(rRnBE$(h!F!^2u;N!D-ac0j2rUBLY2Yb)&S$k{Zsy>0cMvW>n z^6HDi>NVOX*4w*FEi75?_vgnk$B*AO3=FMt!6!Jg-+8||-)-yte$?x`WiS1_QlkZz-F4j?xJ>eGa5F3S%Dz{#mUkcN;d|)ZO#R9)3w}RO z`Bqw;%9m_@db9AhgSlhD(|4RoFw+S_;tWQk=;m&6H@i!Ps^HEWWRqSqARChz)vT&Duc)ZdQleyWziJg64oS8;Oa(2PBPA^-*eU*GGY(}7o!R}1c62<0EEGRYE9^bIEVo!FAD!Da-b`ogg93= zSLcp%Q*;upgi!<`q8xTcjWC3r(ALR`A(#3G0|Wtaf>45hN))Ek>D&dK2hT)>{3~|_ z&c-1Z&H?`nB>*viC~#hJEuHjVjW45+L0Og+g(84Bj>8;J4AfxM>vR}lzz84|5TZd0 z1RXHwv0mg2M$yyT!(cX8?S`VlB2`vIPOrlVsf1}NhCnCqIxLz@%+1YBG0RqkQA!A- zkRiyJtDq4=_^-qPIbSU!j5)y>bJ3XqIMX!g{~*GDn-K&MAb|ff8$j^ieh3+aOd}Km z${>V@0ZLuEOyqQ^11FAz?Em&U2rva4{gv%;eA!J|DX5;$}wU5-U^s?Ulkyu{xYk!Z1N9T%9EYsZD-E?2q z<#1fqX|KLujTjqveCp3S-)>Y1Y9rbwr&jqr=4gwjBfRTRNNjfUgZ-E1i@3TaCZ0^K zmKPe4)G?{SvyRt#6m`%~-c!&A#e!0q7e{zz*1Z09kU7>oBLXjvANtV0QR{pBkFdkD z0t#X_g-!JKPT?*Tf3+s$T1e}H%|qJ$?7CuD0PrjEeq;MFXJ6=APd(J_!>HHhE=`{X zP8!;w<%4y{Hy2z;-1^$n>(Xa-ZXjBb+2t`@VJn%D8vpQq2-x_3<%M;hejjbNwNL!6 zR?qHM7*S^4*x#@=?G+{D?wg>!Kkm0#plXbB001BWNklK^R9Vq(b5`V*SvS8v_Pv%`=-k84Gyyc+VYU*yr3BjSE99=T=qO3m+Q zv6YIS4Xt(gzFXz`H*ckt|535^rlUVL zBEJ%Qb9a6|l^^L|t5(4J+`wZEYeg8nqb{|0Oba(RBaPSx}&>npz=`0D%lO6NXL z_1{u^$$~dN{kM+ykIk)kHz?urk_c^Z{LSa#6{?kw-lCsW>*e%KHH%Ifg~#2)A6l~} z<`|Cdd-r0>+Q)w`z~Z+n8240-ew|*TagF>oJ+gOxS=8!%ua$UL=+aaD+6q^z>Mouc zKIrJxZ8Zk(_8M|+&%{n^cdTDH;{JtL_1o#i&&T{2l?>#%hYTH!pF>|Ao-(CU=Y_|g zJwKDM>EMkL?hUS) zi+AMI_j7C2EHSy)s;>Pbypr;48#a;!F=1J|PM54Tx>fV@r;AGd81rHy?oauwq@{Cm zYklxbq9rg28S-=Cq-s|lPu}|j)H`e+8+d#BxxS{IC3hb0^yPQ<&Eu&}8oW`bMW&4; zFOpZeXRN&T=5vWt<$ zqnY30PE>v3Z7ROyk(@a`)}u%st zgMdKi71Q|D~apjcQ~m?&ZbDmIviii+Kspkg=J zf!$&^qS%UJi;01Ofuew*(y(#PnVI*)S)Tv97hh1|+FiKjo?qTfQmCXTG6Ra)Y~mb1 z${1&yLI6dkaD_sqD2#D{5Js4Dz!l0kK#VIu2I?6E80BhM5kf0n2{?pSrj0|@hiV;v zfLRybF|~mU0>Gd(+6Yxr6d*O?fjPvGb1S{7%9+;F9|8`Df-zGN;1qF%Q5y%n#?`h$ zO((lbTCFn#8Y_v$|Hr4X|GK*%hmdl}0Hj=vj{wFw1B|iqs{l6}O@IPS1dXWE30e_~ zc6Rm#gH{xaO3eT$fHFV?pwl8dTfJT{=nbNyqu$oh&ekmGG{{tD5}*haD9Mz`7Qm>0 zu!smS=p3A!lrqX?Rz{7AL=gf+Z6vccN+YYosT>ztE2LFDubcx!03m3tp#~~k<3NS% zilV6Rr}gU*;E;0!0OthZ@*o0&R%J~kNIAAfXw<2rwzmNI-^YKr4?@fV1Be6ldpQCC z0}K&_95BE*w6^9?yV$>7!_zVS@yL?vQa+ z!hJt991$HF+`3gzwM~=V?V=O+_B5<)vCLzd_b5@n>+y>pFYgaA^r&q7Fd@#bnf=SW z8%|gHcPgAy6w>UPopxBOdoF$fJG%5VZZGw$*J z+J3yl;~SB0Tcr7|3uwRh(2UYPk78z?@cdjQE_ch110KK3Mq^Zv`!H|5vES4NjTc@G z8NI1ve@zpqQ}^MwGc%Jy-aemUSNrSQknxeXHq345(RTLv5r2PWobflE?0T&8<=In~ z^@#4VdvRd!(?_n#Mx{oJ{iFVN3tl&EpG{SVf)~?wI4#v3*lU;-O93S56zX)O(tJNJ{_7_1e!m zvL}Ik`}ymxd&Plgn>AQo+uM27gVVFW?VXS(gtq)-_ow3H2Ng8#-LC)n-CcRiU4}N@ zpE9=60r_~($p^;9)!$Us^W06Ryu|xnah=RbCu@1x9GkJs`@mAK?3!-_=c3>jYhs@- zJUYbX)@LPX;@rAVD?E?-K0r7-J$>2tBks*Zue?9^Ek%C!u;1{Bu1TxxoXyE;T`J9< zC~H&VVZNA#XtGmg5Bdol0k*T*)e*8fPTJ;~AQR+{!z#aVqf4ms+z z+`aLsF~@S@slk`{;8P>Q_AWXbk=;G=a=nTD8#gsplhTaso`&XPn;N$`H)mTeUa4H6)GKTJg03EBDQVQsgSwF} z4KHRaj^CWI?Zu06RaTx=wj_FV9{&BUC7BStPMtT!q6 z`+%MAYM&c*)2X#)`x)=CuL`aXX0LBwmG*3RxY2K2+AY^cC3QDzV~4D1N*J|v?NsMs- z1x^q^96}5*=NvJvNV3Ifrn15rweA!IKplY?VurAqge@mXRUMF9ty}OvcGNlt)vsfW zrGAOJ^G)uy+Sz;ZpMP@lsdaUm?H_%0j1=IuGBfAOj-0X~3%{KV)0M$Lxpkx3YUyzq__`1p7I4!n`J@CpDV?=x@l%nwO-CLtg)UzO7bJr>ymz z_n!N^X_tqakFB4a*AJSe}W*fM`W?$~s>uVfpM|a%l-DcLj=F9G8 zZkB?YhueK`??>VLi+ibM*s9l;cbz}@zRTC9dlLr)4f`H$-eNoc&i9z%OOEd=2-`nn z>-KHaZ=Q2q;Wpyk+nQlhLo+)pGfYgM>N)xS_F`D=w#Vv|_lAXv+6f5*!q5J!obo!p z`hoo)o;2FJC)U^Nj&F^pzR#wG|F*=(_IeiKxoln4TeC||7w^D-&3lG?85M82B>Wiq zIrWau!SU!!X5))njNJnc`8Jx|e$#|3r;R)ACzj6d+;DHNgjR#sPYgXhzh8>ybVr{- zN9=93XF3g!`1pLpgWeU}ZJ9TG+DbReovANQ40{yX&Hu@_HHmA2J>!~IIQ$a78-;5u zsq*O~9fT?fcY^kA8I|PYFzi5h`l+syvp%&*vT1VC`$)}yyA{W{cJXPko4+15ysNUg z^YklgTHTvBK5Xg9)T`p`oL%c4Eu6S^$Kc?n>4W+V4NU*^=VFQXV&6_xD{Nnx;okNf z>D6+>jw4lTr0hR*;?N^-;>Z9`W8UzQ;dP55bKkaEaNng-x9h`=6GCQqZt3xUZfr{E zIP;m2?OQvA{O~Hg9o?hf_+I2sMvoTbHeVejuWn-ZVAZGLudD8=zIf@T^A|(i5B0vf zd!5Its#Bs5kAFLRM$@06Bz{(l8cVjF>@qIxrsusMmYRVFFGW2`$vkz*;h(SXIFA8~ z&ovnqTk!6~w2L9%az5GD2TvH+i09E*z373z=hYd7nHUl>DfGJ-zdG z&y%7-4s0PNp5=HL4ySig1kj?LN( zeUR}eDX&Rj=%X3pw3|my=5HCecs`{pnFu<7Q8yMyD-ct&(>yr4?J`eWT5CDuE6F`_|>V-HHxI&^Z+Y&Su= z;Qi-JjQQZDT4nvb+)ZJlM%>aLI227N6A@CC6v`-86e3_u5HebrVzvMb&6cvFLWK}u zYiFok)lDzj=VldsD=p2<&dvP(Pb(UzRzi9%Xk@AbM%g6T;u6JD^7U6*TKb*Dr?#2m%%f5s^RyqQQ0!HV_E{5iubU5v?c^0<;>U(+Hw~G+L3^h=dr3C=x;7 z7|2{k7(oFd3^5^v`DV@tRTyKCDNNOnWW}OLCRvf7tdtg%a!O@cmSveLz-%@vlu5EA znI%b)W!a)AGNVA@>IQUPT4KZiLJm0Nh(Vo>AdaZIdxrtWDBv7(BAFFMRs<{vIsr1M zA{oR0m1V#<0_6jOag$VPYp^Xf8%vb3${sZu`899Ys&ScY{Ql`%@})9AU&AohyhMth3P(9fX2{L?DPF!4M&!P>D&HVH9rA03IjQS6qIlA_}^THR^^fd#(=^p2UeRd z1Q0=hA%YZ8i>zRP5K=4(Ap#K);fMhaWhP6C3=||FK!Ap8A>#-^&bXpb_P-qz0Ad6o z!U!o0Ky`tLbtlFDR6c9-Wft-)Qw$;`hDZ zqI-M8Ze_=PjOp0!=dURlr!@E0>6VYGm>hl-Z+M#Fdw1?M_riyhmUVeHC8Bz~|LJ+f z%{<0GIhvYY^_tJ9Ycn;6s-;CLM}Ebk@dNw395nm;=rXXg_t4`hL+(Aom99?PHo?15 z-yK6|1xWJOVSnJki208eHLTqsWM8GSfYj9BD>wee=DcxU=sbN(&7ZLX_%K9F1II&g zn~@nF5AuTbHHQYK>}cP0*yT6tFX`sOc7LXJ-F`5??1k;W)TbSK?9m79)(#B(6JUFK z^0``R0c+|ENSHwet!+8C(dzj%z0d3#A3g9+=&QfB*K0hx?*w=DtupWYpFgpiUu@Vr zvC7+`dM=VLKaqL&>X`vQCoQbeS^%rZ`>$%1=QieL?>-eb-H5q#@Xg0@w+7b8TzGF~ z-Siuu=X`vdq3N^oTC08QE^CG@o)kF8JL0Z+_kN(P(jH$mZA$3j^@M zE9+$alFi-+=FWWa+W*~)IgMUl-cK~s8UvkI4P09@ExT&Pi?g=ZTrlO3 zK-=ukzIT9cjc0EY`#Lt)-e-qq3uMGC=r0_kwg#xP80=l2p~ih zB8)k~A`*#6pjN9Pg1`ZiC2A^@OG{-A2$L}-z)TellR0HTRxpPcFtyDEQmAllmMoMi zvMl8l79s>8fr3CV#t?DJDS`xIf}j8((rPpqag7K>0SgFdwW1&hh+vFFNH8QA2^e4w z2|yT7#yuJ|!1qJV*@0f0iztGQNY|Iv;dVnl$73mK%0nM`HHC54nx zSz(Go8RL>9bIPg0xU4|Vi}UiSA}Nf?ip;1&sUk@dlQ~s5l^Lgua>x}%WkpsLE>o-l z5I_YmNUfnrq{S8ukTDWPTVkgX?X-D?1-~=1KEMC^`|B@SsvsaBP7#OyYq|loi(SfFheLW}?w(Iae?S1Of#B5n&6JiVKSb=`Xa?IA{n&0?}%;wl<=TzPPkhp+Ld^ z^M9yEy1HKh6A>b{1Fzga!lC*qM6IY!KUI(A<%`)F0LW^4QU@Xjs&Pqu3sAXbsJwW` zD!_4waQSKu^*$gjLHgNT;)OmQ#lC? zITQ%N2y@CUk|N29XwXQKq)>_w5(SYU%qX>3B+3{e0^=5dkg5!p&%p8$HLEKc{Z9og zABc=G#wcTKLeG{(4eZk0tF@WuHge&&T>lBtZSPk*ZJNE2jDGgqr_K0jG5sGV8NbS9MX4mLZ7-qqrG*fo?oh1ci@qgv@X34E{xpt$P&VIb$C2cMyEEp6 zZr1g2>?7a@GcTlE>+*B{K>mJ;%j3@Oj=oPLhk8=osbxWXj=mUksg85_uMXXE12u1i zmD;YuK2`Nukh8PhSZ#7mH2mwpri1oGoOGhK{(j$>ybyG7?fEb&ahn*rr}6ro{Re(Y z)qVSeD-_JW;5j`9>~=GcIWp8~=NcGl|LWzJ2KifZ&o$X}IO<|>Q%S$hY6=<=;h&8OD;Pl9{XA`CoR`;(x0^=Rd)B7IyMToo>Pw&6g;X%y9ObxsiJvzKBEL+>nncB3@0-^oMgZJE zBfrk7)!@go6-9lj=JY5DY}V&aebYpT4c+5*&UCX&+r5x7=dvLaGu!PLAMxPp*%wJc zYbyn(7Z(gEY_#E*E-e3M+XEwCpV-*1hha?4gku|m{RWDEPR+|5WfxOxoBy@#uliS> zYItz4L7hl_e$|${ri``ubbO6w^sfWXKikZ{xzqmDon9ZhZ1?j?Se(*w@UHMa8>e|K zT(a9@H2+E+(&*oz?Pa^JRBLRr;#}v2@q*`tb%)B{e|noL*9v?!ez2t1S_XBUy?W^9 zh--TZNtQ@ym=d(Wc_qV$=!#D2FgBl&2yQUo&`L(23ua5-Soh6MvnFf@ldFyD9@KUD+{b|lGh*8o-LT6%Jzux8(xuVO zD&C&(zW>MM*k8wEj{g}lIPOEIt;?5h<5H&|ZwBlb7dNoItBDm~$npOuJp>sC05XOU#7tH!Na0iwnQ9qP zMM6MTODOZb34Z>D})QYD5RvMXd#yLg^V+1*%kTa{q$suQuAxDF&RV~3Cf4!P+lV8%fX9tt3({Ix2!^ONjy1;FfA$y`39(Svh zIPclznCNsNz02ywHv2~BwALgYTz|Z4m#Zs1a%)bgmwlt_ycr`t8hpq9%s&w@BrvkC z@w7|7IGeX&lS?AHIiwsZU9rEw?2}ggtzEagj8}DvScMDKQ>Q=9QbsNB7N}Wg&)>ty zB~|);4xc$7>vT}lOAGeIOzF1$+rRjj^pBg~tSQ`a>wz(1!3<$;-x5>p<7MH7cDE0Q z-Cxik(0}drj%5=D?~526)X^ej ze(thY)7%^F`{z^IyV9F8sc7n$h3&$hPTf|K#_Y&>HS?KGLY+hU0q%H()64;L!s<7Ak{5K!#aZy5H>gjw z%a{5cFP&q5{XtPtyzcI@=st90bKR#(@7)ptM+T&ks{p^~-AA&Qh z$Qd6J^>14zY&Y&!KDV1)ei#bJ;rw}?Z0Py){o(t(PKJX zexal;aH>D{6cXxenc2=GTwl*+r1~AgP&#IT4jd>4jH?oDp4HR;hl$GQ7(syI-+>@Ajt7TUg_6k>$|D zvk}`#e0uB7eX`qia(CD<{W9YO#{d8z07*naRMd!CPamE#YkKT`V{W2bL@;8aU*A51)_sJDiD;z+)mS3WOK|02lxiG0Fi02qP^d7$dD#10WL# zf`}6$aDXU)6d;BWCR$OzA`&nb5D@^z03!yG>PcaM1BeyCC}k#v8ktn4m?cT!93TYM zDTp9OfG~zABTQ5%2rNFUOSP+OPK#28vJqCy%Ofbd(J63i< zL=Ye*P{Scd7zv`tDZ>~e02Qj#YFeLCg(;NF3ZTqlG;xJ;tF@C`xcsjuk29#4sli~Q zH|R8i?q6GDVgdg|dap z7Fm{*(h{>tDG-2z7C90J8?C6*+S%HfEed6&MMcyiLjVAz>Z-l+>?e>UnNk@5WQA{5 z_bdV&NKnSsYH7$3QcL61VMJAkXQfe9kF0gyyXq!|43(DzS)E6m15UYh_@Q!eg;b{v zqf{p5kL`QdZA#$tB{_$WrcK-7TTpAw z+(k=!-wp4lZPBOC?gP$CMr`Qe{9M~Pu-iawR5Da|Cy$* zcBTfj3ZFb>+tU%z4Kkw_4Ovn-EOd95*+cJo^wc)eof^91U9Yqa^z z$suz;j(T`7$0u#g${KN-6WtHrxj8M;?6h#rk;i*NPu}xi*v7SG^DuegtdNyMZvM#! z!&bu=MP9W7hlGKL^KDkE@wuSJ8V#gTO7< zz0W!06nnF-;l_t0pWdAk_DxLh=W~$9{+zLYnO|JctM;?bm>btIfgj&jlxfYy`-|%y za3A1u)tDL*c6WI5-qG#u*?tNAm^tzT2|L&QSN4?+{0X>xWXmVJ5zU?H&z^&9w%V@s zU6}VP;<09X`>K6>rdMd|^&;Ix%5Sz>dG|=1duWBKHB*8;JF-aa$!{HQMjmTC zuJ@{MpVC`(9%pXqeXv_z^WjCKH#zl-%ZW+xd)p#o&6gW}7A)BCIs0qOpsxEC)#&-_ z;+%;40UNfo3|iE~K4JCN=l5g!c{Uob``)5&HE3&h-SnAtn$ndtC3cYe!yaoHi~ zuh$vWsofK$`M9_z*|+B&2(XVmVyFN1r$)>BV^=zLc(ZkBB5W0DD!qTQ!~THLe>+$7 z+tT#S zS}z+@p?-SZ!$Ne(hWed5jqE36PYCe)Mt6FKU;o#{6(y}`{UW*Rly`qE4FaT|+ao5e z$oxZ#gB~W%%;+=o#R2=fUwe7U)k5-{Y@QZWri^y-IGEOXcIKH1L%s}JAxXbxjjq|Y zV_xakEsIK?+zZZaH2v|4sBgP=_;yVD@L=UU`>FcSi5^GBZ5lBQvXE5-8#NChSpl-N8Q$c8C&2#>Dj}k^ii{ke~ok02EORFh+zBB4CU$ zqcVU1V~jDx7<0fG1OyZHfiVUOfCwUp5X1mNgM$qcAQlNC7z-E?gaxb-1PGD(4K-@k z;*=AN1%w5N1c6{tBN8GAfNU;$jP zM*BGgfHM_$A;2+`6^T+zDP`>c#k3&@@IM<3G?tk-qX2M-31^_7u(-Imtjr`)1`#HJ zBa4|aftvv@DKUv!Xt32HNEqXcF{W@XQzmoHIiOInFtgcQES8n%jrMlTMys*aY9SFc z218!%A5)nTLC66GkO9sB;2cl@0Hu_1$|+!!Q^pu&R9&!0At4Br7Rb;Hq#D00kg@9pLp6TbRg~|G-paMpu z=3gLJZ(OR3$2edNLXIfs5J051&H}^%rGPue1GKlXs@=3#@P^ch&jVVD5JJKT{{xKk0nFX6G9Y&3D*N{ikp6#Zc8J9VFGA z* zbO#3vj7}M|>eV3>Z*O;`*R`FNJ$>^R4)A(C^R#!Llv2&jFq^#3)rTDpY`aCjbVIHq zd$FJ;uGeVg=o$69A8P0kZmt^jb$%cFPXm;NN;S}Qu|pm6?!XT%Qkb6?ja{K@XS(jnpYTaU2o{?kte9-UM3PEzBv1Kv}{jeb;W z`I^zMG+(=QoJ;P;==Tv$1B{+iR^8babYkPB3hd?Ee{F+o*Vf){zS(l`Z*j}q5dltN zd%H~b`L(OC^Y-6!v@@q}=H2&JncSsvj48w?y=#^4#ZMo;yS4GtIc@aeh($>q;};h; zY-D?5^5BH%-&Kmwbj0EPo|1KyasD)F9o@;Y{I zbgoM7hdslRdOPj-F!I}#&2A(A+~{4c>F`7GUFQx?ow)wv$^D5D{o4(Dyg?T}bkVAr zv45i*_P%lLJB|Nx+vvS4Yw5YK!SmOKHQb!_s{fyzvo983AK63t(60CWPd%$Ozcp~h zE%7_>8x^v=b>g`p;-u7(CC1Hl4&-~bJ#o|}Zp+MhGwv>GGDTVSEDj{whzoj8x|Q*_ z{g8JZ<=%AYDmcE=%(8SFK%_S^3sF*7u6BG zT5AR$TRyMm7njJs%~~y8y65q&k>MkUwQ$b7?qWzE)jZ+Bl?6@DU)(!z(&=G$oL>(C zdt2vd?Bt@=m(v>byPDYIR^szIUW2zD-!veyZWBZ4u0dV{{LTzmmgd^Y_fywDwN53~ zp1rGGgG*5l8-0FLYgMI6)2c83b8gN00j6<3rd2)I`9##KKG$_$LuxM>|1%=D#nTD) z16F56>|5m8;mD@`rin|Wo(Df}nbNqz!N-+%)~tX0^`9#LoE9zn{p`&PT~6xYIRtRT zC}oTT3OMDmnF^wSAOrw8I5_BRM8IW>EUAsvl1u@l2osH7@8FCTbAiAK(P)TP-N7X4 zH5vvOL<|4`5HBhyV}vsSaFIZ*AYcSIga8RxBZ?xzxJ;6%EHjHNLnbTC#5kvvF@^w# z7@3%?szjvRXQ3cQAdmqhfItYig_S!g7zPj_f-q!^aw>678JF}_KmcJuRvB5KzD}$8 z5JE^*o>j$<2x5T{&Nu)NV}dbeIe#Gr5J4bdgb)-U7O;RZ#uy_g5S;Qnl|U$9B48pQ zm3_qoBa8{bm}sG$vknmrh8hhq5J>+0&dLA%@89oyONlHXs9+*^gnrY0ph2b?2H71g=JDIf$HjglYUDA{ZD`WJQ7i zm^i@2RHHFFIobYyzTk}wsyK`aQMoR;NQ6%!x;IAs>9 zaK;oy8KaDI3b^Wh#Y7N9k#hi<)eZz0031OCsH`ZIL5v_mNGl3DQER7ns_1CzWXCZy zTgB^T2?ZaZ`-eBIS#gIz@&$mUkXr5EIbo7q6zO!omYuq=^yzY~_ZyyX;PG^6 z%c?G**^0%bgZb*dQ$zODza(thQ77w{#@}=4%Ab3Noj>I5=ss{#uR|sEFMSNXxGiDv z<2T1Q#ea(*>XA5g-|XhW1Mz^w*F}lI`15zZvg2}#4c$HGtU28OLx)*6o7X5f^nQ)o z#FT>R^Cw(5aOrrnLAR?8yPNJ3)1imv$F0%7zSg=EXPH>q#^>Aaw$*`V{F{JQM;!AF zZ~VnOM@oB@?H#f5>6_(IH{83T&PAh7-R!fi%k~qIwmF{@Z30dYo>khW?nAHkDSY?J z`Ps3t8!pe-r?-p<8{Qm_sH3d^cy*uI&927kid!<*`4?WX^qJ`S&`x|>WqN!<-m=|B zNB_%*hX4NY;Y-pjJpD;gKX;t@VA4&$x7(cRHXTtby=~5vf-lJf*7S2VcCD1KX{y`r zpPpJUsdtU}UH_Ji-G1C$UW>I~CYl2}`ONTpIk))NiA!T{w|6L>aJh<`v}K~7 zywic5Ei1kwx4HGtRBOr3UZ(>5{O*OK)bzT8+&>@gbw4F7`A$Gtvo(&<(X?x^W#PRZnQ|M`e(-OCl?D2K0F?KbY0|??nA22 zTIavuxiWjns!ol*2M)}rGj39|&W_%vYxh`F`^1N+(RVLCTC?}0IpKG`qa7wcJX}e3 zbD7_v5{sn7`4Xe_kz*}e33NHz+(86JeEo{H`(uRCH zzi+I=%+fM__tSRyc`edUP3hRD(eeY0>)Z_5IC#^J&Z&cXW|Tb*-`}w4QbGGixBmv5 zCIBGL)GIRKj3R{eTCIbFoui{|<;s-=JvW++N@)RCtQC)xG7d3ij6tB)YXzv$X>>ZR zP9thGL;wUsKsn?9QiuT3iI8&y8KN?z0ss&qBx0>jr`HKOilMPIpG$}#NC8zaqcZ21 zQOYpH1VhdMryOuDb8D5F!WqSoKu$5UhS?Yb>U|#|m3xC2Fa$Y3h>N9azCq>?Gfa`i zV&=fQ?Lp0a9R(wF-ocG0Hh-T=`c}2!SFBxXi8;aF~~0P-e0)hA`3yL`SKt zPyhi}6xm|t7BgcEU?MO|1)}9hkpaaJYDEpz3(%e`8UXcV}f;h!GN@!SFTb; zM36Dc7*&|WnW8X-GnsRW5K?0RiuFMinN!Lj2gL>XRFVKkOr2U3SnCHkmn2DHj047) z!kEIiN?J0;s3a*|oq~XK$^iqMLC6uOz+|#mffNFqbAZ(B1%(7+E#cHUid6ik0#K$X zibYXXL54Wz93ceNpoD-ahJdR}At9g$sC#oc5VcwXLxvgBAY#yHY;}4^y`8hYsMkue ztQgIvGNUZZlBCG8Vs*b*f2uX=0T5IbPb*8x0Yn@jfH1^Z%_dr{LQX3d)H5V}x|o}> zc3{A?`@u1-{6x}OUwZlU&_B;RzW-ah@@qML#+r{)9(f*kbkKd4 z_N!A1&G{zT8Gn**gg#Gf^R@TU4ue`|?wK%V!+}Yct_=$+zKQ+y=PEq6J07)jY1z<$ zjpRMI|6ctfo^LaDLBjb(WI=Sn$U*;N*8Zwy|IlMz-I&q7N3Unr_0G=MM7=1~)&G3z z!{N#+BI^D5k#6EKHiLP1$2$6cOB)-XMsLW}f3Cjf>AkKmp9g%MvUtkpOSc@oJZC5M ze!qKUzbZ4D)+z9=JMLJ9PnYICG2dP{4Lh=Vfa{=Zcb1)YIrV+{Q|D%T3M)Yx*C#z% zUN>PY%=eG&@Wy!H%JLhpL1^(jr)j^YJv*p>KJd`zpUd_d3upBl*TrS$g@AfNWoOpU z3o1NTDM=W4))=3YH^=_u!$yf)A5?0cJ9AL$t9$uo-(AfTwNq|ZjJJDV20v}=G;&Rt z{i_9M?+x02Bf{fd`_c|Mk82z+JliucV_BDsr>CagLXl55Ob)&fbfijS?*T>w&%KrX zpk`}SYfzS#GI`9HE?#xU{GPEBC57)=?-ZMVy5`fcGt#@jS-UTn99@~;zUKMT+y}-+ z{L!|ozkc0cxAVw3F|l~-=>yZM9)7jXfBKt=wF(9tcwKw=;GGD^KU^0OTol=|{||q@ zWtR5es-G9K@9g%f(_Y*#aUWkfgWZqb4)SqrSVw zj2)TKi>8Ev4Pg~m9unRo2&FEaQ&EO*JpPV*r z#{qv!s{s!y9CAM^Ob^+yYRc3@FDjkUK9W~2B<2SFPH&3;bGF~eReO56HN0^zuHU%$ zxVhEq_+NF=A8(bk>(&NaeZzM>j-O9^FfHQt&)PAzSEI+SH?{FPmTc$SdxZBnoz0}{ z(atFqsSBr8I~!LxI(!gh&Fl~z0Ov^f{dsJXn_p5z$g}> zqL|GRV*qi80U#Jz+Za`fjB?01A*$5?aflFvlmURa8Z-xxL!bbz-nB78m_w$HZS};V z5Xwa4OeG;zGLTWm3F8!V3;+VaY_w2HDWw2Gj1Z#|29QIf`s2CP@(&OKYSJ4sgrJNd zL_opTb;9aXLl8lXs7}KaKom|mB#=R*D1-yV2|xk@W*H$flTDmToGXAc#3`c`0>C-N z3{ivx%&m9`G6txkwmKt(I6xe7&X`t(02zafsWApC$IGa-A4eU5>Nws60>GI<6&VPCGY&Y1j5EfpYep~!8mnPdT~~q- z1PDWj1dRq0k*iE51(0Hu)#RKp2pFdfLMUKCCki@IYtU%y3;@B>vQkr-rKF_PWHOn} zX31jVs5Iq4fesxRs8_Cyw0j zTdF&ux!&^b?B5L@4j*vh?9?x-kGBo?^#Ano%hxfVsuj1kzsaj#*^TBr-e23hRgNo}fb`8A|z;n(3aE}an;ck8zQm`9tg zlk>*HHBRvx*qx;wG^}KgCFx6S0&)zz1$>KAOM-ATW1&_Tg z)thc*x2_R69JcUHy_g%dp!CD`;A-)+Z#0<^&|y)Z%|oVbMmBd|zrQ@{(Avh?lkEQ% zgyZ1*n{kFa{M@QW*8d^5=+??N0i8V^3^Sze8i@~eW(ao`gZb#hT~(;t){EbAFG~qz-8Pt{pG}#2X3}&aiG$p zZHYY#5*N%8+j=fbSlPGwYWKt8`@T93EG@_#w^Oei>fKB8BjjH|JD)!Lt19tR#`k)^ z&1BzZZN(#JJ|FFMy(646y|v$PQa|o_p~JdEq3fQdWL+<7IH$qgBlqtQbU|xc-L@@O zUike9zKt8Fm_v&~ujwNnoZiO!R(SM$Qp)BhIkf^mbX#0}6NkPzH|EhQw4#|l<7n!i z6+1SCUq0%(<edxuhK`)kV@puv+e(hWJQOfnfow}@>6QSMgne;3s$!{a| z;peAcdGCESCUQ{Sz=0E+YtzZ`cA)ON3Cu-BSoW0~2gDbYx>86iNK!nmSPC@EC23M!0HCUc4@MF?Sx z)PsOQ01(8Yh&bRJGl(%3MU6~|pwVbW0RsRL1a@`?Nfxv^QD;ynRg4yyDGF5-&H)0L zs0XKNz)+jU5CI$`jsZuILrJozt_jXD=7=%Q0YwO6#1RAlVv8d4@&XVBIDiOn1OZn8 z1!St10YQi%LI@%ZA(tgZvM7wokOQIy;xL2=Kvj5xL|qNc83drzWGX-GAmo5is!jj^ z0EbY7ie7*gfMqB!h7jilgb6|zBL<-akRa+P;1(*G0aK8g*2e%+1PKNRb89AmGr%aL zlqrg;cl}r6!YQ>_WC=lr8C2O*g#ie#C}>5Z6Ey~mF+>z&69PmdS~MCAIFc+fCIoP( zDAZ^)No7or2v@Wgvs_YaGMB+(EXgu2Ei-EMHlkK*(CaaPfKr42CXf&)U<3#g5P*nl zG#ZSN`U}U_O8`cI0LbhdZ81XJT9AeyL;zr*Rt6xfa@uMvq})o%80FOqYpSMH&H$%? zQ@|O394HDaEh+{8Pzo4RDCLyOlrjK7nN;?#;2%Ojh0Z`$1MiGeh5!^XR?Ey7W9561 z5Js5F%wn;WBSHWq$T(L^gctw{lN3m`qTWVBGzN{{&d%1s)*_jUa*GP`iVF)1%Zx^| z*(AvlfJBv+%gwI*e?d#|-+)wALx_;NH3Px&e;+)!@}bDHCtOqJRdE$3)|02aP)fT6 zd1sDGuQGkVTW(&Q2?`UpJ9^qN^yB0qh7`d>E?Wp~IS^ZH9Bf53}m^0F*$-L*R_*D?(axJB!%beCp#`c|=IHpbd-rd?+}m!IH`K33KbNodXp|O=Y4tDoirF;-mh4t z(vGw8g1Xl}ne^*HR3-IsivyN`)EVoYkN~S4tn@y|FSF4cbXh?y6=Wd zKOL~)!LpR(G3PSR)qPd^>GP3CgC>&no}QtrvkMf<)g5k2dvw^_>zpt0=~1Q6!WSnQ zZvL^~*a{8jxh=1k724yhOT;T{r-*^C8=Z8?j=p`NPP^K$W%xl485~|#quQ9@87OCf zt4r4YhSMwg_+6UzX@1Gd^1+EUA7y5)!ut%vyBHp&44r2w_Ui#UacqA5)I;=9^MfZ* z-99}!9Eu7HF7+;2yePGBOOIFc-j-Q@cXs9er{5-rtWx)SXki7mF}denN-p8^56<6I zAz_K^xY@VpvqP!&o-vOP{%vw$-QAy~&gO)+KR3HhSf3kHVz$hv5tM&>)9|&8!$pn7 z6;>~8v2OF_CY`#M8y~M-X{l6fUFX^M)Isxq?Qc-`=xyTz$Hv`mTeJla`mZ#l&hQ!A zYVtge>ZK;T0?T9i3A#;pN5(?<3p2JC^$* zVY2d|Q(?$z8@ttSq<3q}S8cmo#Xa_Am#IVJuQpnpWV8H<3lH8=+Qn~M>Z_#FeLTc~ zhigH(apso$wgt?(676}QRrhK)hnJpc?G{A9e;|bBRMqcUns_a$BK}SeMOj{Qf0h_07Bo2QqHO1%)SzI_i(q%QW#^LGe!mDLI|5si>qD&a;^$W zDc2~|R7N>x`sxvKPN~Kzr+Rq>5MV^Cg|?!63j!E005|{?3T{^+0RU8rg=Rwrgbf4` z3lD8lU2d2iivEo>V;mU@}}cFN_)$|S?P&huC2Hodyv*LK3a z`{UNNZ}v@{z)x99n_8|Jx%FJfrw!JI1vDMIp!T-+T(@jc^N@7^%z&%&ap*Lktc|Go zlGLGFOSTKC<(zq9VcrFoH0KTL(_d5@cH^t@*n{|xhOOfl29`4ZZ0$r-Q?%bwBUj`5 z=QG+Q@-pY6GCk%zdEeStyw0yC@8|w%Ur=fP9z)&h6Yu8U8B$H&`RmOPA4M6w^7Wp5 zxAWSOE-Rni+lLDd)ROO1I5e=%!!cRKv%4Jsn4Oj9@1QDJnisg@PPLzW*^W8Io!uQr z?8;ac6;t_Xz9Hk+q_9~7)I`S%TO5`w2fkI4oi{bhxpsVKe(epUZSg?2S<8~V1YUU^c8yG7-ahR{B9C&}*QiU} zg2=3pXRiZK*ed=x{BoXa&Yx3A`CBR68dq3%-xKE%w{OKvsP%1lvD7SSh_U^P!GD&8 zPwpLkyp>DUo!uhd#I4>~6!hM||LcebgOXhb99%y8V(~ihk6RsU)6?Nr`3LoTvmR@% z#hyPF*x_Bz>fS%sAMG6hFEsJq7f_*N-}EcK@YIKLXDdllmj!G z5mkL{UNs_MoehEaFH9IY+2_NJ3st&q9x}c5%h;4z>#U*mD@~cYz0HDTx0lsRxBDF^ zNeiA-UK_J|eT%xgPSf^NlZH&0ly%PcwPc)H;{j=y`)Snkpa&uQO{>57-6-`WcDVP% zhh-hp3yW6WO8hY4hi~nmc&qJ8E$7LHd(SSI9-W#K#0v8-b(8j|#=?}>Tl{{E9<6@L zAv4Q)#|BIqf3R-G75B&PrA}mb-5)%$-`xAhkKg?yy$d{Bee&Vk+joq=7u;g)@FpD( zg#`QWKRtPfIb|B?mq&mAoFgQV02C7-$&5%86N)fXG=(Y}VnT)p1ENtC637{4j0?tf z+?d@2D1_h;P{8!WH30?UOmJsMBY;ps5(J1d$hoi;DTRfFHlcASFcySBfB?iYfLuVp zC{R=l7f33$QH>JDjL0BMl4QU#mUS_w5Ku74IRpSnk^=w&0!aWUIMQudTu{I{=PDE2 z5jk?f8Poj?kZO8^_-}>@A;JI)DCvF)gjJgjV8MX_P>lctbVEX8b0{(x&p&S4K5Qhj5fCv%*0)v5Sn#vf1fFq8f1^}XZP85I$B8(9i z1VDia!Wao%)i00`kTHN5z#K8Ilei%if^qTf``;oK1fB+Im2$GNlp%DWF5ukul;V2LQ0wUcO z3c0?5W1LaOg*^c6pN}@Q~;2m%>G>}7-IkkMNw5%0SL+_gUM``jI!C$ zTu^Aq{gd}8^GkkCq1B>N8#Ei8sE{=XD8Lv%jp>pbAwj`0;7I50005yuk}yV4H$x%> z|80K(fQRbj7KQe2yJymozB|@jspx%S_@7C+)5|Y=yEEu6>r)%lHzrPRQmjm`a{;H~ z>-r8moU>rol5y=y*7z`0c=@FCIR$-W}Xpw+q==yTiy*e{wG0{)*eWw3`TRp2L>^>davsv+lcbbQ;T)Mn)ZG~+MyPL+X zsdjbRgvfIh)OnZt^odF@y7YRqa$(oKN$zd@66P7&%s7#p)TsR?DXbuBB&-XWe zNblBX$CK#xVym0EZyQgC@O8OoGPu2b=UG}Cv!=wriR@Hz zNZ(d_CwQ(Ny2U5?t$%F)*v}Kb92qn&Ky>*Te{ji$#ajM~ZI{_Lx#ZDx zmv*aF68rsKGPC-~T(9D-zRxewp~>p`GtiC&|LiTB{588hDacPkn+muqdCr`AX@fdi>>-$}t9 zvw8R>*GpG$nd5IV<8yaaER5JccFCEFxt)(M-8QxEp6>JduTeq*7oB`~rBB`}|7qo7 z>P%Xm-sbq3yAxl&qklKp%I#{GWS)9{$3)gD@bSv_&Rs_we&YTnEwHQG!1+}Q9qVoh ztDbSxtz=NW5-nW|e|ujkblfy7udQFx3iXGrm_PmghxvZBS~xwN7#4cJeD`e~H+fu2 zDH^k&?ED7Sul+N|rofr&6B=5N{K;*WS0QX@REyb@pFK+%HoNb%5Ax;pWz9*WoROlk zXpgB^-@fczWzM3uT}!t?Bckhj58g4^B|E!9oshQIJ>1$Q_?%tc@$jCL-Oha2$u@1O z9DF2T!22?v_Z-Vw+45zx(wVUhPS0Dg_#Gk0NNuWQkeRR1NoC5?Q1`t4C0#I-PnBa`+Q!!w*C=elt5XKnkUJI&n zN+l$jOeUkjK%kVDm-{z2Pt`Ppv4&NSn7&ek3@`>Lgpeb_pfjZzgUj4Og^jA@Eh;tXIS00dkZFftH5zX38vxk?4+ zQ0R05+rK_YpEdJ;Y!~kO*NPCHN~iV?yPLj+Am6Vy`|5ri0G0wIR_)x_D+3?a}v zONkJPV1fw32qSDX7y+>Vh+snW3k-xv090Ys?$sCeWTt;`G=UJu zLI}aQo?oKFUW5Res!~b`kuV}UVh=)?Ur?Y})%=`-f*dR55HMnt9Vw74nnra{0A~OK z1O?EwGEg7tb0C032-FR>jC0KOTasP~GrR0L#J0|9zaiP2^ZA)$=exOo&!F+#0dDzS z%QNw0i;P6uWoQ@zwmrGJ2Pq&T3lmZ;EDT9O?^X$ zHC<1xj;m4c`^j%>(T`FO`UC_WnCa=|>$oRr@a;+_r$(=ugt+e+T0T0>^09687M(Jx z_b(gwbd=+?+E?pk4BBEP+v*80iRoT^eYvhyo z6{T7X?b&!&>nYLDd^B=fZ1Ra8uIC1sAD*qUrSkF?{Y)1$h}p5_QNF>*0sTdjjr#yEXu}htOXSx-k3YIM%SthR#dXo zSP__ds=Pz1bDnSFo`hF_R&D%}VzKK#2UiY{X_Pb}ukN|VciQr`C)`|34@~n;ItD${`c&y$@=NbK8|%DD>pmy$aNYUko!)f6daufouKR12d01iD zxHg5~Cml%teEP^!yt3E2jccF0AHMJG?g~}B>W0N$*w8Rjy&hb;)cD6MZVvZf+0QgM z&qaIq0OxmzG90hFHPrn2#m7~3TfN9%^we@IAT)4c!r-`x{aYsGM5XmSF(rRM_>RaK zqud|QZ3Di2Xmp@roBgYXWnR1LaY5^hkDk1=?p;)PQRZmNVAbmEy8YDe-rhY+q-2*H zQtjrFavw(i>Akn)@{!6Qk3G9TU%UUc!TQZBs_tIl$MV>jC z=5cSiR&C^Y>w(&ang=bT=M_78t@h!)DTv_c@fjn{IJ4_BS%mAHkmx8*kkLmn=Z5NAIaHN z`tP(&Bdp|r&yau*oqFw9ULs1WZuJ@e?B1%9*Sj4Jjc|&d=G)Bk;*G0DudesjZMhpP zg;mm`A4GTG5Y{4jT+@U>sW-oVj~id>_to9$0r3mYH40z#z02ySPQHWtPH>3(^W$2K zlrj0|oZ(R~7u?!5=G5BW(5L@}&3S=_sNj%&*LSxsvFg>ORvG1H#C@ug_3%)lI}w5b zBq&fN!U18#fQSJpn({Xsp>g{j3nK_Q6dJIzUzkp$(~~ifUR?AI zn68y!0z!SfNb@WRKyGKT0SFL=2w?;vG!)r%oiD`pS_lz92tg!%=KO&`hY%rRKWKfP zie+qoNFYcM(zypZEeJ?5c5pW9#uJ3}6NV5X0D){Un9L?_FTw~S3<=gXS0DBy$}>! z4}O9IAY_jY(Wwhua0G&V9Kqv9Lo02azCJ%qy^>DrH2I;u&+J=$!?)d}-MHMbTk--b zFMoE=<58^d*(zn4Ixl=4^GfXOnUz+y^72*vCKZ1^_1KB-38T{cq_zor^7rMTIvYvc zO?3cR{rV!&ex0}xx#jnPFU=Qh>YGw5At9((3*)hllM5yUCtNI*IH%XD3jJE=uH9Va z?2oT_lu;FeH2JpxwYPzf8lwHcGzJ{rThKXPXT; zzc9S1OaGkquS(7Gn3gwx;>DM_wj~n{u`x4zrL(#I}7-BiITWO(P96RJ+T z(YJiY7W36jGoovR=1n{lYAwaXPThG@<=AqM0r{Ua`FrBQDPNjYv}|8BAUgfbH`mU` znps|+NgXnvMfYRJ&z>Gv$GATCbRU;6kAP1-FGRLaxluFc^BYUGXWG)Vy`v5{-a2gi zqNJ1y8%mz9Ipx&habHuL@B6&vMdq|!FJOnjdqn|7-X&?@&0R9`C%SgHtZc6j7p~|w zwB*>GeMk8ZioVk9p4-RTv8^BV+|qpeF^47Fx{^SnbKz97acaZqjmDPVzv}0=$lGt4 z99eVFf5G5^kK(`Vj0}6ey~U{$FLpKa@h@<6oZTxaZ~;v#I)CC0VS)mvalwcIn;j$v zXQL!bimDb_6kCBtsj%5>s%F!KCIAN#HX3E4ql3X{K$sv*G?gobipnYD6fnRc22>CU z>pm{Z1>!>Cio%tGJX=9QQIWNXQ3YVEX{x3X1R>XRN||7kbIKVNT;oh-Tw}-}Nq}G| zWBrZ|fWaU^q%WK>LWn9VAsAx`0L<-1I}U;UVFc`14dCCJ5OOXMf)EmfF@z8SAvC6{ zs^CH*1QP_IBpW0HHONAiWWprDu>Ndk00=<=Q>eZG(i13%0s+7Pvi~U3LQoDkL{K6U z!hlg#W{7eOA%qxelnaQs-R6cMk{BnPav%VP2qSEEFheBtK_Ea7>)vZ5B)v}96&Mr( z00qVbXqu*JKtLc%&}5Vy989uFk`0n1A*ON88Ko+qT+=9}jB#Dw$OUDD2u!eKBp4zt zLoNfV2+C}zNEHY%p>f@A069VkBFHh~*p7ao0H|EwwsF9aEXxR?|D{O*q(i2K05-)2 zIM7=y1a$Q+LWm#)p|FAf;3^0q`#*>P;!Lw)AoM{oLV7_&y5|8w44^%Mnf$Ad5CViD zmLUK_2ifS`N?n&J8Dx{m1R%f&LyRD{7eWAplcS@vqXXaqLi~ST212M;UyKmM2*?VKLOwX@PEl5I+*6)+YkKb=+_|t|A04kv8?_DWMD+y(5XuC?X9P8 z*?6r|^TqGCI~~1HJLlZRh<*2cOL**UI?c0E&lktE%%{f}&Yv|e>-mDFU)I+TnA306 zo{hUdoV-4E?8W$;o%?b&&3GKP(2&rl$MkT}_XFy+&-AXxqd7~frC%)RXY*oBPyPya zN%>Ot)t`j>4?eG!M}4f*7sSqd;k)PM?8tX*w$>@LQ?^!ooLnx)AH?;Z@wB&GVqv3E zzg}HQtNp=R-?HIpK*b5SFOK@2x}#$9yi0BGT`Bu{b&5Lqb+Oh_4Tm0H7-YCx>Z&|i zri*i0FP{2nJMA|3*4UblA5M`X&j;3N(czfw{^Klu)YJDu#Cnu^?L*AiygC`hBbxL| zZoa|k>bM89ZuLs8{5*Ub!ZT6Q$9?A*Y?ZTDU} z+TMtG(lVdV!4p?Dd%Jq@#2`BH|OY#rDtDleGtUj&ZtwT6!=A7{lyIt=$ zB|2chf?i98&3(Zdg{-YMDkm)^t7788qrv>sl3GbG7Og24|F)4^y;84U9$WJ2Ejm6r zY{Z?u2Vb_k{ib`+=%I0Eh72^9+}vmX;x_}Xx63?NE+eRF&d~X9PepDWaxNsAqNM@X zUSIH9VP3f@!S~k9Ue!+5sqFZtdduMKi!*K?KKpmpN5>7;oWO3wD__#AFD5@Z{jRLe zoLT??AOJ~3K~&3m+uw+k99bjf zhh>+C!R04x^^jmt;M=`DZKa=jdA`d^35;uSr|i~ghV~`;dDdKdyXtb&_0ShnwiGXi z*QcL*kkst>pMbmc^tfRc4=k@WjI1UcXad@}(6DT9^DO4#=0Hr?s#>fTT98*{v)XKm zO=Bv;5K73&;EWB(>|l^(BNajbNV%q{R;#K24Pbx>B7g%VFy=&H2qC1JrU}M1VYS&* zRpUZnj0FOmQH`n)A$_wX1Y}H5O)!;n4RB2WO;Dg|D&v#`B4dmZ0y2w#*=t#}FH5)(y00K}5L4^PiLqa5kgwu84!@u8 zS?1`e@4KGdNIU!Z?uJ^p#_SIdhs(te|5#dm)czLJyJmDdd4AtQ_ifvzIc%7^ap#R` z<;>CR=Ea)c*B`dSTQYx1?7nSlhs0`c3SY;6pD`yfu|Z^=P~%I#-9DQ_;jvw18{g=c zR=cZPyY1Jc+9{?Q-`-SN{Po9~S!cI@ZE-Sl$<1QT*TKHWZ0`^KuJ*abfU9-4Y<)NT z&C`l+m-5TWRr_9k*ygLp6MDAQo^y%v;!mB%7wfou>ggE=mJDua^eDsMT1pRFo02I; z?%dRD#?+G2du&d(Z2yq7qHm(g=+`5je8+UW&im|VkS+{;TKDhL{;i+fMeJY+wNEkAE#g`Iw zN}b92JhKx^n-Ctm_K;D9dDh#zSA8xPrxt5+{lmTZRUH~dy8B=4zw%bp%cZpzl=e0b z`i?rd9DZ3Xb%x`ZotbCmrLOk~yPaj6zw=tSk&oRYEEo^Su z@}{{pC)2rvx;G}~!3}oj#euO^xAaYP3jLjQDn0%E&XX~l*SEUaWwX!h@pXQtHp?xT ze==la<>RI5fG*qi9Xz^VL8L%qnpPWAY*x+XEvwJp^}*CFbV#E~+V@%4ct|tqyrVFE z)3|b>gJul8bgN-XP~8oW=N>B?w=&B(_MkIKEz{%b5!NDXy}yUy`Xn1EDz(1$TAke!7tZ|t`feAJkjnG6m;zBUMITVaD&NN+qDg+0D0~r{Q(5Yhp0HA3K zV}wD05R!<5u#jb-QH?SRkpKu`Nftl|fH{CbATBTy2q7d%lF?`&gs7@&Fc=8ILU6_? zgtFi|1_clZg%FyiDXPLXrgus%E;9HDFaokHNwOqK5M#l(#xzbfK{cUSHLFD{$}1`? zC}bLwBne4S;|yR50hcf!kYGX}<^obA3CYN1RZxK;L=rI&Nya)&4q=F(;6P9Yb=@Vz z`kGKc1Od={CdvV`L)JKlz@{wL<)ZibAR(DD*cF zLKxXu4!Zwb=dV?oC%K`#~5J2{!xITjgT!Vt?=S~R0 z1j~qEY_G6-KdQHf1QW_=QDI?GfdZ(+nXFJ|qng60CKv-;K(3S8{|$-lgc%|JyNN*v zksbVI|9>Ec5F;31xHNl(+qr_+0UK9NiM*L*o_Dvt$!E*vy1xe}m58%N6yG&)R^)N- z{S7{O9V~A=-OsIh|6!Rf^QI2(G1aeVb9vV?ZJqJpg!m0_&hzziKY{XoURH>bO~d>m zHx4b|`Q6)fGuCaMwdqasE$_~@deuw2W#uiO;3cTDxo$~KllLl1V(6;&Fm(hjG7XKNUJtm>dT6V;>%bchwr+&7K zeRMNs(tYLmttOREFM81a_O~DF`=9BuvHh7gD}%m7%u3(2BysEsTTr6^F3-4DO>FVS zj=1($O6htJKu zlW7q-!`(XcOs==1=GS5sFT@l~sZr+JjWO}RU+f#x%6si_aNxE{wAcmBm}Li5;LdS*EPfE}(mU{v z>qYc4<#OOa|E^o(@7y6L*4?c9bwZT6`s-cZuY$ki?%6kWjl=2{ZF>hK5295XYFSHv z_tr%J8(T&Nmiv(%yYeb2n%um@@$?Kv#XUArx7A93QT$r`}&xEm3*8Qu=Qq5&8zB-W?p}(F-HFOy>t!qrBR%3=`91dIj ze$c}5Cu7on`CZKI-{t7BO~nG2-9lUFMf@! zSA%Eg=j823bw2vM$jvXdX5h%4b8ip4o@y%jb8=w&h-sUxY+i816Ytuzd+{?jaovus zp9~9PAAhM~$Q`{rbpNi+XD2PGh@%|`WuJN+xYe$i~HVfIY}Ma{Lb6@)i-zXsCIi> zpOqo&mhe{9H^j93v^lZE_LoUl-uHRvcGu@gQ(sc7n3-~GevyU|CxkgUn<%A>3#4+% zL{(vPGy`W>Pm8SxK&*;QK-r&EV9u2{6f{DXsU_j< zr7ELL0DusJ5U5xZK-hPlKoH5G4`2ZR8Usvl1hFJZ2BWMq+6ZyM5JCtvO%+_^6t7a{* zDHa6+jFBubWI`ZCUfS`;{-xLfFMVRLkIvs z9O`&(gaCj72@WXL000njyE6|WtS3@oNH7KfAORS(qrCM7oC>Zn4d~`Ry9!n4?HWQ9 zLyiH^iyp=p6MLu0xqkFe03b_}*=Q6(*lae=1l1tbxJH?cYAT~ta0&qx{}QVHOIX&| z)Zl-AsXh1vVT=fb1nRaN2zKszuGP3z+wI7Oq8Fo6&&J(o(%5k0f=_hat(Vqa4)Hnn zcT9szDfi@qTkj7Ic$2e!BHZ!1bJ4Vf@)a_^OdgkA z{aTdou$o)$CGS%!O#Aw}|G;^RruO~Zc>l12HJ^DOPHSen^LcdC?UWanc20cB@u}kn z7ATdfyR3|QTt0ViiIH7yInIT*kIvdb7e%jn=g^>2;+)NqTjaQuvR}K#hy2NQKd~V+ zzyF)OBWj+z=9~5V$(W@FmL56RxBaX6ukJScV$IHWd==kiQR3v{!O?}4?w$Ag(qrzn zytr$A>DT&RJnB*TTg3a7!>cU2cwp%Pv9ab@_0p8<-ah>zPCcrpb@2BrSNV41YVX`V zwe_plwe4PM`0mvE=Vv|5_?WfiWU#ukwqd|F_Pb_>x}C>$%IF&UrAk=dve8jaWSmo4 zX7e9wN{-4XKQNOI8_>5~vB){gK3!#vs$@Syo7*3_`{(<&m=$@n+oku;?Z}Z9A?q*9 z%QhaXu{iDbx|2PUc2tW018%(NKX%QgAY6QX6XNbQ+jGpfLBSU{4UL^ww3)oBkny(+ zEq{J`<<$?ynwPp}^(q`5Z2I+ai`X(FrSYkYZM&9xo^Y|{)K|4XRBZ3TACBtpV9obv z>eT1ec&}G}>68D|-s1dyZmSOs`mIb@wSC#1^GTLUadEs-0!SQVYFX>u_vd(pLLTk0I! znK^b?DUTjy`cC!Ry0uS@(<@7~TpV#aZb-y|N&CiUWL#-@{u~^*bCJ`$jMv3hE?NJl z*TC|vU$@VBTj1R#+dHcIlnR}?)f&HHPUbIZ#m#$FM%{h(OL^R?Y{i@PYoY!}JZjb{ zHXU`j)uhb#K)>mw8onK~sx((le=Skr!l_#=>VCde`^2WM&B|wAtUGGmy!9)l@3wBN znsTaq=AiX`#(cToK&#*Pv)KUpiEf^8>01N|@BXZ&d;G)Zjofly zpWMCYRe&Uws+YK;@NrD;fP>yaJ$$NJH?>{%sQj)2ua59`Z$e{FO#hzgedTPWmY-F( zJ{2Fgii~a2x!JH?1%o#{JJ(|OD~F<6D~6G@9>V}x{6o$jXAUsuBqXZF#I=2lYVo#7l2y>|OE`{KNbH*Tm1S3f&p#nR-3jqKD(mP`ZM^pCS45LYQ zb9Z%hb26G`&ZwoRC_g_xFE6jKz-lS9TCJ*T(-;L9$+E!&G0_BsSb|W303$#kAe0K5 zjcOWWRA`h#h-9PDXf(-2gCxt?AY+*jnGl&E`zatquw*b0qhxk)kc|dJFhuyj6hU3N zqzOHsT?f?ZxgiK53=yJwOo_eE*Y%wLLfo;w4#fgNfH1%qKqMd%5DNq$Apq-^3Is3) z2nz@WLI6t~A`TD(SOCZ&;s6VPC>N?qRmwDtSygINnboG+6wRur8fBDnn?@Ct*;Hy( zG>c8K*px!6P2++KXjPQLBCEx!T2(Etu;_1ozQsm04mBohlqyWq7}YqVf^mK1iR|$k z5a>})`s@<|05Fm40w02jL}ZD`l0*o?7~K{9V?6xpXT;p-@n-Dt*R9{NfKPcpx-NA; zkgmj)I@a!bUGHx13@s*wo9^`6aj!pz1^QU@8pWSs#orfz8G~i==1c?s_%=BdygC(F>Yb$xSUXS=3{b+ zV^xYZ>$27BN9%3g+xk9Bjk!B|$#TbeGMAc{MzHG}MxEDD>|9 z>%oQ=^*Xy>O^Vqu=8U7$^So!xS|-pz zWL=qCGq7U+dL`bM_u95sb}ZAPx7*0**xezMix%8|di=HfvQj3wX3}6;hU1+~o+;S_Eq8}6+jb%L&Bs^6JgOXP z^!M2M!XEjt*XxX_{;_cXw*s#>HR_+w-Fc;WzfiuYQG3JoKSw^iemHBpf4E!w5f?iC zxH+-hQ}1!}_h1)x}3Y3|^hp zHZ?W8XRK#m&kfc}pDL%^e-Pvu^?B0iK08;GtGTD`y(-;Kvn%qjgth|4j(=541_NL?-&F6k=>6|rV*^Oz<%LZYmJNG(G z%9(2P${v(F?PuA+n`RnKV@3`<)ow60Uz?Wsr+#lc!}u{jx(zz0L?3wjGk5NcyI;F&=S~$rzVO9ZQK#%8G7NS%9K%CqawKP5joJtX$Wl&JQj22lH#me(? z3xtMLMP-a4E)W!Yv^=E>qnI zz{h{l;y~wH0-bt-5Rouu6mSLs;DAH)FFr_5l7mo>k@`0sr6!XZL1@?RU`!AM2tf)3 zWx5gsV}JqR07*a+kYhps#t0J*07Hy(2mwSAA_O8ml!0@ABmg)TTyP-~jEN*63?LRr z4{roir2s;Vkc<(>SdwH+0ECz`VY4ZUYWe&3Z*Fd$)uL&tpekex2nqne5E6tXfe6#6 zMgb5S*AT}5LU5?cln^3m_DCeN$pJ&G zDyq$bw`Un?S%GVCm;lb$Y79lw~T%+z&=q# z06qz001bU0Gtb~Cn6#UIR{K|J^4~!9tu619tr>$0}Mb;#lNfw zD0CcxN-2>zrK-)QAOsy$Mg?c8Cd){YDBwb+Or@Hx?&3fXCH@yV|G%{~_!muKS83UY zw&34n7a@c|LYJDpCHov6emyB4)I4;v$Ky!jPxF_JUO_jfwIiN$3S&J+i=xFXc64)a zDL-sy>+iz1Y_Q|(bw9gWekUCAebi)8-TFIgg>J4<5b(R$-MC{%A|A{SM%CV*sn>5& z_3D280@F8tJyfUjy;?t}UHExtpw~dpw&D2?zV~0S;g{2g&YM4PUNov>-#?vR52#&x z(a)>-d(ZsapjP(?gWT4;SY)8s+r0?C9w3K|DEW z7BN(2+UeLzGq&Wpi_DG%>iP1jSkf|96o65yY`CT z?+)E|{is%Ls-y3>8j1L2mu6!(m6OB0?~EFGu=6)*@kf{bUuJxo7c(t-#>hvPx;DK3 z`RaVnDbogyiTJy=WlD>BsfAz1B$@9md0KV%lM!LYDVG)-OkQU93LB$)B)l0`y&Jsd zJMdS5XN`MlOM5?h-9G8~v&s|OO&B$H)V1lK=WKmdVodL2_5FQ58|rOr-YfRzg+raL zmKi_oM~iibgX`~_8FYTc>rN5**S`-*Uby@onzs+Jey(8&dp7SeJGb2tc&>@oXvGlo z>w+2U+qWNd{$fFTTbGvoU)MO4)L`MB#?AYtg?Ju*toEx{8@NK@FPwq>p|d(EX89a@oJhWoAbVfkT3G zYhIFfBo=L3cyYI(WO^&@=FU0w+ieQXuW~piIQ`A4H@jGkdA{XtWG?8~h4h^r+56{( zmZxvF9Z@M`n}6|Mz1yq5#;lz09NngM+>8yECyl%|Y0QmfZxU9gz3i2I!oLt`|HFr&tX|J>X%ryJuTd!U2<2?*cZl_v_btY z^v+v(KQM;W9~GL`K+U^cP%*d3N8|c7((6&iRxGp2i5`u+oc8MZ=;YvNFc=vX zmIBM~oIi@ngwV%V2mqktVGu?TaKO1>T(MBWn4%~}g;r~klAmYM6sD?_Glqn~7)S;r z8)SlzfPyhbRZ3N=sg(aerp_uZs_%W{jf;7CTYD zii+6XEn=V|Dk?Uh5;L>+Uhy96;rD;%P!HrY4zu=pp8LKoopUZY6S}5p4u|=@jv5F&^W1_)yOKNu#EfH9_PI@b*;B~d7$gi?hI#w3$aKm;WeKni54 zd(D~{V-Afmg9$EygsP$fbGw+AHZ=1hOqik|U@8_dGU=xXLWwcLW@-`w=nRiS1Ob3t z0)Y^~03raT5Q0nd>P2y0m_!K97~@=WK?$am0wBL-z9NKJT@Z=luQmFYBKz zH#(6~gIlfnQ1AOJ~3K~&wQ zIUEcCNEAg;EtINQQK<8s!B!W=)y2hJVM63o+)_%2LNUQqp;T2M0uoA02vrEe&QppI zWU;DNi%JP4lvos1p~S^vwOXwfl`5*DsMKOnTwSbg?k=uwR;m!9Dhj295=_i#D#|+z zp*h7g-%o@g#L&#sNa$2un(0qyw(ud~oEzK_CWX|@Z#pXyfD2)8!2skEnTc8skN`*m z$N}UM7(!}{8%!_(G=m#La)@+;Yr3Ix!}$L$f)FEsfm!=>nty?W&}jjqloCuaB9u^7 zB^Fgx6-8AkAsAtNy7AKD%U-sq=F(!853RB*U%&c;{c0SzHE`hU@$*I>?p)Pq8z1wk zO202D#VO9cF&U)oaGR0evTox&we-rFW0j3bmwH$62+oOf9PGlL4vs6|wdtvC^C#`> zv2p&KEs3=oCEjcJaQE5ml|Ik6x%F|ovH0vjk3l8o*820y`Y7^BW4`9a`=_zKdv+Ba zxA^Ih1}Rr;X#*<^?^4ARZi*X76Kw6@R6NN~ckt|7W3?H)2^%hl^!LUD`G1I-6H~ z)xn6A!7h`o*7qNhP@Bi{H!l8ZBn6UB7J5 z@kwj@err0jMxCkMm#2Gu8U1Z*=T6iAOuEr2{c8OR2kqrY?8_RqGs>NZ701H4-F|M*+P`DgAzH0z;r5uv^ifB(56WNc&-tMc)goT{%^7MtwZ;BQ2KS{!vX?kWw|Zww1AYE)GVg+kdu)^*^CM|Zat{~cX#7| z<74~Y8$0~Vk76kut37!$ep3HAUoxkyvbj__78B6oaQp8!=W5-jx0}*zafy<%kEoNz z97@{Z=HAfqF=jxLH7#L~UhTrCxl7gP$F3Rv0b|N_8u_Awcf(wU%zd}pO=e)UYP_Ap+(HMwP}s41b z#?#h~{p!|TeR0P{&%58!{geE&-@28%(Km3x#Q7~@m8WIiUWs#?ceJtNomZ)eANYXC zlNVM$UFNlD-0eZhVD7)pFOCQ|O%Wj|7D})`fghie> zR=J$z9vk91b^S$4d}b(c*R>=PiGIL`5tdw z?ObGN{=P9IY|SduLhUErtM|UfwVKVmOYiUK+qFiYBA~N-hv?6D&P^$_CShLz-;ec< zJ}SF%@bp&YkK6!h9bXkMHXV*i_V_d{uHg^szb%jFkpdo8T@WU8E~KhhC6ovPfEbd@ z-P4l4pogoQi$%5AZH7cJC)chU1WL&?mYc(bFar!Q&ol}#Mv@Cht}Wx&@2_8fxECx+ zB!q;Rflk2;F1Z94OU5`8Tu8Xrf_%hHO2Lr;0s;k6lW&=K9dr&krObOs zhs61{YbG~@FboKtXe`K~kWzDKhTULHB8Vh{jB^N`xeOp7G07pqSz9y}x=1340W?9U z=7A@maGKstCXWD|11T|r7^%>yayNYm5+W(2M3RBLIWX5X0FV?!O3DS-bpavb8ZdOp zg~-j;vj1t>*-Uo;MUe_77R8Mc6(Qp3S%6?7v$L7aE(Ac3Ac?sEoH4o9L9H2{m!A3Ks^Uhzm*_$PCUv2~|}g z2n)s`fRqpjpn?@3fr$l>Ktcq~P!2$nb5l8C*4t$sryB?%8Dn{kMW@Zryx>de{3znQ zTn&&?3JC;&2%5qUXJbFlif9gDrP)f6<~-B6)RO?1cUS>1hgd*UUpifDpjEP6jqlaGYnqq|W>iLJ)*_Bt9!VbyW)ZSMzKCm`SxuZ1#&i z6wo&!Gqrl7WgqM0cR6Y~R4*uN>+8px{GN>87(RFW<>aLKh1Zw*A}38;Ji^o0t7wSu z`|%>+*8L|vhd(Kr+VXyx?iJ=-f8)aY!yV!CYqhV6_MBcZc+AMKGnaS;xyrA|&Zzgd z{VMi2e(X*0X8w4C+BaWlx%!(L zg%nO{aO23H745no?&O=Yq|W6pn?4`yTCd{H!7nS6UVXXW^5TDgohhE-JF8fhEoU=+ zbv@lTZQkhnuEGB%6})yYE`6o<$=e$cIjNb*}{ z&*rzvrO{9BMYsF*YR-vG4{BAcxo&1a=WCy;OP5cMcXK;kSvPf)u6D0i_3qV=k>7eo zA1?9Av&ECEUqedY-Mgn^nOf1UhusLgyEo`Vd<+iNAN7p$A#cIoT#)vJ8Zv3+S~m5W{YuoHWalsM&9?z|D=f(Kc#JAHk#)QT9s%#W! z-}UY7#Kh&r8kO&KHY&YG@dmzyza<412${C$&hQoUdIzl!EBp8Ih#n(bCr6LcNOHu) zh@XRT+bR`pwNf&sl+R2(T0HdG`vUjgG`JdAH7mI0^_IEi1InH^+Ky{H@ae_-$tjuZ z?0*+~_wBc4PEwVjeJ&QR@zA68_b%@Woj)?r?($??7r#ZVz7O_kJR@hquOhC+m!IkY zTu*=VJyLgLK%MHHPsO*q*tlb9zXn%gy$a6=&GBi!rt0rS8`P%?pgj`{$x!r|E7(%F3ddf*=K@h)ba33 z+JZ|Y<=w~h%s<&VHfnLr?*R}-nx;#GQH7{L$^G*u*_=785>jGJELImOBqj(*pxYdhaU=l~ObQ^SQ$qnb z5JKvV*>g2bXM#yeDOE7%0zqgxIHR7ooY1Lw}vZX{L zm)h|S6MlM5`rRZnBY(Nt`sK*uFJ4F0tMM#0F{n=K>YdzI?H|0q*Urcq=fkqcpM2e} z+|QQ_u7-Jg!$v()s7sg{+Mq?%=h3;px4A@RUF;pyozDwd^I&MxvR02Oh1VVpuFxTE za-kD%*8P|0^Colkss3G;Pwmrj_ch;MryIAs++g$ZoF6+DJo|DsUz?$=8l7HIxZjJ0 z+Qd=iJ#VDm`?baAeAimqw{2C1PnDz4%l`Fi4li;lbp5NAPs(@<9NzNfwYu%2m$Z2~ z?_#C*9b3(9)%rOUIsedKM`*&@4_3pTao4j{@D!hdqtu5!bS$||_pIMK?DjYB2d9|ni zV&mnF(}RN8>}N)itcme^x;Zv=oHyrBt9u}LOZ?;!!`y48rY+jH?PslaIm?GMY1M3e zcFBZ-XS*JQYisph@TkDncY8uV)Uy1t4ZD0PWL(dIO4kFOs6Ys>GIRhO?kFAtCOh(t*%541f~?aZ>4lc(1IlW^sF zxV@n3xF%~djH~^pC+$w%N`3_m>#%Fwl;|gWi=V9Bq(mo=gaSwFB)H6YaiZEG@Uvi} zq@lvQ=*b-o=M5_}r{5}$dpyXj>XZ4bbJ~`qaf#nrd9PmkcWi6%AV)Gj;aM%?^*>)f2WADzzYC-jn8g^OdTx$0xT++{x+zrzhXn-`CCbA9?W2 zt>wE{xj$}P_vn!kOZM>XUcc%U_dQm6#Dd>%-$mSs`f>f&SD)=yI*m@sf6i^v^SXt| zhpzQLXyrOo>QK>s@Lu^k8z~Uy6JiI|cAQDM`8zm#!u*P*_nu!^$G7Fw60fRs3m6^t zIBIW|756vJS~e4xz3cO+?Y0RoMRMS$qR-XYFAnrQy|#@g*K5OaU-q(lR^ac0YeKhF zKDBQunscMaSowZg!L)fH4cfc8+tjqm{_{88cwc2*($#b7o8xb9MpX!Rk0)7wwXAA;A&d$!!Gz^49P+}+nMwAeXst|--tX2qs1m=k%%~2;t|LY%^ z9Rw*&fuwm5N@?iK>7{UHg*i9d`WUM!1yGu37$l+0W2P~kC@OI_*#VHkw8skoAd-kl z2qZMUC6Xg&5z@&@Gk*>sB*z$=$F5n>fzAUE-bt@gT4M+S)hwpzp*^HF@Mjq&I6(k zb{ixE_l>iB2#7q}y^aRP++W-FeDqh<@0M?=1lMYxeTxQneX+o$bc>_Eo_y%G3BO!E zf8EgzZnt6<*7rW`A2s06^S+`@=Jo}|Q?y?bAKoD;p~~bwuOpWnY4oV#g$3YoaLbwd z#(I9*`t0kVO@k_52rt;cyZYJGg1y7fy`FLK+=W45>q-^8xziIapq0jSmE)qVpU5;*xOwTxEzukA4 z*NUs|SL#)+`z(3rNg-O#&dy2SSPm?*tQ`Bm}n|6`rD%{cVte%R=S{)sO~ z27X9~(e*<5e_X5iZ^5@u2Ip^N?0S8ugz7VXdc6igyW;zi zL$vW&kxBJ`ZTOgexl-hfj;p;q#y|L2cGB6_#qKRWS-EgH&enMa022Uk zE`;IG9h!q{3~(W(fEZ$gA%MsZF{Xq`3;}|eV1O`01Q7+R7ORVk)vBu4+}$z37{CN# zgefKzVvM9|jg=xVUk^cMdOCm@0tlUjMPNRZODQ-v0F;P81Q5wv@j(QH;07}cZZO6u zRZT_-0Dv>;&^24GO-Mj6=9qDa9n4`~bP2=;l1|_aM2G;4F_1uT$bpm+KmnluOb7`D zm)tOPUDIuv13)PS;Dnf`F+z|rL^+mRa>N0^Tr$o%W2PsO+wBg!Jr@8dg(`uWSwsS3 z!KvUx2&g-d!v-97AOvIvm0V#uAT)#9b;GXfc1_oHop7N71Q4PEP>3KlU0hHIK?H#i0rPke90HT> z0u+J?r51}~o+8e59(I0^AdrkP2>}#PLTCQO99eP+fK_k_&56=PCJL&201^T*&oN}eYm0f0!z1QgQLDFVTf%o}S<>8$!OhNYAQVJ?~A07F0s za{g~Y37{}}Y61cXB^Odc;Os>@jak@?<^12K*vuIJPpygY(*rjT?2GMxu4LC3ACCu* z@-I7ZvF-gL;T1)fmBl=wzC|A9`L6nBc(+?LpxWI;AM5RqD%BkJs8M%qX`9BrsP|#e zadvWy|I-dpbNt7hIo$5goKV|Oqs)rC88v(P7q1&WG2&0xzq<$nJ*z3Q_AD8d^?@>RWS(^*_&yK`5f3+@F&UR&3^Mtz_^|UXYrhjUg z;ZwEo=pvh5?Vi)++1~Q!`;E3P&!?_`FM9MvZ@p>M&!2@BHeb1>#X}`B zGOFf|kD=ol{c0Q-({kg^0$~%X>T|!A&Q5B5V4nAMU#)@s4U;-tm|JtB+rd=>3nz50 zmvKIJZHI1dU#iD%8!+ZXrJ;j!zs3F?Gq-PQaL&nZbM0^AlaG5n801=V=F%-qC*`}^ zqSUF0>o*nhcWM6WsmHaJGd?vdDyOfB?o#%0!2R8IRy=xRzdM2Z`97%gVra`u>*HQ~ zDg=)&VbuQEynW$G^&>uy=sJ7c&H%PRNxv;!ztD({FM0%S&*yR{^6Vd5t>zooc6~KS z|EH~3-SphY>4Qfd?Q-k+$K2w6dybDKk1{t`41Y{7wEf<)#sJ?-0rNX9>VBYbrK+t+ z%&nIPMo$ah(0f7VvP%AmC7+jh^m^*$Ag@i!6N6KW`H}DQi^r|6mp}UJem}X~ zHz;EF57~E6;HLro^(2y|S1ZzVnBU&a-fzluocO>q>qxT;r_v5RDflsURV|otVL=#} z{OQ=}H4RVRSaoE~&szg#za2g2;eTFHeR1f|uL<`b9{o_b;#fb=m8Hg5_wd zC0$p}zwRivYD@n&PeS6l{)F}WR^L2p+REXVp7kI6-giO@YqWpe(mJ!o8AZz1(DsSC z9q-OO_-snE4ff;3+=i|jKQeRv*3)D|c<;(9i*sN0Gj+kYp+k>tT;C!2c(=4;50bNs zo$GS;=#$?Yf+x&4{iS{C-voDr!|!aEx%c{r5n0Kv;?r+-yYQP;UbpLb^vmfRe;>Z~ zul|V&ZAU-+n(aDd{HMx(H+8x5^JvYI^NS-Cx7g={y!G)uYarem~p2%T&?f* zt>fc1H8&mZQ|j)^s2(%#KPA62GdPn{LN2%?*RB(pos+9^hsLnL|Llg{?qGLJkA~*vu3P01%}Xi-iDWLaw;M4Ph`{2*v>5LP(}FP17Ya z%q9iOD@YTSKnV~55+Onek`iGEFofnn%|c8Pq;uHBg}b{ag3x@%MwqA)a775tIdH;A znQn&=Ib#wK8oDl};2cWH88bAlOKBi!3d_yvJrY6~+%UMoIH!mbtRRFWkOmiqVVF%m zKq!=07!m;Se-IM{EUIFD(_slY;t)b<0M3P!fMbXRFmsk%Fo&V*y1^KS7;!EjG+pLG zasY%xrjh~y06FK}U}iSM;GFBa&I|`a*wF0`J0^rW?1Eq@1(8DG%+T$?o+WKr03e`X z;IPOXg%P4liETDJKvL&Af{=0NW)7L2MJET1ODO@D5Xbyr+`v#B* z0U$9$5C9~RaAFb6pTPv{n3`WHgydXs!376G2#BS{N&%D@Kq;lDm4hh7ZbIt{XfDjY1F8}xTKnMf`07z~I zSj{63V_*uD0e}E9O+Ww$#Kg?{5QH(r06>IVj2nLE<>N44Scix!4mIovMi?c+=Gb4($( zQ4c1M7~)oFf9sM~j|YB(O2U|zdoP54`A8PbxU*}E@4A$Z2cs$uuaXn`Fr)t;@3sxw zyvaOLq}BaCH#hvSJUdywfNQS`9VXNsRJeAzYBL4UbGF}I+YGL{*|;#6pEe*it7cNT zS7~Kga=rpfL)&&26ZU3wNi`nEx7gI~3R_a8cK4cLS3~l-{JB4cm)jBCE4%s?>!%66 z`uPz@kWqPl;Cb^xIz^UP(V)Uh+2lkw5HQ8nRwCDrzUKeY2Em>)3 z#)`tHtw+zrmn_(>{h7#!wbWk`L*5Fv{TF>*JDH7rgUml;q>zjZYMsEY#UMf z_R^D;xJUJoiw_hj>o={}3I9!fEB~lfFfpp!-F~~{N}Vk;;EY>|=W|xnEpeDtFF3_k z#=Y>KD^=$_PkE2JiV&cmBN z=(4nYz>R{jZlm7~&tG%kkBjSu`%fzolnWYz_pOGyr2AaHxAoQXRv#usZ#NoxFDPlT z3{6d(R^Z46`tP{-urhb>Ha;qJ^VI&|z5i{Pd}w2#{C)iQtq7_7D7-vv#%Z`Fl1?+ft$K zUhnRqyLwGds+;ffXfLmrxmoe!|Jzl!;FtI|r%o4tGAv&+?REctx&FbB zlDXOQf0P`VK5EUUAcE^w{Bds?rk%WiM0`ZYXqpz;W&tC888L}hXa;sXtp1Zr)%I>W$7-m{3FrkPuR0v04!!ib60(Qb@)$O|x^x&DMfhJx16`Z8jhJ zxfBRPNDx)9qMDI9Y-azcf>lMaSXD|1RVXEdDAYx@kpEQ&F;=LeDk`BwQB;dXwOACZ zMNt%0RaL4eib4q`s`|gQ9z;kYBr!6-xtVj4#tmkoIT>SyWQ=ix8-`(Mx?wQE&Cm+q zjA^rQK;hPme0lNDmcu}%Kej> zos+|K10aYfRiuCrAqjxZmTR}$xrw^u90N=+#S#Gt4b5=mYMNaaT$lqqMKRwqN~wY{ zGC0>6*O{={9XUC+9GgAYZr7O*5>i#gibAM@2^CVB@10>Vho;$b9lEA-=B%3|h*VXz zSgaORwOUk6Fr|blL{SK(m{9C2WkO5|r5F=}sG?9pDWQ}ogc5`>C4@RNCsZK{Rj5K$ z)j};Q#uQQWqkv#uwA3uIV@e37NKq7`V5(q6QK&`51Q84sg(?(N6{`xhsEWlx6$`Z} z)TGu~Rcf`URu`+PDk{ZRi-lr@5hRpgip|d+A?D)`CX`TxsH#P^SQLw@Dk@bKswfJj z7S&==RI5c*Rn=lqREw%A&R6e`gIyoCKRDmIaDCSLHhzfEyd{GacC(e~kYmtAMGf?7R$m+9l}*aLC{ zOPpGDyVsfY@ddxPPHQ%BimyJao4ub}@63N}@%`7ff3-T;7T@Z5<|a=_c>K$DjZTU< zFzMdqrwgt|4~zbF##*ROomcti=+h4u-FBqiEzg9?*`b5m_imZ9;NRKt^~N5X{p;Q0 z@0CCPzBagKAXzwlz`nRKXf#ZSeycnSxjck|7kBax>lBdwBV+#oFk(RM<=r~FmR;1m zd2XWx#~dqivfcjvoma7wN0)h-`bah_YGXqi)T?aU|hp7t5lx6t~bHCqNvJexh` zORw8G8!CM+p5C)#pBm2s#tj{_=Jtj4XPS+lwYOX7L>D5chA3hY9a4sxx{_=KX zGDhBe3|9`=9J8?T?y$eTrrqzjs{2^Cs`V{ z!0)@tMvYjxpy$2{Uk7}5D@L`K<9BpzbLz~Z4gI=xX#GCsSeO6i_<+X|UNe_0KI`G1 zUGlF*RI3$VHZh>s*EVPF^|rxxz23#Z~K_fpWAgo$xEuaEt)*%L?v%)%;=ZD9yWSFb9_i%Ib zbg{Y{hG8%RK>`2~Lf9M!JfD)BbDIj%$ zKqm-cfuKov(UHLgfPf%~2*C&tA%wv+n=Kb|XmTo{ln5geHi9t16afJsH?Ne8F=jAk z7&;^rA_OorpZ!glxP(ATKnW!TLji#EMhG#s2D}C4hi4#sQFmBcPfnFvtNy&|zmnGIPfy1c#6iY~f5w z2{0lQ5n=W$5Mq*X&N<|SA|V7N&M+hdk}yaJkve4^n?=0M0cq zV@xw3gl2D5n&DC?A%qeNbLD7OM=>UtDu|f7LLejn0urEL^Y(}VLckfcHXkD|wKzRK zPOi?V%$v1Up*u@Do~Y^G$hj%FXh)TzB%sNCD))r{2g zo~u1;^&fP(zH5`m`zQ5TFzm4B?pueV@>Bkxcq z^Z9n~RTDamExEDRiZt6d1QS;&F2JilS={j@wO6dz_n}$j%ikB{JI2e{?DF z?9hJs*Bwt<@cc)1ExCDEU~Zecz^kWQg)gPAbecWU^T!7zx_#G9U;HgAPu?#&G<&!u zYuE87vmXSlA9MoCpdIf!gZibvE}b1wu~_ua*S`4=)Cs8Zq3580A1tBcla?X-h?0Vu|v1sdYScPz_#w*CFXhz ztllT4{ecoOVAK8wg| zu%YGm=uhDV=9R3!;Mj-C*ITA;EZY0|&(8xMv^ZX)-R5@Dk1HHK^e*yT*3fym^{Q7a z@@2@^fJ*&6+`7f>b^A8|&yq63YW~|>r^2pl?^gY6=8+ol!E@l3$LD@zRvmlkN`b6~ z6^lcZ^Mj2 zt8&}z5A>TcqeGFpJ$pZzU$A4+jK(3B-jThF=3njG%k7Hi#7@;7WPb`9svSs69lq+| zrwjV<)Xm@KC7r52sMptx-%nN8xzfFS*tK58W^QVGvHFt|@q4QHcfUVrfVWmR{q@O_ zceg}++}yI-c;m}|_l_;|>Cww)?1h}1`!f#Q+W9g5Oz~AOvevII8|ZyK?9HCB8!B0b zAD+B(=Ajh$(C5jcuqYIeyt3f8PFa15y&ZG7a|IshcsgKdvE?O;AN((Tz@d*{CYKEM z=~yPT+pZ;rSG|jAe{D&P>mB8lFFjK6pPxmEn}=&Y4-a=&4=Ay&Yr1X#h#(|FO3fkN z-SZKonzmIAfTz2saFc=~cX#&h&p#!di3`0l(AVf%-b!{%7ltKt#YR4fY<|!qCBorY`n85%>NQD*) zr3mNRY+M21Z1~*$Lf(Z_UnY=YYodjVF83zCe37G&Imk?1?ylWmN z5MgYBzA3_#5R3?cgd$3v3o|JtL{irb2&9x4LL{M-(0m+`2tuML!0b8z2mlm7n&1}h zgrXq{01{Fl1OSsj2#F*?*h%}r5IgBL(ySZm5JE^`o;t+*O93DRx^6%TC?RIK24Tb) zG!O&;C<=8h2+d;*LIH&|+2{l#j0jP%qL`X501*cg3IGgewgy0n^6EMe0tn@)r9)F5 z1;4xWZT0rR#c7^hqvjRMSzcyfy)8=;t>JH5jS36;Io&;Y?pxnNcWWMLeinrle>PZY zUhk&TE}(#H5ZW!FtKH|x)~O@UoGNrW`=!xwHmzHXZms@t?e;%Qi!Lwmv~atkzwbr7 z+KZBBrX(bLXK&c`yk<(-)Fum$gtXYPA1}$@l9e9#GIoO*>>e$yZpmz$KTtWFlO3X|B5whl;}Qw?XzPICl9vuo8Ct+ zJjHF#-fkUQjO_R`y#C<|>B*@{-AYA8ysYb2sZC9nkh|WYQ#EY)+lyZvQes%Sq}cks+9pS|YhAyT-7!AIx8--Qe>=x7nzws#lVNXn zynFunnq&8%;jy(3g%o=jjGgNbmdR#w~PsouB@H0fBDEEC+^>Hd60TZD($+vk2-yDsDJ#BrMpH|*m2=n z){MD>dfYSKPZ#;F4=I=W@6**8wVUh%<-IIpUjJHtYjN}(<>h_|aj9wx*)yf=)uLzCRRo>Kzp%c$eWgd@^*36?nT zHZEFsX~(_`o{t$k?c3g6QQNCVUu#{v*M%+zTe%Lirr#Ul-MLQFjcG5B9o!Uqe%umk z?cK9}bt<25+w1VcYHQQJxqL`{zVuVq?;nQ*MtppBsKV6zV}1o5MX985Q3Q*89*?`kdQhP08^b>1c5+GB$zaqf${%->z>=LN3kHxqt{!iY*qaqEL&)VzsysOcX-xG8dUV5CA2V z95BH-LdXy%Xj`fXac=8{5`a7(D*zHmNDu*l3l0Pn0H{`CQnUW| zGOs|+dnf|BVWP8ul#+AABo`7=1#^ys5KI8Z1%enL00ck~YMR5uZgD6~92de^Ld7)y zNh!ImVFU<57-0aB!~R_eXR$AL zaOzCVnhi_jbpHYggju|xR6zteOa7)J7-0YagqS(FGny)ylpHuYNC+a?Bwwq&Gsj@Odhk?wJeyCy10*{{--rr$VotM)|PGlAXlx<0VX`^b!T`}1AQ zujea1X2K`^Z)cHRp!|}|(}PyGzrL^N>!`*n<@KFzXU@kAwG}=PJ6}-mi+9X#IZS%BkcHp+A-n{5U3PY|njPbIWed|D?v5J54Sh z>+@~0%a@l|YsM5W@@d`gpY1F9cK>m7#(}ubML);&$+xT8`E6@kR5+hDVN#nnor3U& z8M2t=;iYfoI}FUV-Dp*y?xi6y=UnbhQZH-nL)TABs(tMD=q-J_r;Kd;@YeLpK`EW} z1%peji8%c{YvMn9x3-J-S3fiIOOrjmErxCUQ#xXSt!Tj2e_x*jkBI3yeuyvlF;zS7 z5Se!i49SWQOHqz(TUFs)?$C~Nj}Gx}qa41sb;{|gaf7CPobIUoUt)g0P2TH927Vm) zEVN0o|KcrmpBKo??B2RXk&*|Fe|EbTCnpylx9gc3^|a zJv=-p_M0~gskYlT0wWzPmbYIdvX-?uM6l>j&J#gqL`jfstjs&VmfkB*;r92t2I z1eR|zZ{FNxg>H9wJfz0#kFRijc`ylAYdybj%{Naj29&>gu;kNU{ww@@FDqGg&dOEZ z%Xh>rE#r}}=}yTXMV3Zc`_yYV>PKc&!`ZRZ%CDRC@?Mm6W9(y(n9jF%9RHb_ba>3j z+Ye{G_Nf_l==&<;BCcFhVT@~bhvv{UO}E>%T${~dFvAd-T0Qd>po+y5*+OJ`-Vnw} zN+_6g@)XgVe&6Owbmpi>nfAj&IGBY_Yy*_H?Z zOd%zh5JWJ77$5`*fhJa&QjDpBscLSwC{a{}a4s-L086ukXWmlHyrcvYnwbp%u#*J_ z4aTJ~fpLO!!I*9^LvSvoH1BG5M{c^qh9PB4YIbgDz|aBH1k)vegc3>!RTPRT5of z5Jmt=2@Heln(lCDy3RNk4viT)*A2!PlR`iUFeO%tqAJv)s)S%gQ7ARq^GwuEHJ~^ZNi6RkG>XxT>Pkx$;OGR$`RJ>p3^TwIkr!QU1 z4L>yHUhMtN;Vi3dcug@YhaX@h5`h#FRyfwO9_01g~Pbj#cd2HyNGIOWD>VLr6rmokD$Aj12 zf7Abx{O{+PDXTl|E;T=Jbp6+-o-n`LRx#XV@nYA4=`MTIvZ{4@RCURma;1OKHvt!y zc22D6Z>^9uzs`e++k@bpUq6el^N1=Kx3jv}*jmrjZtZKeFI29-r^jN0RSnv5@YB0r zZbhSC+^9Ic$ys~a`(7P}l+0<>Dq&rX%0+Hm`8@girs?yGR{E=7??q{c2EFIhTr$a6 zJiANLTA6En_w7t7a_U{JA+am|Ur}cs7SsFw@n<<_7G*8U+J+ReM<09k%9cH{hsY8t zitH+T_E1zLy9kk`L}g7XWKAfAinf_^p5^z)nZCb2nm@W~X09{mdhWUJ`~7~sA2;e0 z>D9$%{vMOz6WwA?Je%p~*5t#lqCc0+n|AT~IRHG1IP`n!)8xjR9KtI7@N%=_meTF(zdOtgXkjnMe>v{N zRkYBj(&e0Y)0uq(heWRW_xs!)UC+Y!PP?!C)BR}DW$eKAH#a=0G@f_hUWEUSX^-49 zPk3fr?s+=?ypgAI5Pqyq?U*ue@v~u1iX+uU#$U>e980|WFL;ylFyim&)Hf?HKik~R zHs<5X?+eqP!!{cp9e-=q+A?p?<>kTWsuFzj!w2sZb1n{v+_*X~(xLaXHeNRqUyt(| z+jwrb4r#C6mteOiGzhze%+D6(NS+||EzvHP1tA54X>G#A9Z&)R0nYJV-Lu0RuG!jt$m7l% z^*#1K*m!E}*l~Vppljhp4rakfIV>f0f?Y4;u7Af~Se(1(O`5sy)NMAO{l;fa3GaV) zMOd||AQ72C4k=PYq*e=z0j$TI0L4uXpa3C62s6MTfEule%8U{Q5oMfVgaiZ_L^7p} zaYbSxil9#AL8_~Wa@eU4|QWeAF}E^P;Lh%sV}E2Aov zO01_gs;4#5YU`=hYC&Oi7>kNr9zjTf!3_OB=RSZ;S6fLbmt_KF!l*&-&N<*5aZU;4 zvZQB}FhUW82muHX1)On08KaP1INgK*03ZNKL_t(zjsVAovx`IizdnT-u+mr*I0uj; z4jAVYAqD`1kSmc00>l)lA?1icKp_SQLclnXnM^n#j8Xs)64io;1p#r+8PV%%MTnGu zdk7)t1YiiEz!;;1%d!kOg%|?}xFUE_0S*AAj8ecE1e8<4B$*IGF~opF#WyL6h+zmB zfqJi~vFiBSB#XDmrFZcke;N?V=F&AW(iufpSX%fFR`D zFrtMRB8Ym9>D|x&(k1geUDunY|C|S0bg9?ms@u;GW=4;9_8vcb>sZOntnzog;{N&X zM@BFDIIdtp&9?emLKc#n39mF=68-NSsO@{%;r3v7&ENN!*g9@jTKz7_+-ggkFR{MA zmbTfU7q-oMUoU-kv1*XGF8S!(Uzb|l8gi_>;eh*_HatsD=<(^nl%bDTc~!ODn&&xu zw*93*zP9j>UFS3tkI-I0PwOvw^1O0wgKZnKUT?UTb~^v%g!&yi`z>fzlWfx8biu~8 zZm0HzeQBPU{9(z}pz5Yg{zYx-wJspWuK{UmTKspN?V^E3+l$AaSUY@)%lC%Q9Y>S4 zU)tLx*|Ilr*;ehQET29x&}%~8fr;(5r{3D5T4Nfupij%BH?68YiVw-BU-|68Hs7Yc z>DZkwI&8F}NGN)=%kfWHA@jOY@%>_n$%oP7hEzFSR*q-fhGckMDmRl$_vCPtY z>BEvgXQriFZ|Fc*b$wO(XHt*JmuyRO6XSgzf5OkTllFMWOj_hvd$7tY99@{zD%fLk z*BQ~<;-7Ry8CDHFEkXiPA9r2!d(0gBs>1te;XYfVm)$?|Y0oV6>yn~7*4y6ocJDpD zUEU+<*}33<=B9Y|1kG^tYIel)myM%`e;j$UcvQ@u7QdQIyLh5@`mXSn_OU%`H)f>N z3w-yz=xk7PyEp4!I<>28Zq;~TWPf*8xBHH?>oAWG@&B!Fma+3Be>6Zm)N|OZ8#jNo z@9!9KZo8wVRQ~U1VvI?@<0p~>>)*UJGV^}b{mt2GeW!w|+eWUnt(Iwz&uAVne*YY+ z-R6-s?bc^R*|=|hlG^2-rQ7z1e2f2XK#QgR?K8_PE*Io&TjwL@VDCNQg=e-*OPo^C zXjF7pm+z*ox8{DebRRde&imB zuc#5uj;qf9@xJBWG2dDr4qw-&;GOl=*S=PnNq2Mh`#ubLUE%(7bJ$_&@d>Yvy|)bK zz0Sv{riB_^renq*Jn{DX>19LS#J#G1nlW3OeK;~hJLc`vg;Qz8>sufCI4`w+Hp*g3 zrFBJOZ|^RaL1yquQu!wruhlKQ{F>%|lcZa#y7qTl@^fa*wz>DJaF3faPVV4WH=Wqc zX4)_Qa96Y+)974?+bHqRl%V66Mjd(krQ(!aFU~*sQe>B1ExP`m{3yw)5E;MZ(&?EA za~#48=lM1Z{Fe|=^Xsm6k)RY95vtWlgODJK5`zfT=m_NyDew*s8Ry7gaVCUF5~-=F zt^D^-6h$Hs!Z_rdG0q9)j3LIM5_H62Rb{POt>F}L1~~(Qpy3n&hByRF(K!&xWJPW% z0|FsHfC8wu2MoXIOCEe11>7^M-G52%My_#QVThhDPc0_1Tg}L%p^%>j3EJXz#s$=BSFAG z0ElBq1PHj&xG>K2lAgz93LSB!!78 zGs0zt7yyvUM6c87YjwIBy)2X3T1hVvN@NH)7qI{lA(RkCl%9_%J_V@Q|CE{m0N_Ar zd70s54c!fZQkzq(S$C0Rl+TQZWcP#(;AU@c&SNh7t%B)t4g3Q5^kB zjtIt(8??<30SFYF41fSZ0|-Y+My&Jx8-Q+1z_@M~poox^e`gRPh&f;YL1dT&DDhwj zLI@wuLP2*oR1b39`Z1}E)y2z4{(8piU2IeHwa;!_G&-6#>G$PGlo;b3^6A>)IEQ`r zgXX(7*yw)8H2c4QtDJJphx`hTdtUX{_KJf~^8*R@CPkd@+G))DbypgMMn}$AHmUMV z@$!AOrdb7H-&XYOSQKb$bfa{s{~xn-N9*3&RUd}_=rg+ip906t-x_RWpCl9o+-~eEwJuBl;y&*F`wP<-4m;W}Bl?ybcsZ~3CV!JO*Ljm2@;nz|txaAPGWcMt z@7-wa;jlp&FXm(nEcXo0d!X-e+6i6WcWRHrfU1G7eJaoMv`;6UZiM~1U^-7QeY!%w zxpD&+N?vzc96zQ!F*b8S>8(e$t;)>i4PA0SyH{c!T+^uG@*dglp~DBx#4u)3Tbth} z3aW+H`VYD>0TXXr+rWlS{_sBL$Hpy1Yu!^$&H3nWvVQ0H))N}5yxjU#8kJNxfkPd9 zCrojSvmLha{m4%`pZEb!7izz%N5%KPG;cE4P{adUr5*`-7H`6F$cHkG_`B>-2AR-*@Vk_ZN1y$fT)#b`7*$d-V2V_W_Z^ z2HI}#=;hgQcg0Khs|P~dI*q@6WPIZEsUbs*9e3}X{bTYzpNFq6JPp5{ekeGiP3fLs zmsvX+mbcrx_h(MW{MV~*{g~pHGt=1Kd(8EHjpjA*(wK|-z2c}zUn2wh|6KUQt2VHA zz_?3~t&Tdq&Gt4L?$bdN?|J|^jl1-2{LPgqw%3Z6_P)^5aE zl3uQ?sIB~04XC8mh#Iw4t%87Kl}fFK3{ye~EiW(s`?nfMDoLjUD$46ISWncbM5I;8 zoFNV<1bUeend|g=CNanm(GviefK0|*&lhzfv1K_zI^Y6yT{uhYpo3=o1M6rq3+S8<6@#t36bW|T9E1W~Oq2AVpM z7vO|QqNo-HD2iAm2$j{xr&b zmSn~#K?pzq1W09xN_wK#6TO~52n9nc#vz9QGOpAO4*uuntCPh*sBB`D2{nLBsbc>t zXG-!F#)t_5fCvDNAO##S1{q^Y5*Rc{PZhZ-SD-zVKmh}QmEcLGPC-L`Hb`;mzFI*B z00zqCSDs9v-v9&shBMBgavgvIp9RcNxH(iJxfoR>J_awWlJeZL&%2VWF~a zzZ?BbCfAN_3k2@}B{!)~jybdD-43f{zn8n}FKM-UP(PPfDaE53PF^~1W7NYg{>ydU zZOuQl^6u)DGWcysY)^0JsYdlT7ESjm@EkLA`^fgw1Kh{n3X9$`<>G+c`$2s-nq9BD zIDAY4d)Jd|XO=v$xZSh&moweb0{4cA|Ej9SzP#jVH)!XhabH>;HhDJfT~PMjgh%so zVmdnHgln5j@C>f#`lIjCqdJRoU;n!}aM%<-o5>$fch5<5b&5h6r8h>TS`K|SxAEfn zHZ#oc#`XW!xy$^|olcU&57jeUUa&F_o_|8OI<(A)l=U8d#iH6O;ILWH@Uyw%ijtKt zvr3Kz+7+gIX5asS4jZ3ZWtzHabMvb$ZU?_K^OEU& zYJVBszJ^tXI$=bIBUt@ ziWbwV!`giMsF^foN7S6VzXo4Cwyvg=WM{j1ReveEoiuajWpmHUm2gZqqj*%BYNcmC*KmZoRM8%N%2 zeC%@DP`4t#CqKU*@}(0@3ie0+@%Xxb(rjsW_iroHPKN}X8F+7l#$7zOFZRePf78*s zUOJ3@GW5*wyWczQN|-Rj!ejsOn+-n3ufG>D>{ZcNK>wH0oQL!JJGL^@ zo$q&JUq|y+rtjn-gqMjH>PIaPu*H8{j(t&i_iBaT)ZM*SkN%$X)BoO)IlYrQH>=(x z2vDP!bds!>^jxoJHM$xAI6??wR9#yw$pB-(AfQ|#lprKPh6rJbxfpQ(A;KcWTqR(Y zTCFwKXb{Jg%2JK4_Fom`^^|>}S|tD`Vkjbvfs)zADB)bDln_8EV3ae?Fhh(}K~Pv_ z977-=AV4J)5F*TFE@K86$Arm{V+0rg7yyR202KWKN1Q3J51{xf7-NtF1OVZjb86@= z3_pemCx=iuD=`wdg1Ldp;Rqo@7zh9oZa4q|U=RR-F#r`v7iLPYfVk4KV1xjmfFT5- zARx^CHzh-mbIu_U0N@-!C_=;`V;m?E?_6m-7^N}?oHHa#jLS;N;}9~SAes?}kOHKL zdsHgS87H#LWB@oY=zf$|h*8EUWin$T2M|CY2ncZzaE<^53MP$EN~tpWLkIzcH~^GU zCNqi1vMf{16cQUUAW;O21P&O11VIcrL;w+)Qkfb?k(9|2Au=VBEbApo0H<7WjZ&G( zkV=wVtJ8@!sw%OX5EYXtAwxDx!!|L4$vbqiep z07e)fB}56|wzQw3b@?!8edG$O8$M^#%8lyf#@OynlFs}0U1@ypBqJk^eR=6? zYWmkMdyMP3(AHIK#yH>7j|;l~7uc=Tr1kqy8|PkQ_RV_MSH3yl&vna;X~#Fe8vocf zW4r(H&PC3+{()Z>W(zNGSp4Ah!%)1Po9>H!-P(OaKAs=@r2J#HaizQHvCpew{l=u( zJ_%XtvMSSyCtAk-DHz@R$1=Y*Uk*-jPfy8i(s`<_?an#2mrcwAXN37|oW3UOjr}G6 zekB2eKDHcOVpcd@GBV_S`S;&X&s8=Um*>CmsZZpsgf+2lU;X?K z-F@jaw5UgelGxz+v28+_NrR|P`%Gi4m)V!P@n&nk7(Lv!E3x&-7v=ksK0n%JY1Vwu zn)mjt-``pO=z^b1Q)@wLT{2L&cU0xwDT@w28a(}Uvu@hTUhJ27PK)tjZW%LwP8)LO zgZ()7^LiiKD?b|DJTTOz+v@EumE9LryqaiRHrp~~L96?HJF`zl2l1+zWiy^_x9DN} zD!%#V%<>B}UxfNR{QS&6(7jV`b%0gWk{`+LUmLkRw|dvLctmu=z!vuwY&E&>8=c`h z;^*dumuoJ(UpDpmq^_33I^g7nSDOkWhU#WD41Sjp7g*TH^3Uz{4byWEch>Z(e&_JL zbf(>A|5X-(PgVV8c6p&)j%;sZbEm{5XqLZ2oKwQ==_BG_v@S?C*O_H7xGU{sf^|}! z_2cU~Zl~uqZu#QUwKsMP)7#Bo@}fb-MyIFrQPTh}FN>0iHyvCq zjtXk;J$r#^gMA~j`W;=m#_o3OsP=CCty*yWH{ALQJ@{+ti=qChVOB0M`(uLxuHqgg@y zq*fR1oa;2_fbU}R(rC|44QIN%UMjImnOYE)X4 zs8y>p7z&I+&Nu`BBP>aJ2-Oe+timd-h&32v6$3=cvC-A)YxR;|l9|jXC6vmHW6YW2 zbB6$6q(+A1TR|~N6PXfD5D*aJh%pEOr3@i}A?JuQ&LCujZ~%a!v{YzWj2pOFhJhG@ z2q>w!GL;zwkTHM|;2elpgh){;A^-(JP$5Prr2rtvh_VC%95arT5-LCr5de@Ogdhjd zpmbCoAcTT|Ma72zAcKm;A2Wmz#-hQepb)GTHHXrDa7HMRi3~Up)EEE*e1HMOIY1n6 zh!~)CJ1fi?P~Ia}0{I|B7y+R4dr+oWCVE1Epu!jd5etxWMgU`gGRheHUtlsq2tXh+ zBI{(znM?_xgad#@Ls}5}U$6r(%!UyM5I{l*r%HSvq-rGzogID`;p^Rj(c z-aj|nc_zA-I$af*;#DzrYt;~ew*wvaL&R{&)R+Hes4+smW{1a zR&C$wsKFkahvt>ddNQtj+2492%s2M3?!j%*jSz^2@*^M{mz8AN$}l)^kRVWMLmOYkss$t_Tcp4gc`C;L%UJ z&N~*hTeMDJxHIN&uVGpD*Tf~AGS8Z7-9PGT$I1s5-S=uWc<;dhTbd4u2)md0HEgKc zW0(1#vtNwQIP>1c!uq^5ZL~6YMT;%1$5k%29MwDB^Lh-2lxKQtqS`z zYTwSRU7gwwO}(;4D}7mDX;*k-;qwn0Rr+0*+J+?F3%5F&ns;c`7=5#BRLWJ ziMwWXjJ;)0Ti^FRoL~(eTnfco+`SYDQXGmyafjj#E$$92#S4W}Bv{b`DN>w5@ZiB+ zTPRQnfq%a9ncs`&-IGk_-Z?q<-hJ+zIkNWNYteQ2t3I2n8D3+lQ=kYvtZ+bzcQI{* zh7=>3@!H^}cNXJ)7wJkh9yDhsnO)Odg4bxPAD!jzyl#Cg`_A=3C;ptC zAt>iDxu2U;x*8wEf|OCV*`-#)bUofUR9rJb_1aXoG^qpjUG1Aj!29`)<9yFzZj%QE z0Sk}6XAXWNC8+30Wgg^fc9nlBtDmSR|JonDm)Icg@(A)La@)7=O+Vuq7D`pile@X? zE&I|L?{>3%-r_=iyZQU(K1xxnVQutv=UON8Z2-ji%i@3t|b>Udd6tdD4I zKPD+c$&^(%u<-3tDAI`DzXC!)Qo2=nDtdN3qOR^QYK^LepcUeJ)fnZpUrC2chxDc| znYYYpRlo@PTJ<+&wNCcz7}DMdUFiHsONfP`p_Y4Xm(ertJgi=-yH=dCDk%L7=LQ{>Yy+>TyEU`nFKuve5> zzfA${kg0wK{ig}6)+r;x636L+b;%9b{@kwyS)u`muUJ4LNv8;(aTZ*FJb)9>$csHl z%TmZ1A%&OArg)|%_QY?j!bMrwwgR&ULNvR5@5*jdsOG#c0 zcaRqN_1TvcNRNX$$DqB6!yspcutN+)u~{%8MIrVO4j43P|MhD-Pmg<~(NZ8e3Wt;9 zJ%;Pvm7R(j90gJYGA96gG!t!lX@$xiHEVdJ7+9jfA6n}Au+zldQ_NE1{7C}>N)jKCgn_<8hAElDTiv64Cg z*?5mnC7Zb5U_yzU64+;$tQ73yYF(=s(axfpJlt3`EL@`Q%27E@RAo-FL-_WBI{R&% zREx}!M7_M35sJS7qoddJE3HH;olzry(F^&w%g6nA)S~?0<-|p@#%*h7FCI*$@n2?< z(TnRS{Y$@x(d<0;qCoU~i{gXB_Tc35kUBPYf%fubK=lARy69PYXYLzv$gIYEQNd!x zUCmWAeC645JUW_Ni?D+8x}dy2murE=(yz*+!n6iGiQ<6zShH zAGKWmVMM&On>lKZ4;~5PSFYu)3;w8Gn!|zX{&szVHU14+bJDq%~qMlzeDya zTA%HDjs)))49J~f+;Cq`G8ep725qQNe08;F&DZW#w}Xa5qhB+_RhmaGZq45L-{mx% zyp;QTYQ?<=l?V!Vn_s^0>4u6v*Qws5agw2_uP@A8r_6?zvPQL6PZ+L-AwCiEZwV(w|wo5C_eW_ch)2ttpoYwlkSO5i*G~Bw9 zy_N7Qi!6F+hdlkut*h9h&;?e~hm!cZQ|(chD^oM#U?yD+rq4r)oCI{`1$z@GWP2tX~+d8NGh-Xd{1BTOng>}C)4;l{FFw>Fs@5RJp zZjXJeAK#UE9xB!>dW(F$_e#IK*rZ6*BLE(YXP0E8&Db%`wY!_vyZjc9$@4OFDI&VP zd|f*iJu4MTFE+UsmzsCzEbSdKgW9Wob{yW}^Xpa4cvw!+{rwwd<^V>hA8?hH1k1hbn`mFBJ9hX{2Xo@iQ^k*AH#* zR@v~B+O1!MHIGSG?n(a`!X!TGkKkbP3ju1%+Ddg0>nH*$0zwye8z%>WKo@&IXL3Ax z90IHb90HC1E4Fj9@%1H_p_e9*6e7e0@Z%Cu5#WLVyp)eb z$=UC}hhzf@X#TI<(bLD>#*h3F0WJZyuJ+6BLA$KC1z7*H6CjD%@DNV-vtgHcAl8}MIm~amnII8k zCNah)jD^H%s!DnQ0G0{nJR9^st5bt*95DxcFI7`t%<;d^C)=mO{})FSRLBc6t=}Mosc5xOk7Xl1Y&+OtS<*}v z+sMTv-Dqtp^=^G@%Wj?Aj?mAB;&@ZV$}i4rO}}KaUX?+;fl@U~e9X;S z?krv%p5HdUam_`sz$KrBy#29^B#!LZo6kAH!nhNPuhFPJ$;YARHx=`HaOl_eF|IFf znl}e#+uQ8acNej|6U4}>OodWURm0Rf8v=!daSinh6?G+W0s?!?^<(3*J9B-A6yzK`NNQys^A!S}g zFnuRd=nhtY?>Cxxju`-1s&07;xcAoF_S z%EQsaMt5G3UYJ!tum?@6o0-I+&i7*@4R9tPypJl5e&#$$LYs+%)P#5r%Xd751R1{fI0Y@0p zU%34{x)9jxctNByYtIz#-&BYu`QU}VyFB^xXJe08)>miL(2!8(ZE)33O8my$DySYa z2lR*ID?VwGL87D&{qiQ6IBB^W;m5DYALo0=#keOJzIKpcW{7VX(`V$_68t)CsFf<2 z&NZ9zim+^}PC(gsR9ttz!W612C^i?=pMslwBjhp_6O^xg1kSET)P+M5wAJk|WFG5L zKoPb=)T6HZpSj2)^1#3bJQo}uzi(NF7g^7+&!DcMUAY8L;)8iB_{Dh=?dZk#lAR{R zZNavEV|93dhu!c8E4n4Q&_LLt2erR$?}*>{&SI031u`qF=8aVyZ1XRY^h`2aM#b2Y z-@fy(oa;rn>B9jE$@I{6HrIiSQ-=LJzI~UwhDOW%Nd8^3@yVquq2OY)I=LDVCyCnH z5OSd>Tsb}WkXUy45f&DJzU$S}pMzEO{gJ%QQe2;~>Rhp`J@N=$y2R}vqwf_ZiNh<8 z?3MZW{u2*~MY>UH%-2>42gk;4T3AG3E43rvfdkvikdWCqm!S&(6`bk=m11T7ujaO$ zvP1^92DqBjMTcM$^K&fbWTn9jZ}p-dpE*cP1P8ZrrzMSPdEtj;*$h6BV+|hF(s~qM zeGHyGd8)x-!`s_SPn+~s&6OnA*LIeZT`QV3rXQF0^{e3wD_ObMd^!8xlJNLNTZ%4p z;KOoteb@$usIl|yyX(bK9^Nq2403Bi=la>!(WOAxCF{u<5)B_Vew-+kiVE!e$t2fv z>x#ZJE-t)l*t~+vJqf@4Gi7wYY-JG^u-aN;G_WO#zS~8kmr)OYcW5;#cHVJEiJ6()37KsXW|3Vq;fJf;{yD05A3)%haYyLv}<-Y zPW|@r%Y=lL40)6d*};j{dM#LKC9Fz3A{4(P7Tv@(0Ry5q)IZG}X9k6vRJncm=K@A+ z+N%s@gfqhQv1arl zCmZGXhpG-x{BT2^E~qh@`ui+twB2`ee(F)_^n-&cnnVm~N)36icc&%qqTe|YQSP(} zA0&%j-e(%jYQ~j+WA%^|KJSOLHLaa%TqMY^mq6YiHaA0BI?co^S~{g+T`RnadUJsl z8?!p1s2hZB15|+D*pP2);p_@lReVuquz1c}SnN6J93Gypt|3mNuS{Iz?r2uk)rG-Bbb*tB~~g;tCO& zU5Zjo8VIlpUBsv411l%0M(wAa?(Ysp=68rc64=FCKdl4olAOkAS{wQNl6r2hq^B6j z&aC9+W%v?62E_5gerZegau}edB^Iaq(pF{Hd6zX4+kr20IqPK;Zxk=kA_D+GW?)3K z1KHAi^8-kSyjRYyuO-gptaB3xIG;jZjzPf)6hYOGd5xQ z&3m-byvpN{;S##jYtsCqg0rx@-GYhLwJtl;`}69F`}27kcg3~tFqlq7{7}3W>bNf~ z?0)m+qz?wWKHIgijSwnM^Bp%rG@y1z>vzsO#@?y>K2vd`;t0M(BwwB{20ol&u0s}g zg{t=vQ&|)bRW!Wtr2Z2kByx!sP2Va_dbRM46%yzlgT-Mj|4q+tJc6A!#vsW7+u!&% zj_wYZkc}a(_i?_slA0Mip0E9T69i{UTITj&zx;|S*M8=^FWcDHWG@)I7}Mc96DP)5TQ76@e4_H5NH1wj`q5=6qzwGjOGyw5yy@VtzO

O& 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�{CoXntr!GCF=(>`qG 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%0A2XY%0KPh#kk&`3 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%0Ayj0fz`@rqGjG1}z%R}#- z`@(x8UiYf9hZd&uqWgWZT zGUI?NwvRS_du8slMXSxa3&OpZoIk$z6ZfuxoBlI<&+C6$)Z@AF2ORV?ti9WR|Fy?< z+x?g!M=ji#ACVuv<28>T_vE~d3$Fg^l#yeHoUE$$-EG~V_5HrsyVQQ>xwoWOtb6X1 ztCzP-(65DW(TU|;@$_unXA~QD2r+efke%fx}{I1`he8($4?65W(J~8{(=&w4C zn;;urKKA_Fr-+F5Jsv#Gi@X??ytNT>ttNyd}uyx^*ZZ|f}8M*r`5oapXN($)#3xqEjH%iB8 zDkL;D7Ogg(6w(tawUyKx4uGs;AX@S30su&o6gYDkoDDy0$swS*9Y7%Zz!M%6K4T5D;0T)2f`WlwpWQbMU0fk{tKbG$yR%?rLo^ zWlE(oL(r+xnKo5fAbIACOzW0n+4nq-ObTY=OdHiuUtix)Uo4fpz^kq<2+yvp5;bU80HuN z5-A-?Pt?}tg%nz2sU1WI-E}!b2dHB{D!lL5yi@^L}8g4ul8;Mg&o*MG6@NIaaYqONl6# z%lW>~nD9JK3@nlXut3Ne6H-_V!vYX`UZ}FnTC0>s&KYCcXg7JcNWSO!zVG{HGR7oe z388KKc9IL<_gw-ORDwt=akW7Z6pO_qNw!eofMGd~ilt(zvO=NYhe61g>v5G*NjY(h zEr*F{tqavvZQHg-L^3K%v@x0Qi$b9ah#XZI0EozdDJSJ9jf5}SRkagBw3J(@#pc4W zP$>9e2t=t>lB1UoT)vy&QV3}fGNYXr4>GchH=do zO%a16Nz>E>K@e6|`Gx9`<&a{fG}8n$c)6VVx&CJr^n-(|U(RT6n@BVuI<8AIczBs$zyf@z;ddrVr z?c2U#-)HB)^X}5xJN~oroXHp8IIQlcS>5I8Cl@|`(6U-}-=O2V47qF9kFM0Wjo!WG zmZe`!Zw?Py{o@bwKfUdh)#LX2Y_T1%Nj@|6{jPqM@BY@J@b7m`+o#jMd;Br+q3@pFwLN?IsNHstX9vq$ z_BY*k`;NjkoBF@MfBeA{OOKR`CM@VS;&y}!4?KCr+KrQ6e{a~)*S24J-U|Qf*XNx6 z#V@N5IQH%X7EPV-te@-q`NYnh!`<@t59xT)x07!<<%sfS{qm2Ff9%wQ9ys~dFMoRE ztxwN6>7;w-Joag?RmDSA-O%T|lcrs?>*#%6eptwt9(<(JRfCr1PX27*&O_VYJoe&& zjSGI=`NE+sf4gpWyK;SpmVHlI`Tg>fciCgWrQ(Up7Yw>_>R~;zQ#z$z-&;8KgG)Pp zH&4`0+v(5orB}QkF4*PJ!#n=m?dJE^t?2Y*`s}eI4)$w$FQ4hJ&()9dhm5^ed_HNr zb7-&Y=>1M(=Z(EsII2aQMPx}ZW|3R1(=<&p7yfCq0Z`zw?u<1m%Pd35x#Sgncd1m0 zx%#Y474iNoX&d7rUyVs#DEB`v+P1Jh>XC1g$gkfOeMvjmDxc=fJD}9mV~V; zZ>VU|cq_;c#u!A_(9kTseEaqtfi&aHI2ejma;&VgAW`nFkaG@}=W-ze0NOZ?r4&MV ztm3L=5LuEWj@uc8VG#JuscLR+uBoafYqK<#Qbci7j>=6<&A>3rQl_^*qs4)rFdx zDy0J&*<`!e1O>K2uyS75gmX_v~YfZ5j5m^Lg9a7qQaQZ)9TW7IbkV)UT6ab`Yrj;TKZkdY3Vwz?(HMN1~`@ScH1fV#MlO$n+Z(%$c>m23)5tUNL zDnF2%Ndgm>vn)xhrCcry!>~{&Fu-yY#c||PjX3992*$>knwpwiE*C`+5!Ke#ZsEiQ zLEy4pN~MxZt58Z+&cPNKV?p2}2Dvcjd0a~0@tUO+zUPObmu3loJMdVojZ)h4q}Co0 zg<%i`p%5a8A~#z?L?O7-D7#QF03fnjD+6FbXPL@W;(I=4j7Vo`8V1!;N~JQRjU^)) zmtKfkYeU8;0LYZG7KkuTRjLdFE&^$cCNfmkA;^1ZH=T=>Eo}9J&^&i|;IRDJ}q<`Lh z!%-iuz3%Sd>eBT;KlhP2GW_$8rQ;uNTfNJ}dshFHJ^4ZZ38N2Q^S8Gq?J=Q#=C!At z{HcH2r&AudwZpmn+D-%heciHA-&HMIcKpFVG{Fa>Cf|NQml3`eKk{he04$Fk#`j8zyEW>h7X_r>Wu4le0LLsAC4^azoU9LIQG0b;~Im#*PZvkzV|+9 zmrZ)`LvR0QcfV!rK|R+MCQLtZ;@ERe{qV($e>{7@(TCjo{?LVZ+4wzv98h=suXaw~ zSwl;AzPjYI8+Pma@rVIOR$cw~-ItHrc*p0vExU54Y-4|3)?uNpp80uj-Y&Pz?(_NC zLm&R}o4xjUYyG#=w&(F_%LcFP^uf0W(4>_YfA!RgPbd9;?B}C)nYikKvrimU_m5pz zpI;~U5mp-+xWNtyE+iM0F^|Yt;DA8FWu17Qm#K_#Rwxt{Sq3CICq&1~;Jo5O;@(b9 z$?FS|C0Y~nJOPN-7?mYPDFh2(Jn6YHYn;T4`N%m#G8HFGi?o&L4z2AVI#j4tgT1xv zZ6z3TKnqZDHgS4q00XR*B39WYEf5g8S)3EnRS0aAODe3xZHjO!F~}85N2G3SY>G>^ zW5@1c80JE&QthTmj?_+MQZiBqvIGQAw;X(ka5n1lvY*7 z+A7n+lME2FHE68`5@<5rxVbSd6`elBC=J923{?n7h*-g6v2|kof4nOHq=MhJa*sJD zAWOsmm}FJ8HQR01Y5VOuX+?~&mX;=?Y+YSp`|UdyOU<0|zzdV4WHQ^KW9?46^!9>a z&DymM#fEYmktGXT!NzS#r2prua#`hKw9L)kIA>^?3kPHqXlT&d zSWCY2+O%ooc`{2g&N=s_(b|?`TrQ`SasyIp4d;OiNk(M8?>kwrdv`dtr&0<4oB-dw7ji-9d7i73j@|@} z8>0cpmr`&{qA1lFW9V`a5eShOW4_xCs0p$mbEcwKhuP zI8I4htBgvMOeq&FUm_K=0`JjzHjbh2flsS@2|`8Kjm+`r})pyo^1MPboq)wJz&|9&;NeI z#6w;mylBqu-wq%5?19G(I`-S${XMU{t?Sg@J>Qu9%UR!lRlBJ3fZ_dTTy)ofGedpQ z_)CtiUo~y&m~^bS|IVAQeAImMukRNec*@2@rvEUs|I9CDA3ic(I^mkm`nDxi%?Iuk zZ8-0qALqP#*&!?beaQzm_g>yIwCP`?|G94NS<~*k^tb#;eLZAuK4Bam31>_eDm7+X|)|Lei&f+4!^$tns@s} zAJ5%h=WB+p`1;7&LU z_07rwJ)ird`hpqn9x&z6x#LfL{oLQyH(mD1i+|qs;3qX{NI*%Q9n36h%UEBAcceO72qOa=9Gl^SMBsV8pJiZ(kPGK0LY5J34Hwv21>Hu!1z-9fg$fw}0d0kaY%5rW z6|B7?*(P9smIy3bj*PV$P*qwS3zj=V*fw+6Z8uJ+gnBbW8m%!lP16qTYPb+4;}v-c z*(6O}`YsWIv87@O5o@cf0#9&(o-Y}rrcyb{603AeOY`Q2dS7@owKW!qtBeVbj5A-j z1Xthp5-HO()!JAvxm>PLC~(2!q|{o%odklMeVD6rg7XT|$pRwt!obb5T|xrq9IfSu zVDg&5QwSEFu;P)m2q_ zqE>1mvj~>7arMb)Z4nrv5W>m$1m{8uZH-eJR3gkgk4urJi6wG11`(ntsozw;dGqEl z4BNG9i;STqDLH_(U=3LWaJ^=xl^f~^$%PO#RRu&Wml*(ff-^+sOU?sCY;I{vlZXZYC~DWPoe;u}f|PQkQ=^Sa zGqBc^QhI@3E|s-b?wNFk0BM?7Aa`^C04`hE34$}uQkAJJ17qEB&6QP0f z6$({SN^6z2S}iphk z@8bP=&@GKO&S-z%LOvGw-8c^4X%f^Dp|~-RhGT{l4Ez70y}}ykF^W_g(+^=jPj2j~zK= zOvAaCO8=Xq-#KfiH50Dv(f!2xze;EKz6Ce$f8>HP>2lYtchr?ir)+n~KRUg*?wTKdJ#0w$#l!O+ z?7GvxZai_~!EZh}{Ks0m-=LFs{cKEr+Ks!1Bu9~g&pvKjFGJv zBf0&HF*iW07$j>VuvTy`JueKyd_G@OQuWh%2k2>FM5rha z(K%@mLqH^877;)aa6m@rsIO$Lm7F7@C1Z_2L;^%)gxIR%#%(utWDG1L0wPOp10|i$ z%R-eTod`y05?iHMW#go{oG@TQ2O!ep+SE{AU%$CnENcr0yi#3TwKm(1r^X7)ttA1~4YRctu-MV#i zO=lQ{HjDn(J0W|@#O2t#8GSqg(N zO)E&J8)i7kpxg8vz^sjO9(!(rZLQ7a^OXU+tqfGMEaRL>DY+09NGX*hskPPxdod{x z5L-P0iNHE%dj~@@rnITVfHTejvDHiX_(7ZSJz}(SwI3Nqzv-;Fc*4KG7e

=p-+SZvV0SIW^l~@%EwHZK~b7bl$nQ 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%0D@o$DvCEZ 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 z z;?`}LtX0EWR56u=xh{EywX(_0QdWZh%u z|Gcv1E&sLmk_E@@GV;J5FF5SR1N+y1?%boi^MC*6%NAeq(a)_2KfT>)^|6_g&bxif z3ogU(r0WM(e00MOcinKxjko#lpZ}lv4&k?C(;r{I>j%D{oQZlvx$cX!0TrN0(GV1i zeyXBSM2sOp;5Y{c(xAu`Ld(u&EWjOqyi|e^mF9v#7IA92og`^rEf5cp6oCO?c90}? zrV%Tn`|EYT66Wk?W~P%o&oW693jhkhSIXBIX!KA#5=|6_CW^FC=&a@3A_x|k&)mbP zcl>*fw*PqvOW6fvjt!g>6iVlFU+X%k@89;_^&3BV@;@h9=k1Xmec4V=z4zIZWayOJ zA366M@wMB$dFl)2eO7;S{el0rY_Ci2+xx1Qb{e{9*LT17zCZnG!y)(XJ-YV9-OqUJ z_pt8K}SCofF^j3i1Z2Zf@PXl7v~C8#haCdoBG0SA_990Ja=1=I?Wbe84K zHjswUXyXUUGgC7S5gzF4Gul+5$PdG2tKDj}8?6*EaJE38ogva%j7Ee^8651d`JO^_ z1g-%3iu(6%P47mzmJ;9Xb!D)d8tj=~=_F~OXRr0nC}62C`KohOzQ5;16cIvs)ptV& zRo@s>?SWlIURgwihysjaD}fIkD?ySog8*7#QNi;g@o4LXC@>yMZnLR2-Tugm#S11} z%FM;;j3(i1_`)~i(YY#o^gIl~~>U$S_sWI`;`d@zU!<&Bkim&gs zO|%X*Xvl4o;$))l1$2D zx*%l4ovIBI!Rv4-{&2z`%T*q}NBwEl3W-OdJXRWm)%$1OH%k^r_7?_D? zoIn^=gQzkvJfDo386Vp)I?_%u1OuXq;7%(DGzE$jSYp@TABCYd3ISOP^Ny;Z`1Dr$ zbc|wY{5qMX+4HMsN_rBE<-1CG<5wJavnKd|JqYjLI&7!U9{1^s{(SeZ7LBbsnAWcfKKoHV458SC;W@}ocz zrCQ}-p!y=O9%*0)Y!Sf}EQEqOR=VIk%K+t$s!*{*xXj4U@%^E2sX8sRx^vT`hK1b& zwsSaPFTK+_DSodY5-{{AJO3kBFJAYGJXZH|ghE85J*{+U2T2Kfg?$4=U=T8mrX+19 zVb2d!r&g_>UOzsqQKuQkqFEVX6jtk}llH^U)_s%YkU}6zF^HgjVeORvz_XIe>gjwU zgJ8vY5QWn&Y-8o#$Dg-oHeEQVR5;RbD_$O5GdklyF=tclG)3hTHL@%hcF4^nj&nOy zrJc4J+H~>2R1A|-&9!S*Q!Bw&ld9N}T-2HG;$PPgX0kJTt z9s(T-GZGMCiB$tap_2=aiyQd=lW&>5qyzW^f+BE&K2kf)nIZJOoFL0`g-{7Rs8^=j zahf^?^gU&BC(H%AC((v3jjf8L!!jrzRV5J0s*g$rdcA zRx9;JqdC)z>-~c^x55l;LC64+(Zo;*{6IsyIb$&Is|WR(2|Yx#B32_35j*!Pe@-`S z#_phYz9@IIbpGuBWiU$)@9bGv8ehHBHS-_YF}m)m_<;X5mv1_;`+`eqlV@MC;&}7c zL;pPPe{s$2iz^TQWySJc9~|6r#fWVGxuYLF@UyG$X&k*7=I{3FnfL$a(gXUR8k+dlWj_Gth(Q1VAOJ~3K~&l0xAR@T z$JVF4u*E|yYL`I2bR*LO1{Rc3FaeN&M3j&*AmG4SD`3!&(L?ocrj@kfjDZ0SA^|Ev zC4`n;E)Z%$!I^d{1jaL@l~$lMg^?G8p7A3VNaH+?ZI-Z08Id(13HU}=eDaitZEK(U z`zzH*DJ9|@pb#(?rSZaZeEK32Ura*hMB`2zUnb9>gLXn87tcK(P(&zQ_DIjCzN&#N zOCHNWk^p&&8xL*%@L#_Cp?|&lYmYy0=c+T7*6}|+ar%xse&)YU-TvzRPPz5%i@)~E zpH46S({ImSapcjb4uyA5H}-$xpcDV~$+vBLV&DGx11Hn7XD|5jDKEYEPg}Wrmo6k_S+22@4Au56MU& z9e^emZz@mX+&WOXRzRA85%fgM{{4xU#7V`gOf}LCe}Bpg!ZatVE6=<D=Iz*~)&c;L zQA!QeYgJ>ixald^S26u{uNrBB9Bhu9qt>t7IEBH*&e0_zLbG7;MuSyY*IugGE5-zR zHcmm7>AtFdy6y4V?eDB?{pj*Tmp`!M)cyBemm_KlNSM4?E6l?(=9>F~>nh7H}6 zj9~faOBe(qVucIJuRx*PUYt>d_g!R`frz3?6jcI1X0fD1Dc^OSeQW^mPcKIW0b@Y#7^CGak5i~PT6T#&=ppI9-v== zqR!9t)F}0|?dd$awbOI3(vnA3hSIp=u%k~rWxpT)`sV7%wC44DU3AR(=dV9!;Z2v- zRv!A+a}PXi*O{m5x1K(5?#O~a==(o)`}=mDf8CXP-haR&Z~VwP%|9-^{gxv?fA2mU zE?sxm5q)<({mGl3dGUj1|8UX3^5fom+=V+o{q8G=Py5c@EAP)QKkKh2|8Bp%{@@-P z$r68-pomCBuXYL+1Smozr8JW2cDNHHR0@@H%vqint*TwwsfoMAB?v-_03=Bh1yre2 zS#YMAPE56?rrSx9BPvB2L5!hlHPFNwtua!IyuNBB@-?`;JeH`OvQns^yJ>p2Tlc;< zVoCf%*K2S=yL6gPZUejho{&l_RZjgJ(e3}?X6F2^SN>`NV)UlkSv#kwHoR`bWIN0F z|FQPo;c`{g|L|IC?^CATxh*{*w9rEhE%YWzFH*&VN)ZrLP@00EsECRRHmU-G2#5xx zgMhRU5D*9@2?R(lx6hrKbM{{A{bQeVX6D`-S#ojEhJ%i622&r&)9jljs_ zI#vmg(m_3r7!gQGQcn#`$|6~?VhypN(xL(sL?rU^v9+i?6iXtc0tUYpTOAe#Yf;ru zCBkY9u_YrkRF6Me+0#2%`)Flvf0b+2H=r3+6!FSceM^?ETDo$uVpTN)VL*_9fxdyk z>YBd#@UW~}HSpomm8Fi(e0yhaEqdeK_rpSA+IrJ#mOos+ws)x7-qqdJSq=kl%G606 z?d^4A-~VVu|3GE>>j$%L%aRn7l;YTZ^Nc%dh z*Qz!)Vr_d{TQ1BQYqTGb)}E(}#r%W`Lo6K?NKuH_i`i6-}JK!OCyFvDXRz{NUO-o7{iL zJ-c;Xe%|s;_FHn@WA`m@SNiiOZ~3n^lY>{ddoat+%j8AM_nhM@qaSqAf`|}ZhA0XG zTS29e$XKpNu|wXhiZ*R-DcN9?!Ia~*9SaqXFGg(Gh zG>Rp*m}o5xqIb%8$|{n7IBHebwd`Xie~x`8G=3B%-OI+FCbigz2tXs+FlAqh=pdLH z2fXRIwBDKNxlm*7ub4G`QRlcxJ!^X^!^4(T4B7$2f;(6whU=sRRLmHo1&87U7h(tjuaY@C^?b{z}c7^b9Y)} zI)ThEa(LsQ5~~-XsS8ws<)xBoXDgP1IwcJqM;uob9r2$P@P|#ezUVIx%$vQ(@!0v& z13%s`zvo-mthfA$bGDp$?euMav-5uoz5kut|NOX~ZS}GfzV_vdrhabH#PR1I`pSaJ zryt#S$4&k=*;9YS6TdO-(y4vtJT~W*>tEk&D4u^>fA7M3m%gE|IePAtE&lTQU0+E9=ot~^h2m`;63ly?&tjQJ&eyNlTJR%T>z}=`SYhrgJ z1Ywqe*hH6!J_UeHsTlwOG`7QSOhJe(-#Ny+fQWDOzP5gGqJ8|e@_My94w(2zX~K3V zgd0A()c@J`l|B2zk7nMpeEG(!_Pnh0?#LvaKDIXJzyBHUZ@kSGkIpR(pWLP9AG~b#Oqp}k;x`vv^}(N)3~byR z=iO!{mJLx-Xplg{rNbji4WCRb045p%`JPW6v9K|*1prhIxLy+Kb(P@6mgAUxKgi{Z z)?oiYZD6R5;5t(Rg7rPjhvaJxLn;-$Qcj1SQp%-aS!|#rk5FaS2kStsbf_UESMXvqLcs4cC?} zU%hlq|A5u~by?j%w6>>rP0zsU-r9%Ddl!AUY|UWJq8Eg@I5w5)5Q$=ggTvi9w_N6ZcHXeN6wasEJ7vf#AihW`fu0IXL8 zSNZMI5+O701X9k9M8K}@$aP{!oP2JVTQUM#w{?_7_`hy&uK{Odn3_)@0uEKxVP9nV z%?N;sw4&G;r9DEjNoz(Ws2#|eR$3vYPE!`);izhD><0=-dU|?$`}zilYt@=HK-LmK z0{RwsUa^oPu9DPqIn_}P+KQgS7&rpw2TFJ)W{@Gx%B!pPYf|+R+yQW5CUCHIj@e*B z#F$!;O)HiN!lr;nW8DPR{`;q(J?fc8mzI@Wu)Ap+Oefqi5 zMW=S%Q&{uGdp9_L0c`rnr0K6+eD_`(UNNq7yQBa8c7Chdf}ySY>S5ygN(Esuw?vR9 zf*%neNySh^=&)f)5R9=(X{8k@1&AUxHZhT=RGcCx_eC1DF*dH%38|1T<$_!kasOa- zaJWXO-A{R*4m_0)eP0Wq?P$wS8rNCMdmf2a32J^blL1KmY%LvGB>@w}%r2KqNrQwK zvoHhFNY;jgsKliM6U;6OL zVC{up-~Y(>SHAu$*lhQ?*M4pIfNgu0{G(@W_(J~)o6X(o>Q7%?zU#U9XME~~y9NfI z7~1yI!aV;+C)JPLaN??Mm&%=;n;x(OJWzOQpFPh1^Wq!cyl45;y&igM)85>G4qX-( zWCcF%Ps!|J0C5oS4%*j>2#d3UT;mub78bTHnq>v8P+~_T5-B8df|MDUMSv_rtrias z)rKmO)1eiLQZ@`I7l5avRPc*=&sPFqHK0Nku?=mcv5!q-O!!!fPLs->#*>zR45MFc zw%D?NoJ8ZX@%t&UW5YG-MnXXTC`OhY)Uo7otC()JBgp_QT(YWfh&wvED6U%*#f%XW zBO+Q%T}B{;pcE2{7BT{aqA6jFBBYso0YYH`B|wg*Nl=g&lzT%#i?qrzx~X8T3UENyY3B#wu1h zK`)BT;ILiZ7p>_Z?yp$U#lf2N4cld_`j)O5_-JL{J0GlExU6T%+G-ucm=pXEMc{$) z&~&#IN`-uH-#}cil|q^}pW*bUvNwd5=og(*9B++AZhT+ z&hMC+H%SXHmom}xBO_#6%b%Y>5GIJ{l=7X%4V+jWC?Y_FS}72*#wt(ca(N;Z8(WVe z0EZL{iaeLnN`6*WW)>8LXLVY%L>@GL{Ljn9mgo zp(e3We=aBEx=J18oJSxWiLlB_%ra8XL}B`vA;e^llpQTe;%C`8aet(fY+12}ZJi?0 zVB^4oo`3D@$3OJcpYl`imd?!wzVzBvk4@Wt^43?+opH|zKe(prmbu;geg31L{-s`h zXui4l)vJHA+29F%=T7UH@)VT5uD zBLc(#04JRE{4TF7+!_yCbI#A_cib@lg5!oZ3YMN9{N~L|AARD-&wgwC&$ho|{nNL( ze%7D9x_Z^!_beEEaqYlG7ku{Z-<@>u&ikLW^Sm?9pYxMh|G4bHcdLh7_2#C%$6a^r z&*y)4+1jricGqKnUvU9$#kV_swMXt9UB8g>Vd2p~6$E*nBNSH~) zYC^3s@O2@tay}`rBz0s)r91=_%WOu$6-d(~G+}}`H%enG(kC>E_rb`e|F{>W=?OxD zIg^S*%sx04HLT-Wccy5|J&5RezB0P4Q0&|w*VQ?+aP@Hi(!Piz002-30H{QeB+1%0 zDh5I&3WY!zkOdT=FQmW@JLLsHEOHW#Aq|Xx)-fvqO5nl70wSA8Kr;Y<21181kPwR) zXALn>f`vjTq=*rL4Ol_3AYj2mPgBUTt&3QLU<4InP>|Th0x_vUMo@vWMiZH;pl(|; z#027#)*Rb7W(}1XL2D)uYY2=2r&MRreF8|j(kn#gs!FW&vFcKw>4szrv-gn%fRRZQ zh(T~mE5Hhb1=GxAA_S#e^%y9Z1j5c^pJF#)$AYd361R2mW2?C3bDv_?)La~s`6%fJ1Xh92l zEEHQrLS$A5+EZSTV6zuOYH#=2O1{>@CSq&SZo0`qlctk_*|C8}WmDpHLN`B1?Cqpv zenhh2*hd2Z65Q5N%cyQ$`uPhV__u1BU) zi>gsf4u!0uy@B-j*-rJxvxl28l&DHBvJ{h|a$P0N7%~r3mqYF8c?PzcV$* zxx^&32%A2bB3!omS{r+p#dVv`#t6RwUiaH4zA^3_-;ue8eR=xaeQ!C_&!6~@x$kd% z;-sSvU-Z&ful(@VX-jvzX8Y~;JorrW!xfj!-sZu9zn}HX-u?~d-2c|0Z_`!(Efp`U zUG@1{7tP+~>XUakwc}88{ld11YaTlCyC(-v9{>KK;RDb8;WS+J%wOlf^Wtyq*6lXu zV-mYX0M~f_I*$LIYBZe1{4yq)*>K+ zvMF{109s~iEP&GF6G|@h@_8@NfLt#GG;w@6^i`lxDOLz>8%Fp)o#QKOW0tZ)w>3@m z(T%GCY2UOT*a$7AZXG0Q%pcP@O=C4u-5_bno7v1FNly|)l^fH<9BmdfZGB@@js9wg zA{^Ic*(!N|rFnnls=7#5*OZR-PFw36tPQhL###$Pq!p18AqHYLpg>4~S&Zup3Zel4 z#6S{iH2@Z!ixg0RwPs`^z<`Q~00qDx0D?krNHvH_yg11OAwd!aNC4#WZxWO-0tRJ) ztdNKT(TE-h85ZkMakR(eSyx*H00P!@6?V{z>j zoRhQxxs53SIpR)wkU*npq_ZBI7)!R-BShmTNtTg>Bohmj64e~Di-;5{6f|rVp;EdY z$JODQ70iV>&kIbgMnMX4g<4cA74mJR z5NzELX1Lc6I={xr!pS z2$L;nS>fa_Wlp&!x6Sk;7d_FjV8zi#T>sLqHvZ2$^L}#FzrOIol+HhY^P`>qJ);Y5 zIO6OmL-3>xO7Wli!Uy}=F*L>-R{w+9=d$^jJ0p(jAX5~42Z}A^;$ess~T$p-}gMN zkrlD8q!_C9QdlYkg`Cz3fMbOcXg`iQ?Z?B3D>|djCPN%D*CjyH%%t&ttCVOJgsExJ ztY(hbz>!K~i%SF%x1XbL%H4U|xwpOl?$PqXG2I8eaKeX^-+OR_=e~aP*WW&F=EQmB zeRk-;zSdcI2!l%X^>wl~phAdE~T*e|P!PIfu2ay87DEKHLA@8(3JE3XHtQ)Wf8CHVI|3 zFk5DapM(g^%t$W(6Tn#Kb`~RIISFkijWosWfF{cM+V??WtjHAex>WFU0V%YE)`9O+ zLq}{LKAv4lOXAmQ7K9lNEr3E5j{eb)`P~tMu=zGY zh%s2UMph2QhPZd_3S=JN(Vh$Jn%+TSQoxEF?u;b@QmhnY>8yzEz&SHc00hVdF(B1% z5}+!=1Y-|SWzE+i2?LV=Bz>tei~?k2N4$xb#C&UGdNI->uou`;rRBp92y%z zW;cv&3pNy#^h)ZUqM!t>u?hk>^u!Fc&)F)O+lvy#nkZSt!qB@z(>~G;nGQauI_r`*r(r|cjw06Kls6(zF*9Jf3qzY zJiqLvogNR)`gUQ$p1-O1OAg%b(q|`avdd?`a{G?ISn!3~lv(d}_iXp(x6YdV&b;3G za0CJl1vusEL|JN(Q?xnJmL1V)LL^15WE}+@P?1<>E6i~mmpaNqWNgeNA`V9c4YLJ7 zrIkWsxmq2r)#_F_7lvV=wFe4JprKsKb#)ZRb+>6^F%g>x*nkML70AYw*$|C&c1Cup zQ?wWuX{*h|TE|23_PEtd+4_eM&pP48;}-_ohj+-hCr-co zh^J3`?5D5KzwGH9Kb(ExE0^)P2Tk$MJ?QISxaiAgPcO}QaQ}l=oV04+Ur(R6fB#N@ z_aDA}ufKft7v6*oc6)!vN8Vkv#f49t_V$Z3_o98?J^8SYe!lOt^?Ley!c7+}?;3vp z)M+=rx7@2l{#Z4uEvz|tp;_o8z9t8)C`yr1N&uoLimdUyAPjv3v5^%Pjtz?_RKS8D z zaIATMGC}AbS}ekZm;peM&NXlJ|BE0rLW40aTT|~Jj;usJ#lwC5h0tp&`n^2^92sq6 z4Hm>8Fk(!=2yxE$0wP~YpvW}`KoN4i#)#6Sz3hL4q@5OvIAe^`b#~P4x=p8~Pbq>D zL1M3?5CQ=EiabP>6p>0ILDKbh3x&WW4iiNPL4;96JMGCMQi`00g#a$Y+lg=ya1ATc z?{mHT6p$}wTzes32>J&H>$Pe*@TQL|l>=?K{;^VUjJ?PEKW#BSVWpy;v`WfL8PQ7pbO>$A-az7 zj>m`q3K1znN>N=fGIc8=fCn^m@P`Ml>v{8l&b{8+Xu`d{ zX#V@l?poE8v+NTRNP4g&vxHI!0f>M?Ep(T9xQ7`a<{dRPkK5!#m@ch$iK8esmcSi-MzKgP>yQHv+j4;>CNTL> zb#|1>r9dNtjh!;?e!Ss_YGNa!mat)^ue&Qaj<6#~Ro)|j5UHm7Gci1dAWToLJO0Tq z5Q%hdj9>jf2|@uJs>|B7QKeFg%^-mVi&}Y|o$V&JWI3lXA1Dt^(MO-GhFFWymK8^u zW3o}Gz(e%V9S4gD3RsCKV1=SYG>8Im=}3a?n!<<(x?JMKc2A1IC|%uFT~81|0r;L) zgv^;&C|$G0GGfC{M06~h5nStGtx3CL7YfDL>*G4|g+j2l zudg;-DS0@pvsehgO0=%kZa!|=lax;b0M`5x045!c0Gz)t(SDrtcd4Wa%rJr|Kopz0 z1f7Eb37oD-&N3Hpi6N;4NPr-KDy=`4HQ zZCFc5YQ`74-rV>8&;9Gh)u;aCqf4$k<^KMs7jE)d{m$||mc8(Y z9nbjrtdtMJ5@%zCUdu_L3a@#I9PJeCQ z%V+WnR~}N^b;h=PZn6Hof4bH#UZDD?yf>i|vL#9zF+-X+mz@!8imNrYxjC)D85TsS zTtho+SZp<_YtQpNpM{y3NNKH|w~atR#Kq&aR-T8xhQLE#L#VNk_u2}67$_1$VA5Z!iJGqKWxbjYhU{L zu?uEQpZ~~&Pc8WBPG5fKjgt?KhyPqYf8lNeXYD>X=Z4w0ZPTd_8M=23+&9U*fAuSi ze*EL&Hn*-f^qY5s_xzWydPL-&KdDY(HCsbqhjBzcD$bsFas?TREaP`Y1t|g-axLH;lXx$;Q~X zdZ;=yR2}XM0zZnCP&j4!v`G`XCyXmkp4>TkeEX!X(viK=ZR;LHp*B9oiY$snF^Ec-DfW&pnB0xe=h>D1rU9-W2mYiMSvgH7?Fggf|QWgM!Kq;jt^pv88-;5LQ86+N2 z1aUy?f&`*bNI0*QkF}0+5QJV|UvE^Y6+M~OT`J`jLkwx|47M~zmTWT`95!X=002Uf zR{}S|!~m8gCW@|^FgZ^xh|4;HG-WPL5D`w$-W&p7YC^mDXQbk|01{*#wS<6EZ!17* zoi|7$mBDT@LI7C;PJ%uyD9$EydHMjvR%*3KjP(QG_k-9P6I(z8bRm36BA;S}MO@V> zk+sGT{Bo(N(SWTN1JzZ|wHN)IuM{=8WtvtlTY~08**IE_(p%<5S`u*>hPPuX6e?SMasD)5=~S@kr0Zfz*7|X6b7hJe2t|-&{hocIpvYd z;^m|gYGZyx++`^<2+d+*q3d0e0J_A{?dJar1({raZc z{N#@O`-i_Q3!^{3`TQmy4L^Qa>Akn|XaD#oU3YKu`joA9TQd0Bo+t19b@j##zOubY=B3wcPQ?mAoE;a>v~5^Ak|KLFu+ zH3ESk$Z6#RA^|B+d!Fa{+V^!3c!BSQS}CxKq^+25FPFkViHX?6DqZ)CnntFqqzZg? z3|j@^Iwj;6?_aedtd^R5IF$rDV3Avuj?|sOAt2E{DH!2(T z+VhTEnd8TWzByE?>~pUXoI#k>!rV(I8Ry_R?~zb zwHsSz>{9Q@Wotn~dO<#9YnW{=$OV32jICAcVi^$#SOI7PPk}-RJqiO-DEZJY7sFD) z_Y?ygMVz=Nnpq@fiAd-wXh#n;bNw||9Y-7^3e{)Q74p7qch19QebbxOx;{Kq{u3i@9-7g6pD&!U=_RvHTH75yUcOz{?mKQ}=c3c6o&5Ng(c(#! zm5*(`<>zj=@tsfaweR6emaJVnIIJ@3768&rqQ-EY@2YuniMx!*#xaN}t(Eee39Xg# z1K-ykv#rVY3E2%D}k zWVE}dDg70j-xA?kEz&{|*E-t$uv7r@*&1U8qM=oTy(@=%S4EYcsL~S;^>8%A_3H3o zZ*PCkP=8Og(nC_~DEVzU%&DleNTrbS0k!3HXE8USqco|zZ9->p>V)>GJ;Z7UHH zp|B7stq7Q1!ZK@dQauFpt_t_l@g$`3LyAeD;wLZBt864$!Rg^r>w6+BNNh{@LM ze+WVl*IVA5GfWZun*s^Y_?G4~op7GUZzOf{TbJFo9_^V$3KU)%A;ID6F|XV0qL@s;g9vwOaL*w)*_K_@@CL3Qyh4}I(8trkyP@9c%0 zKWgtjeBWsDgMZs_&&@u_=W3W_Bs-9TW-*w08XC;QO_ag;9+MXtLPa*gSnh-@uu_DUlbH%)$&uK;C+A|7s0|{Gz*G+2a)!YWe zjj%a&h6%H|NrH>zUzfQzB6y;;(wp8(VSAJef8MF?LXh+?#^wWJtm&9@9dZV_3ksLp8nZC z92hVE_eL-6Ic@HV^DjH+tCMa%?~ui(t@*>sO+NFP4}N{me|~i48;gH2>w+WwnZuBe zQ|e5NU~bGkvGgfX=hIh{q&Wtq0D#%JKFp*5fUVTEN1Yu7rDaYn$LyG+2z}V8Q z1Artyt--z|iRw3zYZ95^6e|QAJp%%O62KHSm$hkbqhHj2X{=2c!p1U%&1 zP>c-pRw|WRR2N|?6pGf`a=Fx2F0rjbBm@`)8grgCqP5madrA#f>kLI}MVQ?(8N=2Z zVMc%`imLS}jtziR0R*)*P%&Z{t%!-4Nt99|Y#CULC3L`3Oh5{(Ad8UFzCsNefk^;_ z5s3vYpcVi?3rUy-Ni?EFk@Bg#ySVF?8^&C#nW$E;5)*+|9)V_ok)YdI)#ixRX6EL1 z-HXzSwj1ga5i>xYl*wRxjpn{pqhSeB|#p{P?1_g)e-ew)lJBzH{Q!U%P1V zhaLYo=+So`pYc*~cJ1k79^P-}m*4sG;$!FS|I^lWeOJw1^~GCNUlu07i6_96dp4dimKd;`5w3R{jK|{ZS7YN z|LeB<%&8wCZ(n}#dXIedx5u1$;(`5_{c_D6M_uf{^VmJ-cAt7~_dmCP_Q89C3pW4B ziQ_+e{f$pQwE22BT=<_oe=@N2@f%LHn=-h+B0O zSN#Nl&O{yi7&>QV%X`flYs>Q{$)4WoPHK{>kUD0a6`H`A0Ep|%EX^Nm^6jiURR=Oy zhIFh6ryDb^(Orxx7V)*smpr5zsAxiaU}I#iXrp``hB*yjMCzLSp`jl1Jkol6XR(~u zq@YyHhrTDa&b3%0fL5LDc@L$oEsBH!U>yLFpa)Q&&J_yzFyOdiqDotVx=Q&{PNNu>7+74UhV#q-q^Y!t?=~4w!=;&Nlw)0)AEq&x zR6A^)AUECK{AtX7%#mScGV8sTOx|SQ%{IE=#f#rK@9XCry20*$(x3n0jc4sPd+%W` z_MUm`jNJW4_x-a4$dg|;)mahEHHEri? zR$Xz^-haB}n4Q0M+=m0O`(ECOe;oge`pvkXY_s;6e{X#L7j9bo{N{&Lg6#>~08o)b zhXbXE*|4;B`c6R*(s>f3>VWesu(fXf8d0=j(TIo;MxL$5k&TT8)m~IlWQ?u*Do~_M zWSDJNIXAw$)0!Bd3ha`+*$6w-M`p+xDrGB`JW2hUu5ThDXQ&X#C|$yNapUw`wQ$9Mnn9ZN2c55Mt=;fwb8?xmmq_R#4EE;{t|!|<54xu5CVd#{)DmA&x_ zH&7urO&W31sMT@$zb_;}7D5a|k5GG_sn;xsCBQhYN3{w777DqXmn#&4eCT3rUD zv|`l?MY`P9J~&h{#^iEEUt{3pgm5kwww23K93$xIJqwqUD8RY&k_4KN>C9?B@Bxw0NxZN;=~Az|k3MZ@B%F`308YekAOcO4;u>zPV` zB8;dUbOczo0EjB_ekxQzB38tLwLs{w2>}t91z8+GTMO+pNT!**TM3C04(8ZTYU3s* zvpB~bOVVJDV-so5BceDq8lY70>_DYnt+V!nAfL|_z*?nztvyX7%&|3o&ac-8xi(x1 zsJ)o$EazP?7{H+=0H9)ENG)3@kz4^o%3CG%)}*0+VQ7+C$-L4)W5O`gSnCL70H6gC z3=z|WUTIPe8legV(DmJ>PCDZBao;-Sr5{}J-O~>K=$hL$`A&Fo@W?AKytr&|LvQ`b z`CWR>e(L+-ftwYNdv)plPn>tuit~^D&1e7m-fc4QOxw&m)DQN7@tNh#YC7tGi8X6af@+ zMX1e!aO9O(h?qSxJ9EA@xwWZoJ`<(uv`V0f!)C@u^NXWzZ+cGO-p9VY?1Kf@$PT;B zoLFhQbcf3}nZCO3xH(UL_}zoop7515#XVoY<)%r~u6%dbnPuMo=-tVG zr}w?O#joy~ap50-^UgNv(RaEgynDqx^Y*-8?^{-u2N&Fb#-qJUdawKbcGX|r{MQdI zdT`~;XLjnk_RB;54a4Jm(!jI;t;0Hz<}O;T;~u4@d8kN>wM%7&tqXhBEovTk`FZ!4iEQ> zg@C2I6nLKJ``~-J=mj}dCQ=+=F7yl7sgw@4Z~0&fr%n(BSqAfFAnytstng6 zW0VfWM1k+e%*KKr=3^$r0Lc?no!uP_k`Idjk}tMt-w*si2*3!(E>GMD;M)FvA{{Xg z)#?yM*4k=h>ajJZ4ibBq>ni3#l%au&7yyWriG8v@42MC{4>*?Ex~z~9S7Qg8NGh_T zSx|{bC`v$B*ww8kwS|H#K%BTFMFhwdi7|5Gde7RCkT5YSkr)wNvwP=E7eoh;*NRRo z%>zq^H`;dk7+(}3Xn@2oNdzKB003E$D7Br^hP%2aFLz2hVFPE05=v0L4 zhitk+)V$&PKrVmqsh!`Oc;5!s9;&bYa9RF=Hx?W+bjAHwT(~biyy~R;w>kaH?O*>w z`Qkg*?(^ZA$6wsZ-|gOwfBd_Ff1LT^Ru_MF?(E#pu3f#+*XHiMmziAr+11w-^$VZd z`OKlK3PNGlIC1mO&YE)U zHHYoEk3X>J&)>dw*-7mmeCi)(o^b!IFK>V5lJlSH-G7_uf1jitd3~vdrd>eS;IxUE zr^OXx=`R4IZ5RMhS`mnt*!gDy4=Lv{AOdMB6ph{nqRtc9ngdss-8MzSu2T}NO6z76ih@>@f zQmyTwX5dC9Nai|o;?Vc~>_w;SX{`Yqht8at*xuG=m}6r=Lg5&!D|}#UE4Ehg0Na8X z00*i=Y{DE^uu4V49U%to1x2bBStu3aNNa@7_OM(~EakefwJ26`t&sC7!_iPJ_6lA- zR?AlPtm&yJKU}tKF(Udw5E~03Iaa zWC8&Mg~;F>iR@G+O!zw{Jjm7HCjgFs4iwF0U=fHgkp&h~X|VJY4C#~1ApKAhDn|fN z2^^b%1!Ph{92N7v_6p$uR_nGlxHezxFmW7Lqgt(wh`y&$qP&Og#e92P7zAYM&b|?Z z1o=LZh|u8plATIyv1$=qk)>_qRJespZchBBhz%$3$XO>@kK`;}1cD?0oaw}j$-9kD zsuR!Exa;g&=Q{F9?e$X#p zK4|{K2c5C&Z^sX8cHe^fH}8Gump{4ksQwpc9d`3W7o7E}8Ncj$QvP{s$Aae`uIzmB zacg!xq5j-(?%`)khaRWKFXH7jG+A{>Q>ARPqTR@e9KE$8?sPY^7zT0pGg>K6Yv1<~ zk$?$6D=dUzAs>dJ?|GyuA~Ie803ZNKL_t)L5f~_m$zsy4u3>REiQX~n!j`~S;?8U| zRDqG79YJ`G`_O1Hv5s8EbZ`jGkLju3qBX?2nML*)dEMD<;&ujg&_g}ov2Hg`Eo0U}?r^%G* zii~vtTatl4_C+E>1Tn5|lL(NMQbR>GH|1W+{8w?U>O<gUM5Hq(lBA^wkgTI65CBF*W=jBU zVnPg+QiNKe@A*OK1->fe{bC^q0@Ys16$^f;m=Am;WR2{5KwvnkBQQZMwl1a?*M>|~ zwWbanX@~;_+QTsPONCrM3_K#AxVu~^=5<@%FXcQ%Y@@ms3v6s{I2sw`Rq%WlNTQuy*zG{*}vnSFY^uSu@z*TN&sPTSHrqs)M~fYY?$5r#cGIrcHN| zrcEk$mh)O+;CaAf%fAs@(zFW=jcI8mV0ON8M>>-9VsYL_O#BBZ)KC-~na&~r3`j_> z`W{m2P?GFML`Xw=NTYj*HN2gzJafdK04;wCrXK}F2ko4ElQ6oh9sm-LGyy9@k2HW- zYY9NCiR!glwZd_PU~>VLOS$%PKJ*lbb#QqOJ2g=&l7ycOZvaq|%x6wzqks@7O0aHI z?15yg0I5$}#DSBhJUdy?rhn2rSxFzIHJZ@kN&)~q`?f=WaCYCpuhhP|{rcBF^?3J; z&9?gPS62M}EPTa&bLc< zyncG`dPpTo+8a4!7?CUuJauF>?cusr-^OMGD{^`hl7M2gR+t5q=s*WbiAWFxVGs~H zdK1jt{Mc|WBRCyQGTw=4?k+S5!xq^%R#n-EL8fMVHk&jFYQ$$p=F293HScxfvGFMo zfZ*ywK6B7(JI=VbaP!KU@qyya&%ZgR^1Z+9WOurtu-9#!z5aJs&bpQPibb!yeEDm9 za{chX6<%I8HNR%tP5+HQo4GySamzb96~8#88hrcF_m5e8XS8d6+FtOT^0jB}c#eO~ z<)2yfov(JhVV^jB{yWDW#rG`2B^8&}ozy@{lIi__PB#$C;5LyHU?g(h00HF+#t;Bv zwx|?n1+ldv!el_uTFaIRH9)IJ1Z6}*vLh|}B(6xwHo1j^Kfi->o)tDn& z5r&wtRs*(Ttrf7oM}?f%-Pyk0^zjhKwmKLMV|Pc12&1^pv9bohj-5CI|VPSTYXDoB9U#Bq9X;4uO!)qW+(t+N0w+Xw_>MgphpImB!s5@HlgvXsZT zMv1-VYg7;82S;8$H<3mm%*Ax8#n_QzUvuYOvzawbC2qSuksJmuiK6OzuMkAK#HPy0IllT%K?rf!;y1PqJTsN5kXK8BuNky zJ`@9HQBhD46CWZ9iiirLA|fI=ND#?6$0Hp1xWvK5ov!yshv}KwL%!d8Z(NVv2|eA_ z)s?zJ;+jq01Uh%Tx;Y{GO3zNTangi!Im5bLVNq9imMl|l|C;F0JI_2iz0aVOgk|)~ zgHLWB{P^pi+&OX4PUt?FZ<}{`@B?R~nmt(K_qedgfiLcFGhoWL>hHezz&(L$XAgeU zy-Dn%!ZLr=%PdO~5de%a=~qnvoD*}h2qB=LfVZ?~yJwmJEeJ4yP-u&F&w04TAQ0dd z=bVRyVORiwldMrkB0-`cr-mK)aM>Nj?`@Np^w@#u9V0$| z=u7L9ci#*C^x}#3Wtumi*Z;p0W_{b|!&7Z9-DI&$si{I<&=yEQ;HEqlLW~JvcH$&C zJ`*Lq837Ozu9g7E#0o(Y4)w^90Ygig01=plBKFAjIwA|z;@3XB4j2V()}9fXf;f8# zVzqd1Erc###J~hfiMzG1syM7$nDKfW8JA3iDf%#7`SqTt;q$EZgWGED-wv4ri&y{% zwMRSGA(;xRI&|Q^1B;&7{C(BoEAN?|eosrfn$Z1P zu)`n!*aIHPurskBPca1o;sivf3J2?ya9TwJAKUZ(1Ox`b!aPnkilkhK48THWF&1D5 zoPxnT1`rl*A?KXi0ae3TQaxcHa!U|Sz-}vYF=5}xX-M`#_K8qk<_#pH?uWN0B{ z7Fx_w9!KC7*nt2GFt99USr8Qw78VFZhFcNgVG-dXIg}L{!6L&05m78U z93#RoB8;LVtmp_U+=6hR=m?AsgQ##G8Gz_;2)B3`76e!j?7RTawS#$R+l*n*4l;&B zHZRQM6bys~LIbGiEkk|bL>gJr{>&f}md7+KA#aI{yfD~QB}50ZNyMoVa9PJoT2F0dfDm*B0CYNe*Km-NsGrDW@;51R z6Hy@#GR7>+Ldz1KDuJ*7FpB^<*+2wjhgldb$g}N&uy7s|9Uc{BMTZ9fY;FgEY$iCK z3f4!JNSztm5-vlgNC~Gc{*o&YFi|su+bUN-$igRx#4WLxh{%8}0J3c$QTUPrCr%_S ztbhSP#w;e%`GFwSj6~i&P}(M9U~0FLHT%teAZ;wB)N0kS`T59WSC%~xJ^4cA=8Ioz z*M8)8NwxYf+56I-N#*N&`_GE&{P# z`T+OSc%N<{V*J&A;EC_i;yJld)2|cR0N{=WY{Bmz zKN34Kq3*fBM<2Y^vEaVwiGi!FXKtYqPc19m{hQ2sQ~%p_(d3fNo?3tNK-Y_N-hOsZ zog>#4Jg|KHg-SnHYBTw#BmYe7J-Ty;RjqTs8FICH>5+@RYdNuA+@zOV>?$5pwqBd# zdunye&N~25sHYEPjwY@rg*lNqx37G7xQ#F!3z~r{DS>vo4M~+$Xp-5C&lKeOsjnMR z5Q03LrYBc4h(|&9cEa-t;|nvwEewnMzZ|y-Lzj*MP?XwdYJ|7%Lo02(Bzvqo&x9{O ziZC}zLX>1G3HconiHn#~BqBn>fKXKtEZZ&=)p-di0vQwWxJX23bK3@HBT_&lRpSUu zBw({umQ@RQIHC|0nXp5~L>C5$fC0}V2yz=aw}qg~c>pX727^4`24q3YwgLegvA`~* zU_N6!vM5=k2xyxy1%RN<3vJGrE#l<^mMmC^B7q4q00?qoG6aT5AeNx|Ktw>IA}gUN z9EFUD{5ax&Wz9eWk-J7Fijc0qGSWc%d7)B|D5SF}s+~%WF7gYa#TXIUoC~X&Wm(d+ zEvAzJ09eSv!U6!mz_yqGzOCBv;8mzB^|uDEdm)qYgt5CxHUOe53=JsaI7MIylRU$T zb5?6luMW9oXalJ1z64gYr{;Xn;cWl;?Q8w3 z{msia*jVRC*1i`8ebMe>leO!fi;8}>S~K3Rd}(^7La~YSs;%wu_MDd|tt@CaxcrC~ zODkXMH}|VIx_&g|*Nn~mzYC;oFHb+sYe*j?Zw_W8hGV!?N@czwWGIpe7{)CjHF+#Z zYLnAL9S8sdHp*J8q}4Q;=@ZFfOq3xJWSfH-=<1MGR5@9Vw}m1oZlPN{{un1cQn}IM zt>PgA=?IXZrLlF?08kC&!L^>9L9B`}LSwb5-)ipBL9XviA5>?S@TyB&+4|lytlHe>zVs zy|-=C&DQ8%moJ_w*79oXj0p`-97&AW{CkVQ*_FIvSb>q}UG0H|7*|Ll9+E<1$n$a< z9aThWhpxu-zKFakzo7q4?>kUuG*px5Y_X8O-Di*pH2@QJ0RVs_aJMs?SehnHGL$>C z!lD2arwMtF@1)yjOR2me9x-CeTp)2|aD-1RaxPl1K7kZD*z&~7ek;zQGAqhvVnl1zvIXt~PlplJc=fMXEtFqxhZB^(Jv`hWd+{@8&aI*kUSIe^y?E=lL8mvr%AT2g`QGLG zANsrLoXxMD&8e`i#`njoH8>shUL$zF&F-#^=Qim7$;hF1)E%3+p>@xyF zGAtFOSBEs!7)=Q2RpB2E|u(2q#e(^ImAgqlpFODG};nE2x3!E?m$Xv z;P5c@E=TRwVALfc^aMIQQ=ddV?ylTP4``pm@Gdag&4scTxdoL>ztE_ zR#>DK$IMTW8_#a=B4{U6F&&}WDplg>@iaBV!*65tYfr;Fg z!f%&U&vai%%9-LPlV0y?lEhVMCSfXsjWNMMQ0Bq6ky)ggB}I}Il?)(Sgp7a*^NFyV zbKo49XpMwrmN5bp<~}I`5w{R5#sXFtV}T%7Wg~z&}QN`A`{uv)EtXWklf%yQBGQVg`$yBLtzP`0+=vQGoyqnBH5e+B1cDK3H%nrnh_llX z6X6|zqZ`{%Bqb1FR810q^z&lIQ!;i%y~GA^GQAOUU2>WsTC0D{zFB;Jk6~>ZS1VVe z#$T5%9%a{P;EaLo8@~M^`(@~gW#`^nl3A+S@vMW^Hoo!fJ$;^EF=+YMqdKIlxWDy{ zQje~A=i6SH)puFv6Qj?kEqSBXD(jv-jh7C{sXA$7`CmH?S{KWEB~-{7@p8$G_dDk9 zi@uS^3-rvGxJ8N%%AXpDh)ksc)qmwelCz_>`T#(4K|`OEU_?nAWdbgTHi_nh1>03d zz{9C@YvPY#Au&thI3&-UIrU8w0oM(#=D~d$L$%{R=5}qCwly_5ar#S}%3NJoV(W$W zM@qE*_Dm^uqgsoaHEJK+Qm~+eZC|`}Z>27?k8N7k^8N}{YOIWm*;!{%t4Om7n`arJbwx-uvv)xeb%*-jUKizS^;>hgVO}h=|X( zB7y{Fzce2IUm2kz%DL|oT+mTy)B^Ig?@_$~)E<@pwUYIq$Y=CJT+LvZ$VHuOOTC_HM5*B@CmYucOCz`c){GzWc)z|{ffWW8~K zCgcjkmg60f51&KKzN?p-TKW$~LW@`zN{e+MpoN|g!%;LxsIIQ`=mzsOhlwKk#9|1r z=R!UR&qx_*Zp$>c(q-2|QQuThAf{L`5ipbmz=hsIBsmzMvY81TMrGEL$cw&>o+Gj9A?-}5V{L4vDldb2OP)0SOjK+{YeMG1eA`(ik5<~#&%Y$VH1shy> z{58I9SL2(X?yK4Hk0HZK{8YO3kdIOmn!R?t%as8~i(TJnEq%edkUFneVgK^`Cp_Qr z)dP_W*3NE}_HCbTAMNS!&c*micURcO>pY3qUR+VSQho|tnz*XmozJW|bfwaN8m7L{ zWB=(B`8^k%KNnGu8({8rt41lI1!`GJ?xh1ozz8SMa<^CsmS9Ax(xHgz*^LDuY z=eiBm`t900X6*~lJ^j@68ppHK9;=eo;<+oS!}CXPz53tJj?lzWg=eBm*N9tCHoo5Z z0pBP6)a0WzXNH|v_FV8nMiv`eGU|%OvSn3hw^HI2E<;YT3p~ctZjvk3nF{e#H!&3Q zIyx{H4H;^)R(OmSr9A6-uSoY{KB_w6`Y9g}(D@I2&1waUd z#p?MKCI@MFxW%EH10}WTz81j<{nD2HVmkDBG(y9A;`uNS7j(VLI8)S5-{XGSQy42P zAPE+?8tw|FcD+c-Fmkq}4~vAY!^X^m5Qv;?+9o4pYCSsKR2`P80kZS#4PgegIq@JT zL4z!Y900krzyb)%qTn)svdlQ5C`=|);hySVM@5@70q*7LMOEGNDZ2*w&rNS|VAvj#nFF{H`dS+KH(;|+Lj1T~n z{X*$C`maYs763tHpz4!40gV6%9KaI3NB{_6y^wI%{s-=c3l(=RuCpZP)A}F(xxL$g z?FH`?>wIO_wChd3U6OmC;GVZStgp5tI}lZ?YV0wHFI6^pZ1nD38*5KkG$Os!;ev#@ z^KVqUqX+Td{`uxV3B4D`zZP9kC-1jG2bb3G{!#qZPiB;l%=#fvvr)_Q=Thywpy*#n zy_xiy)aF}tNnm4$JOV%{L!TG{Fk&EVm&z<8HlcNOV)a@k-IYK|41&lxKnI_>65ZeB zQdK&BXh!IsSJ`1#BbwxTU?KYMX~fT407`DE{#B2pv5T6_E8e*3@Qkwkmz7#>B{UsT za{c>{k8Jr7p}dd&qH^7@_UJw8(fXc9C0}R_nlAf>>iVKtk}VOr#C-#{I$R4 zuGx6D?Df`J)Am+++#fE@K&T5$OKDF0%Ov)zAY!MyIZ4k&mAQb4*KtG?@fCWPj`UWAK`;Ti z>ZFDt0T7db7hY;0Y_NiUlG>gGlrBJ?9I>Q|u!CX#bI`>}79mV-F06H#jSvE1F}_*# zpo;$j$;)OCm5>pNV1!O;4}Hm{Q!1FLaWeT-Xi|l4jZi!6{J&s?;4CZSCy}&LhU`WW z?YPb})m22~ZU;8gq^>g_bIvX1cu-lQ=$nrVqP9)~9J*|W1;T|@)3U+@XJs-r8l^Kk zB5@Qoh;1U9lNAU9WCX-H*hHMjvY4_o01C#v!);K;X-Fbk8Tx-mjwr$$8m zTCGkf=S3HUO{6dmldcH+G9d=E>IVpDG2&cF%BZ{}1tU~XT8?=D0j=qoQ9B}^Pe^`Y zRq^8ccpz9WCgncX=a+81)5B)hX*f3h^3`9@uY03et^Qv}u6XG5WLnxbtHRpMl1*B} zft6wJW~NUmw&kn!HLZ^xEGU`L=6vboIWNbwdp^5g`r9L)Zm>3fZsnu{vsLldXuel-FDSw5TwN9gdZD250KDp!mUsmw*LLS}%87IgU}rlQQ4 zO8BC(x*;kvcae-xy@M%;I*d)f+11{Z4gmQ)&3laC zd%;^n*Df3XLzN$gJ@e3k^3@t|UK$v9;=7KGwtp~W*?`Z_97>A+F}h1fe71I=`^F`^ zD(2-_3X>F_Q5_+Z5u(f*==zW*#SWVUZ547o?5K2dlSXWuFu|6@?4S#zrlJji-c+Zk za~`U>lx&1h`*0h7W!Nq{<|Z;G$>lmIJ)2$gLVC5511!%W(2F62g~z(itHz6tFa(e_ zInmR)l1JR6L_)-MN+P%cG;|`wHF!v0GFuZw&hfqu#R7{uOx~#AdRYXs1a4QdN#NAeA{F=%sJWP6ZajKGN#C$UM1 z$Owr?OKcre~G1 zE#{RwTB}B6?}PUzr;h7T{J{&A$|jT_Rcw1U4E}R$RP$z4)*UZ(X-h&{n@=iVy_kOJ zO7$!2Mwexm2bO(%bH%v3mqsSNd^Y(+^uUtWOQrmMAp7*mAHU2gP8g0_W>w-8cft=C zF(6^1M8&!_SWOIeuoTEbi$ti2Ogum`oS7*qCVfUFZfkfc`=^>}@iYqknY5Uq101!^ zq8idHLGeqa-)O{fh_%cnt9gaq>qd}yclB@`2B11j&KZN*i%;)49q-NBuyI?zuGXiu zyA)JuC?{_K03ZNKL_t*l@}c;4y{ww=)cs*{M2&O3H|~4B#Z!aQ*8MZ{%Qn;EzQ1zh zc<#lu`|r$Oab;Wkn`Ih2v8U^h<)1FPQ0K39&%Cr^@8}81CF^`tc311%tjb;9J%3>8 z{pt0v>UY7JH{N+<>rXYVUq3}RNUBY8I!M&!RbY|yg3thf@57AQ^(aW@M0?KwSZasF z+obzd=x2nkWn;82wtLmInt%P>xCL?b^p=XgFl~ZoDpJ zfP`rdb1_1RywZikxu1|DlGfk>R7@ec#0P%n*v=z<}&iqe> zkfarGoYu^ac@W7Y(7Jf~j^kMX$ZcUwM43mEi4X}wW+5OanW0~VM{rqbMiLq2MG7G3 zj!8~b8b5{%$P&m6N(Mz_oZBcfR0~`X#7)R&y4R@alGqZLt}lQnI5%+)By~IIL07Q= zy|_qmK|*Kkd+^Q4XXasqvSBoV>|my!5&E3c{lV2*Xa)seHD;NE3DGf)N^&8xps2T? zb!Gmvax>mfY~8-(9g7Ej6`zfdRX_cCrKeXECU5!Sh0_%i)=e1FvCfMPx@>vs{MAaO z>dd^eF%0F0#>{$j&%}1g89yY=KF~a+6tD2^g=*Ed{1AMyOoero8x3s`Hef|`tr4x> z=$m^iIqq;w!sdNHR=;~RkIm+k1Kw5Sj7sc;F}b!KRl^vuXSDzT2z6dxAOsGCO!)*E zON_wSbe69c(`0Z#K#q(6QJ5qgpfZQ#sO|tL6mZR}7BE3FLTT_2i^p=0-yfN#pLAQ$ zoLSe9VF0+{V97gQ+LGI)#S1&e9*;{(%K7e{oaee9`MPeW7rKw%nH2k2zv|PsHLUnq z_==C04V*YX<qGDI8t>pm=smu!{$Cj3t+^nC(g=+u%=n-_{O%%S-AhPmUAa+R+ z^d6^RilXaGW;H-SVx-Kc+Gp7bGmwl>TSkP4qhen`26j7+WKJz~LzzQR8yX0fajiV>oMpS~SEuq}!aI$1^>oDuixp@5W`8A`PewT+Og*XRIku@I~~zd7{4pH+X) zYx_WK@|YvJX+`HO}-u&{KC~gPHdg>&Sh(NIJRy~@4gYUx?_Hm+9|`|-?DH- z$JE^SDxcl>`}u(%rN7mur}c~-xd-;%n{eUO;*s%}>Xy8a_xv*#kGxr9cc4!?G%Y_f zs?Cw3+cS#aWGtYj$IYW8`*Y44LcV*8T=O4w-U?aaFBDM&<^7^X4^gk&+<*pY_#kvV z9#9#LOwj|J&MSoXOrb&FQLSn~X@(0);7oFWp)Ps)zyR>rzz5f?-LkOcQyD9Qfu^4} z9aphO#W@S_IvIcX$$QVQI{ReL@kcr&XC)=wH+AWN%(CD2`l>{WrQwG%#~*HeSFMU+ z@3J&@QXp1$!E?)NPq8_dHO#jZlzg~mfUJV~@aky{2>kALZJTfaW z?>OaOR|H!7{^*YgbaAXIp~mO}5y<)VO|OtVRI93ODI$ABeg$3=JJ9mdOlKWxS|^@z z%xT~RYne^CknT1{1WLm45dF{x{LhRKwe%#zcig<1|ou z2j5uW*06Bh<{9g)8KL}Tx@4Q+nTES#04^2W5yec8YrUHzF^1E>tfTC z5Yb{JQmhGGOB4-~4y2^_aikbS0FI4=fNTI+)QvH)fC+z5hJxdX?M8{WNQjIO87GdC z1PL032%M=NB1-uW0p;d805T#1TNNY`G?1yC7XZ14rBEd1O>;#Vra*`sr3KAHfmK-^ zJ>y77E=DN3>jUop!U(}l%R#p<4TT_*El3n1Rge(G4yV>>5D?I+b)#0&%>3!~aWK4fg)j7Q6q8PY4|gAdegQgZWzvf;r|Oi-LmtdnlfPpf-6zGeZ9w(5;%rb4TltloUWx8PXw(dO3puaue=F zGeXbHr8k-U9(q*pzc4}sfRgJ^_NhIs>z3E64&PsT(}#J*x+c$lbkg#|GoQS%@P9Q`RRQ!yXGTtjvAZCLjNGU)$ zFv|P540029YAyoG_Yn|4IJCGRW-KMmVL&nfISMDh2~q99fw>VNZeT_Z(0@&cBQvdd z8x~Z$K7RM7zApah8=)|CVy>bdZHB8_4#<84Qug<^+h$CeFDnI3W-h0r0xg zhiFRhCIVn+iEB(o$N>^sA~>HRCt!#~Ds!16%0 z1ln-|+qR|J$e1N2UU>{L*L<7FM#S{$9D-t6jR-QsW76c9+&q9H&;>;AJtKAZYR#jO{IE$FtmPTI^nT69mMUz)6%cd1v| zp>SQ_IkKPBAN#i_}NDKZRNV}v6XF3%~z{?1wXcdYPss(0{XC+>XGae3Yv~U}Y&~4h& zLau&RuJ(0r559Z-oatF*s+Ee{ow+utRMqnl%kRFK`emti?me}s?DR%WFZYUQe4s_K z%0C_b_)=Dv{_ocd)L)Z*u*rQf83n7GA9<})vo{mQuUgf&qJ8w@tIcbF@84dPIwJXUM7}L6)ycog-fl1gu~gC7MAg_zMNFmd!&FF# z8!o6UM)Jkl$=IQ3iqBfeq-y{$86M*R8TEV-02k@>9SOe*i@I zgwqZ>GhOssis+4cRZ$(|5;`U-Iv@!lKKfN#r=QZ!>Q_AtWy^J1g?fh^8YA}uUV<3% zr~iCWpu5E*t{18vVyN5Dtw(AxdB?F-A{zl2L$GZi&QRua41x`aoS-nsZD57m&M&kJ zIoSY(K@MP9EC6Hy2fNT_HUS3_C?ZQwaH-D`LlP-7NraOCC{}J+VT@T~(Qrb}0T>sK z3miBnP9hB{a!_tHK){8wrEry2&QFS}r~nQG#DH9Eh|CD35x3iR(6%`uS|Dty904o@ zVuUDSZ^pS&sS#O&8EWo`T*@zYi5}+3Fc2d9;!3d3J-AnNnefXakq3@D=Bme+Vdhd)nAC~#D{Lq>e$0fmz z;?I`J*b!{7wNc~dM|xL$r1e+J8lHQkWSgzK*W`!CRog!N#;DjyuM|&gIi*qWDve(p zarVgpk1lSJJaz8XoZL%Go{TE-Bs-Is)g-U&TU-A;Ug^w$UU^-DHOkb=U6*>OVq91I zGG*B}oS_M>?2*_I05};v)Q9QFZh$ltOx@H+uNEVs(gBxPlTx7&rWzeWL$2nDT;h?Q zQ=KA1-Ys@ow1gw)0}YkPJ%kX4Dae5N@hifXayhM973vZ$*eWNaa~F zGoeq2Jl?WP+H{ z>OE6hMYfq*ZTh?0&%KoKWZTHAEo$soG5_5Mx8Gm0-mhQRc>lAr_eM4B`OC6$r)b|8 z%)WfjspAJbCIoBM$xG;Xw%DI-k2Z;a`}a=IUH@cc-mLxhdqcOkg+`+?CPo!j$mIXz zQvpc1UiF)tO+dqPVnjn>Xgu~YLM=o1?=-+Bw@XoxQd9(1?GQ=AN2Zo(Qtc22y3BoU zM(CyUK1OIxq3eu7Kc7hf6bC{Aq*vmW-j_MF#-t;g)9aU6H}|;-{boe3`trSf+l!~) zv9N04?(=rZUB&)B`{vNjX>+y>Zn5C|RedkF+e{s5&dE2a`VN@UR-j;)u(^A)lM$K4S< zlo3oQ`B2Y4B-KcWPWmXaI=|!aH3p)ryvzlzV(G%7G>c5E3i{7w=%^1S=q_A)pmK;M5~8uY2X?drl9k z*#6@iL&_~Hc;d^qjwWpHIrj3({U^_MEA#zdZDR*re0ah7eI?SiS3iZr(knDQ_SdLI z>0iEd@uy1Gu~J) zDE~yMiBQ+j#HtWC>cttF{G;&0GEm2VpNpC-Uf-$T^D~>h^nT8h=bj%@J+DH=wHw;i zIsEl2*+b*bnYlH3&4@iUbL7qrtYP$tdST-`UVmVJXrwsHYV5W`NG6K565;q6L!V63qc5- zu0ErlLXG!+^LHpCp(s=q!c?xafw+ho*|ONRW0yAm8e2hD2$|ko(xG4K?St}Amnd`_ zTrI?;{u?tCjL_h70BYmMI{YeeFLD7gzM(A7n=CjUsUHZm#qp+vxD#k@mA8O}C#Jwld0y6zH zB4f&?XW2FdgEoM&E|En*WOKRchX9;&E&}HPfh;C)UJ)x0afm|yBGOxNLT@9G{EtY~ z+9M)a(1#HL$tq5O$QS@4FanlUxG z_UAunxTsX&O9$^s8HeW{`t-#ES4z{A=*fL|yd4#JeD9g{d#{K6P;yASV|!M&u3qi) zzQ6RDd9CK|&uesyC|l>yL(3Xlcl9%eSU{0$oX-=m z1|T9PGAK;-;lbtwzfJdk(ARcyESwOe+)0XN+)$_m^V0Zgy`F~3?st5gE(3Rm|G9Pa zG!wdt2^HbzJ-2gNUwx>Vrn$ebEgpkY;BI~x9LpW)UNzo7UU;f~c|eD%XgN1upH}9{ zUV@m2i}<~aopi$U+V|X4Sv>1Rp3T)h;?a27R({Cl;ef$BJ#M}|e1t#j_3pHFQ1JW6 zQy*zhO|D`C-rf*Af4QU48m;_w^QuY9&GL!+i_Wn?haIX7m4ei&DGcsi4jZUfw?_leyfovE;-3xH(E3aCPuR}OeBY_AwB{|5y)`E zeq>kJad>FaSRh2kC?;9$Hwhs78N6?m3UjE&d>4Z8OjJn>0~}a?5)i>(n3{?0mNEz> z-1%T6K`hwkBKr_n6p|0WLnUEyqf*1W5K*VcjH$8FOBJM!V>;0E?c$KIE9m55r0)_V z`<-8!eaF~lN9GWb`X_SHCpqqi>_B|v{=RGFq)}Ucxa-AD&8%PVtj(8iTZK*7U0BO; z>K=sf9|=75M-}1F%h~;6Z1A3WTY`S)!_{sOpM1EW+f2K%{F^^pzTi-W9u{VHJYr+p zUB}2>u@nn(zu##`?PvV-%Vm+8o)h!M|;PdZ=b6yl3%lFvUv90Pj?X(5UUs4^R{Qg zLHOsKZaTM0E*`fSamfsR`wIc(LJ8*bG?Mgakq;6`;jd2BA#aos11^eOepS6Q)2)+` zcrhxk>>Ui)%`bXy6^7KwAb*~9h+c!YNyu2*feWz%ScqvIL+(jsgy}sm_n3Nm zJm%#F7N;SFqsdSYJJ_NacTNqxh*m4qdqj8AGRpX!N04;e|vd4O2~k9FR>JLLyP@X;r$K-#bSR7^$tNJ#O>m`))0^9QOx3 zKeTujj9)n)DkX+Dd5LP!v1U3OTh+3|rWS*yWM4kdwV!zp_?m;%Ziko1F|rTZ3yeHR z-6ug1qs?bct&Hi&uxF$$6Oo6Dc=B`vgL9#|IMHUo5WRUwkxyGfKT!sP=BCs+si6t7 zWVBI)7EjUP1>~Yc@$&?9DQ$xV|Mvdf!!4)2KJQ==Ap^3nTmltmuk2PUbWFS1ES{@3 zTh8p0NHSogFjm%@o->ed#rekD&I_VtIeuJGj(0Q%D;Kz0T$oCsIyQO*Qfd8u?6|6X zeUAvenjAHo3E&h}*>*bgt&clZ3+`oOuH6h@?C#%c?^Uv=o9{KYoklCgtTNG5>)bzp zQe9oRAgiCh(u~XsFjXmEEVi-UOm|4M2TCc^%a4SvkV5SpXaoPXFGEJ)?~XPSr-yCB z(nKa@)GL9N$t(|{e*D*q zSI{2;soy@DA8;_By|gYSjZzDY3d3eO8^ucUx19lu6M~pHRzkYNFp|)PRCdT??oUvE zevJ^`MLt|M2n3BjSo*L(lK*u34I0{rE)6XrE$qY^a%i|TYNAlHfQpiFD%g*!a|Dw) zbP8A_0~kP;fGPgfLL2&n*TAzNVGy2P&JY2Mb!IOL1!;Qb2p}|~!$lUygcJ`Q@^6#L zZktx=;%7{m2thfPHRMZ6n0=)JAttjT+^43)%vWUt1BUs6R>UzaZ(KWFBN%<^3n``; zCAG2nU7%8LPRagrDH-7nW4O2Nm&WvuGhU?%I+ zOMPb^#Ism8U77y;w+$gvS*9l8?J=z-HHFj9ZCX)yb`>{giPK5zHtqKxPvbkiyjh=v z^G4f~f(TNDl?UczRjsE3sZWC&#VYX$_UyGJ#A*7v} zr~pwF=lj-C$P@{;YUvgZoF{BwTces4t5kfR`;i`Myoq7@nC|xO>$5yQ9-iZ#9yff3 z^_#!TuhXF_p3HWxgZFZ#HQEkjt=X~?=g(i!Z`3Mq?{%CMWW&Bx#;*UVC(M@Na0A5p2NrM=(*^u=XHL(hG96|YsTSb z#~K5xzEIC1FC8Arj_W=!@ba!N&;&4Kd}d2CTp+AMvcXM20u-L&LBVu;ICJv*5hOY@ zJScU!!afVo2~RWj34ZqT-krp= z32%wRhy~GGZUGGb_u#U0qc2%5#iYQTpDOeY4;KOwh3b)P1D!S(y)| zGe!Wgy3ZZIhLc)aieD+~bXI%!-*Kxv^=a2sY4hfjgwK09y~=l!kkQ_+gSwj}6X=>I zGNTpn16P;xoW=ath7tswcNdLQB#(DjW*F#qvxe6Qt2DKX<=5-yg(9cix2pO6!Iasp z7(F!td>`{|oKJqr+xbTarq2!BE-VdoeJ|-E*$g8k5|LAHu-F|{uZXxMn@;gyRq2py- z{}DSJ)-RDE`L~n%6c^;$t|bN#zHg6>B%dBW&gT0#x*3ipzdEFk`?yNUm3uC{6*iuf zmd}mba1I`N_v_VIGd|lC`|tLVj82pbwe1%>%`1>+lfElMC0#DH0!E&@zAJ(}YA7rj zPyhfE<$oLjE$2}>n-jVW3CkXrPyNeA;CQv(CmSi%^}Hec^uWWgW%BE4%1`b@a8}3k zL8(N99qojK;gOoiGXjK3J&uT}=m_NkwJf31m`!vInYap)e}_mL0ZO4-$;welR_t&S zVDNHq)~W?m<(d1?9ppUqHWo;$yAimhSRxf6Q!y znR%NfR##;)4f&kJdpYX}{o>uq{&3s*Le207gUa}ePceE2OC6|Um}!q{!c0PCWX=SO z2!Y%tk?o|Vh$2;sBgzo01xIZnZZjz1Ana}sbpnhQN|^?naK;!2>4MQN3k1M~(!D6< z921mic(X^90CA;U{}bHJsEy2lD+>h`!BvZYwAZKIVkNZA1_MvxjGlI!xTs{Ln?g~P z&ErC&=1hP%MxFbx6Wf`|9%sJ7wP$HPUYSC!JCf1fo7$l;cX@2ljWI3zPU$)Pw|Qlm zzcVo%ai!GNG034wlU<7Ib@SDRq4v7j<~xlFrl#$$@pg+s1j~9|_af`leB^YJgB;Vz zx6)Z<2f}Kenzd)p$M(HvDQ-K%`5w!$tQq=0cW&5$X=L04@Z`0k(kVj|$&?85nn{L;+CITq$%BowEG0S%H=SO^i3v7X+F0AP&^ zd0_%PLWzl>nIU(7V`iaO>=CqRsBo4tGD-D}L9xTV+YOa-4L*yXd?z#WeY94GlPnim z-ZXXLGyL_oN9`g^D-F~8;Pcu2+y}6**XF$YC)a38w!6UuerHP_hs{ABB`Z_bx36PS zC)JBcJT0TY@7HcvgN3!l!8Q_AEym&pQF?gzC@b}L9~hnP?;}VAhhMGzuLn7KpEkO0 zAvD$p4`vK4V;xOP{YqMXpC2g%cHS)9UAw#pokY#QLSdQw&4Gv<=s_WG6DCqnuuRP( z3v#T6YPjXaqBEg3ilzAyM-y0=IDxtH|LTy1b!Uv=XHdmgK&l%Bq803GUm$}-{IWK! z_%se3i-)pGYy%w%!4vsKJ7`%lQDiOQ-xm>XJ;+QR=I>KFn}m%jWH~$uMqUo?6S4 z?PJeTUuY#;@IX}!QjhQS*kw?c0EgdZJq#yLry=ip^XbOS4UbysTlsE73IqY-nS;8M zm4kvJ4`|T?{E(XIhZbjxlw&)rcnCZ;DNZ}mPbV{8ceb>xtYKTcW_p#d&{5cx3N9Q{ z0ypEeS$x8Qv)a4eq6;j3gg|~uqd^YgTR?;a4;D)#53K|V8zJl0+YTlXs)PGq6=~0Z z9WvuoMAh3>pbZfS6KfNA;1e0`avz z5a5}h%|AT2aiB^02sB}lIXRd!a3hmMHk$@7Jst&v462Vv9T6WNp8EkS!5=vFPLmLe zy+Aqvl=2UD*QNorY@Y&ch#Iv64pLvl6vQsKr8rn6Gs}SPOf;)O6al1aA8SR)6>~OGjrW04+A=Z>Q~<|&yI$#vt7h*;e$z9J7gcK z!{N?rpPs!|7^@a3_d>^&#-&WWFWGjh{%mZrR0=-r_NN3WtdflunqQ?uU2(2cw(-Q5 zs+Sl4WU+F#mAx50O?D}f#58uEjUtJ#3lup#&h=R|W!Kp{nj0@o*fL|!(m$4Y^?5l-|3VXE#p67E7)-;yg-Xlg)AhcH zy)JcuCGaWojL4G1yY}-OO2#75EAOCh8_#_+@-DinqhRlWL`s`j`PEpw?le6zE5*LrAawgh<)1O6Vp)(xye_)-e#+ikKwHd8sJ3{Kk2VMO|%pYH4Q=5zhES8RHxKT zZu!i0MPb}I65s7KuK*(8u$r8k4OSf zcvj)Khd@271>aA&h8vK+mh%rF^w8RG7%dV)PFT;$j1~wBONU+$EXX6FO&KRN03T0C zL>W2rJ52cSEeaGcg`Aw*96y99PORt!KZV@rAJxo5Kc%Mkz|OjExShfjCnGgg`K>|H(Qkh;oBU+MnIvmVWC zeLIy;ihfWla$k4sKd%uVdY)|Fu~Xl7d`gTi>h`lk^R`|Z4}4TQ4w>C@KJZKuPgKI$ za^rJ7_^M4opVEDotch|yyY=Dd%~<>z*cx3s#9@4s_zNLv^*b*j7783y<+h_FU-J$7 z0diYTf&nm@O}k2r&>i{_Eg#{Z`~JXT@lTjSrbqmQ^%NBl{||D8y!~E{8@7Bq18$sF zqBQ#oBB8MBEnSlw@umFRjb()Xy!}P{9FENN8r$Ww;aQWuqiZ*|UqSB~XU*!a@2;Qi zso}%5#H<_n&vU|BtLshDGy^X)Cu6OU?ogOpE5ByaZ{Zntt7|(sRO96Gj$`SmlLN9S z8=8cc!{@c3`a7do9oS93#|L2;ak@39^@$Fw-OP1=BQelL&Wik_t9F7u$HXZ?$uE>M z+cNveG6#9!uqJGIsYcJ5F*=m?kLH`=NcGOXTK7s_vk~j~#BLWo)Kk`ZRgR+!At)9M z#A<=+W7za)`GSZrq>c_v=l535zuwAmOWKm~>bwlpZ+PV^QMP~Gqc%0foM;E1;XrxV zybiVgZorKAH(nJx4+GDVJqq3BDq#>RZ{x0;929ke<)d@%U42pwScQ=wt!cZ30ib9r zlE+w5DHBHpt>KvkVuNAR!LpsmpzIqq2mKS|%hR6%4Psqu|3H$$D4IuDa_AuY><#?H zjaDX(Nmx@dvgta4Xd)=@XT?VWqIo@#Epe4aU4V2;FMxiarWK<#!*v(S5nL1;RhM?r zzF8s!&!Q%SbwPc(EncGZfdLbVkf4AS9t4#%RoOgU1zHE(Wepd(oWxJQ; zCau<~?~;!*WR9f0o5$qN8tSdwuIC_TCa2hx?M|bumT^e}KOCJ~UXjB#tb(Yw^k_u8 zETm9EwoH7FMdR}4w$j0t>|ky9*xkzyHud~@+DaQsj4iaf#f9!g3g)!J#%Jn%n;xWJ zLnDiFJ|BG6_J`Q>b!FDvj&k04K;qP~@3SqgBvP(5zfLQHiaL~Q--c0)CQL}d0@sz8 zTlu)T+$I>S|61t3BnqrvBZQ_|AM|w@lR?XV*HI zZH?Aij~pKOb!*a3L}sl%49%NeA>dBHqi=(@m?HutQz8U{l%PnQk>sDUMH(h_NXMGP ziW2WKs4k;=iGxU1d8OEhuEoO;gIJlY#3;>B;F|J?*gP#5ej_PSJ6W#Eik6L6EHNY@ z^)3kZaoB$TL=u%MRcB<6W3@gAtdJ{VkT{coV{&}F@0kXJ?{{n<%c6c={9r*$UNQ?c z(OePiBTX)n2rjTeV+zcz83lN3ybp>i<653hV3}4X7Y_hSUjWM+i~%66pSM{^AJhqf z=}qytfG50_0O5syTdN!Ur6c8vyR-seVh07$Z&T2H=DaokGAyidZSoGhK@Ly^hbQcJ z=DU+P#A^Wn;XuP#Y;_9l)u@`4NJWNEvU6;1vx?9LrIvWm$Ij(7nX1`SP4obdczP7tPkG6y>ybcumYan0kd7|a} zbgvI8dZk0~pdC%pD?g2#XS|dxpm4*?d3Iv9u%=VnE~5A4Aj1dL)D@wyO^g; z)%a>pLdvw7(>2*P2%Z^Yzc@-5#XVh|mr6A;TCdFKi+mz{U^>a&UUqw?DZZv=YFX^L z^mM^Fsx9Y@Jl`^eHRv{cR34XdZD77xYKGrS(BtZ!_1`C-V?G*}uAs%8Mjk3W#nbS) z{Ccuf$Q)kYxm?WtejM#qKK2rHy&aQVrl5Z8n^vvtXtv}@YNTbQda;z-6cVm+GjI8L zFt*AC^b>UjoLOc{fb4|yT}k~8m9LT-_6t0qswPELdNT%>$l-GCo9Tk?K1O6916aTV zw>Cv*SwpiRplo(S7nKOAxNhF~AknZRq916s!jmj*J#FmCPz^3R5vTEsE3{@XIPM|` zT4izZ+TFL&iJ3Fw4tl@}2+jCjc-3Nr#=kN8PpKOjLq zU+_p#N`p0i$1W=leMBgBhn7Jj+V75G5>ePj{fiwF5Wz+UVibx(LZsLq!eR#A%|
    tI(*WO5S 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 z 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 +Jx~5a! zuL}O7fUnVD4508XtJN?qJ=X02lJc{oiQzY;2X)BBmk6ri+j#v+FXC&8cbtq@(^~9; zu{Z}({ND7XD!->S;^kW69A8fZzWYoSU*=g~!U> zanaU>GtN_uK`zePF{MM_zw_j@qT(4ByS&n$MTrTQJHN?c$yOM!@l(KlQ`+tpG^(%p zMCr&WBHBtB*8=49c@!s}j4O^8kM)X`&V{EQCyvXc@r$zOBH8P^NjY88;d*Y4+DwdW zO#*Jt?I^%|eh|63&)oVT^pY5ji;ykdOM_&(iH&q^Hub=Of9%DBAj)=X34)FUu`X2i z)(Ay~nWz7H*r9R6&)UJiXlQihh!o+hw|2IS*rD@RiDx&AyVk|1P1-vpeR!t|deB44 zHP{n=b5}3TZdiftK8Z7eysOC)x_a1X53@Kz%A7w@GJnvtW#Dz^#i#+qGPWaloiyV< z&_EhxH{>$-fVc06J)?@mLc&eYjr1dCq-VWJaa;`3Gg|cmaZz)ES;0yjBx!sAic~TK z%{3-5!>?UL@6#k#{rBT31AYKW2H4v7is%dyCe7L{G<$_s@U0U_AbRo_lnyNPMcO{t zSw~x&2MJek^~-R$JLTKy!64$)sQ@9MSflm$kb9e|%8PJ+7ue|~KCFz=(13~Qw0C4? z=K6aGfaw7u52~n$9RQM8wTPeEo9W#h`!AGmH)!(GYjyMMhup@|njaXvVZf7JZ5z!N z-Tul%g95TfItVu-+q}~IG$Kjq$d2c0P`B?@aVW>u=~Wt1U423Ssc@^$D(cess$K1> zDC)G$Z&SGhH%z>VbqIetnJJXb7qPexxrb}-IcW5!clkX-EtT%#M&d#xehcH?Du9GHVi1i8CB*l{YPPi|K;x?FcP*yEt_dCUzHwRVB=BkY25 zV2=op9c-i{$rnyvDs77geATe-poI?Kwe_Be%Wn{9My28=@mYWW@CbnGls%$XI2*stIyec_AE=v7`GP1yh}!d4f_h1jTs6EAOJYdqGY6F2;CX;@;G`|&bqiMmgkg)#nj(5Pc z$gs%ygi)XvyQ{qfxWSS=O%`I0$Y;3swZF^y3^C)Sx*sC&OjB4nmXegFAj}B9Wh^SB zYv^fNQteZcD`Sb7tQTY_n;$u8b@fu^?*c`)ot8e6lW!B^#?x{?Xp$-TBwgD<)~vCV z9XQpKBCeduzk$8!%jHox$-nwt*g$Aja*-Nm%9&y7l${>!{2R0^OK?%-a~KP0_u$;Kn*^?IT+N zmnZX}l{)Lzc7OWFzA9ZF{Rme|tlRf5?S#{rj*01Nl97VV1jg(D!`xUBaZ-`kIw=m# z2XX8Zj3ik<*JSD2Dsu&yr1Q0ZI!8QtyYT)QuL}M7u6LjE6Zy=D`>2ntIvQYtamNOT zrVTS`XQAE4fX;zd3^gfobar5dcZidihvKnn*jnxB8ny*8!J~_V z3vs^DX)0+FUALi%Z(l^=5e$zbFJ5ExrV{>?Lh03Oz3xHWfZX&dTb|D)&}j9Y;r`;MQGbUAPtGF!&LD$-1GuJD_4D6yyeVdVGlP7fN4sobtA?a0ix zP!?PvguT-74mnG$%w1p=U>U48DU8d}SN4*t^

    |rN8Pl3QM!C0s}MY{3Rn`)`Q+8$JE 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

    @rJl9chfsVBB!u#RuBr;=IkNTN54vR6 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 z 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 w8pK}o+0VbH~*f_8TGNn$zTvdj0L-ZUbLsx2PC zRAmozj=IawA_h`}9fDXv%TU7*;LDX?`KEGGKnDGgF?eVemD)a=m`re@NhUaXAsh?B zpD;jdg}VdI9QV&o)F6VN1~R>MwWAUuE3~9gsH)E-Z}?&)`OROqT#j1ZGN9UVNSZfe zlh`YEb3H*lF6xDrGlVB29ZC)XUcaV}S~^m%fKQ_}7UP7-f7h3AJbV^!L?dg@nCmOz zxB_h1tTNw#dRP;ewe45@p82K8XpX+rLN#f5ViWR)4i!K?agQ_5&~d)t%Mxd@v27u(Mu!H{ zHoxQNhTt`dL$wNbz1rc8=ECtzH}R*5Nfy+Nn_ zb}H?Q_@ktdz3}e(LRa9m-&4I&7p1d(PD0pZw#vVC_X4Y%S#~ukH+)^nQ)FJx^FCh{ zsqRxv{Tsz3rPbd;&MIhF6~a$}3(kXy1s;r3ybPXO%q5EiAr7E5OR32qlsdtBJOnXR+uQC!!i0VH zch~dxMVr1Au(Ja@BEz6$O66El;h><%NYFWGXrgIUM4-Gw_# zNYI9mMR9HQF7)_5jzxG)t< zRd6s&_yt>SJmz9oX!tNRv0&w^T}d}1XjD;ng-$6s_%gUc_pmf2}-Ov zWmrK)3K+AfA19)GZHsW;^(k!1Q5=fVj_SfoEXW)Cze%rMM_W+mjK5tX>4(6Ajn||) z!4Ao9Auxi`(59w#dz_C+$ib_sh%B&NWMaig(w3<%)Tfc9f(7k<6VY(Qo9#W6qXjEs zRXA-_zo)QnA^}K*MZw9fu{sQ!s>+2giU#mOOJ{ThJbdfQ*6o5rqt+yy*M$u_yCG36 zltGe$Lxd8?K9S+*Rz1V8?kg#mM_(~hlG}TNr6E;?WAqe(b1~tM5ul6^|CJat=0=Pg z#0qn2?6&m`y0Evct}$!EWmh=TeX#8!E=v`~Es<~v28%GsBucPYi~TM~m-1bxK?$FZ z7P^foC7C2Ob@N!0p}Oi83QJD06oS^9AzJMB;8JYJC<_hwPk8tTHGB#x%7_rrf*CvM zp@9CgyR48=KcWN)lkCZ6Q;j8!fyAAY2N_x@I9nD|)KUpL_p)Kp^@V`qBw zII!ZClcm3gq|old!;O+Xp^VGfnwnVJq!*bJReXD1j!8CWk z2l5$9q<`zYAIrr)nHF_0efV@E1^`b&nFb&sQBlxL&6?8;W9l8;xgMq`J&e6q z+N_-Jdd=@@ho+0dr7FEAd<73EwhrEo)0JB7!ZpTc^RclP9?~8=RiM0Uy#{2s)z%ueS znO`?zyYp@*Z^Vzd_i81Z&`*Cp+n~STld0#s$G07I|DDhhMDD(3%o^$dH^)%uIz3LW zJ#CNiGxn8*my7xplS0BK)XQ8%~vM93m7q4RK zl%%RMP03R?grQz)Qk1Ex;__WW&Ss(W*?!2(85oxCZ?==A12*(U{fy8PC<=?1qk=^A ziTRv>T`PWWdeT1JLuI$m?-45#KN3uQ{0C6GAM0e`aFT;c(rkx|$LBbl#99CwcSM-L;V3CZL$sjp(cp?=y?YE7{>p$AVU{r%YOA)5g+#$YmAbU?D=-NEZJ4lQMeH{s8J>zMrv?v&;xM)sJwQiaunnhQ>Z*$7i87Ce||m} zhdxJ4UKp_<6fhWR3r52m7;+ z&PY+0!YA%?>hrla!^La;>lMXG$nz+_>%WXt<>KZywxDL3`K)~Fq!I|+Ylt~YXgRL` z-qAJ!Nc$VQqgb;;0w5qlAifn zlwi5M_A*h2BP=g(?M}Dq0&2RGK8AX&5aRrJvEiJFjPP4)djM5GhzHnxVCT)c-S5G6 z*V++zbskdB1eX|1PvUwsA0PdTMf1FVAk2H1&Lj*Zo-8jNeg6nCVyeII@G^Z*u!xZ( zBI5dO)Yiap-5_#jvLeXVw*=vO8~)4l;cez_#;<4p&4`J?X8pQ;5C!6?K7pavQ=x#; za-mlcpK$x60Z-fMqwi@ger?9hZq;*Wys_h8)njVhFn7Mf9;7Ayw$=WeLO%0BD9_B_ z;rE#_wb8r8mFt<8OYkk^|wQ$5A6Szl8;}O{>QiwfB+vpX%aQ zeO4fZ8K~BWOHa@$ZeMGwP;=V@G zXD|gPB7v8(V`tu~-Q9EnZgcr^A+L&T(H~G^w!cFD9x!4gG^GSKGniz#>BfV z`65Uy_X`XPjulBLddXY$K37LyDAnZjMJ5p;!8MMxZE|c_p--!=s!9^$(WPjw8)_k{ z&I#hX{p@9$mXg&#Q5&bmXLY|h^ETU+^qAW#s+M9=<>rvE$ z3tUx>l){Vw6XDE=b_>~L(l{cSqzmGwDgq#E1mK{PzK}(=c>UxnXgFlN>!H-8rqy}O zOBQyjn4ex&ky?!S5!>>7;3?fhdnaso2zsbqYSvikD?LcC9E|~~j+<>eysZavwJeqA zXK^ZH3HsN1NrS@800If-JL`Lj*Ye(hf;@-zpDONpb$vBGCqV`AfdSheEqAr?;syB3Hh(PS9ndmMvn=Hm2a^b7L<3QMn`0blZhfrbO7V$!!&C-7e%$1$=NNmr#awyOL7$)d$zoT-qy4SLS=n_y zuB+!T@NOeNcO0jVfVjr9YZRo(eC>1V;qf>c>|1{M(I`Li)B8Hz6F&yNi#dSnWTR=$vd8&_Cz9ew4hn?a}fM*KbZXdOQj>|3=iV8`nt zZ}(~#*^yCJ9=Da{2Ajs;XKjEea9*!G1#%5wMTjc_%+2>@s5teT9;&hv_Fwe5H9p|n zUgT#kzwFWXAC6@v_-oYEs3`@v-g*KGew`8x1fTQ5pIUT(P^GNg(4@a(y7OZ{rvh|z>|<6 z6-5UNmkX9qrck7S1(Q}^02l?6K^-JwQluPqNmo2vW1Iv;}R>Abe5$;IrY#c@>Dg}>(f)Fsf)SfY=rP{0CW%& zLn>>uUSIi4`P$gUYTNY4!g!aD!oWh#9-u=>NmAwEMG{plap$x-2;%Ul?!5d|c}&-0 zSxNUZF}H@Oz65z)DNY}J!guvozx39ESuAnO6-`U$ttmrENM&fm1y8Q%E=clQuM>8N zXZ4V|kBd+TukT1H%S}j%&sYTw8w~G7W#yvc!OLxIgY&(l;3{*+>i`%M%5pC8Ohsxt z0oy^;xCjssA@{JM*d2+eWkKI9Ll;}ir?Rt%lq`<0#G-^z6A|EwxK23t@cKs^tYF~N z5Zq#$7=gF*N2#fpfxl{~8L?xAO;rkJDncWDH{=bxqOMIJrfT)R^bBou(ys<>RWu#$ ztSRt*N|>fw3^ORmLMSJ@LNzk#!A-+SE+(ulnS!%to;|P)iBRYwC!u09XDlkhqM^ab zQG&zML`j*c%1wu3kPS#Gj5@EkRgS>n{ies_0V)w%)4Izsti20W0ofY+oOY{~16Fn% zfvId3SK(VmNyGxbZT`p?q(197*beYBOa~5U%Sqq2tqhqz)-;#^Ytlu zN9{Eezd0*Eu%p;wq1wCeRgy~Hiswm){idEmaEc@YzF^o_iJgCUfq-5f*4{oMxE3z z&?Qu3@8LV1l0dJadfeSE6{SApO90mJ~D1b|9ZvL{y+=`TrjGGAfzOIhn zv2o?0vEk0^ertZ!dmM`!8i|I+ehj#5W6nC^AWL2ETGnSJmx_(TeZn311oi)8c9K-d z3?w-t{xTKPT#_i&$lOuTk(fTY+uAaK+dDp{8d>dF{-_33X8`QB-9MMkIp9{X;7sS> zR+O(ZESTT_0+zz?Oi<@X(^SWKbF$pxGA)XfQ?klZxBL8kJw0J}zq$xxK@yLhYsxS| zR}5;x7QtR^gmyW6Y$u(yB^8JDwy7>!kv>6rGs$M`du&-)cf95@&&~=0V`$u~%jwKh zY)Q*j)hll^VT?)di)9C^8-DEmY*+;sv3(%2Uqvqq%2GYfzFa}b1XE@Y1!IxN1Vg1) zo-5p9!${IlLkP09w8id`&0cAh^$!a1c74FF+kv*^`XUD-fjx4;PTF_-dIko@SM0g@ zV1?kyBFM52Tk853@*{))@?lMFs&o#FymDmR0Mp%86hVnrTMA&gX4^G&N=k~-{ukm++5jz;||#r%ETrik?r%RBDpJI<8Jr8?}G&eD4(lb z#`iMwp1i%i0fE4roScmfy=2m`c7<2()}BakUW)vhdSZ&7@3xyZu8ss+$vU;CKQUYv zYP%GX{mRv`N^xD}47~}icLF{f1S(K@e&Z^!A*qC+LxhJViovLcfr||lXAr^P=o)t% z2xJZ${19B7jwTaE&d(2+N?g6+`ivSDVO7&hB`282D>CG2ev%V6<_0NBp(+37?rzsY zUbU+RBr^_eAi;uZ3)93NVr2^HvkUm7v9z?8CBSW`$m26uFk)l=qO+DhZ`nnF87GA| zdOW>5ysoD6N5|(PrXvkIxz1p&c`l~o>F*pNvOhs{PZyjtC#*REPe1SQhRw!Ge=@fg zc3aD!77`)|w3hb^$-PxQYF>Xjgz@#@LBwQUj!7A=sBOa0$*_dc`#FSIeuQ3g9zZrI zg31KP3}x#)H6l@J^21z^9GFZJe6b!CqfLR>zQkn;1ntxFdGF|iRCjMfb39wo8HMqL z&W%ppc8blrONY=atW0)N<2-q72YRKijM1IfK}AKaHDlNFiQ<&)MYyQ<^Hb%(AfXJbS(t!(3X4CqW#Gzv zEi>i`+zv1pD`HMil5mbERe`zmU*#op_N%Gadcv3F$iLbNQFU|^INRG?K#pJ z!lke8CQW&0od1~V0ytql7^J+GD$}tqOH8z?Tifde6?AilofsY}#6*ZUcGp8x@tqON z0b6?Q1Qp;MmAHJ2<~!589f9y6TPFAZ*hVl}3V@m;fv^z6A8X+r%VDL-P2-GAKin#W z9}XlPuk^PXQHnHSIS0~2}NxRQr#x8oUb)~i3{0-;+Qg$K)W5n1#jE~9l(Q1(7k zh8tZn2uQnrNHa?`*rKAO{Ofe-C35eK=hi_7>WHpATC<38R-}Rw!EjqwUUFnU7{RL2mu+RF#&lQc7cW%G_oc z0F}PF3rviaeThsmtGm4d{Co_LfZ>+8LqLx1(xU35wcj`n|FzL#l3vs2C-gFkY8~1> zB6cbs7-!8X#cxUd#gFnB@iEAc;{(O|%Iy~jm~L{;8u?5?P5*|! zhqs9AWRaQ11wlGlWvordfCb?e!&)8Zb_h9tXD6%z-{+6ITT+8>^F3c%v zX|uBF`04_N$fTPMNhb4 zkmfBO(&|+S?&}x>i=ez#R+tkGEO7Tix#FnJ7D6cu=i~pOl4$9=FmcRCb2W!l@|M<1 zWZT6{ag1tX@UF0}54x{+=Xh$#{jpu??dgVcywT7gl_ZWsA?YhXoDNQTh}^VSbp5)dooe9jX3Lrc~k)V)vCs0O}V9PtVIepMk;eYfM>s5L8A;R zxjb54)FYBn;4+OW!!zap%>+?_yk~p9F^R6;Wu-0UXWze=k^aWVI;+OMn=s0Ik)$J+ zvmigYex-=R0bAh5;ONzRs(ocG2n(0q~n}rX(Htu9hRf?Jk zB>QZIxO;ky9ITJAA9m>{De+>?=(FC9nivXfVTn`foMF3MA~g+Bps5wbys>3WI7<>4omCqy6=3`fUN3LxPO1xo z)?6$BElbi5Zv-V|fs5ckMPAciD=f!HuYS16`SBah?~Ls$*Fte7Z}BV~FY8^q?QH>D z?Nt<3_(H?&qq;`vuMO&ZuW4J|?=nXyI9k49FV#6xy*;Hi_om*jFuqbvms&mo>q9aa zL9CfN^9;U`e-qADm?+qXZE79RdOnq_HtnR-cj{gmU1p_MT{VNZd{@ROGqytwjqGJq zmRzF1(lP>a2JcUpS-4}kPNd5Rz|5B0B*52)2oLwsg zGDR_aF zxAA_Rc((F)<7f>uNh9Q&)dvpTnhvlL2Zj6nyM*`q-s4o}FXW-~Jix}j0Y#9}Onphz zYC+lUuH|fWis0+WjXd)*q;g$%%t_9f*%tM^CeRu);g!~EweIhr0cVHLJYTk$!`U7= zK$J18E#Bh$wl?u&Wi?haUH3Cd9Rd4lx66&T^QXQ+jf12lP1V(y2o$kR8`wPUyKdKZ zswLO%@=X&|y`m?|#x&4UO0ENG^`n`cd8LA(ibz`!laTzv{Wl}gI1g}qEj1|7K}UJY z7GXugF7~GwzGgC|Mz|$rt84`PBtuTt*e_EOO4M2(!w%^bVUD|J5kmjd#{vbdr=T@* zZ{NwK_zZzr_QANKGj!Qrk*)YBmABmj@hEz^)|PWF{6g+>!oIc@OIS*uSbc)A$Bg%p zsoG;wH=N#O6Wt9)!#Gn2+vQy9B}{ROsYF*UU1QXr!El!{;w}D37f3l+_yMQ@IR;tg zobfp{pTIxaXedFbcpw>^TPj+lIQuMJrY0?G6KHL4@R$b^4>dIK;;gsVo>X8`0AriN zyu%nnD|WQXLYbCv@)FJN|a=+`=wxk}Zl!WHo8hc_Ys&>UlI-ri?d3ky+CE~@aRifSX zjv$~fWN5?J#jYk@xR3RYHvFA8;ua2?)Xhhai^Slt$5c5&dafthue~Szz1yg0&bYkZ z@w@VEm%iiZ7*@bpYuNd(^RZ|h*9B+N3r|P)-*DPvCVENrCdLn?xGW97C}mrIASv-b z7FH7uZ<0pgD|>>i)_r2p();28+4WYDqVrZf9{$4TEi=cI`;a|5p^@Q(X^w9rHgD|n zohKdtweS02l?ZdsfRz@iU+YoQi(BcFQ9?5p%DdBxC~NQFKR_|NPPVzXS>7=4K52^6 zUl>lSF~2#7zWz7Lj93zQ5Y=h9E(gg%V80knX{$EG7t)p-tJ%QJp^M2pfpl-NiU*aD zG@2j++Bm~{#QLuLB*~??Ik(@H48*R}J!p?}i&;s~!T;WA6=vAfWS}xX{)X{9JMd(0sY!HPU*Zz%B=o$=vb#n9OG!9MkF85!R~(K zWT;H7lUel`AZDfSr)VR-VG{NZvz>Op)b{qHlSnPUIh-hI{}U3E-BSTG=WH2uE`+BZ z;^uU}Sn>?3O6)UEDwD~D{(@;A+NbUpLHx}o#{F6YIVJo?3CCbKUQ?CLL}U$))(oIw z9b$;H`rcX_EIL{q`}}E}qG`sN-0i1fMqPR8zbiN}Q%b?HdW))^Q0d!^`q@9P;Pr35 zBjwW7Qk5`)7b;~$?OQY2+2Ot>7HjM6Q~twEea(s6#|Vhh7xA1klX&Y|W^Vt~D+?QA zo4LO@>c8S0sQ%fI`dcw4XKU6E0`H<7jqHR3rQVHwcI&D^VEyK1;f`|Wr%@>(c z{#&*8p$)0A3*#{d?~obY>zckx-7{_L8g*IV?UEr;9Bi%po=}vj#?e^J9PBeTP$Xfv ze;CGn==5!KE`xH%CehVT;#vi&gAe-n5Hw)-0?;BwOCu;Q2pRZwvw-V>wkpu{l!t*53hX2Nv~bG)(ejo)Bwa}3gyJYIGr3AKH_7)Vfj zlM|Uy-&XoZWW#V%(ip$iRT(ybHN6iM&bBa1^$NDWGwfxY*C)lXFWz!@*c=HOZTnQ+ zXffJbxf?v+pq`M_xm$rYoft~<@M_KP=QDkMFeXS^pkLa|Cls=}U^;j-@=g03=pbIo z5dTPWiFWQIi{$d+mB4o8*6sgP?FC1WC(aYmLLQuN{n)XYB z@+XIAL0>)j)OibbpY7rlq622FwM}Zb*n)k>ACdm$A>)C%Dk!dsi*wB9p>K{ruzmAMfSAucoDH7n$ja$cG&_BhYn$I}Od z^{7WV8qeiSJQcrbhM?LOS3A0Pe`O5y9G4=K9NI0$eZdh0baXGVmGvQwW0V==fUnAjUO++F!)|}c`Djb zYq#q0u24ZimL3AnEzycG@oZ2nr#QlO3!%c2RbfOK@T}=z5Ss&g&!BS-$HO|s=3q$g zOSCD(qb$rGH)@hY48E&BrB5+U1GY=QO%~sVLpv4OEBVyk_h{GwJfotzJllrRueJeu1hO~3=&9QzN0Uva7yaC~Vjo*w{0)ppC|9V_W& z?ITkIS5m|i7Xuzzt5^mM+)8kY?RcxM?s~$sfL8nvrpLv8T(e5Rw5|EMr>FCZ?s=Z_ zgE91w*w052xX?)`J2dbnJefc=#EkRqYoxeG1M1{`f8ET@L&j$=eRZReKgnmk&`^9lUxwytBiGWY;O$q9CRoy9;p z+ICSw66cN7HenR3nw8X!hLs-oB24JW{cwKFqjZ1MvtKLEleb}W@^Y8?EHWYVLeS&p_oDbYQ7X?j{>ab7lWcQ$tK4j|*@D`cW z0_B*A_4EVvz1f^H+OkWu45R6U7&I8dr?(L-JW#s_YzMO@N{S2!3cPBex-HmeIEwr_ zZ)w^d#P0^B3JaE!f@6=OeZde{s($AFlRMv5VhPMQa4alfr|+tBUrKeyX?Z|2lXOV; z8Ilqp+pRisd1TsDIfSJ?E^FXFUCrb1V44;3g7&@H!E_cKwQpYn<dno9jv^I`!ZG6o!V{}Y7L3)bl>DM>*z4oO}4!G(dHr#(->Qx&bGH-BF&1sbYY~S zIv7iZsMpdOi%QSQYaUDy=i`0m28M1wdK5KN93IjPWYajm1s&1!CcWo15|`LJKhUUL zv%dHIEsBDDvn$9LVKhpYzW!c$v@^I-Tw^!Nl(8n=X&|D-byN9jWJ6nnEwn7{<<3eE z3u>r|m0u-ORg7Q>YxCb&3!^>|l7n20u5KSo;{A1;#5Q~Tk{lv0FHUK@#t&~28D`LL z>x<_untX1^V{glwDESRtcs3m4k>G|7lQG0%-R%m2u$RM=BU#nNVsxE7r0)5Xp@DOqRV}hj z2T6YIpA1R$;vc-=zucNE9pi{yE}=rn)7d_u?f|>`1xQOhw-;KD1XRYoQvH89mmw&V z1>n3^ocIowQmYeV)yH^y^}7NcCDrc3cfV%48CTGhJ$8@^Wt?({!8Gm=2lUhiCn6_^ z!^{g%Yi#5EUr0*FyGUxTI$>9jvA{|%DaBX)-+d;q>})O7rg*uLkHy}YL(-*)bwg)3 z7dIK>W)vaB!gw62M1rgJ6D9KA9z5A^(|^Gk0zh}*RHk5brS!Tl^9LK=u+*W z5}XIino$B1tt$Wbp4^kVqUyAVOAH)|97MBD1{7V!y1}EV{#`9tq#`3S&6htgwab(9 zE90EG^c7<&o~u77{4es5RKe*l>$639SENIUe_Agt=p|B3-}gB2(;{z<^mB)F{UkYA zoOBS3O#e2QRoW%O2}ICJp30BckYvO@5L9N6{9p%T$(UpbfFCPIL zSUP-5AG!wvh@eUIEevBcMVi97KtS75xDQ5j%}HY|89>1n#CeLpEnN;Gp1~jO3?(^L|5v~5c=5TE{1x|NSo|AF0^E#lBtN?-8Ed~142N76SX}=t1 zYE!AXtSHo~nEG&_?7oF_&ULP!jumG4`1>E=rA*q&YKtRN^GVM-PCE&{lZ~#HwfzuT z6Wj&iT)1n1#}jIz;pqID_M(Dn1z3qdR{QHq-qnduw6dCYL=MeEVyQ06>Y=OGi(>3i z@ihOD&;ZvB8CmC#Au`NmLan-Fk8zcq#yV$YGlgFrO$?1W%kzT{Oyw+xjd`J*2ofB4 zaH$FwCWeSC!tZeYvFyMePkc%}sKMrFex`c_{SJdRZxl3hkg2bGzZ@fDdkYu`nd;Vv{D1$m7%mgRao9x3pe(t|?iVe4TqAL2UB$D6%51I@7sz z6`GbnoNpJ3b|gMUHYk$xd4*XF*k1HWnMV)GK^sSX4>TlLQW;e_0}HuWO&n{nEt+i} zb&7BKWVO$3!7`;3Yc`P133gT{OmZ)jlZ7?0W#vun(hr;k+TTQMdJ+>@^8#oQ-^3Ho z0=f%?E2&7^B;Akn;?Rit?ps^#wK4+iI;feKZtu?h+})74FS*9sBALaG2A&a0v5PA}GyHXyS z^@?Ue`Qe$5Nn2Y0tq+nAg>XQ~zd1b~1pc1NZ!R-5w`CbP=DZu_`7Emq-w-8~6eVfj zE%YWtc?os@Xt&+2OUpD978<5KK=?2)y-LQ4&0AfMi+WEYeXmV)uQ3eG%3kgh`UNul z9`}@=KJTrjD|TaPyCGB4J88=J4WaU&@PvJ931UMW?dD6l!qD17|HfKoOG*DG2muNi zl`Y3M|4odX8`+C1b1RY?sG(_?=)-Y-R56xib|4tnrP=9m-oZQ=cjt(+^e!i~8Mmc( zyr*igzdYz&Q@+b#{X~hbfItPlM3wstXt>^c&jXG3~+olOs zUJ6Dp)@L-=9s4X9kV4+w(*Mob5dJqi2l_TRp?VQ%h9tdkvmYmXnbr{X+lgWUGSjBq zHMeZEG?=IX8F?PtbEWuS`rE*GLquM#I7JnnL|ALC602C-z?MvjJ2l4Q-5wLXEcxk! zt7Gl?rGJ_lCg*Q$?-C8_zqi<|7p2x`5)W(SZD?R&s$-Dvr|sTbtE&hf4&d`earN|BnOx!w|LX{1~fL~OCC^a zeu1OeB&8}G*c&w|59qa9H%4oGe1JQ(%sv| z(C~okp-oMR4>#}vJnPgbU1wy9@$ORtTD=azr(w5BoE`I|Ju_<=2LVSvvFAHw zOhWJTFuGCqDmIq9m`t9_6K#503rE{)Hg#e6L(5$`^U(MkgWTh45rBI!k!82e0e$#iKtZjsM&Aoq8L z^`ztv+L353YV{n8JczyS$w=ai#V@b8m8)43B%A#G-gPCqt<5#VPaJN#CK+oztZYMC zZ&r~82&+#|Ebj5=^o!3r%Eyb9)=L>6^KmxdZJ(Fp(#ORh{lK2x5AG+kdOPa+QG8Bg z7ej`WO<$TPR?qFeba&=cr2x;6{B6hG`IXh=#A$E`lV|VU{dc>P)d4xhtm0sfgH=<` zRm%i`O)-{3MK$k<2`)C0izCAopUaR79B`so?p~qwspcU}3_cuy)>;}KB!AG{n2+2F z6^nChz40ENEnk*clho}Z&+xqKN4Y!FSTcYY)jB}@jZt9u_z{`gm06Oaz?aS^z-}64;?WEqfO_KnRgr_5?-GkNY4gLJ!>eM3PEE8_tK?vv`=C%e5 z=g5JBK)}Z49=F##pxVeAN zifC3=5;0-AX9|QkjL_QpG+jbYVV*s^i?M(G-IY)dAI=YW)U~TTZx{L#UmKvnfSP$33-orRLk( z@{M%n2cm_NoDav+D&UeF^IY*;VacKc-qzB&{mYjTUgDA5jfTr*zAFP?9mWbnG^}t)P&XaNjKANOvNg5HIhSjw&EBo8b1w77S(W_gQ#Qem<6G z)I@iknKxzOg*By|p&;AQ?8VHeC3|RroC|U~`n&Dwr`I$>o#(7b!F8UVYimWI^c{K!|M`Fbwu*8rDz zaZbK&juv{l$p7H+_Rzc%=oP5|+=<)ifpvAiP^7cdlg}q&Z$j9XzO4AZ&s~{1xH;O9 z=k??HP-)L(O=)!MoS>u+e)66B!J^At=?}HWKwr{m@iVov!!+w;uV;!oB?&_+FPY$) z#%8;=)J`3L^qr7pHjWTpT$CXi5&Lb2_S*Wj9b?OMOacG;)$b$7$vU`@aPWAnrs0wY zr6z}wuy)oTzSmiqvy18|sEt%{#xvG!nO4!x0y4?a#S&4QHOfO~AAsUGa&3HO6tsjT zWT9c@Xk159k1p)h)py;CWlBU5MIYIETMJd++D^gbuf|-elR;1Vv#!f5^H>Ae8WiRt zVJB#um6mF1Q{qwFL-c6z2bnELhqMDqI#ZLXas`1Oyv8SYJc=(@S6^l*1)sMK@AH>A zT0szUtSpezvuUG1e^xciu*&ZlOS<_`9H2K`vNp0=cZF%A4u4K%PtRrBoQn_>y8>%M zG#vN#ILBZkPQCn%a*NMc|Ml+bNyr&RgA>au-7EC6M?Y&Wv)OSoUns^8)p6_|*kA8p z0`D^Fwo01pw_vJ(lY?vwz=)`xdCh8i1?+^rjpEsplAgwz2jG{{PnWFO+T+R5lDzJB z2KXk_p6~>a*iTlXE#-ba%U^ITWPG;+C155;o)DegRXJnp35E$ zZAEsUqug}+rMJjsAeyP?1Z>ZH!DSbi#}=2pTugLH(PheAY4S)bc$wip^l*0~8!DED zoJBj<-TU1M92B8}(BhDQODRqG_0tb(V(#SUFboaCfF8*=@T9T;-a`9I58sUo+ zdZ^x3a;)?BoQZiFJV#$wV&j2{W=D`*?ZXeo&imsNdn*#0rj%80hEtdcQ>p2SshQ{2 zXF1I7kh28LnJ@r~d^_Bn;vhjpqEQk<8dHFZfz)h9BPFV7&U(5TvgSdI3ZbX1K@M4| zl1GI*%@EXX;z_5Z6HGN3{mLa(LpBS{WF~@|jd@f(iw?tZ_wH^=V~j(}DXZR{?~zQW zJdS70NzIT`&KWtuRI{DO(ah2`k-R^rJTYfgwfFDN!w}6lP5SQcte}$TDVu6CnC4SN zGEJHRLN!lQPU$p=>jY_1STGyRct1{w88?9gso7G}^ZE77V5iglkl$;*$3&-X&^-(@%XyjA6ske_0wcVz6IWz(m+|b9+Mb*}M^)O@2-!p9)mnvv zcelo#$HLIbwaqB%lXb|3Ur4N~#b4n8df8$y5vrAg zz^ef^v7=9=nNkudN2S6bLyS<2!CW5i7Hf@;e5UerO3q36%5qH8m^8%@4Vq19RI_ppB$lm}$uXNq%vp0*pxl0(nJEI3jH1aJ zK#s|DI7JGB<{%8G)4ior9Ab>&HV^|51tAVRy}k_tr*V8W#2^0d@AAY?KDm86PDIIH zYA~2eQB8S74d-p&MA0&rwonpFop$i9<22nDG34Iou?cFdFw~bUT)}7$nekR5^oO>3 zw6Knp|Buppu8*G|!Bp`nHClqCbl6#$yc)Hg(`)qGvp2W&QhPZwV*pfC#jPXt)UO*O zXq>ajC~L^rSE^j*F4yzv7vzqWMXdolRO^enwtR@g9Q4nZy5e>7$O}8a03^-k%95FY@pN;}lTHSa7=zH>pL2{f6WCeo%peq|@oWMS zQKKnf2oW%iF=W+Y5H&T)F`VAqyh=HPj4_%>l)x~&dHn_q3?b7#`SkSa_3h1R_~g~_ zDu&zJo7)ihIz$1DA%?)=HoT5;P=N#ikTu^1{?)(y-~B)T;QQyqyZgKN$;nI&YRK@! zc<3WM>CAX%>Q=6PbsEgv(+GFz6@yCIK`kSWA3l(_ybFd6;yVs0rNAf>0m29iV8Ztw8 zVjpIDI4`q4nB2O&SLI3H&bH+T0kdtObuUBqysW(X(g*4fD6)Tek+V&Y1ZTbX{KGCY z!~W!5;)UIt^IIQjjD#h%oaL2x5J5X>fR5Cba}G@k>4x^j7wP>R8 zs8B#8Qi2S;J&By;CVD1M2_XjZG~AqGj5%k95MvyMAtFQxH#b8VB1OVYIGt|7DJB7_ zr_*pcg%CIlQ6vk`Aq*iz5eYJcFbsm2HAsjIWXKSO8q{n$pYP0)=_ENZPgGU4&wujM zJf)m75`O>Py(YY!#&ODb=QD+W_TT%{zy2rw<$w6wzx9*Pew-Oe)oDT|0>F}LZA-+r zMS|3N%y~j5xU>nnej!}22tC-&ZiNmEV2&4_?YEq@s$L^JRPXxHU1RRs?zN+hiHmq% zFj@m__b6arf7YQ1)a*{B)2_R#XXhgtigx6Tqsd(%fjh5bkI?P0Og=csA`Gbl?C0)i z`c}OZIi>4QtTR#85SVTk9L=%Sb1xkuWD#Uyy}(er9=BiZdUdc!rhWf?Y+(zZX&2f( z)SSW3d*upA8`WwKc5S@nbR3OFrHRM&ZHBX}SGDueh8CvS$XxBX4C9KCtZQ)dp#klg zF*>Sq6z|kTt=;{}!$@?(&8GsADXAG>y?S+e9lv-NfAsm?FaJy5``)kqJYx_sOUy}dOx5W{ear{N@L2E-T{f*L4df=HYoCrYF! zSmHZJLTG9^=MY1NnVO`tAUjSJc^aqlcs@_}LXbF*pO4dB9`p2e%qem_O;ehtX&Q6R zI!!5Oo9_X_`!Ne?O{*n{bx;E=ys_pFh7}CgyB=3* zFjfP3!LpeBDv=a=wNjQgbf~w-2o(lsFtzF>6z*TLnEwTs3|TV!IlZ2R6C? zcxIfYu5>jLGzbw58K$T?ia|5gInc>+=Sg$QYA}V3 z$z)WXrzx2Rr1O-|>6|R7sago~?*3kLPAO4NP(SjoDUGhqO|)~KrZf#PzI*>(NWX7# zEO-ARCk3N#`N%BFlgW6VARz~#NU)qzGO-wfKrJf`L%uQOv*|fmjHf8CZ{NK7>}Nlv z1X#@X_Sb*&Z+z=pf8o#lnLqch{)s>SU;m~5CZ}_tbHYO^(4)Om7O|q;J(Wk@I}bVk z4~yAyZ#{|d_WX6FqP6S|TOPc9*IKrH0P|7$tC%zv+-|p8)8W>v_d!+TV94-WP(1UU z7=*J;<$UJo-7A8)B zM)$+Bse@bE;m}thy+pEYb8YWtBXVa4g#t#A+nbZ({_VSWcJuW!^^g7fw}0`MZvXe+ z{A+*rZ~b3ifA!65A!kh~rIaZmA;us-`QkH*n1u5nA~zagAtjZ-)6K1WfXp!JsFp|ynDQ7YK|)qF$}kM$U9y@O zEr72~3@~d+H6=5TnuF3z1p;FL%xp|~R1Ff;2n47=ZQ^u3pTkL}0Mqk$zT@;>WJIPV z#DL%Z-S7X^zxv<**?;%XeD9ZkL355bw^N>g_<+UjxU8sr+s}Oh#*F|zlbv4l>B*(m zWOu3>V+3||zO9|V@3HRIdhIf~I4a=G!W8`(L@u0*t9!dD^a%YD?MAlJXxoP+)vKRV5rWX&>Ov6<_ICM zCXNu1=3Sc?4*`KGPdB%k^OVy#O)+wa(V#BalRzNM&f^qgjA0NF@vE@S+W4z#rAk^r z3{eefoKntFB)9-XAt*saXd*DPy#p9I!#lM;5m@*@9rov#FMG0DKt^cH0L~- zW`UBC;%Q$fS+c5T1uG*ohfO_!zY+#0p>CNd7A1m&h%a9Vi*8crsx#q?#txVITkj*R zi?3IdS^n;=v!`x;?8U?R*G3Ua>}k=PK#0p}Vx&9Yt*Es?v9oIGp;iMx32slW=STc> zM~Hsh8Rdoos?CSKedCw`77PX>i{L>3!XOezWRIXUTgw>TSgw}jSa&1*P|Z=4-5Qf- zW(ZPk4i>nw4;!k1w-^2b{p^|yPz{-4kzufqbUc6OSAOL${HOnpz5Vgu{~!L(pZ?hX z+3@=};w;%$r6>h3)r1bYbW>#WG%zXJJis!#pRljxt;3=G7c83wjF`lULoHR;c z2#|c9?lX)Mg(pD_5Ex-H;N+r75CYH%F!Adj3{#?L2xf>ezIpTJr$7FQ%f%!uGLy*+ z@C!7QLmJFXr-B&)gku6ulFdA+!A%rGF@e!=qto5}NcsNn{C@m9zxAK|@+XAcO}MA3 z!f-1|i|Qai;biD!7`lGvm{QF?Hv&-F1shB1_N4Nl_HfkliVK#gW1qUsE3v>?PHr^; zH#1;k-L)s3nKYfkk9`Sos6H3lGsfKtu1>D@cnx@gsOg@P!O3EqTghEwe0iuQ7 z0#KNFUx2|fRV0##5`yXwP9m^eQboWdBby1K7=i<-9%+>oB;zTYr76KIQ3SM1Raml= zCxOPn^+8uWGV5~Mith7ei5na>ab}A|c3&$?J)E#F^Y)1&pn7%)K#IZ&ggV~9>N>N+ z&L+ie-~20o^Y{Px7>8HnbRH*wS{gDXV2mYkjCs}-Z+6NcDVB@S0DwqoB*`GE z7DMn(gGDo#d5{T%pBFCfTXk_optNMnR?KPY)5Wr^>Go|Bp0G`AQlsYl>h-NeCQKnj zQ!`c9PP$oO)?%e;rx*y+dS<^G2SAvK<(w%Rhj2dUG~J!g=cL(VW17B1T(Y^X%FJ~R ze!9M?R(i62x!-LU{qxy!<58fM5sFBY&Vz|(31pw*4(>DEVVpu~luY8{4%AjTcF(mt z^wVpWs+pv!!Ax7?)_T(X%Hg959Io=3&Mz8@b|hAAB4-g-<`P0csQ2e(e7R+TY8DrU zh*`4CG~C>J7U85>Et{GlhZxUURh8MrR>wwm^~4P7sVQg_oF)0frkZdH0+^_oCkLJ^ zX*RR0$W$m4Y8l3CN(iYr-;ZagNep7llbKReQXM~e^Xfa_`MFoOClerNKs>>t@4H7} z!2er0m_4B8Ix)pp!k2sv)3&VXIQw1N?J)wVIZu4a#-T|91mH63rW&)0g&_oi3UjigW+f`6 z*xxVD zTpCUN-EFpmnL-j&GojqQJO9()`)Bv}m?Z@Ad1~x5F(V3Z+T2Ih(fY)E}m*76LTE%=Jic9VSiH#y#X}K6Rn_<)-667WX7_Y#a~`McXS!!x9p^JF4|k`B#WV^abhWsyH5c`;g?VbK zha9uVm-SO`bE}MBNy~Xs=sAryH*w>fKhD96N)3i z>Op;~s{1g;DVOV{3{##8LpJkF+Nz0Bq+HtvwGkx6#rfm|ak0+NfD8;269TE;|L!g; z-zm=0JOh*2Fa*tZis6Q*aY`{Vgs52+Ij0n4P|d>-t-heDVTfe~s%2FX$(k5)bs(7d z**+qT=NL>)v!5(_Zp$|H(<0C?&@`)NRekmPRn}yxmX$I9 zgu)csX_JzN_jjLX-djrK35aGO@)jMH+m_6(j)I1ej12Wb1e$t$gvm_$s(lh}5RVr7 z+5B*&H;Qgl1p*M#U?Bt|{^(~v{jJ~n2S5JNXEF>h>U=pUO*y8L*Vd)F5Cg%Sv$_CS zH9}B^7*t&s3}ro<#Td+BB>>ZEo+^-pP>gQgF(3v#4X11;%c`SU;y9*vZ$Eqcv(MhV zx%uWdzcG$!N^bj^vuK&wfhX=#A-nr0+d}{s^NaT7I*ssJux9ORH4>*jEv?*Kp-H`* zDYZ`&Nm4?Hq)3pQl|%^4S>Y2e^Lbf;1q(C}11Zc<>%L8L44yIU;njV`K8mhzC{s9xky4A!^f{OgL#NxXE z62^)K6RG!IsVUkqC#V{!F3(ZuH|7Fi9Pc5SOr#Ea`EFu6Vy;3;KGNLSi?SB)VE5Z=GP|Ji46r%Au}-S4XU1ul^kPx(Ocm=fVU zMoM9?$1tl8S#Lwj@6 zSmfFUvSEb4Y?{?M`j?$?Otve*>-p!~+gl1qiDrXY&hb72CZfRza4MV3C2`l7h?*gc zB9^loFJn1kQX^=523=nlGnlk{EGz_i2n+(;`bFn!0*KotGffJy6`1((R=W4U$c+NX z&CN|p$yD$26c|Go5VDCW@|}($+v`(2pT~N)i9!r&I(ew631F#22b^M|4p!B)01HIY zM5;&tXgN zi80>apQma3h&#wPAyJj8mIfayZiBcZ@E}0p_X$R zrzub4IN^R`hO<~rW~Rud=W{YbrMP|o6Ul=JfFT4C86=4C&8yoWBE}(vn_-Y3rYaIn zr&DB@(iCF2d-v`i{`PPG@SpwDZ++*R-~7&ZZeQKHu{Oq#(&OyL`|gW14snrowR-(g zR;y79Xg1Q`_uTPQ0n|t#har#*Fad(nfMjF9E96&{vsp4z7)&BSs)+=U?OLvBnnDO< zoTe#OHPP>ID&Z);5{v?eHl2BGe{hcrB+P$o-E$6JbhK2QBFp^324nxHc79ye+jT5ooH3 z6oa}kV(>Gy#gAw)L`VqB=*o70p?hd6x{T{+T%EgzxnSR#53ZR@JNbC;*dIV3fKl!4 z?cEn|?|=9QZ|xPo@tvFC8hMLYBT0rp0#pbf?$2|1-lW===~ojw&zoOp|0eC4`ji&26w$PFaBqBTX|z z37Ly)V5!ViG&Po4@p&*uY=@kEh0n5Yn}}U|=I*46%m*YKC$2fP?D;-~K8CiJl5d3B zI8NsnZbOhi@(bU)z5Vp_pS}J4AN;|2$~j}2CWa6KVF@&6fiBId+0E-$S@YdA8eB@u zF+`iFDaROM2&!t6yZG(y{yxSboMKAJs6kF@oteIlt~pIy5&HVqzxEry{;z!Zk9_yX zKl$PNFFyPH?aw~{{A-_ndUJCVfkZ;Y4d&hk1?{N!e5STp{~No7pK`G>#X^Rne3;4X zN@3Zty}8acx3b@__7NVehP8;aQRH{uLJPOELY~{CI;=7b_g{SRkN?T<{{9a>8z)j^ zydUrG-kat)3^pYIQ9|(W4OO);;znig#ljFE5ya_DG*W^*MISk{?VWQdV&cNdka-Q-dGLk>0T*(FJ z6$p5?f+|yVCX7BL!OgP-f|vq11Of7-=?zagr}y`t35PM?sfgGeHI%?q*WE49fLxAP zWdVa^(~vcmbPOgT6gRu8BX*YfW=iqSFuWS#X@CU@2@o<8BG3@jFr~K%IfW2yxE*hA zzWYbN8RI*={n^ic__LITEVrMX-~al*{>Oj*Tc3U!?fZZ4|NhYrr);NJ-+c2Q{QH0E zTi^H;5-q-Y6T&diZtTtL5cB!3{H6c)xBtbzu&g2ay(prZ0A!A?G6WG-6;E3V7qC2Q zfr4h16-tSU%$!9cvZZl?1?D`64RKHghGCGLQjJvtO3qI+wu?MFQ(e)fivyymFsD9c!@Dg~%Jp8&Xi?aM>*gekN(`ry=Jd6%z4_CB{!f4V>pI@Q zhfra`BYunUY63rn1ClPoE9zOgrT%L`4AKKuB{n3@F@z~4KVLBux^P0}RWUMWB^ieS z6O5zg^UY1X`(pYV|Ks2J!9V#4Cw%&~uboaO5vFmBj4Y?DNc6U{j`qz_sqN&PReRc6 zWM7G-&Ls=#sxFI*<+3`yt=vFr(Xg_yy06+)vvL#%IGs*!-n_XV^Y8r5KmO-G`sp~S z8gfbug9OV{f-e?auTpf0uYgP)Z*{(Knw=vbIMG(5AGtKaNmns6=i}T znF7sFh3aSN{)d0?=4+q)%BxqW&%a3T?%pPwLVQKHAQ9CcWXDO`4>0x^+#db(9F1_@ zY_IiQBkGn7$(jEZrUncloX_Wf`cHoE`~T<%H?P0_?Qj2l47ZxH zPGvZ#>39DXYgI(nKm5Ia@bCQfZw5L1!FT`kkN@SLvIcTId*#Z1@t^&t*Pp+%*xmkb zKe%^L?OUb`7q-6r+uuAli!r!SF4?dh@+463x(==#sw(8JW7eFrgs531EO`%#-0l(1 z$V5GOCuPD1c8Q z4XK)LHe_!&IajW(W~E>E@N|;)Xc++(V`Z9&DFn%s0&}-Gx^&^(cfS4GFFyam{g3Zg zfhu7kb5%8~Dga^WqWDQ<*w=RGNveUh%Ggs=ck-PQGx*#V=j7;v4v!wgPjYt?2@<$V z8e^PHC;LY`2M7C2vrsQ(xaRJr1~<6&NIrp>L?m}z(YGk312eo7VH23(2KNv`l)wxP zY;ME=BX`K&aa@vLmOTR~pv2@|a&iP%T5Rv!J-l{7s$gpK`P^ND&}bG8FP?ff9pI8h zd_o@$>CVGkJ?_+>4>Wq_zWvlC90hX!x74-|W^C%Zl+&eWu3WtQg{q#UrUlGg4i6Wm z8cK1}5F~Wf!^1rv5v2kjEUDq^$j*|=0PNU22R zz|ywO#~*#NwY9OewRL#7ySu;lqP{?IhpHj)8F9E@aXd*JgI3oWc!vw zcYjlYlUv&zGBHyi6K01`wl-gX|CeumeB&;p%E(u*K6ByRG?IxjtGH1q3JgS^T2hNr zr)-NwS53lXDs`ol+gR!$Jk~OiOqIju3=eJ7gupqqF$T3<*RjxEsAe88DfDQr0p*s< zgjyAXo0fLIB9&z$CU+MRRb}B~xf`uj{f;iznVYXHL}BhK$zQ7r*lWNS}qJ zbS!fRlQ`Htlev`CXmtt1#Hz`&5tY)i-aA&5(7waLAay4e61Fy_wrQHCYrACXrR)iX zlb{6bnO5x4C!C^k`=clvNYu^*HP=?*#2o%Aitx)hpsyOeCWb^VFd30$RRS!lyOX)YS$ZnhQk<#Uxog{|P(@;vvMX~?H`}D7&;)422oH0r52|dE6 z1&Z8#HO{(fyR4qDXvGoRP*c^^w9WDS$l)OhhmaK@W)aVZ!N#g2TGE^nMUYcPLESh8 z12n5}D3n{JMlf<Z@<5lVU!IkUUEJ=!gQ#LV`VWl<~ZANKKs;Xzo}g5$0!k(1@*r!xq>#V zLhi!{C%!L)z#N5DEvK%oDuArFNNJ#oftxuT6e!F#FFtqN$juwKKfG~cv40S_5~7^5 zWff*&juO~~c|y6P&=+?H4kQ6!B?wDaHO+vVYgJXrRI2EtstIo56k-hz&}^K_G^&$l zrKWRta7doIHf_`!Sv_}+Wn~vvH%}qR5OXP@&WQ^8aRvsiul`d;$zCH`O0tv7H<&fF zYFro5RUEUyxm(>BXY4j#e@z2=QSzm|X_~QYB-RYq>8xr~>&^}(2Q!-~OX(un$4COZ z0c3q!I6|o@BJ??+7%I|Hh0q$o(575fk)f_>zQ22zTsxl4HqW2GC=3!mH=R)SEY6e4 z8ARsU3UL$=ypPp53{VXuL`XRi*vtdPorl~1_#ge#?c?KllSM;NZ;s|oJ7-RS!IeCj zY0?rR?g=H!c15p|`f!L^2EfcLoSSZ(Uh@G<=wo;^6c7^;?9(>y3Rvp>8G4WE6tmiT z9>*#BqLsd(@$@tEyxwCp^ z0-3|%Auth{X9CnROB5!vF)G*vL2f%Wtz_!n1=fw}=43LPOeWbZ#CUXkxV^m{gP+^F zU}oD7@4NYxD_04$yZf+;;o`*$p^6ej0(N)zAMEUOS|Fjq{aKzbvt;HDawW2)&`d<; z><|JI2ZFe>8Mw!fWT;Q%K7I5F#_0Twb|?E84&mT1p8Q~(z|)O+{q*Y--o|)}v%(u| z=NncFJzK}Xk7aH|RQA|F?$M`psu_qqL`dZ_JDl%rZ$C^aac{13l#oikqXeSB%wq5W zM>nf0b;^oDKp8otla2zxTVp_Uo^z=bCHrkTb(sJ%iabyQz_xt8z%@ zgkWCWxQ;Aqwoc70kXP+I-n`j9Xc}{u+}7^1N}8^VRa@#Ft0<;p2AP%$;nKOH+=UuS z12Pc-%uKsBhk?P1ncbEPwkDEJSs+gif33o&>sHjKkJT@Y`4ncBHII1~REQ=AYYhW0 z_7X(u$zZ4$%ppc#o^w)7E05Qxza4NkB6GMhsB1EXSXF_+i>?irM4mB`)4Zxp%~GZq zf@v@?m&;fT)n?PoIWn9G0q$-ZCm`{x3F+*H;f2$zWR1eTZ9B^|wZXFtBc4o(X` z=3-Yp=@{_f6VmoCV~p84OBr$^W%N-`h4<*R0Y0s(x(X~@S5-<~tb#kTWp^WIem?);Qv#Uk&&{Xz4K#qPnJm;mmB?C?UGm{kk2aaLtQkVuX?RwB`?HznN3$r%F3 z$Z^=;)0*A*h*?_)$*9cX35_+l4JVFWUClF~(Us|b8vpdsgP9#rRaPyF8p3GcuUr@C z-KOCkbDz%_$BQE(50P0xWKjZW=sEP#D1h6}dG72BkP#@8Q%+;AGgW%-o2gM_inxRjhCDnnAKr|P|Z^^Er21F^A}fC z)ttqhi?naMmZVOt2C2JN0bIDUxj8)-CpD+;gJ1kYMJUX@Fp-cg8Y3!M7h#lzYBpk& zBq$lSss<>LO8^;X%}#wzBLUPCYRB=L^WR+W++>;Uz zVkNmf;5bXnIUQ|MrBp2xQ6dEqWA3vwvga;m!y~w?OXdLF`{HY}u1#j7x(or1Q@1Kc z#+x0L%99ATmB^wGM?ZQ)oh4^iPj%)$*VjT~3@A@_Y4xHunM`7gF~-%(iZe$d4=f@) zKbq%ePC03t0tEtP&C+8YJ8=5=>y7b(}&h}p1 zh`;vDSC03N?%(-@tJ&+{_%(Ffx9@+ndF2bQzW&P9D^=Xu>{@P*^Nkz#AM70U4BFIp zI50SfoHB6)n1cYJ>skghYdfDqGc!VD31pfS>h4Uzg|exd4j~u-Jx6q@RWWlSBIeX} zY#t>n<*KkVt2>*M4E-od>=fiZFZ@OF7Du;kethN1 z<(FT&ez3Rm(e1m}zxeW(zWnmW=CrD+k8j@j(GP#N{c!hDjG?9SzgU-MMsbiVX9i@S zbT&TEJV3=L^2U;9fP3x4AV#6I9`g5@hV7=-+Ttj+^96F7^TNrS)>=a4AyrAV3M51h zLmw{5xKfh zU;5Iuh7x64%rQ@GW9HSgf<$(6Kbm(rvpFYdoJ^hFYs#H2vIU+|n>J`t3lZf@FFgNW z{Wt$Ls`)I^&9^`NA3l8h;k~`-=0xp?h=@W7=efJmvKGFePv~bb6nV$&U6Nmu$h2 zFJtI<;|`GZJ<*JN*<|MK5>N^zQ3&rclcDtM9BGicbZaBm4FVb@| zr7BiJ!QF+}vzi$hU_BSByY~g`BDpX5>d#FeA};lIeSTUgp6eeWQ}vRyM`o1WR9l$L z>filO{+>(pY5mOgi&vkSR=L>#?cBRB#HMCB!yTH5O3w)+a#DwC$@R@y3yDE#eDCgH zlW38ZgG82%YL?m*C$i{{ql^YP7qzEq?nXq#CL1F$#qK5|cP$RqdY~6@S2GDwr1TvT z5n^U%7RO4N_6b~Obz8W>!Z9ssV8|O*HzuObQsZ>@tkX!HARIu z0779WFU(B3Vm%Y609Wc{fEby8+^KDIn9jcWo8S6}zyEipeB=OAPRGr^_-8-(_|7k0 z`}(W@;eY&F@BaATzIEdV7p`3Wd%yqhKb!O){h$BlV59o||L8w>>BTKVa_a>6;a~jp z=IwW+t-7Y8fMr}}3I3PtR>448GzL=L`yEVnyc_?8*v!+CK?H zE1Eu5L8EV2bncQ&?&-#vhpcM5@>Hz;=0Z_CAj$sWzXf*1Nmu!JQj#-?-7VvAOGq2OYDl zgOuLGYE%p-hofiICAcdK6~D$^0VzR6>eseE0gn>0hhK)N8!qrvqel==slf5|36GFQ z5O4j8zlv%kRaG+rirg93&j^J?tQ)i(MT6UE4%aQ#%SDrt_pB@`W1ASRs_gUso8hT>4hPQ2!oEgg;{a} zk!Z@6HGs*K-3A8G{XmO@y1>;msdjljLE3QI`S{jHAKVBOH>&89S&?Ky?j>w)26xNK zDr7{;>|%y&SpsL|0IMnpGkKWgDt1%qgbCF|Y{2(aI}ypb6$wS<0q~M9Lj-sTu}n>= z%84=NoL5)6kV1zL%(Gb`g|?hK2Ppyz8}*GXZLEe~J)VowIRi&Mb3B!VEft(8rJQqM zsj8|hS>Lm?oN&dVp_O-5(tb;pu{+G6Lz>R`Qx#Nj=1?*|9pn^q_Kl0@xI!JGv!w2D zbF+Hs3)jwF`e=4>hPYtSY+>`<<*jGVZ|vt)@7{U%#h07&=Qc!wI}-(U%I;A(1D?r9NP>Yy zCXTqfdvNfuOPZc9)yy%PDRCtBst#3*_wL=ldGnKJu3S5J{!&#{BHSz%$4AFG zB_e8?=HU3qTvhY-!-sFb{l@KEckkZYogZfAYOoOd8+SMnyJs_JDUI2Bk`8>PtpFa{r81amtu@=DD*Kz zU>PHYG)$d_C?&?0QYY*NLN-#XVy&DOsi|vfx`4xbyBi?{>#IAK809eSdMFn1w}NOiCV|DGRA) z7E((=s-FJFeI&9Pp~cdzVzhgTI`h6o21?zVSvJdN7Gq@++1U#{_b}Gw-HNq*LOZS@ zcqiZdY?wpWbpT4JX=7u<2B-5;&#k+mFSKzK0{_@5NjkxLyme)&W=0OpzIudI~mR(EZ;RP8k zjCV@{OMps89Vu)^3??RURZYI|g;!%ZfBBhbEs=vr7($M0o*?R!J53;jiZ;&8E}s9A zY|ZQ^Z|~pv$UUDGCOTsUOUTaDgh*thB3_SS!x?8JU=IMv^6Zc2pXnp?>vqHGcOK;t zj`MZ$pSIF}bv(-%SRD1lZUx;|)voJ`0-Mcd%-ptZ2qA>vef7YQe@`$k4SzhRY#|m@ z#~o&tQVu|z)Z8z%#VD#N)*)FUG7%0j&KK=3-gxu+3-hmhb&@*kl7?7wi1W5fs#QJR zoSomHy=h&|CiOFyFCQH)?%&-rRq7j;7l4Qz&g?05#1vyx$ATq)ELgpEFumc+Hstm|I<6<%sq2ry;e$B#v~ITvP*j#jZ4H3EraZkK|3B5s;yI@yRZE*1>|F~<4)sCXU#i$oyz(}>~91h^B!vVp`* z0}HX~BD3;5HIqp#A%6VH$G?2{b|yAtGj$Hc&P@tYL0A1MR4rM9b;gPeJa>>=nERS>ufe6d=gkkcT zSPjTI#(*K6iigHuW|?Sh|MnZF$5>G0R7n-4vMS3*=j1jT&MkhSBwxTQO{y- zrUg|bqP4i>@R*?JKrhAN?haNrH*zo53=x5xncWS zs~>;+Z+_=1uY93vwd)cMx!6n6Ws!E&nP>(m<`T@ z@w&1l*D$ir9!7f9j$T!V#g-ivp`7w}my*F9OLER}&r|)r@=gk;v5wMm<*l4s6cGQrJ{Zht7bvlggN-{5NT zC039SxHBk((Ceh$6S84u*GxwD6$$&~b3J&Wt3QXpBQ&}yQOk?7J;K#RIz!t%%^3CN z=-01k(37Vgp9KtSH}WL)C+JJP1^|KJ1|lay*XB5#Tz~$hYcISQW8Gx~*o-uL=^~I) z?z)^hW#Ia?=g*%%U&q;ld;9aFUDf5q*Kd3f>=;a7_(%sle)g$j06m^`B~NR<$A7uJ z;DKJWw;~Hg^iYRHqlzUW5SYk`*or@t-H3%)vZ=zH+)7~*IZOcod@`BloXu=9nTpWy z{Ae}n36R7w;8$v`&0^nI}POYN->OJjqux50EdaZ{%!=t*aC zjFLZUoXsqA!VmowM^EguZg&rc%qh*iG++An`ygTe7p1t(2qnlkiVGrn=JK=O{MPKk z#b+Ko*j+3dk*L{I?vr&ixn^^>)Md?@l8wls;M zs%MjGb5m}<|K{$y?~8=RVqR5Ym~%Djt?ZRa^OC1tpnH)5ERQ0@0mKmJU1nkoJHIFE zd0ayN$>*DhhRFSsjxzy(CqK52L98fstUPAu@1nS=Yc6AupsH@9nnenwnweW*9{fiD zFhz{DyM60#eC-Q=bF-QRX$}q!7p+F(S!z@0jFily$uuwKWQm;|)$^~s^3p5UkM@u4 zA0KRgaz{NUf{}=)N8CzjJwfIU1oSMLLf`^gtWC}eU|0Nb@1tp0^9fG)$VB+Gy|(<6 zdVz3?r|r`ZKjC1UdB}*~kDuDm)pfPED>IoZb6^r8Qq`_&o2Ds?Umie$5Da9@6sy>@ ztq8Ja^NB+b7ssF6yc>D;;)~Dj9qiAWhO4qwNKTePdJ#V6o2@T`&7DT^@Zgn-)SX= zG2YRNOH3=$gi7PRHS@MW%cZYD)}5X0ot>S@WL8yGkXRm^$#kQtYmt~cyZO=0H{W^d z#)qFA9vl&bP+*^xA5CW~Dt9O5^$L)un4`fRJ}Ht0srq!j;PP+)fRT(Qs<}%wDH+X! z!tOnCs1tFax-o(U>2l^EAR{PRfXu{#3L9ruhQL7#)x<2qay&l}VIqsM?z+}pV+;Um zPJj^w)hrSVEhkN<$QC=DnAICmy)*Y{rkd~H-Pt?nEYgXiSCy@!p?AYXMoAcoy;tV5C@y)3O1GQ&PN~q{3mbZJRzy8 z5YT0qIg3lB3inKKrkW^#I@NZum~-E8*R)T!KRw8iiz4))-#vO2xEyC6IZWdcJUpvD zoyJQ1Q}3@_U^!zY_t;N;`H_q9`HeA&bi{kg#Y>aUB}5AGH9L&~bttie44#RVBd0Fi zzIE3;T)lSb(&bB=o11{w_2kNx%h#WO_Tr@rLX&cCyZwV^o}G;c zN<3dz91Ni69|ZsuXibFA(mlTt`uMAi$3vrQoAEPWgN81<<)3E8{nJx&3`gEtADs2R zj%0k$0WyrRFB8-;&|wWsJZ^gX&h3vrx_SM@m(A7Px~|EZ>N=h~w>6v1L}<}2h-gyP z2ZzVEZ{1xix=R->A06rO@nTp58~&c1w^k||C4^BC(mET~6Ad2{a(d^Oz0aUovpiOu z!pH5d@grJ)lTP{cqY>oAJ1}?mdQ#VQ?fJMQ3=X<_m{oFMtWg`@>nX2#K@dVH72H86 zXA*%3YtA9W;*7WLLh6kWr7-r862o(95BB%oeCv%@zVx?D?fT0v)%En?;8-MRO4|<~ zG6f3t#+H5OJFjPCBNJHVJ`2?wKmFzY{t-=Tn3LrgNKna)$NGVoJ`O5?vTg#TmqwhXIWa~6PXDrf*J-+hq&l-9- z4YiMP2O44!L}X^5vmfShn-3(k#l0v`qY;snDgvg`<&CHaR&@o#eP}9LBF`{;>)l)1 z^ZXmHy>hg_=oShIYL+#}5P-~-7~&vi?|Xp<_iS_5G9AwG?640tW~C@4oxa#^%=5=U=>V;X>0i zfL(q5+P8n}+gC1Lj1?arA8F22h}W)uadUIiT<+f4{r(SrcDO$$876<&W@ip_Ct?vP z8Cg#`9`&FM(VQh+*~tuPJf)>M+OH?@SQ<*Li_9P(w}}8txzC1hFBOC(ahJ?f$|yAbAzKDBhY(G>g4k$wkv{8kQq@41TUz8!9Z+$V)O8_~9rzHkI4w!Aiz<17(LAEcmSn)I zn2L026qBhW304xBOA|^Tis|}WTk~N5s>UOs(a#GPUD|FmWXleBOYY822Is*6E$KeP zraVi;tg0y<>{T<8oYkEUkB;VxMT{{72JGP*I)eEkAA#pn>eZ8 zdGnWl^4*Jn=Xd`4Gv_wlRkckiQ^ws}x4-)@|M32u`!1|0S@H)rZ~W;W{Yh>YshN9+ zrcJ3!s@fg3&C&eUojU};*})EF4t?RjEz|J5PmUcHu~1Tz41%M7B#9Ufm@||3V4e8t z+CS2YJyTt+4mt~|8^@TrvuYSU>O8a#Z;ldh^sdHlVn7a7hpLqi%oG#`&vTdzFAspC zPt zs?J|}^`%#2W04OJj&?rz_~Ul2s{SZ!bg+PlV1P+r31!QaCSiO+J*)}~TKUgb=}CX3 zaW;HCzCQE(XF{@1ec{!UJmT_pBOl0)?D>`{8~)iAP6WGuM0fc4H+; zY2J1petfqQnoPJ6yLJ1)z3sz>!`@MI^Un4ZMwM$`?Cc%2npb~M|BzyA2Dl6a6=_|x zc#NU1-|cm$x%X`<|3868!=p*QPa0%6%RV}B%uxSMPM$5Rsh3J_S2Z;=7LF7{2xQqw z;6^Om(`0ht#A9az!%Ma+3jdCP$ooN=&sM#{`^b|QwT7Xrj0E46IAz-YTfM8uxp z#G-u~IFk@FF%Jb5kkttEtvamghDz^Z97nGhkH3FYJMhd18(fREcZfAaH` z7aKEftvx>2{*yoY?$+j3*Brg~v-h;?CKCp_w$-2f;D;Z*`PN3Y0ri~K)N;!6qvQSU zomjil@w65tx^wg9KmFhSkH`^fjA#y+t7;{2es~<~Sl5+WQcWR>JD3DcF;*$17-CAP zZ^A{OK5XH|GcI#xYF>(g-OUZ$=PBfzsqf+d2H0UeX6J*gfZn7SPP#51ef9mpDt@FM z9hKRdYk11FJ@Z)L4BfeWBv!Q}pqh(%R8_=knb+>*P&a@aR?6zxJu^pRVm4;2ayviX zzjv_xmd?n7Ry!-IM{{EMredYOo?+e#L;IKHlfA7J;qCG#UB;wWAU%&Rsv$Kf< z^1bi<*H+#e4^rug7hR2N0rq!PO zsMQB%<(;#>iQYQy9~l4+H*qI3B`}M$jedCJlN&d0>^+>f9ewZnKZ+vT_jio=XFtDj z>yvwR)FW$;o4kMb2$Rj9{_Ml|-nhfff@_Nbx_7W>9K=3YT;BVJtF8f!(u_ech;Uem zE)Dl$Wa2&2FqoyEo&@vxjL)Yr?};&r?pZzH3t~s_F@88*IE~A{k z@W&F7YQbTk>M?R%*EuT)O}E(CJooXNZ~ia0?u+rk&Otq?vo>`^J3suvzy5R0PL%Up zt64N_+ML|N(cW&myDMJ9*-B${VPcOPL9InefddI4x5h#_sUrzT5m8T#n`}m7&pAtg zNL0(z^Jf<7Ydg-{swcP1 zZ=k-`a!nhpN1aPVfreTR8d1{$R$V)w0Ag@(AA27vNy&#cIT&{ofdF>s_yY*;&cz-Y ze9-<^6il7W9VUSbTNiVOj_f#h`OdxL!)|^&-+y@T-oegBtT)UTAKm=$?YFPjufHZp zq}|=S2jBnkyXkP>^Zcky7bnfe`59Bkii?v?IF_b|; zxB_{IkWgZ^z1L^dOXTJA?#?vy5*%E2U!kS!^@KYUWw?d& zf>G9J?VaUAM1T*KGNUAMfDM^Q3S%pboh3-fDev#>8B&_FwYdA?ZHnY`N2m`U?$5Wk zA!gQjoI)dVY;N9f!00*zgLZ660)Wd#D9$#!0YWANK4iry?7MyTW+F3FA@Ew2N`0~! z^-uCCOUR9eX7qFls2)Y!u=2K6Q2Ds=2t{}*%i`0{Gak77K|b_tSQVXRYI^kM(|+CZ zE}WLr;^gKIVyW482O54rB!~6S%fjs3DrK&>Md3cag zCU6X)X%iENP)89ZB@aQOu!OqK-CUR?h&nWxc{a=7Fm8*Im|U7veEL@K)mpRD^SKI< z^O^SDr;gGy!QEB0^!FIJQI^oecr}7CQ4nV4Y^LrcJbtRCEG#5RlN%9HA<-U3Ia}c& z!(g3^voQEf%FNkqI-OY8OhpzC53-R%)U>Jq%U#lxqi2LbW@?-jZ50DMLlFzl9lKB# zm{FsYv*kd-9>@)3T{{n9;?@zl#AwzUah4ovo44&G#>lMNspURAO0q;jL1l_cP2u>Q zuJ{#9g;&xU@Zt({uL|h|8^U1soq=AiE0xoB(3r}n(|h^h2ewIcWX8X7AO1>nvMcQJs;1km;e|M&Ob z{6Tf|gZmWXzy0%{e*EKK9PI4PkK4mL_y4ay{Qi%B^p+siC1bX<%jsN|h z57UaK$ul^b zcL*_5M55MaZ_GJH#3UJ5z(6@eyPB#H>Z4{6E1?Rh$*dmOLSKwVOjTB6LS!*e+a_%i zlTWKjh%CZ@L5i8jL0EzSma`$V8+-^lI^3aDs9I2(T9~;dPi<;ct%^0IWUU$zg&2uS zpPYVmZQy(3QwuWA_NOz;l($YpD`$=+kI8T$oYI9)F&smwP}#avdZxP?3kxW45O`Hr zIjJVi+3UJC^_+8EM`u`a12M5Xgd%Y?btZ}uSY#3=0K1y25r@D`p(5g(EJmp+amx%1 z0t2c#Y;4Y8Er`_J+_d*<`9wLyBkrVpg@?cWKZ|)ZgsIl;)hC>!fi{zejt50WVX&D% zL+Txr2+UHbtGNp5>flK|5oJmq0u!4svT88z+*!yqyMqHea!xv%){FTfR1*M23#ODx z1>U6Mrt5?&LgCdjcQ9pzPzbGc5;Wxm2TdfogC>)}FoWclat@-%%#NJMMai4sWF2!z z$N?HXvx|qQD6LY7C`c_1Q_ilLtd%e!A*9xn>&R3ZDn+K2XQ4`FMxX#q3y)ik>LfC2 zHm7VVS}iJ~rl|v~kat#BvsOEER_|uBbKN4d(nYQp$8%*YEK3yxBnD-7)6wb$ddhM` zUXhIbiy<>}g^c*rSal`GO?6W5K6YD;ZXZU0xuU;E+-y9r_m9wsPOSRJy82j>=e}Ip zD1?{|cW*s-kj!l}A2s(oyRXUS?R4wHBH`9Y4{m+%4s$J;$ee$U_L37EQai88$FhRTn}Yl-jZ)>)8n4VV+<9u z2d5Z9CSvm#Ldy-{5GPLpHP4e+lT>D&f=jfD$&uYOcxNdSsT2_&H~;`307*naR57b{ z%oItgz~(L3S=gO}ls>d(u1p-c&pj(r+&mXg0#3=9-Wycag)Q4$=+%&b8wGI)Q)iW`( zc-t(@vSwuh32jX`vf8|9<0LY1+s$LpDg+j==(OTVy%AzfM5?K->kw%F;4lax0h%^1 zU7l>5+uc7rI@r&-je!&}c=le2t=`d-jin*iPnu)pou{7s6Z_}H`={o(d>I^=2m(@V zU5!dFO>@-sj3cy5X^iP+{Yl+iTJo_tEy_+6hbI;GXUU~fME=ana*8bKgm%0_vpEIcC>D!9fPj92#jhHzsYeMY2h~(Rt?;*AiG|-ps)jMP6td zM4&FhW@b*sWh)}+M7(G9^;21ct8x&d;2u7D!cDr=g$_7qS-1-;EFhyOU!Jr4Om|<& zcL0{#7NrXW3;{0Dm>dzYO`X?136)xMmN1=B*G4Ag3hZzvu9-XYj?9=Vo6kcfnp?ml z*QBXUDNe#{a>3d{d1$c0eN!6x3X{Xgd;%m;(M8NoQG$R<8y^-Jp`@gr*@1UNeTxa; zr+DW+b@-6x=zRq4Ggfj4nS_alT1kAo>C$Cd zTX7TOdLk8ZQm=FB5|rURs^RW(uV3C6}z07D|g$<%?3jk;@-yHlU^ z&jUhb4k9-RprRPfoY?!aydX&A1QPc!si%$zLdq>c0VgB(=zSM#C?O0H8qWyAUCQQw z5xK`Iu!Ag^SB*1B6J?nYw{VR)@%h<#%?$@8?m)&C8JoMu$Ira@+@|a8+lL78Yrpla z*`{u6ox3oZ&Yb_`yMKK5!LGJ#7o0(+8d%KCA#f-=7pMLt3c54_AC>aH<`Aqu59R$5 z5IP|=*F@*|CKEZ6^(Z!ocrZ)>Fo>K+ZEZcpTF)t7&NN(?hJRZBqHhwwfU?7k;ldnp z+XWFanZ(Jl%?sTc0y{va(->QC2m&_>*3K7I9Xz)oc-FSiG>C^7W`wDF)|N;B%I?`= zZaKu79d4Af#z26x$LtE8xkbxFs6t;I@&6L{W>1!0$9-UCp5fJXGEL)mL{pdCtkqUuOOi6twMo7IPBkVcuW_ z;^W}MJiM_Wz?{3z^KM)ZlhoW;XqC%3K|D~h=f(rE)5SVzkI1EhnRB;2D6E3QBuJ6U z7=U0-bO6kAYllI+kZ7Y36a+B|Ub?*A&j*v~DCw;=GntLb{>EnMi_@do>ac(5(i#N3 zdwaL4{pO|1z4g`IgL@|j`y2hi<;|_SZr-`}eg*Q>b5B}B`*-&(>PIhcxn_Fj?yahJ zptGuRYa44j+Z)BCe)p%>Nhttf7C?>_#w`uXQZ)GNJ1x!Pg)8^XLBuc?b1M%?9s1z$ zb5?}++pQ1y>*Dd^lOqEnAhr7zVo3!-gux^0ZTyEAHXw>cZmbk0I>~z3(^nr)I?4WQ zY%)_$CkU{$v37KLsI`9n`A>BRE7xz{x_z(v%(Ks5e&o@c*M54qfBRFb3J3yb=9r?dLRu*n7LN)zWk5miNCYH+H>^ptX!7DE)l51;lMofN6CzZiy)rA? zYuy!1J;>8!1$uw?{kJLYeeJ6+o78V?tP$|N+wZ;lqqp9B`{?QCU-;es;kW$J?!Wq9 z{?E?#Gr#+LziYEGAnBU@(d=*j^EV9GTI<>&5h05rnzw9NV2Lu%m$}cjJqK_-Oi~|d z|DMyek?Or&T7=+0L`cOXWFSPEm%c8vG-4ZqL*@VhK;aTq7%q~A0N{Q`cNAzC6(!EO zL<6!TL?&g#3n#*W0WAhR-<)7 zEQr9yW1$E@#Vy$JK5`@`QWYI9B&{k6!xp3r_;#k25-&|{Lr>D> zT*MC;(K(pY{~!Q_5O8jY!IDuNAte9-LZUO^SLQr&ZM+nMQCLF|A550B17j^C3p?i= zBINzybI(6B81`?S?he+5`@6f~-Q!mtef{;f-RYK_y9MYhMvbRnFdc^PTVh;1$<|wf+@m;J|g= z#GD0YCQb8m5MrAi$Kj$;*+M<-G1MMdAp~pf9G8j|R~Yr|xt*|>{AKkib6@$QAkLx- zAPWy*c`wBbI*imHfGmx%#NG$rM1vFpvp{GXMJBeijm<;i>B+(ifqL&_I}t=OL`1}a z11QvaBdQ6?YSxG(c2)*T(jcyIQzJUpshFe)HKS;)wPO%&K#4NRz$PYBpo|d?_2lFf zF`w1aTU*_^ypnXRNpx=M=+42l_wLqp^SNLC!V}Lu-Wha_=zfwO?B4#)cfNb$`rfmj ze*SlU@3&VvigQ+|c&~Z;$N%c;XFvVl{LZh3=2SeUX9NHRKD02{k-D8ABDYK_IfK(=;yDyF^K9L{w_Qh_Vc6F8{=NmmHq=yNc92KO5Sa zLvRbX=ECWG-`#Ubx8cB;6-#sdJg=N@llc%ac#jl70^oTxF-A9{7M#N$gkqRA7z=@) ze(JH6Zt|0#zSkYDtgmn1x-;85nOuErU21pd#%OK(QohYlCD8~&d8lYF6gYH6zJ8K>^ ziolU9$>QQE*G~Jg78H1(B_d1XqA&gl$2n^_E}Latc0qYD7Hl;tP}Y2GO? z5HK=>BBgY2!3WR4-Cn-F*%MuxtnbTHYt_n1KXGvQA#R+F%&;yMn};bYg*EHk+M{PO7p%QuFDI2?X5Exts&Q z&H<#$PjRW>`#wYjK7@MufN|y#ev(&dKh301y#}AoC;+ndDR+YaJP9&JGA+g~;9`DN=Uk zfNatk_7lxqS5jN{GF)Hj45>fFqg(sq{bF2j?~$Ef_@(DF!|(p!_1)bgZv0a(ed^_} z{8E;fuFW!=xN7=e{^A?2yz*wgy7Axt%YXj(6YB~Y1g!G6uig3mfA@#iZr%CvuYC2T z&p+EVGjeEz)r*fezPfh(PuI8C);9Bg;6Q?`nuc>qv`rd6Q_?7(He;_6due+MJST~w zAX15CAa(|@I3EAt+i!5;Z@+tMG^xA*NDyfRJBvVlD_nv5(}&xXiU-QFoynh79e*au z`)^);0Q2+F7!yK>`$vLfLY(tWEIf`D1dYeZJX1zQNGSpWq(u|v#pgT=Py)a_X2_sG zrGa5(W%VEbquB(3At54^tsZOfD zd-bgsUwk38rmo5#{qTq5lkw+&>5D&k<1Mqc^9#=mY=>^Yd+#s)@|tfv8mMF(fxiI4 z^D~tZNPwj^J)>zJkEX>0#`-Oh^T+UF`z-EXz8J~&+df)9Q*s|=ENj_?+4^CY2ek|V z(UfLD2K2_jv(G>M2HV7l}OGMy38Zr^feK;I?Zd;ups%LiRhbl~1jGuRmP}*E@ zj1ABU0mLsEQ?bsC5ET)?+$Lx@tZ+D=J!2HE3_98Bs!VZd#TF0cANou zA!Gsw3?zhE-Wjf}WqAjY7=U6JNTh92#4YRYhnsMOHb)c?s5ONanW8f1J^Q)HVTny` z8S{zPW2!u(KnNT=jRR|~0E9>ZNc0qyQa~mi29YQJ?3*A)A5r+st|kEBpb0%-Y~}f- zU;Wyz|D%_!c7ON%@BiQb$Dd~T=70Npzw_8LTdvssli&ZNAKrY!n(o)W_V@nYZ+^kx z>^~ll4i1hnNuK-ElVAMmXHpfUW@*6kMss@f)|+qZ)C>n{zlYp_CCjdS>ajNA(E*Tvg18)Du_fo; z{0BLEb2Sq!;w4}00pf(#BRdNpx4Q{M6p=N?7~{S3&WY$*QKNvOmJ3iVS`$Otq8VZl z#T=O;5&|VCh)MzwdoR#H&`>Gx9vpBcCJVkuz?8}xLK5(zb+>C*v(6yh*j%~#__nn{ z32s08=+0($bJZrj?%GyoH3#aXk3U(zeS7oK$G0!9tAc2D(w&KU@`*totd*oW*?(su z&%N;ITAJQ?fA`k@zLlu-t zs;X+kO_3uok^`POT2YBdnnwhHz+o||3@zQDv{|Esk%}6a+L}W-rx7J4@I<=+xy5iE zgv%}Ku!}C~Vv#Jahoupj3jrW@Z(Sg5Aq3KD`32jZ4nFn{bFOY&MH;U@_4wBIFPv_J)CoQcZ{YxFi6Vidw2G( zU%xpS72BITNs>C}v_?cE)fPQ#rCA3UL7}LhuObwn*vcJIDW$b$_99y5(F>S6e=*TNs=#^CTwCk39AgvaPA3`k9@$yj zL{TS)C)%ncO@r`oI3$9}_&9K6tif)#Tht{XS#69qS(aIAyLktVsTq%tMoB;4THhQU z-fQZz*Xdrq)K5${8c*}A^W+oHOo|Fn4_4RKE?wR`+CM%zY%G#Colf_$M<2a>>Gtlu z1J?v?+T()+lw2@VK6rW_3axx1%QD7C5QPKG15{^0DPdvYg%uM2g#`d9HZ)FB8@xEj zS=tA0LnY{;ljr5+kZ6O9W@c4-*3|f52^DFlya_H)>Wo*++U3@CYM7AGp(%WDT6IJ4 zl&8->|HR{0R(;ic{^=+FJTYreUcU0wTHf)%28)oH?zEde^3--$NdkIpn7gXfoi(MB zv|*T>j!$dKhNffI2mORPPBbb|ZuZvq-a0;pr#^G_vF&UvRU`pZFd*Ol`geZ(<9lEH z>Mwu(Gf(8G#e=qe5OeL?-T&*~{|Wo77&RlnfI&iaa_8i=Z~tWHS^C1)UZCJup-~wD zHg#}LgG~UqoD{{>&1T-3RKS5RFu}}dqdE9SY1Odv$N)lsh#HoXO|KZpF_Q&tt=6t*I?v+MUUn>}$_u?K(DF+t^uMJub$3fI7kuk;6THYJqu@q^OI?{Lh#r_=IQY+4zvfGaqU! ze8KpXnL}s=dB0U9Bv3aE2c{Ul01y|v^8hgSv?7qqM9}YMYa6SBL5ENfIq&A3UU#t4 zAFd6Q(t<1$Yg;j}0~8`?n$i$<(q!20UfSNuQp4=Jz3%4LmQ9ngEYl>}ytI>ba_^ir zy3_A=x?QDIn&+z<>kL>_wPz5KhS@U$(PB}8AjC#c94KO9A5It-O_B%NCLej)=TrOO zPl0Eu@ys$pT7aYk#38UK=W2jbzz2}3sdb(dOlgQr9ZG@gsfP0`q*cCHB^ z1Y&9qRdBWQ0YGaLgP_)07N<2Ct@?R)ZFRW1x|Uc9zR9d5!5}1rX=;r^#h9mAW;0he z)}|WtJFmU-`~T(-zVX-JLr_{Lfu#{Z!g5-D^PAuK&tLz`JNt)0DUC!(&Wlv;-)F*fMN zp>Mbh>_`GJptNW|fNIZ200vspf~{N@(uoI|b1rr^2L5Q~@8s}VGKj-cTfGEAlwbaH4k%NTsY&xA4$D`AelasP29ec*m z9d>P|L1AF_A|8mzGFl-6NM%_!&MBkQG+AHY8VrX5#De|d%Fg9WiA`M-@~m@db9-Zb zLjnhZjkV27TaT^`*RyVKWBbzP_9d&W2n5f8q0{X>_Slupjcub7LJbR~y*>DGVYIcX z4KJj{w6MioK!7nxF+OiEF7LauY_N|oex4p-Y<U7iVI<0YrOp9!o)0ro@amXcFge3sijyu zL*kbrju@*)1r%v((oXJ!zj^DrA=%x#^VUz^3?9_ zAj|{sQ4%jMD#FEUE?#6|56S)ACt?7kZ5$vNGw~TvfEdsuovhO(jh;y%GBr#=kOQ$} zX*_!fbr3HosH&=BbV@0uv6E-hSy9vt19;&OSQ~?aM%%UF>MXdrcERcp*flP`W18ow zqN%&%8xIL7W0EvUOopgLh)}WcJcT)a5nQ$yp-o_lR{h1$En@5Ji!9qXu(&jT^3nI# znIb#`tmjb(Szt8}dEImFd0R~nZFHo~QDz9tksY3yz4wT~7&x%fnh6L+Br?tmNW_WM zJdg&Ay7pAoO@gXxJ5x22CJ2d0?K}&S1gY!Bd&kZbgCPw9-UZS|Jm1+n=oI1TWL(v5 zJTB|QaW_RHTolu~ZmQA?lJnu_-Fv&c2bZs0olK`rLU7J1tx1cv3bC3^6uUI(Xb?aQ z0*r{HBUvR9wOMKbM72kY%pzsMjBt%BE$;2y-q(% zU0G*&rYOy`{^`lsssvFxk4_AeA+14EQO#_3Kw4FGs6tSk#G{}xMH7TkgI1^okc^;V zQS2oIF9;A&9B?x1^fMSA73@k4EI^*9zdhJ~Y%Q_cPs;>JDHVc`LDPsgKJnz0N1wWS ziw7UiD~FeRi%Uz<2M}pNe&%V}X81lJ=orPi zI2l_EEw&gY5az0^BLNtZ7;Qvi?I46X{T>0vcEZf8H8OK_ub8>2E2XF`D(}6u88B;w zy>8M;RVRrlWkwi6kUY;q@J$np(Zf!5dOFFoUe~A~;pu0dp^a{Rd{jt)Bz)nQp5nEw zdq4XAq?vi$T)n#e*w)tU&Rt3}XUflh{_#q`?=-u*Fb4XAPI-7rib1$&Dv&zO!_}wO zuDv%t8cmh%DP^j%Ktv?uvsPIUnYaLAZB`pHXjL4xXVe2`d5OtoPACfJV6%lCgRL;| z!x4S|jImt(vTz3%e_gDcMSbC7w1+Uq$UljYfD%?hB%m2|l6JDrAh z1jk|4G>vO2uL7gCi3dPnonR0@olQs6VltaJV~qn3#2)PL z-MV%2q%McWbTpX+SB@u>Ca~2?xH%ntz5P(_pC0o6%hn1&?Dq)sxU>*b3|T4_iF_lN z6Y26;2myhCg9s5KAV>3A#r7NkfTC!orqE_o}wOOU>1xG;R%6}=gnlIGbqs% zBIF>5q6j3g599|L*3^<3ISfe}LW?!BX4{pZmopo`1=% z*hC;qd^2rgt`~FQ5R}#-giexZrL=$otU~}HAAG0N5eOVOgxHY-A}91YX4i89T0Dqn z!8~IVi0H#0r3+^7`_*RbyNgWYK*ZUz|7WIVwtzRKC@yYwF&_` z4)F~XDerx(k!66j^^MKVom)p^=Ae*`0tup&A_dGr2xrr2o}{x`QMp=an;DuG6$+*r z^G!h4@w$hi^p1*gn|C72% zI`+$7c{#sw>D9maE(68!wCj5s9>LiE!s}u(GOZs-xq>AfA1rwE+cz`E+tRzI%9de6aA2A}mU% z2?=CgObBz|7neMDArM)R$Vj9Tx-UhvRfcCbeB5BueRYKMjqyo`fN)>{@!osy5z+g= z;+*rbQ-LvtNX1a+f(sbVzq7=TgZhxRPrio2a8$<@tnyP9x9-j(H zmM1G~!>pT%NY~|ITDZ^GoG%`pnklM;{}ji>j<# zmDoH_(#ARV(CrRhdTFQAS$pkAuhn&vrAhRfrR6`AMWf(zYxIK!5|r$7JXXFvaBF_DhleCH>xeeUHK)&}t2 z_pgnP_gQ&F*uHdWWxb2UO@QIr+NDP?HRGc^>rPJ(83`B!S~?E`(AqXl@x)V)uWqig zubqeiRXT^pY+u?k2$R#(H0@>Gq}NH*q*0>1XOpVWzWm}#pM5G#PyulOX7-^;I-P&| z+y6v$^EA;XyLa#2y`xjh7)ax<{l?!9s7+TV!MmBOW(-=Z#HOVBgTc}6glmtW6s1Jc z$BX%Ue5nW@_)=e($~E z`ru%9R8NAh<$K?MZJMtPOyAfkGVJc%NxSa)?OT=ZG~WI7w}1HB8}IZ#_35nJO%rSi zw|jecTIZ;&rKFMI7)}mH^{fUK5HCpKEHMV=-T*BhBxfkwN7z@3+KBs|g!4Botk|E! zSa^YppH)>8;eydSCPv1amk)iJD|d<9+XxKAAXVcGxs%c8@Z@;d?}JU0)mfGst4RZZ zccF3KH-Q`Pl`*MJk}L&4YYXT6XjbYZP4bTOK`B*x2LL9q4&iVzO7c#p(+Luk$3_}s zGOe(#%Zfl}2^j0yD->X;%R+)fLgwbdN1L==oB#lT=A5G3cBWmV#5|;!MDE{257|&Z z!(M5j(T}Z2&wr--MjNpYAp{Q2)lJigNRlJ~klRE-BtZ~>)~J?wRyraui6DCClvaS? zg@GuDM~#EQFilcH%CoenC$6r8^Cu@Koqn&=?^acHa(wKa)5bdQ#?vwAq^hc(!1m7e z?(OQ%$=ExrYp=)>CL*VUl~pp?$?56d;a*i2S+_$dHZ+=9nZ1?4>Uc7nl~tPN^Vys; z0-t^Bmhkt(pKA+J)`cdFx!Mnt#nN?L{(a^V&V~K3S6C=Q1c>cS3A8au?VTbGOf0Ff zU8pBQ;hlHiy7tzcU;XMY=Do}VfAg=t@i+hBTdC?gBjrRJ4ZfMq%CYE`?&{Das@v;k zSYHyhMk_@Ev5f{BV-fNC&Fg>r z%^!>>r3BPy8g2jpP=tdarHNRA2!I3uiA^;h<`LevSLZ+FlhvX{Ez2zs8X-@v>$<6G z5eWg9Ls^#ACf3@zX_Pf^RJ$UYMJ~$qq-rnE7d}VSptCBo`2@QctUVZibKmXJ3 zo$fY>j8rgMPk^Wq5n~_JhaY(#Sr;zNGh7TV04zMhbJsukIDJSok&V#+;GByspNLeq zn*)G|D5bP+tI_5a0?ThIr~njbYdu08gcaB%9Sl1GD9P2@_PQ78Y^<)X_wqbVlT-FS z*eXeJ=ITi?BTz`e6V$cJv#iq{jy*D_PDGg$U9mb`eR_TU_~dAMI)X%_?sxz}QkC1< z+5GeuUh*VaCkei)mC~JV?Q6xsxMtWNZanpL67c=^Z`wqF0}4U_VILohC`3i%0evj~ z1Zo>z3c#G<4@6ib5TXc#&^};c6$|nhgBK71ji@l9+``eJk5A8*z&V-5r)M7FnSJpI z_U5@r?;;{1^EQJEq?_i1$-H=XLXjZz^#H9vQokBA*#u*Y15!qdd0LH zPiDSx?EIbEcP68gJI4okzc=dltD-nMJTRJi{o!~#Eo+~2x~Jpf?2CdKq*Jodgx@-&1d5zdT$=e;`wczSZm&R@QCNjNO2K&A(Eyjsk_ z{R1I>r}>yS##yrLJ{HKbupbvi@%QE7OIs8eXCCI!L}o<-CP8c2YF&<}-M$g_L4>q6 zN>}64y~9y(h;?vPQ;nKYRRN-qf&`K*mBwXePz2lScP$#`x|?fpKw6371PvISXhJ0? zNB7kFF+gDR39>s}G`hyNtv(fHoeS_1)4hLD9qL7zRX>Bwr2ovG(>Z@;n zs6=anp$^6SKYs6Y)I9gO=T?UOt+nA>`==bZL+bkV>lLSuKY8VFZ};76w=qe8yf}L2 z$2b4@5C8ad)FfyepaW7WeeH+ezkU1Qw;%a!ph=01CvhZz5<)G20Re%OgQMfA2pS7b z?SKeCp(4*UAdw;vL{^}HTSCyel4GX(jS@tRo>?oh7B(PhDVE}bI=@lp3u9sX-=FcM zF@yjF-F`Q=`|!>yqw_5FbyGKW@XDr1k|arzC5esDC$?0Eu?rI-pr9vIN(4fU8XNFn zi7|vwg3g0F9lQ}TD)`f}Z(O~zGI+ajLs$=mq$W)gUDWmLu%4|>^KO64m^eYH zbDK_QiA=P(5_1fSK}3g?5D0*PW1a7UmmTJv7-fme>zr1LJyN1f2oVCb_Bn_UFp4_c zo*cm%nNw{?eBkHfLtGI0nUq^ruLo*km@f<#P(hd_HVcEvbdq*@s5FDbs_n+R>C{b6 zisStvc#}#t9aXc5pG?QyPIu7jPhE3zFjW9qk^#fX$!Xrniz$ghH|N(1QL;WPX%Kj$eev zxx06Ek9YU_CUFyYbaFDQs&P3v86TaVoYY0B1+Tw*9hFRjh&ss9q^YW6HcPBY(xa+! zO%P+#vI&fI@6OS5c3M{xQi@Ppm3lAE1*I%%#UPb)fY5|Oyqnc!C(jT|-?(Zr&AXil zhQhg&-xeBe(}O->a_0JPG0zJqe10;@!ZrL@lYeHz-1jjauz3&x2>=Maf*`^`M8t?5 z#UqL$0^bNIM6C$YOgD{ZD_l3sf~b%X8bV3HalhA9KxlPlV|p|RH%LY+t$-1+oQ~Ye zWeYAz%<1uT=W&H3E;KezSNq*WI2U+HAsOep9?S*u@v2`{ybiUMDSb(fi zMu!kUlmb+!K#WLedyy<#4AdCpS^07Rfw zq(zE4E>8J;!f4rokYy0(ffFnMC>Rh?Py}OL_OhhT12*k>Fwe4qrTgHc!)y=4)nUnb zm>-h!0LuOEhyc=7sVZSOIy^c$9-Aa@Jf9q&I1x=Z(zF*!8ILESO1({YZ%&H3DT`UJ z?*={3&W%q-C^GB~5`*K(QMcErT+;-nZGJME-Me>he}BJ|rHR(5O*E2(KsE=hjt)7)_85|)&-%=k;1d5=caOQ6D%bzEgbWY zmn?J6BSb)uk5JWkZbWAYF%mJh!i%J!2HIA!b0&BK6oweJhz<*i#0<817BC?K-n)CR zI63W@)D;dw&_=6!nuGVD(MX7Nd^kdcQYpuh*wQsFINzi)nKVHt1ZJoKbpR^H4Ui8k z=viy2y>mWjvcl}^K*k^fDb2!2nv%=~Adn=<3DmHc=UJzmoh}+A0to~LQFBc5Y!V(g zH}k*pQfr)uL&?G$Y*#t98K)Qh^^0RURPcbm!h=@^5|Fga2Hpp)EeI+=WFWvq8!o*< zBEs6&4L6Tnd1P~QWAEl|@T?3cO1J#++Fah=o}5ln<+D7E@eD>56s3qX2;lg1)E!Q{ zYo@81z2l?j0f8lWS-rfvvN{~kj_)4tKQJ+lecg0jXv|@bBc7* z>DIHx3TU!iRgL50sw_D;q@rp9a{%v|5a`aGJB@c)C+!bv_8$#E30o5=Q0i!4F z8A90exPaeVaEre*)+wNx+lC z;`;l0FTMCn2scGcmi8`fUb=H@_vUDHI+}SDMDdM3Ihy&(q0MF6WO;vY@9@w5?CZbs zwXY_fo}j5b`^ng@4-?CS)y~r|{Ay6>dbVP`bwQv1d1a&3t+9?%}uIx~5o*2qh{)Fm0^p!<~Z~27oQ@Asv2(s@6zOAqNXUReX%!?izBxEJQO1wG zZWKX8g$OJR9zx(Ctdtdiz##;uNoh1%XGIw_P?qPuaqNkKfE7~ITnV70Nt#4r8>ky- zK!}L6F`h&4%rdW2KtiS4yj2bg2ta~&f)X4cGGfpKOh~9Wa4doZgeRYPa%X$%`un5c zJ;smc#TpHYd`zOlHh=vL!8lv8fY>I@BO)_11T|;rY=e6!5zr=r7G=9I$;;zH599~0 zo(H!6L5PT$wDBNjMTr810x`We(WY$a0>p{S^7KnDfAPkjNlNus28lJhw~t4~WL6X| zxZ&Es=9VRhNMI_8rYyrCPm@m9;~|3>ZR@F@RZUGO#*|INh{h;mjkV}qC`%VOC>;sM%TAtHn} zy@J~2dGi7co*y5}E|Q4MAx2Tb!?*wHTd!oMDgB#2xpQ(nV&Jd;**8=QVlDz=p&3 zzWGDF@yN}=Xn$|Iw>R~Nr<1@%CBwmH>1*`9p7CVntAYg}H@fh^l(9~>9^1Nf`N})5 zzx(YsuB)JlP{_6JUYk)78*U&WhKEey;>h~Yx(d&f-;x%@w*Aa~`|tz8{6G6`F2ov_ zb>VU|sdEn?)`1d=fUsz7Q7|;FJUl~q%bjlT6rY!9s~j@ zUl$;OwB_JIA+Wf~QKZuat(qnPOT_>jKzMvI1w>FWsmB3Ah4uV{A@daElvD%+4YY?6 zME-4PD_*?IrSVrdo z0Osj2^XwB63>5VMB0Enai8h@y%WO8PC(;C+*e0+G!IEND2GDBkrfF^yKy-#Y2Jt~D zR0bh3eTN2H-V8EGqyz{AO-?byw17#e3*cj(GtY7G&5@Zw6$Zw zdk(+=3J{2>swxm-1`%TBvZ{cz522}>h-v3(rnP?Uwbx#K?bX;W!y_b#X?#`HE?-$$ zTj?Dg9AwGrVAxkmkr1O7L1T>wYeii9RxY9*Ok&50ojMT@Kxou)`z`rN7GTan>XGGpvjU%AnRm_u`Rnk`&r=>Y3F9s z$z)}-zqUS1EGiAGdHc%t*M9x0y3CB2Z3eMo@XNom7hup|K`fKOzq(A6y6}ntgI6ahcEmne8atO7?->>Mt&X z5duJO>=2i1CcQiKOjl7x=TM(Xw@Z)icfGtTGkq>N5qNw7)(}^e2Cnr-EKxut= za4J-b_*q4$5;9a5)7#fiL>NLY-X9%}1URrLYhQo;I#%q9eoda#?(Ka*AA-Z0 z+`ha0*4yJU+}*!tovXXOyRY6LYU)O@ls~esmq&7YdSI=aq3peT^W>CoOLZfED?xp9 zWB+jf^r|2NS7D}zVu~y?&(kU)211t}wwvo*i5|>PFpRa!cqW(STb8vTA|enV(mY-K z=Ln51kA)SxtPvlix)BkWIhI9n2#GaWni-QcK7ez=F`g`_+F+?Mij)yh+9XP2gQT_g zO%rO5z#`OEv=Ips>R6ZxsFhL*gaJh;*3`z=HmIo0ZUIoFA{r6eqSi?7(2|0-Ni1hy z4J5Y9xPROajh@doUChT^EX&a7N1F9^{D0b*_r8G_zbnAJn?`HPDME!91ig4*A;3!; zTUOF?R84qFM*F5BlEyU%XcSp%^G=qhxi-pCxt)}9xN z%B|J)?qJA48v;vab+D?0#e0iN8aJJlEV8~bNJzvxn`oEXuYC0@X0>-|bHz`luBr?v zKp{ZyoDX3%n?7aNSJwtrHSKgPvVZ28E6;rT8PBSjman|>?Hm*Z@-9rK<^JKZGFm4F z0W3DnY+6odmOy*ny?ak8$3-~jQcUAGZzQv zCuR%2&kquu7b~6Rf3z4pF>^rCge)u=ETJI)RxUsg7C|2Zpa2tq2GkyaP_zg)PLdQg zLEzYyijjl!5Q!rZ0EAeH07zBV1Rz=haq8+~iZdU;kHw)Wr}eDu7^XFPfe~>MCJxC5 z!d->{>8;bzyKZWf2}MPyjUkb?z@Uxr&24W4xDeur%Bf96e26b7h{zW@H_gYw7o67_ zF6Ay=RDPetHEiE+$-cSxk>vi+3A03Rm|3*eiLq82?*g(w0IiW3j6$8+5JGAx$r5FV zKna9ynjk_|a2XshBPwA46s5Ee4I(NtFWX=bD2kAf6p~V^t{ax11UOc-gn)z)u=WlR zlrf|b360j)YFU&<052@U`^Uo|mgpo4*e?Zy#qY1rp9*7Z3mn!Lu-XNs|AUyf=N8CAsdye&?L5s_uK=GQbQ0 z3>Fcx2#|y7uP&|_~5K@Pu~6LgY9Kw?aM#%%7gQl9-Tj4wH=$P@56TY^x0D| zz4D1qHn4TeEO_bFPyfwVKW`GWqwoCjcfR-f>+*?Dx2_@6p%2?_|Lo#fKzR7@{L#bn z?ZpN8-uhv)`C#yL_1;E5y4=3~>`%Y`r{DX|cM16R8*lwz|MLHS_q%Ve)~j!Rag^6yeigLCMzA zaI2oV|a zZpTJs>^vJA!}AU{*d+x4Q!9-V3goOCK@ZNn@PK-K;_%KH*q9{-m3D}7_Iokl%c1&< zGF0CaQJlD2W2TqrP7xE^m6$Ri1j;&ZO?8>MU3L9#*j{bIFbqAu{N*o+wBLE-yW8HM zKUi)19ho_jK!Y@Nwvq>rx~^?l91*tLorchHd)D&MZ-+sB2z~F#APhCr937BZVhqgy zGeZpVZi=8}028$hF?ut!4TDH+7gPcJ>}S9D`7eCBzkK3D4?sg$ts3T}IOb6s?Km?% zJ34_Cm~q$dRF#?32NP+WIM*NswNQ$Y2Wk(SN~0b{2UOzAofzSa|J_LZsl8=k8SPa? z@Bles0bM~^1R&Sl*>0r{PAphj%fQP(k3t7@)O?}xHzVCsGE zz1N@`f~hA}Vjh%sgQ^)+gYT7IYLox~AOJ~3K~yyaHDh8Bg%G@&59&3T*p^Y#v{LB-IoFIuU;emH&Gux~DAOvy z;)WquP+{j(J7o+ij)Y{Z&b!Taci~kf1SLVkSL(6qJoKz{mlxbTTfAIJJ?%CP;yrsv^39UA}-ebGDc;Y}0&)2G#t2XQ|FGzMn4`}%C;_9ov z_B(^PN1c2B&tCsvb8&fb;V+)P{*6C-|J!f8@vS$8-hchKe*dj+{E_zF7`v^%`rvA_ z8UF3B{XhTjZ-n7$*Oq7?GU8AnKeE-j*$+{)4;O%xR;>f|E zY@SWknRd=##NJrQ#KIU9$_()f8&KS#Mur*1UNf7_{xUzMi7(Dn3D9heo*KP~h?ycC z;e9YIisWKu@sL4=1VLoO(042Ml-Xj6AR%i3vAV3LNz5J&+gc+*CCP}y;4 z#8zSy7;t^qJ!`4i88mouL>z{lhTd_>KuoML=_@!ZhBqigd_bR|YQxqyjP~7`xOqoi zaK9YUFXJYUDMFd~*|TSUz{}n0<(FO}kP>xWxAQ)DFG8@L5!PpC56;h1peu%ka|;^O z``(A(z1QIVX4^;41~XLxsVTuisE;}n>sDNPYEfQ7fEkR52lKHRYJU(NBfO`VGHdss5iTkmCzh1aEqzf7@z4aw(6V%{ef#aV z`_1OjOP}#-S5Nv)2Qup~jRrIl+E$x}Or7^&3CN&FrVF~cyt1Gc1~X+-Vm9Vrgq#mh z;^u3L3%VB#2le)-i5H8dKLo9cJ1Vi@Wy z;qom@j6{&4^rS;=mTkV%IU*3nfc<^nn+7M{s&x{A5NW`$9bSIr^RIsL?5tgFLRd-j zlVABOpMCW&{HuTUuRpxHFb+)HAN$H*`bYoGf7NfdPW@YNyz!}*UuoR~$Fj4qUavJM z*hE_I5qf_1{)ZoY|H+5%UB3Ex47=U4C&R;s=ep_N{BZO7Yu|hO%|CA+eekWqm~$lk&^JumVauH`$WcJ=%|PZH zTi+{z2Y99!2aX-7S2EpoE$#X~m}B9!xZPmNW+ECCq6)`J;3z;@F@9Sb@U#f3DJY*( zQasG|d7jo;>>&ccOlII{BFwiNh(X!&AZ4GAr$`ye=ujLTt!gE(!C>OOza-au;}5?5 zfM5CIkA2|}zws^8AWZPuwk`w>UI$g_tPwh2uhtLOXAm?5C`lLqurqEO&sUo(0ui$? zZ?~RAiP|Q;o`5`?u!*rVqhQA3G>dIrgE*ut&iATu0ta&qcD*+4Z1CEMUpwQWfd*y; zF&S6`Sb{kt1fC2sh%}#6r%Wg)r3x?el5(d)L7K8k7*yGV8%~Gy0}&Y%pklhR3QfH= zF}!t2>Td{b+c4AB=3?_~cfLOR{O3OXsZYO5;#eeD2tF9Rk!Qx)*;&`EReir347zI9 z(Uxawra=`Ugzc_}QI3Zv zcf9wUeLIPQsTxa#@Rw7Z*{`CE@bf{=;;h{pG#eK^@}K|Q&wu}oH-7zBesx8#w%t8_^5An{_~Pe2|K@kz_~sve{TKh~FaG?0 z_FpufV_w|NYx6?KY#N6#pWB|{vW>gKW^WBwp07> z{@efF_x_{rzb}yYzW4S&{-1xL-)%wk`nTR_yLCSVR{N7b{?>QC^;QT&)0|&E*?#-U z8yz!wRn_1jvLXs0440ce41;S|!BjO2mrtQ~)^@%35GFNKuM|S)opY|?7+0DVl%z2W z!5}V*D`sXGVn&AEq!EH`+OB)LvDNzA8X2~pK*9_&QV@d=oI0|SUvq>r_x#RKtmM^| zg&DJQPxh}#3#0H+%5(`fa@KqiO9_Kg;})ZDhu~G7ytDh}Yj6GRU;EgyV`7a+wG$VD>Waq6AjFy z>Vj8Q1{pJ}DXF3BoW)GtHX!mW84S(2XrK^+nurM;0bzB%{_&rD)rfr#Ue%`OTjrU=@-4fw^eWrQAL#kTO6jNWr-0kg#a!HYq=67soAO$C&A2oP)(vj#JkOuf<@fYv5*MNC|lFx zYEm#5y}>oDu|0m+{U<;BmABu1>BA2{@;(fq1J0cj=NyBHh>1jEnqLO-x@l1f-ccNG z+X%xLQ4IPG6Cy{3F^OOVYNH>ULzEL9@<9Hhx=lm~Oww=#c`5493 z$^Il!^%l^w15r?~sw#B3*|4ME{_4N|#&7=C4#Vre`A6GUe&K)mUxa!0^vULhhv%n-HKzrYfDlEI_^Xl`n~@Ldghb1C`Yi4;;X( zY0gEx1-tTw_5q)-n}^c(MsO@dY9J=1xUu&+SS{Edq`>132RHf*W>2$8%QxIqawct< zVAc?6ORW?B^LO5R<6G`*&FjuJ-P!qrhuhsi+{8?cL9t%18|Pr!xklB<0sz-o(CEKu zL4%t0yWQ1h%Wy$MKWtRPZo5;nFqj!#UiKmAFbrNpKltE7?}rdPvG~F7c02F24+D~^ zk#y6u;OW)n!_-gaD`deFRp z5_w1PL)*B|eEQR2H(Xv`Z8lGh(0lKPA%^@{mY^W!^UJICY8`?fdT-Dt^dv$@1Ogd> zedsT*p5^nWLCs(wCMGs0WoD%WAP8mmArc}-5F-$bWBdjU?C9$1>Z2zYXJ;#{S6$bJ z;D@1i&JmlW(-LXODsk?)tAnxJ)ke5qY|6}WU@0)v;t?FHv?L+}vxue4YFKshBd@&t z_|f?=c<(&{;+zv_6ez+j%p%MzMAR&d70Jx73`CH~Fcl2<59N&yjo>s9`C&+Q7qZwc zRcc=SvbN_F#m3{6xQCWWR*jloUkWT^ls7t!@rY)KP3|EnLL*%muCA^w1r~yLt%O}@ zS%#tiH^26;TMGl*L*G2b@b)|3XR|d^%WPzQzy0Xl_da^}eKs~Q8w+H2bwMEHxcn~#)XW{xCg z4J73d0y9(x5e}gbA*h-%lliW7LhkD7N=(JA!r)`XqTr!Sy&s}Al{H$$C>2^W zFqj&PaKsCUxBgks;P~95we|XM|CfL3<(Jog*25GqZ98FABPV1;V{V6;O+Hh}2{Wrc zU$e^z710Ll>7Hou9jhkK9+k`n7(y3lNH)`-G4T z9bm+44EIxty{72gQ4_ZqnU$u}$;VNc$V}C2yRCRmxm=hC9>q<>ECuFs3a8VtC-w_eOKm<7@1V0SEZJQws zF%DJx@X>b(B326<^N3`AnW=`fbD0<6Rh`7MFhIFrBo_y6`^{i&aL<7>bD)_2~Lrcw35 zEQa*}yph{iH^#I_Wlkvp48=xuXzHhPoi)no(TC-gQ2_vzwrLsz(jsjfq}6523Iv7% z^2INHMg-q``}@7`l^P#(yLqT)o9&JOGXddpr>sGHui`hC7jbcK2u;&&F9Y)yoU#yK zUS59i(MP+TSt6QRLJbq){Jae@1-sX_ZB@;YNF%Ok#7WzBPMnE#ZP#^O)3n{$%86@) zY#09Qo8SKM`~Av2+O=CEl@z&`WA4U?0tcNRvMl3M4}RXqL@>3HpHUvk5pYKGJ7gjw z(gJEvYd$b7cPd9HYSa*d_h7WE<`eSL*?K(;!*;tJ1}_3;=hdqQWitdHeA6_IYfXbj zuqnM?gz*$$7*UWoYh+{=k41%;O~@v&Lm*fT*=j~+rh#B4jt%C0-*p|J44BByQwUA) zp<6d1BI07uHABJe2^0!KT8c$Fd*6Ct8P)q{gtWhhZ%|59;<$@q0&WorAx6MS9-%qY zH;60TZ%j!&mMCtQW0nLMW45B=O5a~*nr%Ktqq6B-8)qm5e<8r)!J~|ATZ)KKIzXBH z-FgxifwfUC%c|aD5Sir)@`TNDloXjrS(v`XN~3oRhX|``u2#1bCu$wHk&&8fQ=<0hk;sM}xaIjf*qq z2rv$D9~jIKz-&tB9`$VkF2udMXT-CyWs#gafCW<6dgQ`Kz!(zT6B8Hh70f)+5g4f`^4?Y=a;zI5{ zamG-*KQD*8hs}l%HEjg%#W^2VpV>T6gDNy2g#j}QI)o4e46z* zQDAPUi9KeH{fy{XbX~B-gvekF(x@wFh}Yv1vcw~&Zx_jrT8Ob4s<$KNNI6GAUCq2P zlVc%{iG%}8wP}SQ1QOgg-?1pfE1W%1i&Kjm$Z*~G9h7s zv^P!n4vmfsAajHp>~+hjnWN-bY|p=1dHKm?Kb zI1s@vDP(1oEjfi2F>3Pqs8HftNCsAc;z!i$l({M@q{(PRCI0ZJK9u%zJxpXw8bVO- zy^^w{#(}wI1rOd6!D9#>Jw$RQl%SrOVQ5>|Z#@wMmJ*qg0VXsMIDmy4NUPp6qz@2j zy6&MkTAz__2WEb{xs>(lYIt(ic2`%ItFH6GI|qvKPhd<$9Haj`21|U)Ea5W(%o7nY zdGGU1Ah0ksy$8Ehun@?^IrSC*GgV?E@fy@PK!u3Km}&66!K7^hf!o%(uA|0r=UmfB z_e$p;Kj^sW|D(V56Rv;u8^7{v+oy_0YZ^9db}$K~gyh&5rzMX#B`J1XMbVohF4W~L zzV}{=qeDDyjf#er5@NJ&Gr$dfzh28Hf8(-0$NH$gRMJm+L;K`lV-S^sq1 zz7)J|H&56#yB%$Z-T5cZA3it_ejsuIO3>&G9(^4s6YE6-;gmov2(qy-io8uDOqvt; z-usjtQ!5V>lVl}W6*5vV%m=+Pr0 z{h+Rs;0I@(&{~ky`ODyzxF@E^X9B>rZQD8mqYWYGxj11yJEulOD6k2P{GgO{G(s?q zX)Fa0u|WZHjrb7MYan83W5RK6T1fIg>$lt8&Ic84%wWV8AwO=|H3Aj|KR$b;;I8Z1 zMw*5mJ$kTOyR-9E*R{?0>U{n1{Oo~qZNqKXu0>oU4Py|#Y7yRg?adF~f7(1+E9-;K ztqta34G{u^&BAoD%*@!5?*>y$`4@M1NODop;slt@KABaF4j7&Ks z%*H76J+mO#5Q1tOk2eux7zRyI_-VJ>b$liqj9(6(cD~z%A@GK}SE8^SEJS#kltBk0 zH)Si-{MRGIm-4^5a27fbJ@q`w4AdPlr_$9VEJBj2U{y%9I>AlV15*}D6p^kI`a{G_ z5-|s&5S4cTss?CEpOlp{Rt6!Z>}Dp&;`(1mxnx#x>m=fgocgq4BgLLKdY_E2-hUBn zyeabIoQvpajB+^)13)5Us96z?Iqs+JD&k4Ny;7@*u@bhJN_BGaxSgiv>r<82>Q;`4 zFh^P7GATUBT<1S5uO!RH=B1Sq6>rDn4bL`L+=(@`8@7+z?l1oMm;Us%*Df!goe7-x zt*0G8#HPk1fNC)H+N6Vznh6U;glRKug_)g$8Usx$PJ{@~iEA1sP1k+=VV>kMdR{fO7m$;azfnACi~-2#2T^Si4Lb~}I3`>V_C z)z#+ef`Z?L{_5iC)6K=RVKYc8y&FutH0V~X_Zv21Ls&QrIv0kPuU8`3q1l%-nRx*a z0EC#u2B=ay6U@Z}>}JuWCMA0zM923m45K96hI0S=akMwj91R96>-t!ok9kU z83TxtEQ;t<0d8I1EX1w>5W`DS2-W~#H4wEK-ioqTErM-6YQH_jS$`#m^BSg}OwXFN7)Tk$jk5zInC zJL9{XSqvH^O;gMjrSkG&x7%ee7>dlR^p4p@8zCkN)AB%0vC0fq?%lBX%Bu5c>rw|* zvRQD#nUN-;#OjDtQ=}qG`7>=4j`G4ydcwG#3FD@n?%|X%Z9G#^x0|qvMP(NxPRxg^ z?bXhQogbW#H12bsdG){kNB{7*zxK6%@xTAC+sh~2y1lx%bghdTA))pC(6+4)p%))% zM_@DN0n9?ZTCl!5Kev?{4WxmZW*B(Yte7Z-U>dglVCZ^AkG^Xg4Sx0DT>HLl8w`QT zgnM9MV6}R9-ag{?ylGa^u6}mbbzOIUcFt>~m8}|ajvt(_TamVP4RcEk5v!_eT_3i+ zzfvD|7v404;IH0)|6)4~ec0`W?bYsTv$@(_!hG+y+wI2G51S#z)X+dfABJIIB`{)E zCg&O=HBt`*p-+6`v2=8`dA4$nl26QHfQ*{fmvh{cJNEbT%!gSf7`v4l3aU{EG^M)5 z%x4%cA_h6L*K9FIgr9uE$|!gs9=|g-uHGoG!-(4lLJXj6jgzu-qrw~SXC46+%Z_Cn z&HusxjD)9F)vQdALo;4fO#@5B36F7RCKMdOOkgcoL*e6w{FhJjMz~l>{@r$ zIN?W+9urx&YTCAGMVi%_6Kk3vPDyp$K87}DD`BYj-pud%-c(h+R~`J&Z?8hX+r0hm z2Ui!n%|=6eb?G)&o8I@{_x-Th?ymaK52~tz`hMtpQVYSzxZiqWX0l*IbnP@4v114k zHLi6|*4^s-{A{qNB5l*InWSl4w{D5;?9urrKl#a5Kl>>SKEwXEX#B(u7;9@X#_eDu2xOkkdOyNOdN@XD^>5s zNk8m@_ulV9@L{(J!|q~tIqWw5?rOIQ+pC>d8Un7aF8g5{Qt3BC*z_Sv0ZcF*80^3{ zsQ3PAb7dMp2B-pqdFO}_gjiS_7ICh7+&U5GT+=vl?3{=rYjoYM*6VfSS~haxn$|U4 zlyeCnVR4Nk!fMs6SL?H`qnKKaqVs+&;iUm5T10-vm9S@?S(@dFW$rVlLvmymk4BNy z(u$mKt{H8e)wBP(z=ITr7=V$PIdNuILJ3;FiPVy#4v1Mf`A3-Xc;u*oTete9ufDx7XZE-hNg)_WSmr?FqdgLx+ckMbT z(>d?+-Xb8-qP1?60IJ1tQ|o&&*G==xMS>SShR06jWbBH4A#dexmtyAIxr z#dr?XRP@NE>tSRSdw0_8N?tv{$k-~v2O#w@U!Ph4h)B&i3-|T@8f7LTGc6YjyCr6X z>TGVl9|q!afl^NF6x*u$o1a3uKZ*r3x_on}w@`*&BkVXA9Ad9{%za%CS@P$p1|j|! z&o~iL2w~<}FpiIo0g4^Rqxp!w=-IwAI^0HODfTS~hs^rUl3H^*Z;m~QcxF5y7GJaU ztrSc>W#Z!^E`qw=7muw)+a(b%oOWGM;weN=#QNf5vC4(8EY&=P6OL%*Pm$Glv=PRa z%gGBtOtA5%^0FdM5ps&XoNFkrWJ(G0baqCFkbRr?DvUi@V1$dWeIL@+tU>^zjd0fJ ziTpp`bJxDz``g7*jrFlE))D}4JKjAHMw3V;NT>JZCJ69h2t(iRb~|Bxc(%Sm?_Be2 zbNPGU_@hS;9}mN>HShbY?MJ)Ss(bwCv4-&U>9dQ=rr{IX zou8kv2+TCtZo9o0t~%GSk`C%aaNUZUrW2U@)!Eu81XYMR*Syq-sf7SiNU)aCcCDN< zi$qsn*Se;0ZPP*&97M#4G_GyiE{3cWvBot3)@?_`M9h%3=?uzZO(V>XVtBqbf;rlC zU8bcZu8E;j3>E|V`+iU*5pzvL6r!<1 zWRJBKarQ4a|uS!jY?d@8rnES z4Hj^%B$XY2DrY;Z2oN)kq}q2`Rm~o@sdtn|E7u&Vk-T3`1-BvXRXYmkPgty2DAL|>_QownupEtzuDJ} zYFPc#QWN)9V*SgE@HpW<_G?UG0)iQlL~rg$aN=o~ysYWa=wPx?A}q1r2xuC@rrbAobgRBi8bO6iwAlTrN@3ga1vj~h(OE{OsYfE;_K^t9gY@rtHcIfQxqW~%-! zcKBvnOH~nK5MKXO;bKm@Od%!$OcMx2fl znZ^UQBQxsk@iW$ zAQw?UE(Diq9m|Y3Mu9?sdWfK2V<2^6Qp*;zrFB&+ANA$rqYtHO!Ji^86?#!Kz3%yzns=WMcy$sTE(gQ3!v&ktr%DKQ$ z4wzUvDKx6-Q*B|^-)f;g_u*YQK4E)3I`nnM(g6^GEJm|JJV{6}Au~`&^0HOB`Leb< zZBF;8e8pwPQc0w>C^PA##&c7965I?w884ROS*hVN01{><%)+d0Oll@hm?6Rl4xr-NDk32a`E&^bXqv_{(N&0@v&Z)U0*8Dkk^t4Ki72!$ypgN-4eU@>S%CI3t& zYC&3x9|$qI2v7lTm?}M5Y#Hy)%|eaXPXm zM+7`1TCdZ_ABl-kP*o8YnOcmhe#Vy~N`fx3)P?MO5=Er)syt>PN`3oSHN59mhzjst z32I9?a5`-{4PQ_Vn(e8er{Kxum;_-Wh&-oqztHFy7i?;>s;R&}nK<^2H(g}2A={UU zUci{n%3M=e5^gAS?j#_j;H4A9;Mh<^e~5~mkA!=ohoql~goL-d4cH#NbpBI6^Ob(^ z?RvF~xit)J=ZuxegGkT{H$+HDpa^8_S}l~0m_Z<>Ghrqs6JlX*U<9zaku(VCZhwy^xN$QxQO5D~=M`gAZmD zq{NXw@bv7bnSg%8pqPGNUfp#~;~DltaZ6@>ONWNdl+haN7<_Q7II_llMK(*k69M;d zv8daOJxQ*>Cx!4mT`Byy8Rud@=NBo;>{+)P>B;`uiK1dgl`pp)1w8{rS5?V>f${vW@-YUKu|SWi|w-2u=A`uE+3{r%X-Ni<6GeKK1F(>~=fv z2WeWh0FXpAR07zPA#h14tI}~W5Q9h%acrN78ts7yiHjLUr8cCf2wB)R5Qv-riTQ`1 zaepyKgo`!6xds%7j7TagY<@LPx`lv32sv^XKrm$@0|bc2ge_T=GmVSPeDrcF!&d+Z3YV3fJMFRpjouvwTwL4x zj6Z%T0*5L}P?$Xpd*R}3I;KF0bz)pi+=%1-`$?;AK#rzQO)o^YN-?gt9gyc{Hp2TV z$7_5Z$0w?+d*cFMrs&pD2FpGVgkiv?(D1Jy7PB;{Iv+`g05p#_$J7GO!2#O2-fng2mD0SUS8O@RxQ|{5 zl~c$z*H!z(-aA$j%P_BX{pVh+3a!0mX9`a%a{lU=yVCyI3DF?hq3t;fr1$et(POjK9TrjKr7x*81 zXm`bk+ts8A7bt_OQ^$=8qM$8fB>v7g{H;T>rGhImFpCX{2%+_$&%iTmJqwpaH!d=0 zh*$GaV9Iz(;o(vym{PA|nUA573Dy5=;09P?fTOC9G{wS7eqCRe`u>r(-x*!Nz>nP`QK88yyw>ae2T*E32s*X|z3S*&{G0G+6l#YU3heRAh~Q2a!aN=pRch zOg&*nmrcVgk+rldWw{*+<>v$T+dajnrZEl3MH2%Qv^m2ma6G#{CE!S?@K#<|DR=~1 zx};=EP0A-o_Ve~>0O6>#iwidVdoV1iuLvwiW+M)b(Xn)^F!WwE%_RO|Y;5GFeN`)D z{;8WX4Ot4hHkMOJ$UBx}s@8A8E*)IV(Kdotu+=l>;oogq(j0l51%8J9PyUk5*AHGy z6mtbPw-IHt(lsBBiWO%0rZ5<#-p?Z@LL~Q5Z)}dQVm*C7bX}vBY*-z=(ecI%Ni3Ru zL(1TyK}@<+jO~5?!M56pK1pcl{nrPrhAN(>v7c#?-IO2a%dA9|O*65`X;_h_&Z620 zMJOY>$l_BzY}r6yf_un{f>&Z>ipnR*I!WOY9)cqkJ^3mGwvA7*yAIcf+;44mpO16m z*imRdZ)osUDb@+fb5U&CaLCgj7YAnOAE|787p3Cx&qYgMb*)YaQn_kei0zm!pR6G$ zttZAk%sv0;nL8gBPdK<8o4D1GkejZ`SN?X<4J#57WxCO^uy%z%ej}%(KSXM^edn3< z?j&k;E>7667$T(hci$xIQapH2t8VToxC_>lRez~Wl)tDuzk^ZO_;f<2;Tm0?g!Nse zcMU=Aqf#%)W%I<*hc83mVa#v`F&YF5^t=&choqPjSz^cd_c^}{ljxep&_`?Z?ZJDW;~zxJ1Ig(UBp++50e#v=M6)nP zVy6jWeV+3WA)DWf=<8vpidCh;8GizqH{*BLuREw9uL`GntB{^S_< z97Oxi>lZyf6>CmJFCcTobh%xDfU6`9_4TeYct$VTnlaaEnlP(FNQIzR6a|S43`1F= zt!S*b1q=q2dzgIn)cd zjQW-@Xi4dbi^u`TWB&x#TrBb+V#nm{TQnr@{p?j{PVn_Q` zF3!Weig=IOs<2hbB&6Mj*IpKD5pNx7zRwD^U9N-)*$&H4b{!hP2dg-JoKmZ_7!Q3dBSD#2j9q&jmfZTWdx6<5 z8^y*ShUDom&$n@Q|JrRdEEq0zgJbf3JCE#NXiaFbxwit3+2aaJ*Llxj_M2GvMHA4= zj`Z>quBIwhMCW<7_Ii64hDnD<+z!zArd)EB73NGg{G7Sg#)39jx!3wSEiK%;Uim%c zgH`SU#+RV|<)FVe3*@+Z9rdm8WFN%HYgd{`kJ60(2pcoM=7Wo*_=A>F3Sm; zrG4k@E`nwwujLMge_stNAeHkD*uc2cC$II`2I%i_$;L7&81h2`nJ)#GmaAgREeYpU zKP0Dp+>W;>ctg3y-Bz&ycVM>{mcio4-E-3p>lzN)s>{+pBv^ zd*^mS%yY%R>zsJ#cP0>XvE_~`qokLaw>NZaW(49|moo1|kG40>`ZhN!56l^`C>&pnJ&m4 z%5kG*_FeZpxDlS5i++Vs&r6P%?d0u3|IR2%VOgthHwkNv=Jwt!ahC$YQxKQ|hvpBf ztKr{Yhw2{)A%|%ti^*7AhK`mD_ehDHU#@~d?IZ)y+VaFi3|8EBj{u_ z(cc{Hp)J2z+wyrAW=73E?YHzTxB-&K0?;$*rgA2yiMf9XQH)>f( zB|^$v<`8bq+2aba_jzWe-_eHQRo9&4*bGEunRwc7NWfMwFuC_PjL)o_K8uC2a){LL zaAMbV#6ChT<)k@~84PnyD?`QYc4rEe8Znd`U>rP6t{HudY;`kxq%^^Jw*4wHtUmx2H-qtE}gnZMfM@7 zZ>MikLENbgRkZn{h;-QKjH}0~T7j4#5I#vb;u$Q$V7`OL+}Fz)aD*-$rgc)V1{C>V z-5u&~!X~s;ZfD?)9S{yreeWP@PXDm%UFDXIhr~C`Cem$DM^S9OIGU~{K*73a{!Z5= zrebD$2rS`yQ(!pLzcr?^pPyF`Xk4|}rP}py zoci}pc?YqNf&%XUmoj?YvN=&D`%8gmap7x+NSc$ewyIpczI<0wD#ZR>LF80OFi7dp zckXkvqv2h52(wv2Z@o>FDc{cT!=~Dy$_$DJUIh050*Yh*6)btYNuGv^L(cdwZRpY_ zAEqHJ-l(Pf8a!DpCrPD>0t>~`49e=?q^3Y+MV|GMuJ906Lp5D;zRokFU|S)a;hzo$fx3*cE9C?`KUSw} zr|t^fUVO?T`Hn?WIRN#9(tTsLn zW48Q}!TbX2cCzS?e4JYsNa9db{(}XCXXNL~U+quN!||UYFP5#cLbplPt1Ec^>N67{ z2o-3|{nmaKk|19!@na;N3Xp1w|9hAFyW|vgYW6Z!I#6}GZAQu{I zpaQ)Pp5_iVsTeiq`SVft&86wm)XRiLY=NGbehUl5m7WuZpou@I_~5& zyrO00A|BfQ4OCIa(!Bqp7kub-#Ens{_+1q_++DdqO{~oK-KD1Glee5K!0L=>7fvHj zGKh_am^tz7j}%Ck=dbG=IY-0DnXK!k;UXjRNO_HxVcs3-Vfp%nDEx6=P?I@NuOfq!YMXr4ZQV{Cm!StV z^DR%_9~lTeWcB3+Z^nRq5Jl_5HNPtlx%Ou#zf2i~(lG`IX>#qdZEYoKvF3#!3baep z_0$$Av4*=evLVMI(x0IJdTn|JUhCJKPs>g#o)&Vn(DM8556s@5d@(bB9<<-`j)H+1syP8C6Ly;NE@mcnAK>4ml-VHqqc-mK){z zt~A9cty})RpCU(U#vyDnw-K%^=pk{Tv6+rbF__NM-n!J~_Rs|$dViPRC$w>J`)v4A zWfu4J)M`6_usyzGv(oRrq*dwuBp8C@dqV1@+sJU4ZRC0qi|VHzRW{hmxn*XZE4u$D zf09`Qfe0K$kTdm0TIdSM_g8~?#F%$HMMA|fju))?56LZ!5EahgU`HGw#mAUSVs+7SIspnD0@c@x)?$(x0FrxPS z$pQS3Y5Hadx@IZUd`DQCmJ5d$M>?Iv*VrtjKNXdXPlm*D;~Z($BVxMmyp2gevA2o= zALPcU4C$B7eqI4!sK`)b^%JDl*PGAWJm_9+VOGj-d4Wf&^C=HBnd&X4;SjwqIj{*p zy;8M{((U1aX=GOiY#N>fN|WZb982-exE@_EzZz-zT*+|%76Em6$#{aJs@p`mJlh}} z&Zq~!pcx%_W1txB%#R(9IeGT-WjKrbJ*~$hTX1T|LK~&Q1pXI+2=sXLu~(R{9U?xz zDpKeQnE#yw2&rkL5c@HYo=xMus=KV{KTmu|M5n-$D+N6wxnQTqK2Ms z;5K>6R7fn1}ju4xbK!qyFxXN8OlR{lN@m4y7yt~v(k$*sefBgAA0V|0CQFF3R zoU@IE)U9NptA68&f^VQ*_-!xK+nrJC*?=&cAzBg$Cu@cumukpbujj+g8qogd$G%P6 zXrY4lUfrl}-xhq(iz6zh)$w00WfjD`@$k`A5^{J|kTzl~*Xp?DeaFeL&-7U%2$a#S zaGIENN;P$GXpl9`eFFDHgGpqM4DZD8wOlp*wwR}dc)!Y9T?bR>>&c$!yBzRYRw=*z z>r+a2=77JBf^5MYP6rh8n?XgEg04a&q__K`$ zaiQHF8d-r`2U&vHmgHs7e`1+G7+bT(3#3K+Gv0lUyrWJEd2a|@!A-gyKRX($vtmjH zYsuZB=DIL&Qx+>N-bM)T#|j%XfZ&{5$KnE)7Ku>k444G9igAj8+MfiYQI{*K$==sB4 zb-db*o`1t){O)L#f+vlV&s&;00Et`0P=W_Z8JTKyfq+DYxfdzh7vi{79V0|VyG4v! z_=+J%4Q!>)-9~&|)lcgS%7ma^f&CA$0T7*Z^p9#0-1PMu^`@k$ol~iLCAKC_j>N-{ z(vyf9iCN1nnZrGTdhx=X=N}yVs+RnKK(T0r^^gxusht$04G#}vH6T<$jA7q-TB2D2 z73%)*wb&R>TvW(vLGH6Kli?aAcDkn7x;zF+vNy4dSHwe;oZTzrSd9?_H~O<>=)rlQ z3|&|28y%c`*U=gy7CJ&-A1z>TMf;9-R&o$4PaI0cOTl?v`nou`**zSc4O7sRMSQCw z|If~_TR+*XNHMy#VXK*J&}feiOV9YXq}Z|F;J0(BRLXhoR^WcF#*YEjjMuo5jP=;KV$7bUZ`$`?Hhk7Xp(HgX<71G#jc zi_fsVKT1J>KwCu|iNpxiG#Rzg(JK6;Y3C<`M%I#GSSHk^rQLj)aAB zJLD{rKNS07xZSy8isC&cdla7)`E*AKMN8=KT8M>#3n0eEob>N zEb}1;XoI}JebC=MDQFT4RR91msT5@-!CY@Za!LC35J@XyQftaD=(`Yystolkf^tA( z6?ykE?a%;&9A9FD$`>4W+PKW`qnZ=z8CB5A5s4jtKXb!DEY3E^WyS)emD)t2w8O)g z%Rd%4_C-kZvWoKT-ff7DPL)^(%& zMT$+jXt>Hd|MIXz2WnxOR8fg37iiPp2#z_)*k_>%>)JG60P%kLmQ;l78CO0I``aA@Og9V6N%<3pEI|it@V7uN~l6iAgB@!r-`rSF_lg8V1K1<+Vb3K z%($Yh7v2}d?_Xiol0)IP8}l2tl2wt3i#b&y{4i=8wtDm`zf0&@0yX&D%9jFI#e*&W z5YB$yy#gvSoVKbJ*h*<+NVzA4Er}tLAViP7eB_MvHKdFHL>@ydn3N`&X zs!J~>$|nrz_&4Er^NFi59pOQQ6!E=b zlawqmP1&Bz>%!m%JdXzrp}t?lwd@zg!#bJjB#Ez#l$0T>9HN({TLDfNHp6`Xa6iLKAT;9XI>hA?ebzKJQL0)j2Eh3 z7^r0#uUxEJiTqL2i)E5QYf+E#PxIQJpU-uzPX0A<8gpOF3ktn@yls~P$2ot0V#2%v z1$i3CiDcok3#0Rd>kra`PXceSBar&5QPuj=KZ6;JK2pC zEy82zd`Ke|U)Dt8UUckwNZcFg5btvErvQKm$@>_3B7MmD2ER(w>xUO*K4ZO=KN$9_ zlp0A~ypt7_e0p8ks%$$-mw{L)7~XJVgiT@R#e|a~)~&xBH*xew)TCm-I(wYg4!7n{ zZLLD0_oBZ=pW@|l^jT@#3}=o85X?+g#+o|JP{owXc0b+kmTPo$JU<6+?~T& zNbs~}5y_cE0!eFi91^SxK61Ru%cyH{8D-V9iP!0WZ)p6RFDqz8iJ1~EHR#GS1DG#P zQPPgI;%XtkY<8e-@cfBUd`n)b9j!eo_j1XNau@P~Xuj1dzAj!TjtESx34aUHnE97P z2wZo24evgQ&yRN@lGUxv9ZJG8mLN~2sm2}pSf9Db$-+tb29aJVDLN7u5vzDdm1;8K zY=nI^f^q>Op|mR`TPacs=*F#Fp)wY#W?t>-UA$JlbnIuik@B7~+8fuGI@=iUEj_J! za_%@R>y%%PWZ#hKHz;ir^rx7-pSxq0&Q8xeHCVhR`Cdxw%r##bhz|iFs00noODcP^ zfwY^CfUF>kFVp!&nZ15XKcD}OxBJ@6Q1p!W6g~|hh8Beu{?xTulLZqEC`}-SW_O&^F0RGnd^_a?ogvX;AlzWQM6`Qh{8OYIYaAQ@P zdAN?+%E11*ww=egbn-tp!YiD)q5-zEG2WTXk z^0sita1a7wcu&BDF+%zw)f7I9khyf?c^#dgd6zsVqz6uctjyqgN&?l!uPF0u{0SnC zh4?GN%GJmNNt{`AOD^{B@-@_NzFzXsG!kgWmd*Ho_-d2xfyScgEhpjaN;@a0zb}@MYM8dDZd@uyS(S!wiG_cf8WAVtDh!hpm;zyMwJgeHEtw z!IhDUv+3I6^u`;*n)!bbX*xi@Zy;}^A4T9^G{r;8jnl? z*ee|6^fjzP`e5%QPm@e5?kGEk(5L*kE;gu~B#t&IfFMycE}ihe<GQGNYee18IA{5n-aXa#3<7XV8Q(@Ng;A7kg76v{uQAmy6vIk5i zmg5=M!h`PX`_#jz0O7Hy#f2AdSoZj}n5t46yMFOn_xC!^`+=Hse633@EU$*tVq{eQ zPYauhVL3%y9wqdsUsij+re3FgBfVnQLTd?%&!1EOdT(x_BQD!;jwT|Q^EC`=HI3-G zr@sL87t|IW1W~D#g@MaZ$MyzXV2Y3rK(;8vT+Da#v>KV|pq3 zP(s7QimR%$^m3_;vlQ~;FuISU2Yo*K->!eZbN{zKa=*8wP%v>p{2gg9=7&s`S?}{| z?)^g~sx$fg8{Rs@ch^~OHw1EjlUdmHO}*}V%);l$#aNwBb&i5_I0jB7I3N{77Vp1s z%~iFy=gA~?(`vNuZR#bI1*C%X{{xd46Z^j^ z>}>39?Y#c0BMSkOHIy@Kx?i2rjF5OjPA#++P7$0WzZ z`|lyH9`?3o|6gaRFfsqT=VkNJ3y6>T1`|ii+lE@o$->3T&ceeQlLeFTKLc+UHw$ZP z8*8)wnuSmPYWlxsNh1)Vkunkzkzfw5qGRIxXKdqQ<@#z1Y>08#(-It%@O-X{84KwdKpHw6RF*ZjZq*^-g>|8Tk=VX*G=M*4Ag2A`w= z8Qslw(RmQy8=u=a!?1~#W7_O*Fz@^u(b8ZAb?Vg#>sDiX`zJ&QK;?eJC=>reUR;FN z)f-8FCTD40+eE+>VlDG$`Fbz^$?V_JOG{@SS!m1{wl9+q??(ze21P{b@zX%1Tm@_7 zV>LPq>Qt>XulrE?McI>Ogq&5sN*5PMvbd;AY)lNgB4o+%YeATSZ{@F35Q-vX3eJm? zT9P6?2uPcPwNI=6f@8-H*wecBW7B2G^H;N{8-bVG-lt91;OkAZ zr{jXa=kzzT{1@7w;9q-K#*e(6mV#Ne$inuy*+|IgR!( z=ib>fg)WRIhk(acf$tUH8vJW&S^QBzJe{Yg{OF!A`04lc<7G%GwA+{3$aWe|Scga* z=csFL2vlPQG1wf!Jg1@1ZfIxQ()2SUEg|q!MG*?8(8^GYQJ|-U6MVF z@!S?W8Hs_8^F%>A1r)pQ*Y4h&Y-&gi8!jPh%w1QcBl$l;Fw}%4azjh|=u=G{uRk#d zG2Wz|orfPK=iIXC_sSr|d{>L4?+TUE;p^X z%eK0BL_pEWq3!he;X((f{W~r1Q?%^l@Thk<`*Yu#vwz6=Jc&2wOh^Ce%I^Fmf(#+I zx_US}Y9_;8iv*dnb^Z)C4ABip8p(b{MqrwPJBFjD&(a9~C`4DMSKX3BrUs!gN-?I$ zky8U9s9Da^z!VJ20VBF&sHN2fq!VG+Gwh&BqGT#8OOF_4h zlQ}Kp`CMX7h9T1XD2#Z&oa34Fc(#;Zu!S{-OW1bd09~SIswYwCk`jW|Kw<)etrRu6rk;<*+1@2Su5x@T=oE++A94b*3`A z7qUudxO{v(Uu(mq=A}-^rb3Y71xX&t@ukUy_gp@59M0bw-pKYjM%?Ru`8~1*!=E+! z`kB3d)9|#0pFENMrA0(J%`0aXu9zbk&U^4G&`2xs%@2|GK&AV9eWdhCXD^H1>7sN< zou_tvwqh;{xv|0 zeVa@+PD<7gIcsG5rHxJ-xgmJh%!IzWtR8k^4v(!=*}b~@cXg7vfNk2_n;UX`Pbwh% zEV%cwE$^>kTV1VQVdQZ$QA>KCRwmw5t-2mY6TOfn)fc#a&1~h*O;K(7jZSN*rIK?y z`6H=kZ_wJMT-)Jl+Y-(b=!qAH;%9_70d>**d^t0e3KvzL4;8}yP6k}WD_V#`q zK-J40k})dqhAAkRefxpt@b5XnJF%w=&*1ILd~u?zaM3#d-fhsY6u=dc6lz>Wx(Nw|1li5{heY;-!c@sr1PTjWr~z^Dzr5mUmV?40q3qehbk z9hcGs(TZLbyDpYZnG9+kS13{M#X1?Z$?45FE5WRdsA|3NMf0!(qjF=aZ3|H;_G(G7 zLgbKN9vPV~)a|m=AGvvnoC8EaidZxILoPI<-Na+VUam1+n`L~1I>+@$N|uq{Q@d)q z$e=P4zK;zmow2V3_e~kPT1}6^=tg54Lp*#zdW_u1cZ;3nxdLb=%GhxBjEwfq**>BR z+X)3!nOfvP761H6V`(RDfWI|f|XDJIkmJNVy+6AAuBR{f`(97nIbR8lyFyK zSGh+LKIm+GQxreU>*1FV4HTa`TI+y@TyX@ZWgOtiL~D#FX!Y$8mV>YL?E`iNhi#&@ z93u1W$svA`3i(vfRN?GqR~IR$Q1UQwONf?t9{ynCc#(*TWDhiSZO$?*KDpp~XUNBv zi(r0XGc=iriBXs*T}5D_vd9mTWCnT|?WE!&m$tLvO~7RkX@SkAcMAYd0@;$h_@Wr( zR2Bq9uM$*^V4rvHBpddJH9}sB(+OVNIr;W>_MXi{FeMz2{MGVy(9@rXMiUXsp02K^ ztGwjz>$eYH=RxtLHT=I_99LYUu4H7TSQeJ#7hX0w@91qHTP^}=R*^zoj~L?$$6K@# zx$PT-JQlde4(ruF1$iyc9&vs=*7a1H!I8oS2cTKVzV{b3j38R2gLhwhsS8xHypc1= z1P9W#?Y(h@J`9d(Ng*@KRu*#AEYKy$AL6?Py089vijIBqz&@oN{igSuC9EO_mqjML zYtyCsev~P5y0gpRz^7X*OaURSVf|)%j?RWfJDa>ML30VE7@2NS*m-#N08@HoOXZ8G zv$iHFD)&2K_R-QfpW6QTn$f6-i>YJbJ1F~*hMBq@H2&2@K2eCwtucm4sd z#)Otm+wJ}Obc2>SK^s`NiMgUVgr}>TRO5E?fnc zFSA>{1sr6h3c~5@nMhvsvmzGZ==`2dQOAYzCOH$p2zp}+G0)i=Cv$ITCNpo zhX_InkKl{2rXPcFc8zn)D*3j>0C8#s3!RoRR_)teRMPNMz``05W)*p?mX&yGQ`Uq( zQ)V+zzGH?~3w;>3W=7G=azL@DDa4dWiB4MrtQ_;PVQ^^+*yi+Onnr4&RavBEFqkr| z8<-24y7}f}mGD8i@evrHpcF-egq;5J@>7o6;>XvI_UY#zKHb(U4f|sLA zqTOl)1~POFTK9LH^Vo)ORujEDWprIKstZ|i-^|Y{1AU>yd{y)i@NGeKD^1|D5+c3e zq*MPCL{Z9+)$=_QuZX8HP^e5o6N7OONZsvMg@>E=!6lMF4yj8LBSQx*30bua4UrLQ zA?3_%INTSua{u)2G34QU$m5HcsM)`V-j_*Nu|Ux1)3EqU__+ArSHi$?^^lv5g8S#z zZCAg|4U@n=AnxK+wZ6Kmp~(b!k3pxggj5{qp3mvCR#?ELNq9plYMIVii)E}Ad14$3 zSqc2<&tP3!P1{nyrT)^=ZInnRX`IG!tG3e-tfmEtzB%rcRjD6o=HW3JKp{w*`Wf5nSDpB8b0$>!SIF*Q$O)efRN?FIGTx$J& z&Qt}?gi?b6gA-nq6c_rpP|B?FPo!4>w+K$hLsPjyBentnim>3UIxBE44ul}gEHF(#g9(rLL}8sm0RLk4wMv%N*XfvvZ1V@Zx9J3 z%BZd55*UaoFHGx?5>hfIQpkT&m;4RQK;3>V3cAe18~!T`;oTcKLu3R*9rd~?MzC#FlcoKr#X8`qU6CHlRH9qq(E zH0qPbo>PD<@(I~k!d38d%YhTE?1zmJ254~~AHqT^0V!0gtnrayyc(G`r4p>+ATQiP zTpNCpX)o){{H44t?=5MV2T3-iT8$eXQ6dvU#X=ZZNV1syIuAYFb9zE=bEMmE zoz>O0=8i!^hL)BA6S~T|e(+cEG3a$TUw58vxIOo;`DnR)FEn~~**OccW>dpXyFjhp z%%o#|Q3c_rdI_92vxL$9tddC_ECZK$oCb|7V1ulRq2r`3sfsX3q(oSzJ;-O~hl>pJ zh1J#t`o-fv|K9U}oYhw6rL`r`^#`AJn8#cf)a>SJO0T%BHL9Uy$p;qyRM*A(=AfU?0=s4rBOobJW;-EpBQi5Rc@$=iwlRG|JI&B4QNjle`2JJ=R zG6Z=EIjJ$!!OzF@;!m5ty?@Ft{~fyi+xy=0PuRn)uz$7d{%Z?vTPr_^2pTFl=WL^# z9mUXCTs<1pd=cDkjH@ww)XcLR+?%&LKi?Ga!B{@c!#72O5k^M$WnH(gVbH@N;n^pI zzp2J``LuMV4fG_e5~{#CF`UXG;w&wcnh_sHfb$@Vzw?(_LX3X>ti)Y}d{%(@)^~L* zWSHid=0t47Pt8rKEaBU>>vDOWx+_ln=#}g@48T+XNZ?CYMh3o|XVWeSJr|F+t4)_V z#O83qX4vx@g;g0$#y89@AcI_Ud%;i%#1p0+07}Ukk^{=IluAjcP(NWAL@L4P@qCg) zE5Q&YbXk0(jME+O!XW^zf-q>5w7lGpQ*KB0aGHp{z@UQe9v7Kzd9h1@2TN1@qI7N$ zOUjIm#_m&Sn#W)FN76|=DeAhZN#~^K<^ebbCK~?ict-8=Yf#eY%KdY2uNi0d zY8&Kv)>$I{@K?QTza#=ROWhhZ#mI%IHcKtBt%j~z zBS|VbOKU-#R=54Ujx}lEr5udf{mzuMjUY0qwbY#%1mcE_!G_Yp1(;_-cVj!fB$I_w zV==xUGfy#qr=Qv`Ar*8Vl$_Ju)^nRHWCgP9bm3o4%=$Qy@oiup4$pADElSH*v8gO@ z(;m)0q>c<#K~*;8BAHt&^pBXyh2}x0a?+SmB-xk+Bp40vwmJf$vzt;Y$4b67(R8Ik zw%*@EwD4kK%}TlSyuWPJ8ML_3$TFxE=r>>xp7IDet5ZniO#Eaz&F)R0^TkB-(qz0q z(^7|##jT@k37>Rho;&`>4a{dX`l0$lnL{WgQzonAw8k6;3$GTfX7+nQdT1$G0_Vk8 z%=5F}bKSp_@BeOkAGLd%)qDSztZ*&g{r=tK{Ei33v$f{$h8f)HTt2t4@{x4GiXIbScR?m}N7=X({1{yB`gr)}mEp%NH;5Gnvh_0+Kn9H5%1b#Y zu!JVkLt8qTOBHOAa(Lq=ic0W);S%$a%jkB<0Z__lrR|Sqcz=}`5YIb~G)Q5Lr?rC% z|JpavFf0>t(Pd`_N?9Yu#PE#d*{v#x%F$=a_ke~YqV)Wf5c*92^jK5dAC^I(t2N7p z$RwH5V=MB`N{Zt{Mdh(@l>@vAi2t=g`>5c|B z_XGizVmx-MGn83eae_`LXdj&*^pUp$&B7t^36DM2mEM-9S>K>}WFlGkxxZgRd>V?6 zv|3Ob5>;Dm~2U_Wp8z?tqGptK0+iRm4SZ*2%vt1Z8N#6SHVap=7eW zMNoVEF+KqTHb!a{1?s7yP5Sr#vz1%Af5*~K@#p}dANZJRSY&+5p+dZ{_#kQ9ud2-I z6V|lcq(vDX5iGLf7Epqc{k<%OL>~I0vSGiVj-1so=B$sgi#DC6oFuL?2d-~4CXHr+ zPv-TuHaalWK06oJcDWv!$d=b&F2dm*{L11{gw#0Ly-QCG;tRM0wm3#@8ueO@oS zm5j1167cKg_sf%+S;J~ivA^?{7H@8t)pWNvI^&AR%MVDH@$aIDN`ng@P4f4> zA6=nB_a=DK1a1NE4P^`k=%#SAuE7k$BfQn0^LGx!rykiXv2z8)!*5VoMyXdfc&&y? zYWP?;kacRU)8Ybq#Lj5|Y7@u=6ZXuMNwoA-KL_$m+*z8hc95yj%nu$=a65ip#$mVc zRp7GJ+K5wb>@_P9Qk)u%FXKl4U_sau|eK11r^pcJbch3ry#ql1a zCHSF2?~%)Er8c|(OV6swRM!mWWBBHq!Xr~6@K#gEQO2Ssl)$fE13-LP8uT+&yAEZz_+Q4OLE`e6p z+_c6@6|B;5*l5)G@I<9s;JK|sBrZi=+83qR0@vKPkyWNFQ4AtrM=%v@=u%%q6o>X@Q zRBJ8_&r0*_j*?fk9jlS9OZwKWnma{1M~L}$t(TeM z&6J5Oki~$}GnG}j97KTc1o6Ps_4AjMaWrMygd_Zhzv@ZsO5N-JHG)V%InmL<9-j-B zM5q=uYT-YZ-u7(;ltjAm(#9(p_YjTm*GEMBP||~F)-qV>U=g-Qab%{3ZeBjVyI=a| zT*E&JPRFhixgzxp30mdqcHR68)zrLRv2~Wbthqfrv|p{s^y=)K-=K7{!TK5{6Ypn> zk3b~7R^0_I3q4RrDoRb|&0Rg%EY0)$^@$vzrfsVent(ySQ%~XfZ#TR5RemGn?^EFO zv3khE?Xuajs(i_MIO?=0VZki<_dWU=YMo?Db#)`iG!M~r9#ydCYU@@TGo~s^t46=R zU}$9mZ7osnd(aWsZft65ZT?q)+W{PctjFo*EQkb*A8TztqD9LvlCjAW03NtwB03&Z ziIju*ABY=|HQ+C4doZXrrda3M-^)=d-9xraB6JDQ=}K!yC$-1wVDZPM&2nhWC+a2SH3b;104kckcn7 z!uDIIc{h!0jOhz)sF7Z499a&xS~l`!_~B%>a%A;4WqK38rqD!q+tFUPvX~oH7%-Ns zDJ79Y!E)0b;SJqkPwjtn1bsOHg|69LS@p)!S_h^Nt#r-i&*g1#>=^9p3ptz=JVHUQ(wbL1q^|Xw(_R*S+ z8)U%1c*iVG9Q{%DJ+lQ{F>fIl{WmHYL!PE9HvPq;ul<&6h@#4oe*Yp9i9ei8p0*G; zT#8WnaLLizv{XM;8kDfSyc|U3sYYIxeK7?B zT2|(hVUVpV@Ve@LLYvn0)1e;uJ=jsFAnfVEdSJfF6)7_1N8J)$!jr};Jcz*a;2slFWmHInwSD2{pYkp2aSq=xX5)hhm43bj8HbMq> zz}(}s_PvLN;3xc=HsAHdjl-POSK zO=?L1*^>u8ojQM2e=T(r)f-1u`OS9NeRWE$)V$7Hz(l9~)%xO3Na4`kp8ft7Zfwn6 z#uR~A?-y^$s0b*l8j)lBW8@?1zA~^Uv=pt)^Y5R3oVc3^`G9zi4j5CyF43m|R64l? zpNhoH^uWigXj*%;xG@^38e(VrW=SihQkbG5YGR1onS2o-WBfkA-`Cx!jG;E z&UfY%HE{@~u_%<>G>!tWikg?`;gmOo_VY&SmC1gC+T`a2)Jy(#p)kKa&m_YVSV*PRtF zhl3$e@3oku@|9M?N(Kr`#JeqibR zBAbx25tltLSQRl_(&&u`ZIxq9f=`Cse!H^MwOa#n&rKEYf%OhYBw2Eh3-5kH<27#c z1)Uru<83p4uPK+@g%z{xfbn+FJ)0rg%HxtyKhfF=@=1_n4;mIl+7DAhbks4uHl#S` z_)MAze)+~pU{k&TEsZ(|y@sEy?TZ7e!P69Xp;8F~3!uT(`z7BKV8Ay+ZnW20Z|N7C z9Li|(4h3W^ySun4g)B|zc8tH1Si|q@8oQ(5=g5KUMmI@dQyVTXxZz(nBtA--)WtVp zVom*hB4=g?&N}Mgr-|^Kw=dV{4>tVqOi=O9lk=npu(eV#WpKba4@7I*n;; zq6{#E8TdbHijbf8Y?JU5*iF&MqKwLBN5kQ7Jj9c3;*1wJB*JEiRx-m&`dRraz64(k zt;Tttv!*ep25FM}p=yfGw^&A*LN{Y`>f``=k@dYs+aNmTjzG^ksL5u2UhXFJ*1H?LuG2BED&&=PD@xpH%5N!$+b ztPzSX6k|?zOHa$D=j=!O7)}Obaz*{fTNW#Z0CbWeB$EPz89NMaEHVAK^25+~l^Fo5 z;-AlQ7=AfUSS|;I+Km;Z3-CfFa#n<`hxhUuu1FZ?^D(ET_ZI_jm>hxq(%rJrE`-}T z=)`>0E^}s)I2g-koE4i=1|CCZ@r3j3&tf z^sRhSv_xQA1(YkagID5-^IGgSXeTQw9v%xfW^{wB&lDmKW^EDO7U@{$yHZ)f8$39G z+%Fm*Sm${OjJ>sMctCW6lAhbb8)uET-D{|s$_L;9g*Ion5D3>dQ?Bg(M;sv~F^_E- z(Gw`D@HeGQgbgADU$dL`5caqdUkfV=qT=G>Vsuv<@j2Y|&65 z!V+ff`T45M{dSkI-vfxt)3#_HZ0>Tm%vqJ4hf-6f%xxxshKS-nXXf>KyzTvHjux4eBP915zz~*zuj(yOV_oIpZVjHrT`Ip>V1kZbE(Mha=o zB~_JefoDbAD&3h%I1CMBTlPG8Bs&wmLbNk!T#;5;ML_+sor<+M*usjzXiz59D43W~ z_f1lT5Mvs>H;vY{C~ zMQgl1J-Ok4Tu|keHKi=aj4laoYlTgQ*1TCY##o~VxUempfe1;KH3bPU7ZS4obmw`a z#Zqx(0#*#_T)UGJXe~=G9(}gR2FPJ~^t3z3+yaU;0?;5dwrX?&z#FU7p->BDkzk4^ zzS?-83_CdIw>lDHx=3bZkbB zkvUQ$I?bJ#GZPV$Y$-tYlW#u|Mya`%`l_cGbIe&a)fLReoU@)%Ad>s*>&wdv%zF3B zWoxZ#PLQGW*0`E4!Kzx&=x*gym|Lw-GwZ#l1g8~)h5%qLU)@fKl6A2mD^_x;lkAOF99_(%NR z-+%kzo1cFB?YG~4Ye$cb&jKAgfm4WQleW{bhNLt+ZBO_6-OaxK`s-?T6A?fD_+x9W zwGF7yqLHl{5USV`tbQ3`iAZ?k28;**x7)1>+5U3_VbzIP%uXT@&}G%hy2bo>hC?42+tUExLI$l;47r6Wc@Q+Xm1(Y z^V?M+yZA~);w+8h&NIVojh1wam{OjtVG<|QS2u&1DYQsUz@iUHBHUZaWp$IN{5cFl zoF-%ia1zY5QVS$hLw0++brWmOVr)g0jsA*%^~ zo9VjL;&b5f$|d1v3#*6zoNtX)*JZ5uwmggp%vK)Aih@N%2taF1sj-iUSzUs*%LX7~ zMueHC)aVf1z4^nO=nXydV^K1bu=?zk2Yj;u3%M$5avtXed+)`kInIwFSRS=#IN^ob z45v3^2W(QYc%?4SRpSCua4x;xsA6vwP9$M(qe*3L;wtz7hy;W*@W`Oou!3P-!nOQtWGioTJI!un%ytS_CoSC|8mzs%p z-@GgOio56Jf_Vk-scQSZSyV%iqW~^4r{=qxkNrx*y{TDqZ1H#WgmjIVNSTAvNSjr63#)W+hLg>Dzdm2yUoYMGY3=~hbm<#%P_tQ1 z?HcUYr*GbUwU6=q?)vijn!wBLb?cXRPw(G7fAbZF{V8J~Nc{R&zy8Nx{&FDy?H~V< z#EfZ%g?vc#hGzA=RR@KI{@{qe324q}eandZ*h$*fot?unbLJdlxO+#MIqgi3Eq6ef zW=>i)p6jJ~p05&=8T&1Xxzns~Pw&jk=rf~M>EKkacG5K8E;hzoq&8)1PHTXwfQvv% zNAJ*lU<-LwTYlD$P3x~S2f@X`NwPXXeI~gDnb^YJ7N$dKf4#kX_gpfpqVrU~@`1bq zoDu5jJ)eccDNMZ;$1>m$R(YWm2oQW#?nZp zHC!(GD6~SEMaVo{p;}Cxnz*q3#|}X2idA2=jA47SBj`nfD zk4si(;6Na&4(IXwhZ%UIu1QMf3B5+l(+L}6ANM_Cr1W&zwr!I*XDV?p!xjc(K{LZv zr01HJlw`{4kLm7^N^eeO_pSA&eKU~FMOybhEi>b&WK9B*4o2A+rKE^x<|fSI3InJX zhLBfF`q-ixTMKh0uyJ>?Ha2*AqGuzF)uPcWeMR>YRp zTSVOMx9Y9GZC7`XtPXYuF#{liq{*spk{0x~n*PriQ=dvC-@SWRbD3iTIFf=^FITAS zwWKOYDD4D5vem;zho~HGX{x}--!g1CAe~e3^E8%kS>ClPPPVF`%;r90+-|$OOKEPX z?3I=wtZN-NJJVxtan))uU?ga&irsTqTEKNExvcAgT#Hn;>{&t(XZ+hc``xu0*99wcYX}h-)txF zSrZKisNh>TXr)?jEqTj&9@aXuD)N`3sx)cZ(Vgz0RWcW$G>PRT5$@Kv zOW(G!@0G0qkddHO@>nj?949*r1@cPKja%!- zI-(3A%@%4Y!P~jiwo0utbKpcv#QPj{GkT8Dk+zgri&)+0A_t^uF<);0kaRDHQVXPR z-eHA`n5E3zZ4DZ3i?e2@iB(k$t0vcs<+dKqlxcO?A3DPH6}YQJZ1qQ0Af0VOdT!OJ z+#*8BLYplmSxXx+A~16(ap`=%Y{goLi9Pk{^)({QP{hk(ac8C*e)aK(i0FylS{S)` zyKK+zpQXJWgmbA#66me(uOlV}zyprIoPi^D2usJ+|Hzv5(qzw%So>ixats`nTr)FDRL_J95F%i_Weum{c^c9yDS*b zeU4FW0~Q>z%9&KJ0}=fsKc0$~2UGK`9se!n?3?=igU6%unp9+tIqzeC|L&?*xGagvda@8fN^fH%!{$>lYY9#TQ3L~g;G*()!=;d0l<#DDC z%xW3u6^?usCoN2mYyZDl^z#5B0Xx(vtn981F#C%sz*53G=W$);v}(XSN-0*%b_mrQ zuKW-rJ^Cr9Ha|bF=*Jjxpw;XIUP9 zb+`V)gdBFl*OKrsfyd8R#E?4Uo0{G)%*pX|^}7}K8wjgLDsL0A;ykJ75@I3o1uf_; zPjg;*&BMc{c>E~~VOy)U7W07vjpg_p)eos$jWfie75w({2O#d%Q4z_s-5M%rNr0eD0J?MU9IWPJ|05!6gb zRq27^pw`gjL_`)Qsmga`W_44Vkt0HqTk#J>#mr=mYKJ6gw0ap_$@|ecjx|C*H%Wyl zI#6_XcX!n|0i?XTiC3|RA`@gYOR`IvbC$H^qwn#x1#_4m;ysw(H)>di%2<`iL zeR;*YZ@T-|`-GtA#!sI<{{7$oLnl6b{Xu5e_t&5Q$)7Y$Ft@hVJ6o!AXe47szqCyI zv%mQB-uvy-%XVomw|gYo44Pe>5)$$UTk(aH`XJ6G=FC;774teEGX?2DY+eGe*p>zxrz1+Wr1|xo#P6Fx77z<=KB`aob@4&aPnV zOtPrB>um{dHsdouY%RD|4ynW%J$)`?=6{Wvxi-4Hh(pM^fEm+(JUx=}PBR>7*8odHHr` zNieapAyy4O-snzd%O2N92$A4!lr?g_m9R3mwMV7MHRg;3 zC1fTd{HWLrXq0AvvYLTvm7qu(W5hQ;Qs_Ktj`?NxYWtd>lH=r4p;;cW8ZJ?OFfQp8)Mw>_pje=rI5_vmrXI9{nGe%|NOUq^FRF$ z|M_qK%isR}fBpCW{y%*9@a_J3-=bYM<0WDYncI5jhMF^x?v%9eyElJ*xyRK1`Jevp zzxeY%SA?Ffr25v%_djOXB}Gi-;VuA2Tu5TQWaj7{wVt>n`g$dRecwNR{8;M6eUZt{ zjODj6AXvSR4WMS3t^(3CGseg<=XA2Q-bi!r^^QXv4)iI`%R#9{FW6v-xdX}7ps0F> z;jCW6gGzZUczD#Dbwp-0=NeO%&2GKlSMe$TPhH&q=7 zRi|j2*Iyprfo?rsyfo=)w$IPUw5?p-vQ7}7Mti)-d8x+`>O9U>e6%;`W1i<^9xpjE ztBx5UMP_E-+}&SZUOs*LH0PKz-e0#`-D>x|+74vO)~isJ$XqY(soGMZDAY$wH9hVz z1L{>QW<9re6haE5SAyjcJ=2Q?CsgxBC^!8I*h`^XN5fH{4Z_!fG|FK4@G8M z-`9}Nuv|E^cYs#E@54>2KXHIFb+z-M%I*1b*jn-FdY{fQ05b+=gihRhO`=yv7f4ED zF@#e@R#}%K=DzRyey`UAZkMg(HY2>7yGvEmQY5BoSw*91<$d0U=RCj1Dlh^l3}m%k zS_Vu+L7Ac#1+mf@emXQL`e-rFlnd}M*y$BzW<^s)Qj)}qvWtIAhpFNufLbm0V6@fB z&MIZNa_d?zg!1kl5!Lsk9dJ;MM@S`~j=7bTIU}mY4+Ui;s;AGKw(LRm;!~!S7%^(k z7YU>)P)4qo6#;TLbMuE5rUH~AEi;W0qS`ZPrbeN`$=0g=Z|?WG-;mMGNQAZV>-Bl_Rvi|s;p3-|-CAqa$i}MFVcWJTf`0UrIf`lo8do#%QfrH8 zEdcJ_3?$uKm9*}Akl41Z_r9Ei)?zL#nv$8X{YI+^Z|)g0VvN}5Y~GstY<4N`n6WX24fd=oMNDzaW>7ifLCR50%Qy;W;q z30Zy1jHtKL!fCl$+dxFx9+`z7MhXi1|LJj4W&#HH6VJX zPmu%QnpqQs?2$|12rvuI*keqI0IiMpI`u{v&?PN6ixU6@_}phqY!k^s6WkLgE@I)< z6#&e&wZ7SH0eY3I2sj?vGTGs9zu69484>4sZu25VLR~QgH2QOn{pvf*46D);=0L?83wiuWcZD2Gs3k^UP zwC*0OK2s3@ldi`|*uxy0Ql}6A@&G@sLVE}ZHR$X56A(P9FM3!kImytGW3w4652&8^#d>PlxIL{h>{5kh0y5RLj!Z+~;7YGH9@cz)FkA`!*a_ z7r(rt){QxWUR>kz$XlQ1M8xwbeE3aI>Bb6{TjcG!rZObwfRgESF$RkD!$*LWqO8nw z<|J6=P!&L!Euwo|)=Amz5h9o?mzp%bUH_G2EnBM40#1`+1%= z!$|2H#2gWMjS?~Nh?KuG5TFN>yBBv0aMz~RqA{}+5h)LSe&(IQ1p*ApHXVjRB9iFf zX0ECiX3aWPWL^9Z)WOL9^`nmYBjj&stqc{I!Y-Zl|4;o}zZm%~9|T|^IT|`r_Rz*FY(f#vMab4|Z&oBTqacRyA(SpSG86Q{a|;0Q zfsD7#s+?Kr4&dnNdAatgi9O<4fFm?jyz5d5Qjq7Vu}*@B^ZHbI7$SIrkbpsu^wss} zW^qg3tO#2D`~Y&Nyz()bc{SZm?xeYe2eAjPhO+54otVJXwTMWdB_)6uA{15Dzv)E4 zjOsD>Ib&Il$MfO-uJ^Xtj+;%DQhGXKu!vL$=$W<%*~G{w7e4YjujjA{OvT*sVe1|S z2#(=vud-53*XUXFfG~GLUeS^;0M{-TYX^cLw@8VSqoq42B03r(0WwC^o|{oXpiA(G z8?&KnI`=UmH~|L3MU9Y({#88el#N!BnE{C$;1UgJKpYtvPv8KCR5_SSf5^^P)|s=78bEJ(|0(UZ{w!u5PMo?mfI9 z4Rt77=5{_FPbo3pY{pt@cVF59$$@mA=eesFVIpz{UeAnRVN1J1F!CgHgRenx*`L@2 zwTX+~+L2Z|5C{V}5}JDEN+6=7un{qhT96PS-+B(1903;2*(Cy)!2<<4F2>SyVRr+D zh7wVlqTz~zff+Ebbf&}@-5o`U_%eE~mdZwenJojH5MGWB?%B5>(ts2M$jELM07yXW zka00cB!LL6wbk`IoFG#BL4c;}<^W-?<`y4uwH|B;F~TjhcU9wH5ACf(T8IcC;qK}- zufKZCXT85W?f3hjqE4rIGBZR%ci}SB>Ze7B%P=g5yQf#<|M=hkcmLbJ`rm)}?#Ex> z{_cyHk8W?STkq?Iu`*7HG_*@EiO2JAm*NxfFd9i2*p-= zdnQ8WI#fV}^Z9J1OY@;t#1KLVw$vt2t{^X`DsU1&I4p^dX71jWX__pUWf&@#LY$(z z!a#wM^6jj3dHhpBEK-qM>*w=)I-P16OR1#@*yYCi7?pIV6#-s1_I0SsGC9$?H6$EL z6+kF(iTX>0HURia8_xD1aidfQUvw#s2H*nB5SEw<2B6a=>1Yjo$kLZ^8wIaX1Q+uf zSd%w>%|;HGmjxi{5+GC{^I!ua(EGZ|LZ)uU?rZAL`Wao&DgXvbFJT9|c$Yy?TABm^ zpra=%-#ya~{9-isf#yJvZlWuhdhK;F0`fdu;}IMXFcYBCx!Byn-62{+#=b^=CqtM( z5b`iu_ZEr3AlWJ%xvWt$s9-wJwbVXXcKg|ODJpW)-nF$_);Pv-9JZV5Wohr!& zMf6%kglgeqU*^6L6bQOMPO8exyKzLM7f`@^j^>)X-iv-9oJ=jR5v*4@$6!wgO(V-> zCg}yD0+5BT25l5TIH?H?R6JTD8l4^piDE_BgTTYF<%Q0jXGRpbt$+yGc`_1lc;S(dqGk zo#q$;xi3J(BJyzx8xsqQyOT3&`ZBJfFD{oUaE1HG%%CFx3!y`xF`+}irVe$K2-BuZ zYpO;}5vBnbN+g=O_1Uz)J^p^bzkYgi6YkBY!1%BJ%m3ov{mtL}@a;FBJ-s>}kM0o! z#4O0mvS?cfsWtn}mtTGQ>1O~~2>ZzY&F=p2-nIYP zpZ@XTc>48kzW(>W{_@k8PoF(~dbQmpD=Z_|z}8P35P#q1F;1 zAgRhnWhorUsrgTkDTv5IS0Xq91qWn2{e`~70D!$~Z=KS+v4A$ii`MR;U|^oe7-3Oa z#+z$*SmxQo`?931W_~@OAVo@U9^m4T(Uy+L8qj-Bunp~FVDx7Kun)ic@PGdINVy>q z4cBqcEUGk_J0|y=Xzj)j-Q5hdb!HZk z)$oGZJ!V@F0@Qh3*xCMS|LJF+soLG$@%8K1@7}+?x!UdbTaVtYEz9EOrBd&DcXxL@ zorht#Lj=Mve)TI@>lp^2g%dDhhVJzqJ;Kv^YbEp%s5xX1Rsaw(QgX;1D9)g^$_Y3O zI)DW!IYtDU<*hk6dQ&7C$`Ifhq2`M59yDTAf3L|*4s^_p!Mi&=5Ym8!!96h65}kg^ zV7|EK$L{9qj&@aqcj1AMySagN@a~;0B+vjfEOOxwfF2lNW&wf3s*7a{hv@#W^K{JR z35B^^{}8;8Pa?ot|5X(L(kwgKUgj9#-dYg?H;fRWm!G^Oh_3DK?*03BZ%e7elR-q5 z-sfrdZi9#rPxEqme}6cg1AsY~G3I%UF($$dPLL*aLC*1@vRxU`Yy51U3^^fYE0gHO zNWA;X{_QuPJb&@|XP*t* zO{o=t$t?gJ12LTuecdYnKqdocqwx>qv+Jdg2*9hWD>GAV)6&eA(?5D7w+?XZjBIm97iH#s+YYstWbPP3y72VKt!AEHi@RovY6SjEVb4T7h0T% zlE9I#Ia319^I4DvNy~93C?8S#FZWwk#rz~LfA}CJdiW3|!ps!VAk>J1n2-^n2d}F> z0QVLF#R*DUAHosYbL1Beh{Uetd3q^=Rj7VmhF=RO@Q3M5y zrL;CX+Ev}(Y_H6swdHs`xaqhVM7XOS4##<3M1+W^^Ys4hJ2kV`OW^=Oj201V;1L19 zO3_Q98XAOmGxY3Y{L&VHs+q2~5rD*ug^LHMc7%sK5QH#Q?epB)0`Atdl!1w+fVQ+0 z2B?OGYj_|yf~l!>x1Q%OM34oVX}$nQ57%5TQLL#mkxLg$N}D4zPr8M)ruJ5Dk3OcHv=)xy&aFoAv<*k$+ahE+z28 z+sW^is@97M2VHU&0X~3i5AWz>z%7+0fXGDd>SVI2_ky65QkbR9^E~xs?hLr81<`>( z3KppWAOwueOy_xMtp&?8wRw6)Lf1Ff!#F;BdaHB4zPXv_+1$fJm!;O>_3KyKmIY~l zy#uqK-u(3D)sLS%e+I<0FWddTw|+J3W%RD|^?nBd@82K3|MqwL>qjsD>aPxW_uqW| z`~Tzr{5Sint7p%jUtL{2-tWpVV0fSh1Q92Ao6KrowGt2bfBNXa-uKmZT`%fjaF$u=@G#N3}DA%UWMnEB~+A|mFwmZ6pkm=-FKIb|e-1WX(O zZXE*|F>O@c%e*XWzZ|hFGz>$Q#=K>S%XyxcW!dkyg2=?Jua=q*#eTiem;e1>Px>=c zn^os7$7zOe4~x(M3?NOfK6mr*o(_?wO}zt#sObz{qlY6J23Q7rTYv_HqohfrIYbDN zsj8}jOr4`Es8awjH`8uPSXTrs7wqmAH4Ffdbzi|=3WPA|j)orYkXGQDY!A8Ee?T(( z5gqaah9Mx1aTGE@YbttfMHSN7MHFdQlF#`ai zxJB>g9+xE803X8vToJ*{mht|9YpBtydxBOu6;VqMNf zT!{X1@m5ZXTA_={AAmCfAtMd|1|F!{`x3ekkZ7R6>a~TA7(oER&DSUn#sK4s)vO6t zM_?oZCgjyZ1~kAi(vtc@LI5NnAflB)mK`S{&ej;IB2}W^`_=C1*|W!+&3HPUfO)$c zU%YrmC;@SQfB){?J2Su9ZX!Z^*JUP;Dg_YTexx!Ylt8021Bv`;2$}qRDR7DO0RHT-OUCts z9x0E)r2FD3a|^n}IOoR_5$M5`i3q+9lEKN{CITWHhXEs6Ykg_jmQ*Ju-JKHMjqITa z5ep*^rF(E>cVTz$-+IK=)$Y;lGZtEwxy^I9fAYyE@9*w*n=K-_#p9dX0DAlOZ5f9- zydw2Bzxwu`S+?8TZZ1MywU9h{{N(WyIZxBn=Iws_=YR2M+U)n=egE69zV2OLK7aQ7 z`ST}F9?L)w&{`KsP04!8t|Lu+=mI{5;P3)N1SE?Dh^UkT0uG#m+A=rcRB3X$uee7h zD6g&L%5@4Bq5u(AH2^g8c{(lAS&9%*8HUur$=w&#rfuoV z`ZNot(t2A9LoCbk^*7&s@x?z1YnXnh7j+H5g=)7#5g*>~S`#C31tY)v`jx6ixVfR3 zs&$WU7J;Dv=HNjoPiPzliqN8W>=CMSi*QMA9>hpXn|aAmoB+`yO9t1C4b|tSr`cO) zB#p30W;3%0Gpp$eT6^?ly(_pnh6y4Q@koK@1{tJ+h|tu{WnXd%40l~sP#|0jkYNBh zP{xc0GlN>H4MS;gf*e2&9O%BDtJH{)1}l+)>SIGm>AG>#QF zTeZ2hsbH|AHqN{pW0E$TW+#taDIE5*IgDaS>pB(}) zAutlJ&kZ^uo);R2;r8*(?d`R@-ye?0!#N_j60Q~uSgX{51Bna=C@Xs{L2qz$UtAqg zkYeS%(Bj%mZRx4%#|J64dpK4WLJBhtGX%A+0Z!;56v&iXd&{<`VgRE@7@=c|3OziS zLzqaI87yZ#ga9u{7Klu%;idaJStG1MG+Je(xVoa4Kez?uh6_R%$a7I>yX)PP=g+Pl z-%hTlcW=rtkkBv;Q(K~~rZ@leWI{mmv`Kcfa|O7>d*sGB^fbz{8b=jLytl z#IvtuLZT7V0uYIi12g3#MOspXgo0L{z0EDHh$!v55g|goCCn=<>z@9>YyM;0G8ZFw zS--;v`^JYuW&O+R{ORf7n|1l4gZ6_E&_7_9KbtHsy~o4W_|kX42hZMh3;grhZgthm zPZ{!4&5ULI_|(JIW+Dak4pvY1_e9i}<;C;o?!Fy{<9rG?b1%XveS<((T6*7(!?@i{ zO@I6C?^Q}#f{^G@HS$_T1S6}^Ke|>$u`}F1W z=T9DQw&Pj_R)mz{qmS$F4cWdbp$I5w&G5(@Cn5ran24CeAl#QlBW5NVs?=IrYk31C zLoXtbqEh{6Sa%|F1F)6)dAh%65fV;qG|?K+@Bw#tV6kM-G!PGUS(db1MnpC?jLL$A z!~Na6yZ`lH{;U7`zZw7d7ta#(`1sv@gy{V2w=bVYvI0o{?%(}p4U7$Efa1_SSq2cX zGSnz^C}W`-PE>>nZU&a2jJxXqtIW&<%*+KzuE&Z1g_wwHDWw!as@sZtWD8rGH)Rq? zED?hkWu^U7wg&)RjS@X)}R zmvbb8f+C=}xntJvNFa-l1evp)O*(o25-=(;Vkl&;6GkvcU~sIqSOG{*1VnD$bN(zj zc7$7`p`t+UGf0wX1>i_rhC!E31z&ve?8Pr$oZ9*I+t;ISZ*H#CZJy_b&CEA-+i(F# zQ|4rF@JSBlL2=M5L zE(wJgL|}7k1{S_6#nr59Hml(&%m7_F0jQ~|o|gHfZLzNIcZd7v#)05L!5#((LI7!= z=;5o%odThGM+St@xVQv_hDYk+6petoI+|y?xpG9TM7zte9GNvnfhp*aRe0k-7=%n> z4%^$^)6btP(7PYLJ>T8eVUQwo)6+B+DMKAL+fAEWYR^R3qxg-93)M5HhmDTv5~M9dTb zVeUmlN?|5*FGwpx2a%941F!&%FwaqQha_8ne4<>2!k-tj548so10p=!vl~e(!An3l z(a-;FBBfcYK7h3OQ!eJqA9TQL*Z+X{J^bUWlpiqL3p%>CXO}nO5fNqzh!-I)5J{0T zj^pugH=SqI?ryafNRD@K`ld$Y8l73V6mrIkZ6|??_D;yPh-xRI!{Ojvi^!v!+kgzO zc)Qtd&ptDkX`a9O^6STspMUnr^Rb8l7~_-AU)pi`@rUn!`0l$;KY6j;ZAh3F2?1?$ z;abavi1%09{q4=o%NM7^{Wrh;&ENg{*I)i7K70A{*^B4HX0zLDYOS%hCdn;bi8BEo zK=0Lkg3`sxbmVLG!a0VRu4wMn=YPPiWm# zn|ANYOu|K^a9QzfPx3B4!*xCkPi zmw9S4B8qUfc%@b(^qw92>hNUU-FzHJ?UP3)`Elyn%q-jlaS)V3racnQhSd865Fvu& zgSZ#dgVEd}Hw|XtQDsa@BWkfi-6J$aRP>x+hSPBw(%Rbh;keIuo|P&2fzH}^G~O?eD~vzhx^0W%edPvy`AQBcz}7In}?TLiD8Sq|cm#`-p&}DW8HTE8E=`bn@7@(x=XC}ydB_Eksxp8ehpG{qI|*

    yNLdqlL7Bj$=krGp1kPyiY*3K0hcPymICn+I5=>#TtRK~SJk!2trnkr36plXdF@ z?u0n3P1B43APf}h4#KF0-LTs-&$hJI`e8aYZPtCB=S`^|`2MH2=ktUHxt0h7AaV?k z00dz+aAb%~L2;yDkDmD-c}Nm*(u`{zmt_fvB9to&DHsu9jEHqJe*TNkA3c2<2>17Q z$K$C&hzwn|wIw{}d2X!-5HN4*=-%gL>aBr$KnP-l{rR8$XJM}1A{1Scqu5$+&6cSz z%W{9WxTAZRs)MIxq*?F?U|{dPk5~Z!iy*V3NF5 zI}Y2S4$`!Vz%WRuOa#nQN)fIIL`*?ILQKGcM4`llo^m#33W6XcOD)X`lO)B4A>0zU zMxYXoB4zF^%~O4?PY%HOomPH%mO6)ZXP9`;y6&_BlvN!3QXtobyCGs^SqwLi@Py>i z+%(xS&9bywYE7|QW@`r(H+-+lYTPd~lCdUW&4 z&psc9^6c@GB6%eA6(b}{pE89Y^0;`!16({x9;W_>9LbBJYyL9xZ!J8TfQ%n}?>?Z` zAE+x4wmQFBs&m`{LRH;^nMx^{5*#RrP1IU5alsOLGSueTEPO z67-CPhbV=KnKB`bN=|4(BqV^S5Un)=2r#PR=FEgB%os=!UdIgrY1llg1MpC8pWKY& z*v$mfDL7oU_pZHnRWR@K0syM|{@uHG@7|qGr{npAfF7p3nW;!+DJ9dX+Pcw1L|`!W zZYo>x05EWLh#<@?6$U^i;#@_AM>qvq_|K#P|+PA;|cADqMH;-=W?l7IF zMUye0)>Hl)5G;fkwGI)Ah#tyZiRe%M@{fZZiQUxPOA(0V{n0$n*|dv@Lv+cU)y@oeRj8 z3LtnSD{)Sz=LqXvs8GQD{UKD}{`j`_c03-ZWtn<2aPkNQPGm$@b}=CpU=OxXNH7P8 zQ4m0YDPWL-2!w!)Y8nO*wz=BZTAx3A_W1cT1o+|AtKR$V_06W#)|wrUrfa?!VwiUC zy``+u9l=S6nJF+pU;g4#Yt6xsf+;P7DWyG#>~0W)W>aTMgqeiZ76-G!grOd;q2>;q zyJ_qFbe>x8;baDV68zV z>4?aTm5Z>9`<A*9tZEZglbT7?VbiDDRxzaKW3kMGZBy<3bl@J^`x+1U07$Kpr*c<>}Li=(83L>88 z=1%URs&$ap&b zbegA$sfZK=77;Fzs90-UYyIMj&%XG@7l-5N*T4Ph-~QkKcC#6uKE8c?dwY9xbA7wZ z96C&26~X~a^JU%GA@av_;ztA1IvQTS(u-U~x?8yS-n$1Prfb22*LKRp^XoFxXN%(z z(RW0w`9o&5m09+zMFGey1QA^Z;E!@;V5dciB4prSc`vSeIF)(8VFc1uP5)|Ta z8e+iJuF2hfyV)YZ>2N%qPL<2D%y;)EH9eot%d$+<)SI@h-UHp!%#oRhkq|;`HmyvN zVLa&p!Gz3_z6=)NMieA8Z0gm`lb4@;dV702FY|Zbf3M9R-#)p$xq;?((Cibleafw= zxq@XXG657~a9_6-w&$gHBy)6x=Z%rQ+D;k~!)C18jYLvG zFc=_0O$pf{1q?-)t!oSwhv85D<7b-aYIsv^)_YfvIR5mLX=|=sm)^TA76$CJDZAAg ze#Pa00W`E0iB&@5n=*(SO)+I*KVff zKy|m)j#19rwGPTMxI;fME1AC?GC!o~Czqcdd6bzdz2?)LZLm)6%DYI?X># z2NBYUKqL?bAY>>k3-efqWa0oi^NNl# zQy>Zv0umEKWM=L|bN~<%@@fnKz(~L=6b=k-#z?Uyx;R8=*9B3SA<5fr=8gzVxN;Vg z;pgFDVF?>T*ItV3c3Y8pe}9;!^WFWO6x!|g0O;OX5{$j@#@9V3APGbi3=dDGIdFur znGuMwSywDH1C$c(F)vM3r+I$+_T7HJ+wS+*`_1!5kEUf=w5j!Oc3zfuZ{G;A-rv7}_wG)ee)WgHz>vfJ{bsXq^WF8MfA*jJ)nEMipDyR= z%P+tD^>2PtOMU$8>Gk#X^Jh=TVQ@8O4)%bRPQn+yOk6f~u(Eao;AgeOJOCJpH&xuj z-NPe!k*Ye5<9g8wuN16{yn0oRy1To`s*2fex9-tyr zuIlsBtt}L=siP2-aoB9)pFMppQs(p2&#lj`9p=N`9a;?I$Q8XX zi7>-3j2KXuir~`KJfzfN7>Y;{27vSVtl^*?(GgG`dgP{P35&K^SWpl;AW&Q8^bJV! zG9nV>Quxz9_|(jnrKJ~eYi%6IQYo~9hgxraVG>nEqEd^H1Q7#8g!S~Tpumu^ctk&F z_rAa0?{9XGUOx3$!%ZW6nRQuaYo<$^rt`8a^K@R?JTK>Y?wdLyAo04xF!VYMbsXlo zX=}td)-nubx8L48ezdv1-R^gXJs5|OYm z12}X*;yRR}ZVrb->z#;>%bA$USVXwOs$m5}eDM^_EPC&~&&#qb+Ptf`rJJgEGwopk zW)QL4?aMesSn>jP`*9pM!!RiGX1BXP9^YO}u&(!eRl7f)4u|{G>9j0Mu4WNY3ZZ$H z#njtj1egIa0KB_@2LNsgo;HUb9$hv6xx4qNd1!=tXsv@g2s1_B?XL}UAxmx6({v7* zx3}9Oqqzf_X)NdI{oDmXkjrKur!YcVj3(eR4*2qR-_4i>0+Sex0F}j+w7V;+!s#?k z%e>6(e4KjI^E9>A+}!$nyqlW!0D!{gN{CD(#3DlgmND;Pq=LZ+2+UMbh)9G*GLaBj zh>@6CID=zXf(9WWQUDSYvoH%Y5JzFjW6srx2q}me*XR-S@Yzhk018scgB=KhlZNWa zi01S!b+aBsg%mCpY z=*;ZVjlhXjbr^jGOEEe18A_r`NB4 zc=YJe&CQJ<3zIJT=;nIqdVTZw@#9BNo=oQa>1WT)mZeSE$hq~VjuFE!{PTbQ&!_YG zcsP9Z&9}e*{dd3r{dZUUtC!E8*IKvRvF?UYb8`X(M5z)?O*^bxj}L;Ge>f(FW1?RU zCQ?N*JiPbbRh2C-v=FhGYuCh18JLL!EMvCZ9l&ZGqC{E!A!C|OsjLIw&1ScHSS4k8 zIokh@mI-hLm%Xvn3(!d_ualE;@ zp#fNgm}IE62!w?@1p$FUB(+z&P65lZAhSbIID)m_J)^fBKoL zolmFJF_^}o8Y=`43A1FMQm&XmBv`$vE)lM#Zfb?fZ-#AQSrv_|r}k!B9!ZMfPUrJ9Pl?=P05T6E z<1p+t+o9Ig?U#9EYON{6vMlqm08pPhRtz8@Njk0tSZX8P2P_Io5J4eW(uZifEv43> zmaz_-aYS5U(r!H>kV#DefT_5(X!!QWH&35Dc9u4;HagvOQ_F6*7iJ=Y2#08H-E<&f zz%W1|CK8gczz7%a+Na)t&@Uk>h*+f%1A~-OV7s+^iOF#@aEf8;001BWNklM|RBK&R-_Qj4 zAy=K(>a{lAZ(hI7)EjL|Wj{?*R}T+2PY=|2nGgX`+j1&A^zPg3?$P5dk)1T1XCRyJ z-^CL%c0yaD6hV!ewfBlryJn>})r!4G?J7}Q)vnPN6+(^Jt9DCJ5u*{KY8OTQQ0vM6 z#gpW9UL^N@-PiR!=X}ltNr^aA5!>H44p8uYhE}Zx3X~8h1A?%A+^aSzO)*NK_*1U@0JXBf8UZJg_ADCvt312! zt6aQR93OLIcGhN*vgoLag{JoBpj0EnE$z3BoKWZRPZd1W@3&GoJE|F=cbFlILQ^O@rXw zvNcx45&ZpCv2mq)!Sp3*j}YB7@7Z&4*mAw!bA6m%XYV6N7$yw}&i{Vh4R!z;H~}mg z7jN4$C;ov3o-whQTz%=FilNZcas7Vl*2CnRITo9RHXKp;b!7X0ORh!;iPIJMvv8W}~KwyWYyvugC1X z^4(;;k}v-dPY$t5QRRzj=ND^OY^@lU)a7DwM>Xod-|RFGv>+?x$V4C4h3SHG`@f}t z77^&GY0@Lu&}Hy~r5<&!SwfkHkXD|KxgaRyllI&Dk_WA?7Q3^g42R$Fu{qRH&ymPl=beO+zXcn{n_wL8&0N;txj97mU@wS5NFOzl2W5ed)OFj zRBe_0q-#J(08b|I>a|{T2bUB>P1h3-lwJC;VvCt!c@9Gs9~I5RD#JKrdT|sp!g0@S zzRg$IcJ%z@WEO|7_!iul)VoT`dHX&dKRWMFu38&R&YhK)?`kPo>?s`I5a4@(;M&pX z+hXW6YXAeG?;b&bIKqveJ3W`X&3(zwCWf(iY z(tMz7n2+zNxf(x8Pa(UV;F+&zbE?M=0!rQh{(@?I809H`t||z_dAp&{3lulYBGI4H~G{h_;t2B^W;nsjT5Va z3M;$kJrm&4My1GXvw1#_yeEaXsGJ7`TTBpWnTpJeXG`iH^3obAE#n}Hw2WA0`Ypn1 z{l2H>%yJJIegJCLTSaY0TdQExaODN=G#@71mJEIWXs!f_uYkIfK78Kqq}F1Kt)Q3_ zl``m}c+LAPo*c4La2BGru!gFVz1%uBIa&bHyj<++Qs=5LqpsK@5!)`d8mnD4@3*We z_=JX%6bh15#&sCxC~en(Z;_15v0 z3YYN)Zpx6=qpNMnle_$tuhJp2b0}<7mmqER(A?S0eJ^K$$aw=OjMST{jA0X|5JH!< z(FOn#bh&Jh_a07t&``j?$zyiXx^N6M?21dn;mRW$ zUc|$WCq15{YR|u$$r|QjS!zTrpeAs2ug|V)S z{&(?4Fj7tRMfi)Lqmn!0qt)_0BzgP9;p)$^L~+;YOB4IWy=Kfz>BrVOZ&-aWGJ2_D zjnA@AB;hRdvElckX)-`FN0vCvsdNA;5F`Kv3Gw9dkauTDe?Mz5mqCIOHh;hicOCCf zm(7U0waLrO%Pp__fuk!r=dnG<@ZA_GqgzVAPtdlVFRSTSg)jqKzIl~L zcGX^vygdJ|Tf-X#4H{O*CRzfZKWp18W~T5AGB5OEwCNR@bvbc)r~GdWqyOdoEoHwg z{T;dG4q%XJZ_lyay9IgX7ou7;LN;=4VVVCnc-3t{ahOPg+5j~Jr0V{)5$(S&u z3pzha%r><2K-F^S*(|TSEuq^9JJplNytTO*B1fpFwWJ_2*h~s5Yi%hl+t}N{MG`1b zU%kFWsyN)ab0YLzwli_#P29F(8N3_zr z;^O}bNhYDXRRr6{L7-ClszTbE^#L)}0=??>EKAJb8#zqaxkb*BJX_u@ZtdTWb@ahe z%g*t7gj)Kl3cdF1;OoIy;teoORr8PPdOqv|`qicQdG5CZ-v~~LxWL!X$RtCU@2(gR z*tJ-9h|?$buN>fB=KS0q$TsjJ=cBj#eJ)G4e?lNg)PXgt#O1`xZM_WJ__Zyu!nrod zRqcEXNcmZ7?aePivHZETdqMh7i}aDG0)2f9r^K`NKPU(6k?6o=!b8IZaH!M2iZI5q zH*6r`_nBmmJd${_;x(X*G1HV}0*w!Fvix?x&4C_u2WM z)28_vl2YlCvVBD|2aJ;*c|5nt8Uc{;BTuWOSk@2TKrF4v6{*+8w?rMEbxDpm8gKr0v<>_GVg8^3N0fPJx zAdFI8wtDXqV4Uq1?v2fXJ|ofs5<&HNvxbg=JIR)#9t1LtQ+QKIP9BHJa3$mMOe3R> zb?A!n3&JSB6K7&dFWFNs58F=k?jS0Kde1|c2{pwWPAiHGFWj*hj_@zdqFv?y-y48( z0oqY6UZM77G64@*KnR7^Elm*&SWPg9qDTT4+TAp659W0yhu2wG9zAVbVkx^#ubms< zwvIj{Z6r0g1-3x8`81d&H71Lv_<#DgwX>H7{w!{&$Ke>b zSIZMqmN>I-XDXNLBvCTCB)XCK`&aH#XBvoL3Tsa}lFH!wkN8@r)sG+fUt#L{U*CVdcE~Q@jQb{ZFIu}| zz?rW&Y_w(|ZJDpUzI+34I8|9fdKFXWZ*XjG;x4}$)&19@VR2KwI`U5RT&;DTL(kqh zJ}^J65~q+ZD;WEF*|iqsVlPBfCZ%0!DwH1m^8$U6p|h<5#Tb3|pQWV$y*BsD zPdX`6=-D0C+4EyJz`*;rdF+v0_E_A-Rb@#+YZe%QEC_guq}2Jyolv!2pZ!U-%<&sn zw0+hjFg{<4r%%Nsg&_%$`pXAYyU9o=aI-VhIH_tQwB2wxQ8%f{rmjPXcR(m|xs|wQ zU1%x1wsPenUVg(eK=P?uqK=ZIl`;*?tf|>43mC`u2X7!PjJUYC&^>3a57kWY zuHEw4Xco{}>&U?!?~jO~x7w$9=$OyjpO@%-{%f zsb3tz9vvQ%Y=_KzD8yL!a9EtaIFjxCswnYRN_XgOp#(p}+|j^@_9CX?Eq|>V0c$7_ zR)&0_hwlQH1&^oo@~3Q0Z~Ez_!Jkm(zm}%9tjl2UXI8NFzjs3H{Pk+b>N`*q8=vjXM?7D9CMyAXVqzSXS zZF_Me^&`z|jf4b{n^(N%=Flc!rnF&QbR5;}+en}PX@=u`yjbxG?AQ3*6;%eR-P$?7 zWa@ZV3?lXYa+s;->OVry*-j7M>{W68kSTWqLb+T6s-)uLLj1F!3u(g?@I zsMDY7r23BgQKx_Y6z)fzTwP6`5Q9}a!_N-!qskiOV(_<#_8!um^|6X?-W002d@iv& z03Zh@5`*Gz8SZFkjgiHmFl9)_TsnxpqkFbEwY($k%pvyIypH~&+)_CmgV2a~X@Q5) z?v{4|CrxCBy)2?eSH67t;)3t74H@~(Pf8PO{lkfg!!EPe2Vzwh#OuG+w)cZnY{b0( zOX(6sJQmc7Pbl~Gb+o{5&wLd2O(*=m4WvkEQM56QUfm1tA?&|M zi`*omgFK|yHzj7}jD~uf{gB!4d~80IMHDk>yG7n_aTu5{QTd4BP=SFwB>F61F1Khq zyd&%wK@P~pwLQ~(xf_*CA)L$BA-uL4+Fi7_M2x28{S3?G115tMsUV#%ExEOpl;>qO z{5f1i4a?jcScOJNeAuxkdWNfb4l+qc;HV`zGY_IF&S_IwT3LnjNQQ1XnefD|+4dZq z_%?6;AT%OeDP>h*f-ft%v?F)D{5_QdkSykp&EfQj>|9OH_A-FfbQc{^Je8fyeoMf? zb?i5Zp<0?(C@fhD0>*W?znTC(UQc#)#4(j~SB%E5Gb{S@RIri#<#dsc*KjLzVzUo1 z91wlA0Lf^Zm!CKz`!Hkn1~D$YQG*$GnW7bb8%UyvmsBrChZj{;edK&~QpgZ}8Du6w zr9GRdmyi}qH;?zl*S&bQ?Pae2(A_ZL+p5ByV&h=&w&LFyrUSKx?I8d07;f6urb68XRu@FS9p8Etyc5THvq$$ zRXL24sk{oW_Dmc#=a4v(NfpjTpw#qgX8fH~KT7$2Y8Ji0Kaj9{H#-FTn&Lf7l1i|t&_w*5r7$CH8E;jiBZ!_xgRS#8J(A7c0XhLkAbQ^YmGi=x4&N^KA4n zo|QzTrv#{}aYkM4I9#u!@7phR&F!A}*mrHWm)YKhy7Eg?JInA>AOCCPqcyOj#+J?P zF+6{lLCL!V0BhMQ6gaijew@c^E#Hkn?Bt3caq7a{>&qu1tvy785>Y{#K^ylgrOe*< zP7U@#k{0Uwn3or(+&Fo`kRX#`(%4?T`^CxL2FW?UJ&1mi*{@>Y3L81HH8aj_+i?!k z)~LRjfBR1ds+nviC!+4zTJ~+e7`)Km?Y#%5<&YsT5E#pm#yb=>_m{?>lZpzOQzQ3e zrpDeB-+;FzoKEZ%8H`)WR2JbZJl<7WY;b6u924rkp;VHJOkCDh5Itc5Aul2$RZ%%+ z3`t4+L-=6Uyu@Pw?2%;Vv5emhx z$ROzOGtrB4L!z&)Ipqo%DkX8IiM(m)K?$ovx$Shz+qIn?Tpb+vst0y%pTj*00$#!I zaWW=mf0HpfQfc`fIexSL*x%9Vg{Zjd=MDRae*I?fs$6h*s7ipRxJ4btLRMP-=)DN@ z!k1pW9r|ZhBdus$yUd#>N^~sy!5zopZv(sytu*Kdm|+-b0H{m;Hq(2uY+ISQLJxhn z3Jko~NYu(=LuMn}0*?ob(0>W)vWX0PaWu&4LyGoIe5mefe^KAF=nvYHn~?rFb++4K zOs|NP)(rUOXrgz1dDRhp<<0R7-Ab@)GwYcs-O{uA<(ieHYlO&c@^6o5ko0AxZ@o^t)lmKCJd1 z_?|*ys{K6-Se$=TK=RsL7{+)Lc;ng5!OqCcey%tjge3$h&FqG@n@wFE8S{SJP+@Ts z70^~xfo-Q-cxi39**;>IVrN}V)(Uv8>n8wzo1fIzzq*Pg?y4B&_MZikEa|R@^095> zRFU|%8Q2&kNYscAU}1gtc`K9idm*>9(&^^vUgRg7%0O?dkyvgM!EV3qWa;A2BXh4m z(F8N2mOymt*yCeKTMboH9b^MWa4^9I3vKcbkA96!bC$J}BFkYojs`}$0Gxa5B}>+u z_7=uZ&a0*E3N}F*&+ezS$#ZG2+&+(UumVU*hX|Fgh4vz3^Ar_=?M`qVCW_^3%J_e) z=_SbLA(;An1e*5&vwgVbD3T;o)NJSab+>h0{@l$aTo&Z#9fztQQzBbvdBF$x<2~-{ z0}>SUpz`|A;hNyneSJ{U7vj@%diczt+m^v@i8?^gm&fN9Hu|_h;9`G*>JwedzC%P| zN6QU#j@8a%OZ1FZ6aTFUtDRP5UUi@NUyKwVtujULlj{kG9pLg2%|(sMJP&7eAVBxt z+s~+_jmksut6LYV>FV84=l_x=?4O9O=KUi0kd6>_^5CNipThRs}Mmg!T71T zcdT7ego%2}F&2PkvJ$uR(lK$fk-`dZ)^JN8CrjM?9hhht%a)`soVsI&O@^a&WUEEk zAEOJZbNb>lt2Vp|40fCC3KzetCA71Pwzp)`a3f!4JB;x9qAnug`J9?a$k&*4v!;W_ zFI-N_H4enC3*V!a#C`R4WtOGAllZdMA-0L()d)r36waS(3PzP}JCYeixKkUJ8DBYc zqeLIfGbU!vjHQrH)}z^MT_(gX^z5fwD4%9Lv2MnLH~in<1C`Vm*LB4w1?J-HkF-F$ zioCsTBI?z3G+hiStj-VaQQw4gX)ZpYS~=;t^owrX=!Iof{&eg&wd5*VS2R!73u+WV zO+ZZTE=}?|6DSIj;cvw$UJp>Ds_xfrBk8v*N1wY@SwJaBs;jZLo4_+P-T;q!zDGst zT=9D(WolThwjB&`?^s&u4t4iF%AQE93~LX}1Z!eYGY`^ACoEntnm@GaM0ibP@YT!~ z)^&&ekMkNCe!a5Ne<}I5x;s5Kdv_ryR?mZL<_Wr15keUq#rVbcV^Zb2JjN5IzLc2f zDAc9~vM+nxzc|ZMo01+RH;tRQy*b(uTI#=SR}u$2Gl%~G%VU^Ykjw|br2zHlkdu@3sFoLbSpM^H&o?` zxR*56l&vqM=z$K~WCM>im6<=u)9?3S=#N3#--J}U&%CdtLhj(HRO2UEF@7R#W4xxn zUAwleckph?JWA%iA-;&@fR&oE@B`p1N8narfk9 zM}^|emTk6wV{!3A8q0DuR>A_7xg>PE^}^Q*ZqmNVSh&)?XvkfOo0P$}xox%h*~-O@ z48d&kC1J#xT$c2QvDCIn=Z$b#Upm@X%B*LR6s@TL8e1GXFA)hBSF0VQg5}cHsE)LE z+3$x}+hpY)PuAoVC}>O^s(>h@(cbvnK5EulmB$7Ne<{b%o1keC&&PpgVkd80-M=c3 z|M9QXVzF1PYdQ|79})G^t$E!qNix(hRIhGj3h=Bbq)7$y`WL2G$XJ;>@9{%peLY3q zuC9XsHR9qO*qaR-N&`&WNRH|FI!VL$2$ zpBqxQ_n-9+5l`DWIQXq^G}zat+0Z3tLuo6lVLDJ^Lc%se6QJRB1rtiGBQpL)y`DHQ zL4J095xIWW#zO6&6>R$vUE)3e4uCbQg*Uk0WxOBHQ$H^zT5YZBFl2I)E_$(+>th*I z;07hZSfKI2C)ru}n)Qu^RB(oSl4`^vj=&9Xv-gM+kMt_mMVG@X$@VZ-w#vRV#-{aHdQEdF#QzqY&+RuCI$W&D51$OL;&^lY#|Al&iX+XHScJy2S+ijaap^IE zzuG-J90PBWF<)ThzdIl&`$`ayRB+A@MvoBP>@j$98oq}(HOG%e?uDa zBVdm;wNu6p7k+r@icAQ!vCCJ9WfoKvncyC-PkO6binTQzi8}TUy|$1IN#YHBL~MBb zzI^QA#&1;ZICAs%jW|{2ES!Qd_tN!8yhB$jw2zG}DT5i331;z` z@%!S%@xn3?1SR#Nm{BHiCB|qm=f4`G&9bxG?_EIu3S-oQp%?|$WCT|Mdc(N0t*s1% zy-u2xTz>DAC}KhyBzHegOz&R~5C&sKRpSwjgrI(^1qvyBN8Hyh9#4mk&dg-FOrAj% zIVaZVf_Buh^r%7g9`(ieUIV&fA32HWwA>GVut^yypn1y(#DwC(N0D2pc8uDVb0k zln+Q@kJTW9tk^cPlijeaYlF*5&mu85f*;6Q-Ye&b84pnZtNCkvUEe5aC8F)~(VD_y z^ywV6J(>(^1~Qn)__(hu6H<)|?@aOTwy$fi9WF8u)~&PaZT%V5HBX{xYIu+eLu+v| zsg*}ElHknsZISj3ctralMh?&@Skkrlr=k_}v;l;dedwgeiT$EfJ{b{n7 z&ectEA zna?*j)h{GSXOF+L>QUDu&VA4I1nJ#1?^9blTW8;OdYCNl*bZlq&29dEA7bz)n!(J0 z<3{uk5UatEf7=8NG})usZoh~*qWGZ{NQ{XNnkDo1N6Fld8{_hw8@=_;>PY1rGX(a? z$vI0rm=q0g{C1WeeR_Z!PV6}^xt{6dusUKc@4voOzbqjTZ?WTLX8l!4K!5)GN9yG12O8Mass@!YaaaCLUO7MrP&~n$Z8w* z(Y$e-in0PwQacf*he_IQ#afdN3yq5|f}Cs+@r_589cn{tUnH@EaBdF3!Wlcu6KoDw zxfLXdH*b6Oyi#Voz}(d@-o|_;97CXcWKb3!p>(G>EfNF+JRjf}9heTXtDdK+q6BgP zpe&CZ-CSv6k%^Y9E`UkY)8e7FU-Qq|lo}UI`B032)h!h)E7ZTmgqxd0+T91V$cKzg zwmvOkF)EDv(6zuz!JNqhWCzhhCX&w8ppNJq(g=g}l)~fX9t3B4Z?=mE+j*9_9(72U z<+I!;gZh14i%?st4p#8~e=mT#8aND8Ml8Y1JWFQ81(YYmm+gF{>-`Os$qmd$=#v~H z_Wm?9lfZ1#%#3_xnklCK;H6C{#uc{^QpRHZ^$ED79aEc$X=U`Jd)<=m@jVdA;wVPj zOu+-rwCtMx`rWGf?FZ_ly-+m=utKGI$81cgfEbT7FpC>6UY8J)DT6`5i+B1u4*5HLEwjA|i-*v-P%07#7# zLs)7ZL1_spRHoaj^3IxYjK|A1dY*VtfS~Th>KA{v0*k?V33~MF_SI@!6O0QX)yKU% z$L-t+`0y?`+NvL%sJ1o_w7tFo+jA33{?Im}jicvdcLwu5@NJ@^1=7W1gVF$&=xME# z@?U16$|8k>`vB|9RQm^4QXeC(Q_*R7eQuKBI?yh%> zLnG2{!Ya0E=X`Q-vNT^$Lx{N-t@`xnDa8Ro$D_ZG4N7Y!{a=%;u7Nma#>^O(XP!S? zwT^0&T%J7E$9x^N%l)bB>wujhtn97r;&*RShba~B?Q=J-A5ZQk+`)?{o*gK}I?0-g zwT+FL%C6mqv`~B7OqQ&gLpZOlqR(FdTAnq$xVOP}YjnSHw)Zk@Pe+`t8+3co>e>*| z@aZ1G>L3j5K&$P+>tDKV$;BCU(y{brnz*wQ+1L=QorshQ7Fc8JF#hQi zeRP}VVDGrlsim+Qvf7_WBKlo8;z`hcl3<)zrvA!Yr2o?#zK(y_a?&S?n7)LllZJ;u%QaO{sDyQPzj)wTXaCiSlK)3u52Hqv=K zx>MpQbB@NNn9D5jT)!GjaAf6Rg-qrdLbhgRM?r{A?fEVDbtxWb;)7?O*QeZ^@!`d! zpIz_yJQhE;kh>)G9(d#@GUgetDlHYJ-1_=t5#mzYhPD=aHfZQkWnYxU`MK3EMe9*1 zm%K(EIqfZ9OK(}Q=ywscY0Hm~Un@``HIsm^0icEs!ry}gE(+kQX9g}`wWc0Xk3_0p zEY#1)3_P#p9YDCD7Tt8kF2aEfd@*I8!IThSk-scvCJ!a+FpjHF!xg3WMQ|E5A{cld zTcL{s#LIb6fTN##umR{;Obk}vuj(r*Cwn7o z#?0XBYUsCI975Vr{jWLlU7#HWU_EAZZ~pM>BdiVoY`7Z9)blW&Y&5HIn=$o$vSBwH)4==S2cJH2MXGnL@WtA7O#Ii<_wmmVs&1Ixe_ z*~s#GK*lG5$~;S0U3rS^Yy&^TGc@k0_~3Aul_l@3rV&TsiEYw#{PgvlPhWB&QF1cO zHZmfl=gvR11U9l0)qv;WeLQinl~=AE$OyguBDD1Xlxk>rH+KHsa#x$kLZf4LWaGFVN(WkX_g z#B)hVnCo+SpT&jWb>E8oi#1xm#N@rtnNOYJz3AwpAnY0*3Owo zm2UFZ)(%~fvVZT_I1{#C6Am}uiZB=B%O?{kcejf@9Qj>6fDT?3|5To`GEV;diP-5| z8#-karNC~ut|#b;*2K(-$WUbGF#Z~tJHap!&n%2{4~Lmf&UY@8S*>wvH3Bac@AG8} zab%5!S>eGS3gK1m1xk>8+Avs5c4I!v+nQGok@FTFmYB6tJAcIzW5&>$C>q_PIC<3|S@~j$T)~ovGL=Oa^203S)76 zNn46$j|XU!T7LcHm&NtuWMcX)QDQCLNt+RVPf<9Qs!sN0Y{3fv{~nc9O+~rU?d3E1 zAyVK1AZ9=Mr4z8?A2qYBLtH?h5ds_cXDucx45kVY4}Xor&{N9XCf-z~At4eS-faJN zBd<3Rgqy>2Qql^{<{+m`QbFlMWjQ8X)~m-!zx+68IzJXkd}w27D>r*36EMrP>^PWZ z6a&Zsu*bq{-&d8JrOw?TN$oZ?rFmqZEN?o6@W==Xz$k8!X?<&JEtArqbgz^?5vS6I z*$mX|trwT=-XGl++LN3Rw#J6-kr&z&zP91(Xwn@RBeIWufnU@2+P&)xt8MtOQJ^;m z(U+r;p_cy)@2E{$cdeZ-D)6d)%K?Milx57FN89q^P-|i9BPj~y z2*!<38Ek-~^B<7NuLK}ocGf^Y)^7>Dil02Wq1yEANq|nQ8ht9wyx~g&+$h!v!aL-+ zXDk}mdWVEOsZ zoa!jdcvfDbcF*2IvRbWj%Qy7KO84zvW%IV|-*P^+;m|B`GUu;0mfY&Z=+i$3ft`~7 z^^r@T+@m;Q4VfJ~4OI(fb{XeHmaokKA@RJ;w1q{J;UV%OX?Rq!9;*`BvsNHu?QgZV zm9_h%#b1)XI_O!kc*2Lb|0L~Z~0)+i%P5$mF`mSDpu|3HBBovCzB*B)Z+y zrPz8u8KAkk7x!~{eEd=uX9^mPajk@<-H?uR6DIEceItk_N6~(NVmk4x34U^Z zS-amMGgIsEXp}?u-@lzY(tvMR{pwHu@gAas_yB5&-AfY&GxfvS-n_MxAdTby+vy2C z|9h|%9dS-fJmFsIx&Cv`ef8%bK6$pzd(XQr5!>#fkBNbU&&;=GYj;eZEFU7IH4@b& zIIl01;T2@Zg=N380*njbDBGjymhFsNnyda7|C$N>X^a@`LgvsTWjl^=WaX zMt1cJF}kjBwcoGvN1@ z+`~tqN(P`&Bv}g5S#amLVE)-VJrWd#fl_-FF(xL(2$|%U@#_(3wfRC@`V(Nuy8-#C z%tsGI_)S~NJ37KRjux~C3%8A|4bbRN%EvQJe&ZUy(%=v2IMew2-W+8M1ak)7Wo0~4 z;YG6aGw*gvvOQ6Z-Hh3L%)k&kSt5Kw1<0^7x(WPNH0jhu{7Y1;bSX$b*;j8RgtNf| z^U0~!;cxZUajlE{avob9tR!~ryUK$BO}QPT-_AQ2Fd1)~%M=_9&d4a0w0uBeZteLX z(CblAJs*jy76<>}pJDoXLNV4|J@8TA#c!?}fy!*)L(ZWh?(z9Ca1mssO|Y7Rur1<(1JWxFSf-DSClW0o@TG+UKHVm^SX27GJ$oK7C3B7G4@Gs+JAAr_ zhy)NEXv$iPB#)^I6HzjHgOoIo5-V?22J-x|)e~|Y&D0V6nJ_oIcBUmAQxU4g_c+@E zIpsWs{BCHJT;(o?3*2(0R&Fx{Ii4~NCKXv41f9U?G#!8D{41qG=!w$4RklCrXZ&x6m@v}jH#>DB?r-G2xA4=L zfw*;hj6PW8Wy%l`HvFq1V=nHiAhzI1|A`1v@i*6L+}nwr|LkFhv!u8hP16?Q4maO&sAzM}N`+2yYZMmeSEs17U7^3Ej8DX|uZ!5A4=0M-2>Y zg6#xhCc^2fc^oor0Nz11tZX@ZZ*6VefAZFEkIsA*xree48jQ^G$dB4EZTWix8k)VD zU9G%|S<+w!V2aXPf2Ke3ySZK2cs-3zh)JUY@KOYMmMjbpzf>__ z#nupUpmCTUIZ5WR2z)POa8=QwlR2RT+;9Gw)RBM2NcM3#i>RpsgT++w zvYb!8OIs~kw`DGCMDi6_;@cg3GT6X{gBDz-_rULG&5{c;3riK9zbP8!h8d$o^t@kh zi&@MCeGfPPQ1M*Nc6Q~rKY;OBYUL|(f zQcp^1K}qreUtd%zap!gG7_$&njs_sjku=Ddkd5zliGMyw!9$iCR@9Wm-X2mt7eowi z^ya-^{=5cUE??Hm5BMFWRJ0&V;pA%WFzr{&34WYMQ^ouywo)Y^E5EAzC2&~i={EapyJ6waEr&rga#@RE zQ0xV3ZsF+iyZZ6J=KgLyZQS#z3*M56y7==Yl|0^wWz^!%2Aw3nfYf!zzui%rEF}~1 zG^L*9nH*#VJpGo;3-H1ocz>MvR}Jej+GVh5wQ^2W<3&sY1c8u{4&r+kVCzTW zzeI(!jiW8ns)YaFMxB`raIYyZ<&x9EL- zl`QXr7I^S)3K|r0+Nip3!p(J6eOVtF^c~ae;X}>f=1zC0G9g?}YM`!52!{7j(Mchc zcZzmb4*rt9@0w&A9}LFlW><_peH?^YH-698n%UZsW2;Xq6?5;oUjToa9jldUqG`>q zk8L^b90tOLPJ{fTldKu90&2s?H~Rew?m|9(V>GQ`|BT&m{Fw=OJ9;K#RQV{GgF3ee zxZuWfA7@q_%S;X^$ft0n2c;xntoT2DEq(EOhIeQ#r~!`lm|=UVCnFh}V-s}?gK{T; zh&Mq7czDgszmBELdfD)JN)E>xfU?v+Hl!t%fiv?lw9H1995>S`50I`Kg!^&FEZSn2b&CMGLF49+%j-8qtWa*-GYh4z z6(B7`3Vp`C;lOWIf6M5g{fM_y?KgH4d8vE_1MfSc;kHQ-b}x4>8@du{N=xg;#6(=W zdPLEXAI(v~Nrfo2CoH>pO{{GYgv5rp)nb7^#+RSwPb#!w9?CuJo#T@Zl9K%J5;~=_ z_TLBR+1)xh0lH6?VjBl~2d`a_no4&CMHN}`;(^TM7JNUQ8t>AyAuQjrm0HrYZr19= zhkYfCh0)e0+Xxpd|r8hi3`b>W>LK# z{N(jAfCn(I|Gj@DB2=X?Q6^2;$onRHKiGbW=q<0Ut~U-JuiTyqip|S3RiJ_h{_F+Z z@I6BoMDz@%KA#a@gPS-#X7K1qVFk4QGSKIfPUI=iE99lgd-=qw+zmki@O4M~43yEy z%Xi?mPXDa<79CRsSN6LcaK^C#vwu)$IGYB%@}&L1kp;a?qs_x86>MkVO9}X*^J*i$ zd^)I-a2#BWBOQ!MIaKxQf1_Y$m`zaE5Zgbef}^vD;-Tc?i2xLkot!sJsv2M8w8F(P z!oV7=f6p)%43`e59`hVkU@Dd$QD+|`*n^hm?(PH95*C}an{NS+^9vdVqQm+h^2L!b zB}czinP{t9M#6k(T?K!FQ)@hu{WUl@4D{ciCU7$L;^mx`Qu&HQt&6oL8|2+BY6+wP z>XH{$pge16^jBzi3NG8eE27PY!ETm>=M26ANqNf^x);yv$SURi*b4o(b@`(2bba^s ziKm;!+B1@@9T^Z1q4K{`;k)bTp~af7S^RBNIP4g4p95lJb9<73o@CPn$KB{YOod)t zLqpjzx9)fnG1lVs3p>gATYc0WnU=3&QzY*|wV~2{N8)=3RQPyEZSKa-TF=$&b?}@K zX;z=I zN}9O`d{oY1bT#p8rBU7?;;O=XXYDZSzTmA!Dli2FeP7JVck{>jrg?E%FojB))GX=H zg3-0JL;uJywSA^@CyoS93J#3d@u9z6uGhQSo#WRlvCdZDdQ>GpR~r5IoYBGg_hD`{ zu1@1w-Z&rE03Mm0JJY_yYy##jLg9Hf_tw_tdCupC{0f>FXKL`xg%$1`g~HH;m%|K{ zCVDM3!k=SITc&Dc?>%`UQC(fQ&GXQb_>cC_kjlkJj5h!JFE|L0`Jz_IpN9;>9QR5- zKso@b@nE3jLwR-@E)Qg$11BieZR@jDu3jmmR-k9hzR}s?D_6XuqrWBj+O**L;s?o8 zL?FA2y3qSfOq((e($*~+Z2r*pL1T{2z8~j~%zQNU8Q`@drgJ`%d__&M+4rM|WGgml zE=*O_h$nWrH6Wz^|u)7$2yFpuD_ag=N&1@rW~jXu#LYNtL!nsZA0M)-H8 zcWlcXcX&~)V)`&e>V=Qj-!(rXyR<0z6c&D`048}Rc{?-z5GIxuiK^4^9n_u}Q&kvd zvNAU;Um}elX$TeGcw`z14mx~JunMYolUTk1>{oanOE7u{G~C{;yWURA%zfHrEAHl1 z{Okx7)Nh!wwRINOEjqiwO7dh4P>k%kIRT{TwF4^EE(0~7RDnq5nGH!*+$1ljroGRP zNGNL$8~MMkf7T8`Hx(QKO3=8FSff(y<$IFS_FSwGa3qu#LQMHrr2>0Q9r^cJq0Ly; z8)F&LsHXX>U3B#R`j;PB@y+OIBl8^5D*Rycq*v67=vt!??TSco#QEh`|8V8W{$d^O zGhv^PtV0;BTlF#fPy;%qvX_p#xrem!x2ZzAMm14n4_8CJ14a>%r?UyTMjaR00`X09{&UDtiqPJ;6xi;0u~H!8;p z?>#gIj(E4h-E;l8`s(uf;ADNY-5xHCBidm2d10Ov#I3=BB7vZepOX9`x>~!hdwjJ` zy)YKmH*?%Mj}$zy?=kRE9LW?fPqC2tFhhld_P!L4wBNTrL(p>|gB}}sYgPM;qa2-t zBJlU3sYxL8QWdBuRUgly@eAld31CVX7z5YBThMp}9Q$NENk9>nmro6-kfCTr(EUYz z`q7L)KQ@0h{8@uecSGaB5a45J;OIhUQeM*i5B};ORy=;_ONRWh0XRz^@-WDUB zq%G6@Hx*i?3P}ITe6X^|ABXXLB8GVzX5Q^T&hm`ik#mYoPn7%<`G1)wpWn8>6(eh> zKanl_Lj@&^VH7W@AaMnRp1Nfgz4~%qBE>`<6bL0tc;3CVU+E5i4;{AhEOxlVUE(3; zRsf<}v6l9P_Nu+at}a8|zV{JJF(OqPouXt?M#`=*sP6OS3h1OqhSbS+9bd@ux_S%5E>q!s_AXn@)54)D*B}V|~Kc<@hcZ z{%kdZ)e5 zi*G=WKWTs;+CFkeaxC_7g?mVsr}`N+dlr3|7zSS;puSKd#7q0(+r>eD;&A#A$+q-} z-4*=R?R$tLCTHENdJx}bllK;`V$0k6;CRdYn>66jgOlrOa=;F5fSr7 zxNp@R<$S=HZUv;o<%6 zGtDe|+}_`HC(dC*CpeNcoZK5e={eu7Td;F~VsQQ&d%58d85U;KeSQ>zsYTafFeL64 zDKXqq@@}7d`~*knkoo0aV4np26P|K<;-M9xb9Ny|_Hy~HCoaA0k_|hSQDt3+_M9Dk zYSX-QeSG~IFnd;x_gCZo@-82H56aLFPHQNsc>m<~RPO*iFIz%_{kEHlNdgeoEu1Hq zqo&~PhBxXTyB%LSW<&aqwNN_R0e4^|NPu}A?@H4&ZR`xEfs{0aBjlwXqinohHmFUP zDP&dtzD^)J`qi!wC)nnGeco`p7vRnZy>u&00KK$bPO2V2XoFwt&RmmwV-OK;DXpMV z)IU~0`^Z_7=>dJ*xNxr;GUkbon&C6qpq{lbs!)ly-e?JZq)<44ajtJ6CDsm8Ku`%V zie!=Gm-^t&{IH?KALZXADv>)X+2mdjyc!z-pTVN`1^q()5Q=XCu(mG<-zbo(8*<)5 zR1`7U%n*7P|NT?#l$ek|=n~h&yab4MtkaBNyOWxN8BdI~(>EK2$?rs(q%gt>~24=#o!_FT5vwQ=KerLh6BTlyc1O{CC)3sI0h@dVWb_3t6K7 zyKL7}FD@jI7T|-{rTr5|t0(Vgl5Ev#)au9Q3E(nhD*exxWi`JN{fml`EGfWCeXkMD zcFgCBSLAxWBf@=Hc2&e9uLt~W>)XN%s;+oDc5r2O3`~ z1>X?MGN2pYe90agQ#$v<>PJ8oA#5#ypdBo+OcBsCpa-&mi1~~?Gg@Jm22G^039y6E{fPzPVtasybPkI z49x`+qwXAU3U5~UF>S8gh~0##O5R3UQHM}F-+7t)e>9!-Ta)kK#s>@-y#XTfL1MI$ z(p>{-kq)HQ zL`IpwYi)HL5~rgsCsVYsY_Q~!_ukA(a7c&b+VLgYBz;hvO>k*NMNwHafa3m({6D$d zvQG)VkM`Za%)?c(G`+IT=MT=r4))CZg3fO?_6kF4>jcyjTjN6Ih&Dk`8i8g&R@7^L zQY62a0B*MN+l*ZrpcN9wIk@KyZdiqCj0sP*SKd#ifD<_%_Q#X#EKU5XlX#FdqnFg# zkZ`+E$u-1(uSwr2Q0e=K_M?8Gq|-tPUtCO6!RSVreK=|Oi)&lSxaw>oL5BwU^LkF5 zW(5Vj$j)@{2Ul_sVO^`UDR$aw74lisMjYZl`Xb0e><+yA7FG~MYS-g$&Ksxr@6gQW z!1xjTX*FzrVi|;wi!8bxgDVg{)mXuW8=Gc*ob!_1i59IuqlY$xUNcNx`59+uh2bin z^JDWyR6Ce^T1efzWu80TyqCVC3W$@|!WrZF%LM`dW%6#oO~oMs2YWc-Sgg#qIYV~y zmlN!G3JQ6bYzuyoWjfl^Y>Dj-Bbk3X#f83ouSyC1`ZOaxiZ*l-7|N=W=9dNLZ(O^m zk-TLvXQ`!|i?ub*H%p^-@mXv%>!p;5r$# zIy>?xE$HaC=Bh5ogR>*W`-j4A1#&?Oq5Qu{A!H@l1VlLelt8inBs&6VnWi-_$c^Tl z*Ky(Gc|M^6Aa0ZMQ00~~(sPMCEyOt%9Dv8hT#mXH@Tt?c*1kw!5fyz&8?C_{sn^KzgGPc)L z2kMzR%sKI(F#>~Q2JK!wZ|c2jDknpS$5fuG62ga(isY+VuW6~+ts#^OlnSh#q^#rs zCUz0u$Y_j1)0wOqqxn+i_1vHHcA7BrU=`RX^L<;9j(M&3RItTA`pV!Is|-0g;uqSw z!23(I%W8-(a^`xsrs1nS<+e>-io48v!~f0z^>vz=oz zngSyYg>wIl&Om`%=ZB5@WqYN}4syOK7BS({?pgvAhApUpXXRx=$=aNYbYt4H?G89# zT2wNdK=Z}F#X0ToWZm!aE|xw2G~-!?>&&NZOkkK_u`qX}OR*-kI2~cmtqjPo_AD3e zbBUd}?dVC@y1Dn(lu~xuT6b@Q9K^?j<*Unf_V7`lt4d+X3?Znz&T@znHr zS(;FJT54D>nxCC?wM`q-I@^m@2+6*Kt8lQ0TSm-$BHw^fyDk|;GO4pDI7*oF(j>c6 zs>;#I^Ld1|azb5QUtWK#U}lM{4x>7e5tIP$Bv~Fxj!W@N=;^y_W)nF-JXhXNmQYkR zsWAo1O^Q#mM3uGF8R6A|{X zC9SQFjjS_6$CMe4+y-aUiX)LZksl*jT-|r%i@G43G{C5S5H$g%vckd3OH*>Bi%m)2 z(@*#18D3n5S85j8ur;p>_g{P0ecjS0GmnEH@O4s)m5D?Q=&=?npdV<>;HEy4w|9hK z3=T$*7>-WKn5tn%9L#jv*)D2gDH_j0uEi2LH13C40t)w)~WO`uADA^ep}|UQBqGR5TkW z?i_BvBwBJ15(Y++!U2{m&jNklWZs~#rABW*H7n&(?4wIUf^6&hkQT85;UJP zQ!-~o2Q2Wk%v*ee@T(fs42V$bE;p70d2engApevJxxPY{IZg2ijuqSg=cBvIM$?&A zHYY)D9J;(>!o)8S0DSRzt9#al7X_COrL|BgwNanV_K^O0eECdylqFJ^N%6~E#gew!Yv123ZKlecp6}Tr z3Bcg@P7?7Sjn(NxtsKal9d6}dtUkhCp+&5gE&4+s1^WqFdAJ89(8VNI*@yos#!yhv z7BoFis}0xe$pBpJ+|CSPRS6iszCBl`I-;3i6^SGV*XhuYgej*&nhqWc%we1dMX7+M@E2`(SFVaQEdfVbHe}ZX})`%eF{X#Ln<0 zL7ngw{jLQ$PMH(j$dQe>q;VcEw|~yTsk(mR;cmi5_WrsV9zPUHV;rH92ZqQ)Z7j8( zqDO~8Nic0N*!UM0YegC*aTE@V|D03)z~Kf8`v$UN@fM3wQG+@2FFeUmn!7~1g~)^< zGCsliak6yR9kqE=lY~diUrhbY$ca#1NBwZH_jg1E7}8y3d!$7ajO%DV9@Bl-BS*p`~L z2j}HuN-+*gYcG$03Fd8UnxQOYo>J6?(A4?L%>>0-p9hI9V@1;%G^Zv?U2P8wZo~vR zU0^6=;b3S?DVA)NBc9Wxm4$wRV+ie$2-^M1aMEOKzJ4N zdRP7V7pBb(SJ#HJ+Opaip(AhIy4Hp9SCNe&8EN8Bl_CBl?Vmi5F+>kJ0F*@~V$iHJ z%Pq&XM??riwjv#W=d^Nj3BrJplHMagw(r)oKlH-*af)&f#xF0Kp~XSB6mAqiTmXOq zbPi}BCkH_z@bIb!W@dIyw{~7+w#^j=`;$k`_%S`%>+A`+a?h`kP|pd=!q04#kuk?2 zn0fXIz_pq&xKhiXAOnxG1(HtK9~MGEc4kUhcyqWb0Wzj`x~#4?G)JO%o?785;L_?K z*@dNZ!%T5kpA~;V2i5GvP+jd#;Cz4-vyNk1y`$EaWpwnAb4?`nUTbYuZ4MKh_}>en z;t%7vfN%7>wh1UO^XybSE`a_|!)$MFD)S(K0j%HZ--qT@vSC-%7_K&nZF87-R^n}M zWA%qyqo{zs6eDo?TOu?!I~#zYv5|%;8XE7=*_p&2YaB2JO8EImh>l=)ufH~~CQX+_;skR{H@0?5uVUnkRB`;90P zR}YX3&*EgFcP8Y7;(8vV-x6rEzPm(hbx3L$kh~-HdlRRC-_K+H z2fN5sH&(1WQik+f;QZ_Ick=3;thU@Omr0<4D7FA}T;4_n~Oj*ATE47Rm z9!8c_(=Y%P7t4lEpTT+`DfH$WDnDJo?jUhOS%*TVF_@nocZl-F8k9fVp@P&g{?$zP zKdMj2s?31}nnpB!$(3@1C0w-3jsllh7=M`C8D`me3I{z1uf&RSS>Dw#miWya#7H*sA>l=BoAC z>uCN6<8k}_z#j##uI}zMG@{Q>QGqf~C#6SYlahZkBadciA%L;A3;iE$PQ#vJ45My& zd)OM4A8pjo#&DjgZu{yrU>RzT1Btw0Hw@aDnXaLKu=OQoA`=9W*-Z?-{wh@}pcq@$!p5Dt~_WxJZ$kDAfG@XXS`*nswBe z>%iA1ZdR2B1_9V_#NSL!K)bWM#U|KC;yBsnZTntkXRVjys6pUc$I0$_3BDyS;~r+5 zl@edbN04G27hAA2ypzkog9%5D#MLXzdS9+Rxn+N0-CuG-(*1fuRs*ih2hC zyyK^Ie?L;9q81KVt=`e7yKOUuEey^5ifmQe;?x4zqPP;Pqd4E?(ACy2nqn!{zzk~$ zs6QNXR`o|`*%gPjhyZ7?VJsN5|6ov(7R43g3&TEP=k)TaV`#+$elR_0I(J&I6@9_A zdinTmT`DJz?{c*a!EXf*f7fJ`7I{8qUzI@W!9tJk;1*M4>V-^)pc)o%Ls1U zoXqH+Jsa6QS`4I(_F5|7^Ux(EoP4+J%}s2#fw88I;MY{_5G3##Z}t-dlt7tiDI=pk zrY7skni?m{lKB92Y5>bK;N;3wSIOK7Y3H@L4*5$^jJ6SSHkQV$Zf@AhOn1}9SVwJ3 z>{4<>Olw2iQB`qFQO8j{4w0^7cH<`+d~~2RI;&4@0ZIx7e6GR;2*7AnM5)yj4Cd0h zYVEZzDk{cJ=mC}PW3>jBYAj?#q2dD8u&W~1Bql&LtioOeIp=XjbI1+cqgcwcusb9y3@-1j=SbNc3Ul^^hqGS zha*0pfy3`z$0Y+B<>H}@#wCinzy6)vB-?px0s>So0Ib_Gg#2W-YQq}s-y(V`4)TF` zFJTNi3_oXc5EW@5Z*T5Hg4Zi@c9(f>{*4uM>QArL5(TXC$^DD5>x;n*wlK33yP!6( zFj;#ZCyBiKe|yLDtl!ta1?|cvWS@uTojG^QOeVgP7(-En+-2-U_ubv{-S4_Q;1s7z zxE!d{eeufIa(u-%rDZgKgk^V26;2_oXh3q`7#2B(xIv*1GJs65@BPWf>EFM9{d?|F zSLSOgPp9^_$R5Iem;^lBV@%r4Ged3)u|bz0|C?)UHM+Vj&xUrCdC!s-dFU!ui8V_( z1Yre!=UZEUu|25c^CX`c;8%ur8MN;C#PE1mcgVvk3yJ~dF?rAxe0QCk9c@YZz3zz> z?lqgnwf6~LhiZ2b;WM4ln$RlzJF5?eiJ#ORT3of%Fu^V6hVjKp}tVL%oN zrZ=-0bxKUQ9=LTpwfLc~`@gsqni%{Z+wC`8JXsFIXD$2UB#Zec)?l+}LsYPLv18*X zEJu{wYRpsbw85&BD+1hhax{25o)HCvwN_s7@G+Sby>t|=xL|6Y|;XGtd^^aYU zM?MhTpM$9JcXZ0Z#vjX5qSDU4)a|WIc0;Wu#i6@?1OR!~eJR69riL`F!&n&L&(kT6 zIpN-Cbral*aM!VJVe^GHUNtz=GU1DuZ=^#+cq^Z249Vc8p+^V!j97hW5PGRu2Ui+- z6J?g|IwVk&*ZC{Kj-0<*# zLWZpb7K2PNO4cd=TxBN5Ux=lWjxR30iGay7<0cW6NLq)<>-?N&!Ta$&hO&1*L6&G{ zi(sZd^jmfe=O7Ra=6r316sL0KvScW$tO@v{y#qHnXmc9k$N5~NB-ZE)6cnH+qkhR) zVJ(vNq=&8ou@af>LQ6FZB0qSq3}l7Loz2t#hzZL!8phb3Z!))+y~%vU`Ho2oAtkQqfkhepH8NZc=i&5D?9W^Irw!CgmPOXm0 zH=yn+lZv+=bRlGfqISx~>@V0L?9gEwv*0__s2`Ew_(!-!sIu6v14LYSHsBFaQY38p z4J$%2tN0z|ciZ?s4yb()0nYqj3qDT2vn+J8t8UVoVMb`1o4o6T;iTA8az9$u+H?X2 z#R7Ur!1c$MFKuD~dl66ZBQWqd70{1dy~D;wwmGn6Gz0J<=-{e~~ha0@Fwz{}0X8y)a$r{dm zso&~A^q~(uB{0`p6#tvxztke^X-AWRE=ht(Y2OE1TQjj!)A%_5VY!=B{;}?4%8R%N zhY;I+6Ej}EgRWl8-T8{x+xpDRgEAWFf&?_Cx3;wnOZKlY!rq__V|D6D#&1~o7Y4JThs zO9K5Oos;4QLZnQpswY}Xxwn!ob!GC&D~4cpGtMeQ)3dmo0I6qy>XpmI@NaNA(Rf2J zlRzqy06zo>9plNON)lVMs_`e6W5TJ>x_vAc8_G`_?Xd4)r#!4m$r9_D!=3`f8D>>o z4y6C0?edu@tQt|RJ7tWwyu0VD`*&*^75oUoj_M%+fQtia)r~VWbMe+UeCf+EU*>Fn z=M)pltI2Vv(HfUBrvBjG?cDn1{QU>Uiq#hC2Is8wl1?w({N)ImX{Nh-JTgVT^o13?Pgfl!7a`;Cp=a#dHl=oQ{i*f^Q2ra1mc%YPO2 zUD*G00~Wx)@-+w^zrhXV27;)=HE6LKdT|bR<>7mAKvtyx{gaf&QdYo5r9zT>3M<$9 zD{Vm^*PhdI0cbxf5m7~63|uM4LG1|>m}`$2*TD%o7+#$&(YyV1fEjAF8Qjkdi~TQV zUl-S8O(omZ_~0&($Qm|@`0FV%SAO2@Da_2zd=+N`R|P)Nt#Mj<25=jrrKMSsqwL3V zU5Wi9=Uw`Fus`98{>KrLJXhHnYSLyYuQ4ZQh+n=2X>0 zn!f)FNzH`<@UF(I?S79%Q6u>iwov>6scrMcPqJAnfH>SQGzoz~g5+UV6pjklo;__D zi6y1F)^I#>I4uRN8*2G-7)&f!(b6Y5$~Qt0Qb#ain4$gfXD!YgLt}A_2f0Oumas^6 z$(I~+$!eZ}n?9%Bb|rWHe53&AJVO)~-k(%3+Aa3@p+{sNX08ZWQidmb88KhYMdp;J zUa1%9xl+AUNuV8$>aOewFbTQ7dDr4Ewfr<;G%q^u1#{gwG4<%oYBy7-aa@0Lib_-{ zO-7Q5{rLEWuT0c*S%z%T!_1CJ`G%)V{^V6ac%_%pLKr8G){u4mJ{jbgaWxNh%vF|I zCq1>W=-F!q#|}h_yYkjZJSuO#`L+*KVcBsyAaHfthNt~s>j*fcm#kr39yL5LOHqs|f5e-{%(ScoXQCA#;ZS?}lX$*DodFWgnjLxSyPQvsV4m4X zqL`U2L0#%HROq<;^odZ3uuWzac)kDVQ+O7Aoo;T-HTyPxKfrRIH}YQ>`mf8(WRJD{ zcLk)Dbrgs)w0urKTY#ySgjgxX8bSo`SAjBQ7)43(Cwtk*dbB?W;QHDb!`zQgJ40;0 zIyb&MJZ}f_pL=l~bXCz&9VhOkjrwto>%b`?S1Ih@G~n{P)7-PgkB*l=2m8l@~w?RV$6dBAt#=WfvU~8i_B@s;cs7=YpfT z{{Sq;W}ysyMdX9t@LWFj*%Bg4i3CO4vt}&jL}L4k6E5D5VXRuq;~M6k61alnPWiF$ zAAawp$5SAnQ{5IeDDG?5lHu7Ea-5=l(Lnphx&kUzqo(fLLYgVfYvFCbpTcz1z9T_Z zd+f?Cd5DkUL?Dlla_-VXO+X~mXVnR zD6^PzT_J$-#ft zgo9A8!}$u($VwWf2Xlqia`;wtp}Xr%ohFDk-+mOIK;1}iO6cqI2$B-WA^8M~9#W%pWHD z?w794-_Vzus=Fx4mHrfAt}oMJBxMp3mHV5Y7)cmK1(RD^kM?1d3C4zEu?m*%ppG?0 z0$Z`QBbE=wvBt9|Plg6{GKNXPnVBR2dIl}?pqr63%nJ7Na4EWfvE;Lshw`y8hW})I zxSl%i{)B$YF_sqrM|UNJMp8r%{S9OfHNh(DO}WZGl)Z}7RTKY&u~vuTXshRE9^^(7 z8e+B>?`c8i4?E_KDpfnDf8ES75a-3@*|DZOcPEmnoojrhbt`)#35%VtSpP{DkYUpr2f5P3?vel!IuQ$<4c6DT@Fys zKhYx3PF3i8gU3zDVTGk}xVqYj0_)tss&-5OO3EaDC`>C{I${DjB*-zztw8$vGv%i} zOzSh=hl0_xI~0$j79nnLQVx5KCY@Kqcba z`dgQ60(s~+QkVrebTOWDdAW$~tH3c{N&4+wpyi|=tx~CjejUt6edU#8Xk!h|aBv^V zm5u4jM}Vr1R;R4dzXd~{+f<*=c!Gj*aiI3zK#OGVpUj^~;SR(&m>`8TXro^Qm#V*J zKUs<4Z8DX*yC?wLE6l}(@RuMyp^3#Ry}X`4d?&UQC%YMC;EgEo zjF8N7es*-`!52Npx{guH9Bgu5OfDkx3-Oj^ALD2-;UOfs6ozf4KQ<2z4)*m8?nbu0 z5C8xtdO>wo(ccOZtJjU93ZU?S_;@f5RomB*pQ zHD`jZ&eHW~q1@Qd_*pce7u25XUNG;a8Z+wFUfoqidgi|wpTPWAkU;RG41=Qe$6gv@ zFAu(IR_aB=U;>r?C!7#5roM!8FhFAn>HjAxisgj>%p%Dr{;9X+^Dpl*={*dcea-*i zF*j|wcFt$UvDYh{+Oxe zEDDs7Tyb*e4h%qSkVhbtE9*HW(`|!r@c#U3vzW4_{LlWOfFy+$I?cM`aCcJ^E(3>J z{i&C0nu-kPQVkn2TG=WZmIV!EZRfdoxV9xiT6G4ZB$MENR^kmB1(*hC-L|2+c+o|8CHATmG-N@&e{~~edu6-3u17}Xr;9m$xNCU0Y3M~3 zuH`4{uI{Wj$M@TyumAn~w>y#RXWCfe@LyEb{B5-C-6;ws#n9|@z%+xA!Tb*mgE_qo z?2*y^lsL8UaL>1Pe}B~%lKrr>G&N;jDEnV@4`~(Eb9Jti8E4x28S{sVy^8a|p4tO_ zQ>9^>=YTAaNpY5qhtb7cVN>^~hVPz7_tfl@`s_OcKB+P>>oh+qWVpM+*hzkf+~$)p zp?)9!N%@tJjH3Qges=ILFJ8G=onH`{Fv21?w2=1DBr@GmC8$C^=WSQFS;L+m&Gh-+ zRCKfD^)b76j+yFvN1bEW*AVIiSIBxb}s*rX=tYJX?~QN7G@ zrsIfDsF>3@%!0QLE7qv`z1}4$SGtkM`3)M;>2CvIEo@M$74v6?;!QL#` z#2Wj8;Ui{4ByH<+W+CZNbypLs+!cDu7P0bS5{n_bHEXXqlA08*e#z?e)q^_0VvFXJ zEr}(^U`(>ur!AnikUd`o)_Iso{##MEx zx@+}0S5**%4?cv<{h|q~uplBMvE6`!3;+xoJdXJ}W;ITSP&n1D$>MJDyhB-bpQrN% zzSbi^a>N2isO@$3kdwFTLS3xp%waplmQV=|eIomETo)qQV&y$xOAJR_YlI#$$C9?e zDksblj=&jS?f6MPfG~AAVW3x$FGk`|J2J`n-AK@`DonvS5}{ z+3cc}|K3)XQOiM!gXUjXu?}M!JBRNSaS_d3eEYo??7O-OF8{q)eq26Yi1fVQLk|6E zxwvVFV=E-BD(v;PY{G?9wmuV$RXg0=)GBSq0luA;i2yxNf*p9W_%5% z$|Ypt8c!vvZFl8@h7N65;`hEK3qe!Je)?;fx5rz^@f3B;kQn_JgTAWvcMCSy-M6`N zMM%<<8=M}syNq@8Ng({)E?(~oCZIJ3FGn7|DgQfhb2D=4D<#|KFU1hzgGTdGFos-y zF(u=j6?;+o#&N}YYO*bN#rf*Q)lkjpZXXjYJDD1Ng>iKY4sKmxpA%)Q*VoHi7&_Tq zk(|JSEPSvx-M`P@I|tJz=6l*|F&S@uH3cD|i=~$o%V#86xD#JUH2WWBC#N@i_a@%O zbAq_XSRtVwmlR5lC|L%VO}zuqvmk?n5y2^JeXZl}WQP4-cbDJ zmbyN(%aS^MxxFldXeK7t<@j>6{I4y|zG2U$eIH{kL7TMJ+es{OuiCyy0{``U(2t>O^NCKpSV#f zj-CIV%ELNv#Ky$qFA?vCHP;#@8|pb1=U-uUEI>B0@~R9=TAjikiH~wzMYY-n&6H#{ zJ8I0|%jP$&ZAVt9WKieSvJdeA;&rIOxradHBooj4r zmDMVxhXv1#H`m~BNi(SZY$@0O`|q%19Ir1pNHbke;`GKU z9Z|sJCA59x-L4kIHAFxjdBR{NjJaCXeO66D zmkWDF+-NRb)uc((?0oPL(VBU)>-^{3R}AGnW&UR4?r?XPo$XU9Iwu_YR)4vN*#ih1 zkcMS(#Y3-#9GbE8(4KOeJhqbF1K4ml1jYbe6zYQ0z$cy5>=g#)Z?ifv9PqOyca?Obbvrit-LlsCJyV=Ln@L>9eud zq&{^ja52reex{zDwX140W_@t{2-y=g$UPjH??p)#I`D=)78h*?Y z);&Uk>ASvjdo--;CH0s6p1bIlF@I^Zv_*6-4Olko_pG6}r*}n@k>bFx@8&{p*=RdP zXYuRk4#mxYq0)5~^~{yTx3={wT?2woWrx_z-22DTqCPHWvU!DD8|k%IAmn~zZ_jWKBcYn9^5>x8e)IU@)&*^SY2D=igsu?3wqbv%7fvNi55^%j`;6*vWhat8BY_e~GUUml|q2 zkOiUyG#3OzV9dj0L##V~+}jyCsCjW0SQn?@+!e)^UKWejN+X^1w-rp7VoXPb>R8qB z%=F`mEwN0xQHhvF@+XVwRZ@o(odHwe~84;yMo<*dhffPwee|;ai{2gDn0rRTIQ7E=WvZs z5)*u{)ue|h``K#P{yo9|RI{{V;%oQ_#_ch_kWM~Fa$ZX1;n!13*-p!J#5r@_e9gYl zd-bZ7zwLm5h_)#4I@=N$LX=Ut0Jt$kz(Jd^%Q|A68u@ZjU%sX{t%pq1{rm z3C#wB@ekQ0GhoP#^u)EHcA>@G$)`UTBypQ9F6UQ-On%XLV^w*y7{*}pa~ zLyl`wrbcYyD` z-&0tmZa@=`!I;YoZr0}TW&H^ z35h<5R|u>$mKXMB{tExN&kqx4=puu@{>{NCi{9ROS<`&fSb{)fn#Zxczy;gOj)0EN z8`t~0F?9@TA{QOVU;)+bxPumkrtwhxYI6afUm^Q_M5t#Ni~gG>q_)sLB4hxjTrpN^D?aCnC&6XZgT zmzS)XH5=3C2C{1UZd?O=vvfBne(#UOonsHjo%ensy}dmwg7anf+yiu_bMI}FIOX%l zmMAF9zONYen7zq2ogUgaiC$ndilR$Ju)Ss^fkl>O38;d3F3EsaMEuc(*Y&3ntb!!a zXKq{m0_R*aaJ>2H##DQtWbu>n|H9Jr)2k-o%BIBU_VibYh%}G3q735gRj(D>W<(W<=&Kyk3SewmVC(KwVoIL9UnQELmY|!Q3rtfGAuew)Xt3i z%Ysbau2S1nB86X;N9=xC9y}|@!c-zWMOn+uRR&s2yqJhyvTyO)KMC}>xU=$V6PKNj z9_>V;)39Kt9E0;gA8Tl7(X#5kQH0vXXmrn1eN^#Uqvv{X9>qfYOTjocnNT%1n=s~5 zqK2G8S@1dt3T!vBhdM-L&X+*){~=pg*IJ(34`0RgZ#pW1fNoau5&Tz}>5Jd*L_CTu z*bA}PF}G&A2uYvE=~lwf+v4MB%f2-i5iEIijym@h;m+oqVgk)`#jg;CuY;?kFZG1? z_{&ukVqNV^ZJv`zR@Qyk01#@VIl@NHwz&kuB9_H7W?%Mmr8SDZGyT|;|Lw_d(-XFE z@yWKDSF*ih82-%PJ(FJO4BwJ$AXJfGfImoWR3>p}U2RXdUqg3e znQEHjQkkm0M7j$4K!rj)EXikocuT#|U26t)@lKr!T&YH-8|T+vK9dJ2^qJv^Wju+v zl%Y&6-+rV0WIl&YIiNO!w8)0#ah%29zh&3Ge1W&QBA~XyuRnE9|N3x$mjApyGV_@G zo79tX1`H{do~*^VDs#6>;nEe?yneqHe1FWOuW7(xdm|5|ma`+?|9XTDD}9!6!5Y>P zNzU!U9|>;q!}4w(Fyrm8D&%T9T`~n?h%e+6ormaEM`8PcySGCt{z1VvcfXxOq>yce zFCqDLcPNCN7KK6k>_!y~{)iXQo1vzzYr$h&8WQT*r13T8?47(3p_O++Dg zd7rOC=CQ!Vx05#R&vkjA>5&uqW#hjKamLbms8Pp%`FG(aX_;_Pg=-uf%x=D2V{x{KOVgs-A@zpF zMsD@!aOmRQ{6F6;L>eD&d+xc=2c1PC4?8s|DTJlPcfR-7D7l$G8T{%c#k8kX{jJj^ zQG||@M1lr`D|pPRdWad81i;TB@q&4*I7C~yl1SSlcR?g7;0~`?7=&G{X`r8Hzn>*k z`4tDh->f&ZITmb1+Dy06d64BRMSmFh{0ncH=UYREqp)CFqiwN-+-A-FF292G{~i{J z=pZMH{^CA_sm}uNA=v@~|1CpG2CIQUN-D|d0DcaKQ>%4=aa^Zer7+kC7x7WPiI(r~ z`+vQ8)f10=27cwhqQb^tIg&rOxzSCNpVI}bS9fH5a*Nl%Hxc%&zCg7I!(_8w{KT47Z)r>s%het8>R6k zw&yW=Vm2`&0gBll2eX91r3CGjuryZCw=X9oHA*~>`lb9^6(_eR6*EN+(!(mg-+oXO zMUE!RYq%0T_fa(boJ|_(>L5z=HU4Ydp0d|_mAst63KcZ`Sl}BYd;RG5>4U_z{P}~2 zABP=xzy3;=NMoDSFk$+#sO+^Ktl3l4WlefAc~~O|6$`q$cfMOFG|ldw=L`8a=j@-` z-uu=|#c}0>$kyrUMsGX~JlcMBYV-hs_HkJ)tTW`3y}2HF$=CMY^s#x}eEyijAIG(Z zsrjYzb3b$QkgHn+7NI^nKg^X$DWx*dM|W5+=vUX;<9fq}92Zu5NBjb~;^OjEZ9 zfmo3~oSK>n=hxhlnsOSde+C0@By>fpsDvWYH|HFZmERcE89;vq=29V-=#pu*MFdUY zMKC}lV!#;SZDpxhMK#&aSvq+X?h%muiAGXy+Fg}JPV2|AAWdm;ekyh7JL9(mZYN)U zGL?r~b_S7NMQ*KdGBbH(?~2hg^0i^d2^0OUdOSQ-m97Chn~paQ1X!vTv{}my4C{() z(PL_`9t(p}zh+rHU)R!@6=Noi0Q%_xEO4-M;`3I)rl6O7|YsWa16udbTgM{4Z! z2_J$_x@r_LVfxc3ypjcKx_w?+t$^H5$X0P*6>85VV7@(D<)>(} z@jRh?t%BF{k!JZr@pKNP^eJys3$>Ky{ZYFpVyi`F>T%}H=l4r|eRpdX#8A#d`*_0)sOMv=ds%sgc2nDsH zZ$cjC-d>yE9lbISL6>WkX=vr)O-xHRR%V;{%mpJhs1Mt@g?baeN@p(sK$faSTYH7( zn2CiDamGwZ|vXA&W$FB=p~|Eo1taR8PS5|DKktKGF7fCmXkyO{Hlv!KY2O zG7O1V3!<(5bv6Zz3|LQd$hE6?FZQ3yCv)@X?99E{*hgB=CQ0Vvnd8l$kuvtxBX30X zf0iLPXEUQ{LSk`Q^B!MsOUtd(KUkIH{rx>d|6}uR&zE&nkg_y~I$LsB-5hdp`>G|# zF0R}8D(Z9SnCs>5I$EX1 z{YJAG*Je3rGDuFGnn$jfFd~La+mVMxxI~0Zym($~#+&vFtCh^*=#~)SYZCIvR9=G2 zBb|OFP}uG-%JD{dnAnq_f(l~m37oIF;jA{?BtLf5utKy&>;G^yf)?gBxomQGb;?0h z?1H%!LqbQbrU5BU3II0Y%T*Xg{`ZX=dN?tI&*YG5#Tgd3Lvj9&4N{(xbK0xPY`%UA1Q9OBW01byT&TjT^skNuM5#LlpXPrlK03bR`Ye(6#h* zkKlE_1*61|BX~}bU?j_;-v(s$AH^^evCPDSr6rAl$qQg|5=giP%qAl8G6Jy8X_1_k zB&5Q+$JBv<^N)Y<%KLgz?V=S^mR2t?;2}EYG5MSsbKlL*}(>e|8nl@>M8buU!f-tDd+sm+x5j7RMtLV-^$JXH6zvGNS7^=iCA>Dn5-b=sw zFdyvQ2nEH0XuDzNqT-kC##U}Ccmsbtup}>2Hh&8n_eE=pMo}rPO-~l zRHE+BKtDfm(iI_w3AIVJbfvR5yDu^;9G6}kW*Mawf*(83*ylOa&3NYRHQ7uz*?S06 z5Wv|=eo}Zwq&uVv41P|9$Y&uG^BH+;dN|Z-iAWQ)U zw1p&z1r~?a@Ixk6ZQ)-xs+^`jC_*77HFEUvl>@60#KW~*UR8`mWN=UBe-YyoH`5o+ zLKDr1CfAp}q zGZk8`Ikx$Z%{p&s6%$Opr%9I2U~syt-~+Ss`9={Vhmdi5tx&#tc5eBz;Y)7Y4SpC+N-pjIWI0+*Yvc)fuhxFsBHmNor-54;P! zy=$cZS(w;(ZB}4ct@ynUy>q-Kedy|Te^$d7bl&{%`WXu}i>Q%Z>7Da2!zgsa$ajb% z-{pD4gdjBy{Uq|UUs9@q*!^WgU$5BOo4(+y8pFQ(ABlZZOZE4=4ZT1wW>ecN-ZQhV3Pg#Y*r;#*;*GAijl$lKoiSqXAHs2oHjC!VlXQ!P4rIf9J`{& zt4<wn1r3Vr)#bAn=REYgqdn{oDYBtN2t*o>QYa-Afvd8no^yt%s9N!)NU6{Lz(PdS zt$Rt%g>;?kt=Afjzi^Vek`pMHTERm&aWm`pKtsnUplw!+wxmHglPE%L@!qCWJz*jh z4Q7EOr=*e-=Q>pnkP0)2Dp9a-fW~QF*%G}(MCML}uIuma?v!a5`om#t2(3E+s&0+c z(?DBhKJ7Ov5hc~G%ewAF!mW6#XdL1WB4R~&v^^g)2|EQX=L<Xb2QG3Fq4xJfg+?qu_Epu zjTUs*KrjU06ofgvZAuxTLV*b38CKj*$^0n@N za9dB{w2*EB{M7ulH|T_mE^rqS33C&ZUtM)yeDTTM&E3EM{G0uLoXP&@fBJ`ui*p8r z+c4-?Uw-o9+4(>JU%!~g$!ZX!Mwqz;4AJ$SnceSp{V+IVx_j8|cOO1nZ-?RH^6cX3 z>M$N3?{4oO9*1GLf7l<7^TY0Nd2u00a@SxieEaJ4@n9F1&%XTp<9QytVd%Qf0@GA$ zZBe-v)OL?G0zMw6#A^;?ja2F7F z{pM`j4J%6G=1q6m-ugzcBcNHiW5EoU@&=GwfVkxacw;M_gpIA@J~=BsLDi=vMmx_r zvtp1JADv&Ft=1i%UvBz~jUnwHKO7zp9>_TpxN&)Eg@;%Oc@U|RGSsYkv|+S~_!KP1 z<5b)w@jTgKG#71$5CpIV_b12`r;CX_3;}q^Nqx-}ysSQ#Q3A@r-uMR6;tAW@Y=Mq} zsBq$(Sp_UcV$cvx{Q%`)mNt%;LmAiMXRL_eFw?Y{7$dmvR^vFf+Yp4h2rrq)nb}<= ziP;2?W}3!{Q=iwD8%at)(lm`uK@y8UoHx1;F#ty}K}EyNg9scJgyifcU~RzSL~vnI zA&({$kf$*FZ3{CRl>SB;Yu=T22Z3hP)-cN77yC+Xcvn0!dB&AZ>jYI~b zurL`qPSR}6gv0|PETj@NR(kh-zuO;Gdn<9+nO6eHyCv9~BM{*n+>l^a;*(%}XzokEGdt+2(239*o+oMx`f98PT3Wp$J^4995~AcW_vs+~!YQgVjJbU19b z8)u{de~v9P{D09r%Ck`mm#STszT*`2)Mti(`e2`Cpu-79#-E=9|Fn|*ajE+=zvcVE@rS0{SVqtC`1s9lzPp|2 zqrdrDt-gQt9dzRkr|?E&br`qaXVC&R{@M@3LhTC|*tI=q+~k-9&f2Z@AOGpE2<6S2 z_m8_$O{O5XsFNYk_ubjq=C8i~;{Nt6=0YA6zC9bpsq7DXGaELm0I5n!Il{qg)rxuU z`r|x5{^7MIS)Z*ho;}-~om;I|%}YHT#&LSL*_?gxPYqXRVXh-Iqr{=?(@+j~ba(Kwb;Ot?W%!O~)nf}d6F@xPRDv_vU(H)+eZE5W!dCRtHOBz~WQ)ku)Zq0%R2r8gj7vCKr&MB!TZm55t zn$7c^yPi(Rnuw?-GwX9Y6+#L-4R7ragG7*@SnVD-#ZVGa4o`ETIE-hdGArdwBNH`N zKueK=a|rZAabzc_w&hqxbv=bmf!Y$1HQ+(v)c{E2J+;xWVZ@-6x@YI-YMPUro%fs7 zaIAKG+*7HdsoC%%HIE1aAu}m?m$NDphk3Cevq*h+d3nC>dWYOR9^PKx*l`X3EF5S@ zTU%g}swheGPgK(O%crqy z8C9a)z_wWmaSkVUE300{{o}v<-aSqaEnP7$)3~{1h zT6l0F(g*|;76jPILZUrlCu1;__lUthCeNeEV>FTk5=@cOUL_wdsZOG}n(`Jl`LW4~NGuK7VTo(?BjFw%vl}y4M5#5Kvo18zw%};@k7(h#KY`t+ad3Hb;9lEC zu|XLNzXncd!eM5n#RX>p_S~Z(iQICIf+Sfp*ksXZU%&b0)x+(932?}q`YW7d#NqmJ~J0G{MZO2O=@6 z2esSfPQ*-FW}Bv+3MZikvpcJ+dlM)kg)t$L@|RzI zQNMJ^%;GBj;~ySAyxn{o)-F4<_K5|6Hv+dv;-q~iG?1p0&-Hfq zVYeH*?kpk!Apz*BVi9Xkcr(Y${04gIf+mnkn-YPOmylzv{Y{c# zDn^_vqD-SGh&6&^p)IzTaIpw(TeRg5i-r6SG-6u>#W)>1rI(*x{p3eKih26<Of4x25e0cxi7r*^21%C45zqnZUuU~!l%^%(}=eZvL+u!`d^UJe;|HGTJ^Rpm5 zd%jh+BzSyy_;3IC_rLqY>o;$2BBUwyj>X!bTPEK>PPKSqi16m(qRV+I<8HVA{Wq^x zt9~`CUR*sh#M_&vfm&T#I|~ z0>BY1!6|yjDc8OC<)&uQZ^HAWo`ls4x(tssF3jEe5qt{?lGUBU z7Zm`VtW`jS+Xbz&ZWh!AaEe{_PTUdMei5Fog0Ttm*C$y;SgCGcRvLFXVxDvy{ zN^mtRl`Ojh1QH>@5v9~xYf9Y$qA-bwo1cs$6j(yt+P>fihh&Nd%W^~@W$n5Y1cJGf zmGCI!a5J=m+Q^MT-b`x9Tj3|+Cm%yNHET7Zh3ikmMBeZ?M>u)oLOUXOaV-~Fl5cnW zGEMW4Ic0gc-M{3K_C(dG7=AO?)Y?S=7hi;Nkx?53x?Kp zoqJfI);f*{O^KMRTPIrU+~>R-3GS=)`f)ciNK}oyH62TxgEJ+165GOgS*9#Js6T~3 z|HMtZv6fD?lAg9$Z9&0C;Z||`_WlhbH}fAgE){`Tnh$tTZ$ z`qgKpOyB(e+kSmMPV?XY^e3OaxP0@?+Yj%K)TeGEU%!0O_d1S;al3kZ{r=|t8+QQ| z5KzDxeC4avHb8Un+5PbPCQ#SIN|iqP=oyjU-rNquaCWiXoSkhh)`2?Y^=F^IeE;D? zmvy^c|M(|gefR#m$GZpTDhZ@#yxG)Rnc{o zpQ;f9Mp4`fd|u`5e6yM!r)fS$3e{xprFtt7%f9b)PA;X4n$0gqyRlC$#*zR8w**2U z+RNY|X-n)yr$~W-6IUZ|8!QeY&s~a{q!w7Ah$JGUPQuDzZl%^*yUyJ~79!I3dAEB| zRe)F|&ihaK2r$Xqm@SDk73>vU*ORs>nw zG7+e$roTUkPV)kh3%5v(Q?T)JI(b{tVL9g7S?q4SP;Nm8;>Ho7Ro4Rxy`(+V!~%ff zr4*Y>)(kXg51NwI+R_ywh*?_V)#48mPtTpS*tV9KM&U`cgD!S@!ot5X z9Knbn5pqHJ;^(j+8_T;-MCL|7!;{P@9L#Vg3UU$$PSI52;Jb(2&CTP>Pp|rv>bSps z_l~IH`Qo4;Wp)cM(lLw}&g=-uqB$i?9M!!Lb^F8o?YH+tNy>OUMufEV@7!l%_+s|g zC=Uc+fka#5@c;1jX1$VJN1EVgX6Lv^#NBfzGs#Tuq(qfenyxN23MgP+<|og?4A3=b z3}!H0s* zv|$Y-3GW2v=*t~m*;L%R7Rb5rJZZ@0we5arFS}I90GwxE~b;DTZ^Z7VQ zEtSaKsxl`RBX{QYawQ_O`Hb4wfkvr%V>bN%|N5Jv6>}VsLAMj3mSVsC&6iW{u0J^3 zKfLyvU;jH}=EgDd9p1?A-v8*)caJX4wJKLA;;4>?QJbZEb-VJCeY4SuXTQ(*=%WV* zdy5~we*C8|zy0OU-+SlnYk&RvyKjGZ@%ro%i;lbe*{ARC&ieo7i!V0op-_Kx>+qd- zZlRXP-#uNgsn+E$fAZP2z4>yr++Xa>yMF)Rnj`(?+ox3p=I%zE7;rbrGq1H&b70=j z-R)vExt8fXGY&42Z)fB3Ke$A7zd z^Tyuc!E7-Huvu?5!)9k^2ch|O^W5w`qx{89+}OTbRh7G^tN(9U3K5eJ=ouS=bbwz$KS7)tK843)@d3Y-uL~zyLZYkjq7!v4U6&KFFs>i$?{+h{DqWVGE|$yV)60{SWmOf)X4+~#6P$c&?CXsq1V*G2 zaptUM7AK5^aN8KkDLH~d>A^!GBBxxe!XSxb7qvH^C7a0B)7k|d!Q&uiOJ-v!MN1fq zNWjs#>)_t^J+lM^+*Y!Yg&SN5XE4-VL?ht6duoRfF|7Fbn-aY zLzn0DV}^EA2?By#>+RbPcOnZ8x5Er6$bdr34B~#iDE0MfIV>+X2m9T@(f-lV!R7fH zU`c7U8PAuS8|7ecZ~wvjcW>U<&rb8*`QmVAUF!M8<$5&)Wi$cAM9kL@_jbCT6r@BX zAUj=N(Bpb}HWDX?yOO%mcC&jGC`eaF4oJzvIWCs!M%(Ui%Yg{^G-hsbxM_&i%_}qI zE(!U(>(XK|X*JFq9~GrguoO41UgWa9kYON_HN2(LKJEbI5^(HXT+M zlN*v2Fei|+LjYJUmABy@Kl(nhHJ}~hW>9lgm+0F&7SvjqJ5FL2jA)?{yc5H1aw{Nh zE{IM_ZqCdChtql()@#|_9s0hnrPfXp5twq{tv6$JV-cTMaPiMST~-5>rkL8!}j@819V%dcUb z5l=)OsAAEBEy^HhVU;q7!*XPSp!a0IeHHjb|7Tc}@8l5DNK)4Ynx_#^B z=Rf)B^8EA@azkM5poY+jsu)KmVuAGzvMp z=B^utvFm2FhW`UOGl_9ZNfJUU%v*27Efx|~&6JP~RY7nCWuj!v>czZ9ALYptsPB4s zW|~zsBUa9%q2tUsSjEKQ$^;N`B5A#|BP9K58b(!W)y;#*?x?e_1IVkz`D4-Six81& zVi0kK*ZF(_xKSl3Gj=n2{ru$4of~f-&2|sc&S5`}>&Xju^XF&7;fvGz_uroF<@Y|m zqgq+I+|AYlpS@h_#gNoZr&89yO@&BKdp8%mGOKmWsZWx3R`ccRf^9S7P3exU(RaY@4D)c;qwpG_)(QKM4;}ix6Jd3qiW13Y zGn|~9EpGQ+FGtt+Up{|biYLkI&Gh``>%GIp&D+=aZ|p4gMBG_qFeW@Y0^y0 zWYn59klVathveK5k(n>23$K%tQWSInqors%8@u@Si?5;w-JHQJWNL220erYAh$uGf zL11DB%wQJ61XprsN(4urGo(~zCTfNjB1~col%@^js}LCGlv2BZttYEhYZi7)sM~9z%{Qh#i z`s3H%D9@1UXP>_R*4x)#Jb(4%`Q@tU?&0ERpMN~9PrvxfHzxBJXPe`H`%~)sfyQYxGbB$bHOLbU9&PxUdrFeR zx_j$8#Xt}>x0cwh4k^Q?OiIq=AV`uF1e}QEy&44L7ZYvGqTX-@+Ab>LB8dYw1OZ|1 z(b(a1<##|;CxQ?qFcW2G@ia?mu63!##9WJ=pD&L#yIr@qd;6{R`LNlH%rXq)vuCfn zuDgBfFwYh}%Q%(G<#cwodHL$}?0l727&*xfOYbyO5V9~sQg+HkebhpI&x;PmR@6x> z8gdTq2el;HHea_F4IlQ^5W?(_`Tm{28*N@0*T zghwhY8^Ohm97R~bq^=%HT>_&aX^_YyB7-$*qOp6}(!fJ;PcFjfyGhwiYN=nc5jj~6 z)_3L>7AWQe0oCn%RZQlB%YYXuk;jzG4)SE%ynYsTCT+Tk$PVO)1zR`);&VmlzrEPT)%lrjzLX|-B*Dd*I6Ih)%X1@Axp`r8#^ z<4n{#_Wka1Gk*2;cblq*w{Oy%pM3wAjKO(OC!xFd?tJ>u`>$U;|JVQP54&CW&;Ro; z*~_BeU$2)x`^8W9_xFGOufI0fmW3mL6LYLE{`RWq`1tf+{_DRi@-B&JH}M>sWpSpW zBW3*Lktb?rd&# z65`y=-hS)$Qn9bbH7rQ%9Q#YTc3QEk967v=`j`<;0g%W?q z+m1cVt()DBllx>wwJ5-D4C9otR&^);Q6_<_UgPQ?xT?2T-*Pxn*z>hjhU1MWlTZk? z(H$-04{)MU>GWbVA)lSD;36^`tG#%3GF$XHUy(D2k=&-^SLZNVEjPP+i&;0@4Ab%H z`Ptd(@^S#Ds+HUe==I6c=(VzuP|G+avufioT%KR9r;!|)`?yz(t~SpE@HXQJTOPEv z*CKI#2`6uEKS(0#?%M@kz$4UHKt>3oNohBOOVosBE)pKY9(+`Q zm>6otSJ*bFy<4$7CO1NLdj9-;HOl#VQzjG6@U$Gt4-cQsXZ<*iRU?p(n3KC5zrHNf z!@Z-!`Jy+%W<8!SSL=(7lmv^ttXxc!KY#V|_-wlmlCX!WR)%S_Sr1}hSiAzW?dNCC zoPx;d&f6gkrg1XFT9W}XcP5Wqh$x!a=Bze$7;ziC5Hnmd#8Xpo%|`5ym55>?Y(Qdmr_DcPahpWetj~4xDH$QL_RuN^yv;<%raP( z>+#{^XRlAr$a6b^+Fj4_l$kluM6XPggI3-8`!LRjx&cUR0Ev(rn}z;`Qy7awVsi`* zkybF|#Q`F5w=zvF|4J2!S-9`}^>P!Skydywrb-f}&_OBmNn}Xe9qe>fwbrRj>+{X| zY&M(Cb|S=;wncn9khPB(WX=jtL{dxX`&6|oI+WGr`IF^1P5s{N-n(!8@z;MS$P?L6 zE&2RlXZDXj|8%Oazy0R>V;kT3=)r8(pML*(b9R33?$Jl@TwAYdR~?p(q3i<^d0|X_ zUch7;HzJ;pSPUpBB|<+Mv3S3(fBf&?bzQfdbYvCj=JWZy+n?{;S(Wwv{^H}0-`nr| zFMsprW@BhzE?vPE3Yx8k*R!fPGj*ccT$Xx}h*25bIn`zuT*uS{Egk(oF zo+98R&Y7Kv5`Z8Cy1Q2^GHpmQrI{Ke%~IYAHmwi^lZUp;JO-2?j$%$6tTrdK`6g*~ zGZ-Uek&J^R13jBn|~aDjS3jRO7SD;hTrgXWi-g zay5)5l+5w!^@YOBiW3dPL_|t}bW`=0uP%FPE#$rodTpCNdCPnJzAd z)%bd<#S^&_hw@D*vFW6YBupRy@zzgzi>d=4v9MHYEi@w>9Af|HM6o1e4zXIRUOx`a z!KiJwfuzJFW>8f{bST2ijXU332!zpSd@EWCFu;ws-IVn4vqr?cy)YNa%##|bsR0oW zZ!J-YiG*C8nLN%HaOlNaSL4pkS1)bbJ^EIS7cYim``4r|&>#g9;88z(D)hq-ue+D4 zRVfZ9bf#F1)hu#Sn(I{b4y8ZmPiZ`ne=)u^<}L@_~& zdzH}O5g1T&GbKh!q45zADUqvabM5gk)7(BEZb%?b0{BSAVxp#6DzhX`W~QP>0r-&{ zxv(*LH&8M!n(};8&@J+5nd17Z6Nd*1Kt$#QHDM0Lm~o^MZx>NQ?hFTWc2#2UB~_hV zorw)r)ZD2I12bGb6QJz1~i;F>IE z^D^1X$0tvpovqHsPAH&+^`_i@>!wr53`qh=7U?eW`q<8W>d_M?BdP{9XC~n+Aj8#w z>cnhG*jXeKl9!-|3R9}JYV^m>p(u+_vACFXEy$@~pI^)pxw(iqIL(r}>!hSqr)gLX zUDvU~icJ`HXZ?^FTJ{&SUK7D*r+&=#7rw_k>x>^^=yvzNvu5x$zv%mjve=mup zpS}OVy$?RQcC&x_^y#0!dX@H%-uw7HGWy~-ze90$au;&T$%$$fv$7=XyFQ!Mb|!<` z1L5S3sn}n>`i8*9%my=@o}TaTECt!JeE;;+Jl{Ord;gvHR?G7H zFaEl>cl6fHYmc72^zAwVbagf%4!6J|T9_L^gq&D4nHeDs1Kg@H6Px6&OX(-6id%MI`rn23>$icxu&fUeur5k%95n&PL<|}ckw2|Ox4F}!<_bJ zdj=#3ZgH$Hn<(90yLZ-RD}3SsWCYEfw|k zWW~l&t-`6g8-m$KrsQbF6=_=0$Y~ z!@Z4Y4oMPp#F*v4%#zLMjSU`~E1F(~0i?**0J%5}M$X}O>HtN?YpaxP-QHerz55oFo5|tTS&=1aOTm>bV8MYG88e&>AOTHOW#UGD!q;YxoCCcmuuhQV@yGaE{z74%ckovPGQXZiZGu!>*vc z?a|T%gRnJbKT^~JYBBdD32w~p1odqi zj}walO`$WESm61~7ndi?%}93tz5C0{)$8N);>lGFoO-@>#75ZhrFlgFCkl zA3uEZ?KdxVGUKoUV<2$&Ak#TBPXS-Kz&&yP?Qg#9INf;r=Jlif&1&_RKYjiD(X*AM zF450_`qTaS{CB_o`uWR?7sut>?;chsWeGY2Z^6d6%W~J5nW|IUzeSVjL9!Io#jG=O z5(L%B%!k4M^7SLC!;S0Pz#`$uOJNp~wAl=*h5#9oh!6`0$sy&uZ8WynBqd5o5~_L5 zb7m%{MC4ocwzu+f)$*gchBC3c#(oSyN=)i-;|5<|)xuWruVx_LhRYBUxeA5isxjKP z6*3?KqsHcgdSs-wVEU4oN`y|P^*nYaVI!Q zCV-}Cy`|1>KXr+&+=@F~iJZwAean+aq7d4d8Ky9y*Mqi#X5M~;+QKg$&PYXafOK0L z;~j2CYAkM?37m6cf_YUdbY+?70CVIdXo8zZ>MU*FHYO5hZ*V0y0|j7f9_9d%7Ki5~ z4xVaprqp#L0!cNpF(jh`s1XMY2)Q@w*aiZ`J~Z4`QQ?AZk`cR`n>vWhT0KD=yTlPQ z3AhmwOS~(cBz2q0=x`EBLRof+$lX-c5w8*Mu0AD6?mA8dP6lGQD>#uG;0Vn-5$7yg zlw61fPKmPV>M!9S&mBumNJN#=ND#Y~N3B9(laIA=|f_K|v$tgp*c`ha@a+ zCAMmvFvGM|*CHSnF~DK*ORGCGGbOD}MtjvDGD#xY%H#rNh%Tp9DK!T(s}pgM;R2Qx z%J5o<-IRj4+oFb@w?}_qqtuue)|wq+im=J64yIj9{D+Jo;io|a1aT8YWYAJ{7^a+h zZ__ZrF^<)Agc*T336WK`X+4a?nEP(iI}@)~8?8vGcVR1qoQ_{#oE%@oiIKZJmh~)? zKrhcXW?oSQ=}q(MZOaw53u0tsoTQ^Lm!N=b6Cz9V*L+vfkj zzan!6)J6Us2^xAD-?jD}_>XJ9*7UFt;F38xvk)_zjuo!kKtZ&J5Yjf(t=Y7u!*c@I zwkpafm5>y!^EGz;w5;8Ju7gVi(AR;h3Z_(B;01o6WXpk{B z2+~ZKDnuQ`-k{OySlTnI^A)Hbf1aK0-yk(tS;iYj=4Yy(nekrxh zzdI%8TIyN?|W(I2c>PeEjfz(~iD?ymVYzu4v%q+or^=j5Gg4~G3-6LSj z$sNoNg@#;#K!n6dM5U1}5Q|BRWmKRP@T~cQe1PegmiWlpUlyXYFq%3gb zYD7d`&P)<19YXGGrZ6)#OWVbHd}_>b+j~Ukwg#EE{bl0hDAYE}#4LhDoX|Op;X%_S z5Vv3~iXoHP$y@+pQFSoXjJ5$NZ&b#NtgYsCFP2Jt7I*1f0F|$w8Xh!TTiOX0vlNZsPszapXxOZZIX@s<`*5;6K z2QvhEL~+rrS0m;WokLg#P$1YpvZEMg1WF>Bg%}VDC<1UIi$0zlEr{)n8k}>!Tn#MJ zFJ|l04Kd!h_rXM3)hPmQkutSbs!g@QPj;eYW?fp8GM$}`A~Kux%)ObVlpShTlW-|^ zdUAPwxj9{}fAWjZ|N572R+qY1?42$zcMcDVZhrN%|7n5lx4-$r`O0%YTbk|-!??oU z{`C(&y)#{$eDlZeN+koOd0*?;CI9r}_y6wmk5xCh%fI{g-#{q|t*6yzAHP$Iy?A~+ zj^p0WtWGO(*pL1p5C_yZfxiOj~+c+Uh+7M zZq6y_Fdj6%0Epb(2+`bO%Xc@ekr9|Ak5h4Ba$;w5cSE(xM3d^KPQx@>b z!zohFVtm^=c>M=;5Fkfj?I}z)h$*#8u~z%vSj%sF(y*+92M3KKZ7=MV8+PN-E($T2 ztJb)E7;uX{5hRRG+I{0p>`isv#y*EJ#eMH^f`m?%Is7yb>O3p8q*>NcSp;V8OmHm* zafqjsz^PU@n{w`$vj|zOUYwW+ChTfd>qL^HqQiv&Pi$~hbGIaHX4L_>M*ak>H8w7= z1SaO{XlbFsOyUtR8fQZ5t$`3$#A@GLMu&Sd_)IZLa!lB!?B-QdVk1vo2Vn@u5hucC z1_~ua16m10lw#a;GdGLav0!=xCPpdoR^eXF8}0!Hi`7Xrmb7s_v9)Aaqn$$4BL<0} zP&aapbi20YY@gp7RgjsDsKOlHv?d{_AS4dEA_!Xhr7$-mn7cWY*hBIa$gs9c3XvlL zl$frD7$LT{q-JxIBm_58cywwKKt{0B7_4oGBPA9Vb|vxvZHZk{TWk}yqg9K<0}&$e zHI8F)wy06?fbj#l6m|xz*1DNA6e^rj>JZj|o><&nnY@(g3OfOscmrl6!ai`@vN>14ln6|M1oQ2dJP>GeHHZc*DnloUN$wk*f+-ULv$plm{lBAQAh{#l( zeKwn=l)w^?5n2$bYptb}TI+mghnYnLBGs&#OUmtp+~(^fmx%EM0JgYYest9Wn!*;8 zQU+=yAojg2FE^K$%bdsAY~fxh3{%m)es%iv>8s5!-Mjzb>GRi*pPl(2=Cz-vQT4MA z-?@8pUx#6Dv2)`czWdJIn}@S+zkIY({q+6&N3)$j|MAOL7n{7h7>5bi^gZ2w@YYZM z?!7v0glN35(^rF6@?7t}ee}sE58yJc*T=`>;o-r_$*~i=_mNC%>VRgV$%gP^V>ry1 zAc=>|)z^Re`rWs#A6&nFaJcvL{llL;xc|TX%dc1Ksk)QLYL@*+7G$hS5I~W8BtC>I zq^86QZ)R~27{|=$C-&i z3UybK#6%uBL4ihgarz2XrxO3Ji3ke{gVoH9a>~R|Qzx@V)?_jfVy%S}<=ht^jAK~ga`q?9LB;sA%(ObJ#(>8QlSZsaY9 zz!*fXuH-Ooj!#KgRFzqxKsl&AUmzwb`v&4I?q#PQ^#{jnrwp=#cAT>_9J6BV!tn7L{DRMpMExt2=o zl9Ic7Re*()g!Q*OT;a-r0eH3M!tCza3JE+xVnhyn#{=>*<*iW1-J|hk24L(;;1)Is zHaDio0cH)plEVzzUKp5SSLM-7hP{)kvNM4dG2S)YJThgIr0}F)j5)o5Jz9HhoOhA{U%UR=CVbnThNlY-aE&zOPG-b0e7p3jN)CzMW zjCq)Yk-_4wtd zdkZTgcC_T|z;56$w+KOVcXo1iX+PE`Glz%0QsZcZ0aWBHTUgDLImbyWBJq%L=9Dt0 zu9{lAjSvc!T5Al2W(Ek6uq1Vhc+G~Lp_w>KSdGUFNX>W{(U1k-wW+R*NX&}66J&pX zp9s@54VyKycU_lrH;&`Wm&d24tDXJ5erNG-fBaM5?bi}-KN)-+Hm9#&9qk`}@cw%b zI$|y_zkBq%ufKcy?ROvCz4hdWM}K|z()+HcbIQ`uy?2j3`|SN`7@s|U{Na1=J^cQM z^|Bb{oxSwgPd=J;wmzNKmzSS@^xD`>y(Sx5pyFp`(YmfZ0s}HiTN!fp9Bk^R~xks*GZ)DP?!K zAt!Mo;)om*d&|KV})Aq zlT5h^YMBmpX1W=)t~2+65p(W<+Q>vqi7dfgvL&`UjhUp>NqL&@%5tsDyS0KqnaQSsD0^ke9g!)S2x|45 z<8kJc`%*6V_I9UQQn#biC8?>}EOmii*HW2NHM43WeVKed&x8bJQ|o54n6nbGn>FT+ z10fZNsvk~i#G#gH!w$2XCt>Bru@VupiJ2AJb)A+84kntVOrYWlqEd<*agr;NF*WJw zRrgG8U`UH1QH$T~-V_$mJs8~8%&eErLw&=6%{NSvS(qdi^k#51BK826w+>(KHF9wJ zPSmxf!ZgG->U%)pKPF(brk;tnWJGrho!px%p;l}C%J35oPb9is(Go$p@s+6M@IjKp z&8wM_yO&yOZ393Mwuwa}>zgG45h*rl;U42t{5Hgd9P1G$cfl1iE&hm_!#&*Hyi0wb zWEj?UoYt3{AD+DW?)xW`r`y+ehhddm%B09_0BYLHc>L()vuDQ#`|~@uZe+%*=dVwW z>ui7T^PhdPT3&qp=kLUG)wr1M{yR5*`SW+B+86)#Hy{4}hog^=p8ilcSB&p``1Zm6 zu1({#tUL4lci(-xUY?)5I__sXxszMBZgg2zmz!5F&b@dYr<&PPCPt>Hb2dSM4&Y%` zp1%6-@efb67F1St5jOKL=ehs@AOJ~3K~$yBwrje4$-7Na~0+!Wa@67!O+U7Cr8Ak zP#Z=C9y==1FoK$O)xiXV6OaI;l-wHG${MB>8z^!>+|46vi47LMQAPx&P&x(R0QXvo zxzD&$HFtC@#H4UYz=y7;YHY@oT#}>|1D>cF1B~S4u0_?&B7Mvy6kkX%m{n%>;%+Gm zLc_h;EHUrhiIF;S)ynE3%x19a&^k;hGf|gP?CCg0YPONTY9aS0JcT=4N zCbjxBrL;py#-Td7NatR)j4-9QW6o#?h*P62#ZM2=0f8|?jqb{hZIKbRMoYR*Cb+4V{&(9u62?Uy_{ODl4cr~%-RT1)q~Yor(qGG}VRDKVL}LSk-_0PP?ohnG5WC&ZOfe_;d4%}P5HHcslo)h1!l>RRe-$A0x+ zewlNR%>XN?UVf50hI* zoY;yDHF00TR^U0a7iiHsNS7pwK^!Db<2cBy)KU7h<6Wm1C#_vKt7X&C&RDHaTy)H- z%gCZUnemJ#Y*I?F+##zD)dCz1H%Cq#%-L&f|Es$Z<;+TY*LIZu-t zH8^!!p#NrBa8;7Gt%h5pE1MDE5E4h!epi#(Y*9w&h+_bKPA@O)6f6@lW)I!_UOfO7|VP2kAC*ay_w+RY;$k` z^FR#0eQ{&|;L)S+Hyhdv>$~q=|K$F=x~?7OKU{qG!O!m%E)1|MZW) z*xS42I<1F`ufF`|yKi1p;zZ0=wN`={aiv7su)}Z@9LJJ~h(!QnY^|l>-oye7Dq2-d z)nXA(M8w?B=W}j8e?c`e)!D2MeBt)(TOv}YvCG|dY!i1Hh9SB))k+lq9=846kA$U0 zNs0ahAm*HN;C5F((P$K4b~U|Pqz5S4Qqb7Lw~bokol z#97>k)Ja%!Qk~q;b-g*(!vB4i5F3bmZV+om(Iea>dh~-xn{(<8Xb%Wl(c=?s1bWeg2uy4gcv1b`j?cztPbbx5)*K8n#v5`<-D~z z&crsAsd65xN|$p^uyU}sTTo7ymqct<32bVV#E4;*i1xDZyqA>BeZ5(0_#LqIQs;}l z%iRQ9j#C**N3z&k%omIGQkRzl6ryFG^Zvok-P<>3^F5Z?a*>KJf}A06#ozjnj9s_2tvFJGUoimMySG=1>S z;X4oR=iE886E+=AUOj*D^ySI(3oErFzIW^B+Kp>FJ2P0>lxbb<{B-&H_)IUT#AxEE zghVh<Cw^+zx-XH8PbZ;jSB+FC)_tBj@bIs?MdLVuFGr^F{%h z_kCoYnSx!|Em0@zuvBd#wwxqMu3-3N74AWrVG5Wwd?uTb6X29`PNpnu-bfd0CTx|8 zT4Rx2&7omt>Tj@|8YLb&u~xDW%QDMKOO? zru*+a_~`uy&t9G`>l884=3I+){d^d!fQ4p8P~ZIN&wnk`yLWHj+}+>*bjobU5|MY#^Y-AE;x^d^=aDV6F_fNj~>%*J( z?)>vV{$g03{rdm>x7&A)-noDD-h(?2|N1uC=1QO}Y zv6(6XRjZnIS>Dh&w^|5XaR3qUsRPX1?AG4+O1>38#KuBIwiA216HHZW5In=}mK&?a zJ<=Ck;z75adA@$I+anWu%Hraip`2Z;*Xzlq>Wsa;#jUsRIPl`d>*Z=ajMWoT5;u0& zs-;hK`}U1%hkG;W&sW2vXD=>Sn@pm0B-jV<-8nqERxO>LEq{3UXuilFfArpBC%=02 z`su^tVLgGT8#fmZ-n)1E_PxHJEBxZ}^wAGbA3r|ctW`+n^Yr=W4@l(clUI*_cs;DA zql5iVKE9W`+4ql+FNaMv_fi*&?*4Ifse5vc zZ@+W<`n7#Y^S+yp<#4gj<=f%pWL*t=^X{#?*LU`IPAF zr^l~KF)9kH`v*G@9^6qbCN$J~x*Y06a3di}e*O9`=QNB(L|AjqwwTYme0+L(S=PgB zSN4y(oxL8Ocm2@dN7wfHMV=n&bh)Y3m6RaZ>M~uj%m3i(y?*UTvUI;?A|mZJ$C8KM zR8?1->7JhMnJbMnx{#nhTDZ`IAZVZ~Xf(FEtILusn&aK}nGtKP`w+Pg*)xFnP$;kt z3DnM=5zBnv@1q#wMiUc(<=14Js18I(NRlPKnit0arkYeTJ>uh`c{io}q?+B9)%jJ; z*BvmEbI#{Q^?(4}9sz3X905D$O7F`uTwZT(=j-vLX~&}{&)n_J)%WuoWAL>vtNhX% z8mj^!Ixtmr-VP5YpM7x;z;5RK`NiUPcIBKi==OF;pM8Eml-23k;tyZVMoswnub*3z zZ@+zib-i(f)u?#>;&5+o$9un7Y~H>-J3G1VB2>Ntuj3t0=C7}o5)-2p1yJFQ%Ilj2 z3p(_kGT}lafG8=DbKFM(lL86E3hx7(=q9Zb6FQFujDs-4Ja}VNa%M?DOtJ>b3`Brb zlL>&SMH7&un$6IN$jlB*#GCaJVc1yTsfhrXImQT}&N(v^iE74M?fqR1`e(=Su(U?z zA&mqOMDtpGYu_|Ov~Jypx{g;DhEmpkJzp#%{_9u&{Ig&D>fXcqZ{8iBU0wEFZ`crH zjFM8~vgrE0424)RpQnHNr$2pDyn6BM$;HX(c>yUwy8UzWw8e`Az@m#l45m+u6MP z@Zo~n_QlIbmFM&Kr;iRFCD%{6b(`?bk7w=C(XW2>g{e=(h>(vcd zAhzHC)vphBcK_@D{rAV0H&MZ0Qh zpe6{OyaA|cN=b(N8+6WT>Jj48XFtEVJR3Eo#6A>`08@-;OvLNeYBHU!=5s(~?|>

    o+Htmp6odG95jCeqTYmxLmE*1WrW-C9D4stSIQ= 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 z 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

    2$J=wH@I| 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

    q6E<> z5_-N<6?-kz2mnwD3aE-fASOTz60K!x^VjdP_2}r({rB84Yt{@EAw$*}1)M&8y0u0% zVYVq|l@Ov2VhL>zl}RjTOtcJ+U05C)(Ku*<#S7&ex}g|0h$vhC3N>u80T& zgAxAk?y&!HSa%nM-14-cMwZ#4iUOcQ(X)sr6jjJFmu1E|n?iRYWM)A?U;rRwO*&C) zW}<6&Ae|EP9Q^HCzOesFde49Ig8wPmUFW&3Ro+f}tCOYPAyIE+>r`U%s?>Jyyn45t z)Rk#aA~MDxkpd}TSq7wN4bGW8y(||jdU5e{&n}!8Uo|{5f|T@kPyr-Lj3EV>sYsaw z9#xguSZ7cnR(>kI>%qP$D?>zLLQYJg9zITnFi(d}T)S7)9#m8Dfm6ni6(4#GGWwm<18AbKt5s(N|e`i{UvMh+nTI-yHI$Vg%HDxrEfN6A%%CD7#70F$yhzA%gCL+@H3St9 z!HTsgy53KWjRopjXP8a8#Y0(kCfZrvv@W0MbbScZhKF*~5D8^jPMelDo2_~C=BX-? zVaDLA(b3VeEQx4nXeha>G=SAtUInaksrp1cvRI?hY_*1}stP{#laKz*7NZzriHJEg z@>ZTHA|^~dhA0x03?eFs7nK+R@Sz3-nYEl%6|khAWbd-p~kIOV$iuDkQ%%W=Pj$6S8utR<&B2-DD6L}D9a zP=Sbw0BkIAdd!fBLI{aX&1`I4|Ek$~+RF|JkdUDc4@nUnF*7k)&FZ<|WQ;Y#40Y=$ zLW)p(gQn9MY7r4}4V#u&R6|NnqXbbEsU#pEsHkA4-A>n$fx7K(YGn%=fly+MAR{Bg zqa!18W)A)9v41uU&7VI{Ap$ZoqhhPoDvEB`dsP&{5MvrI4yr;1di=}upFjj80cFGL zRX}o+;U(vPdMyLJ7BsrH9amA25JDm}GV`mU(Y~ebxee(>`h7>Z1~jU@*?a3uq1O2H zWWN;vB#QXp$0s{U*f)xX7=2Yr3@Q;orcY~T&RXjTQu4~61b~o6D*{1pf^Of^p*BzdQqCG%S=p&z{G4*S3~+O8fIgdaZ0cN0FX3^l%y4t7(Pk1Cxlp*-LfoUM)_MoZS zH>;{aW@b?hK7`;^b#ln?ho==)+vQnMGq$=j(V1Mad=(-&XJ*fwHZ;_f z7%Z8}SH`eo8zmS+A^1d*4Ixb3kQy;cl&Gj>S%%<2)mJ`AmZ9$$e!$#h!|s4gNS(V5!Jeu z_f=I@tr-)|E#@viqc!vRgZ6jJf4<r~UM?ub-KZ!+zx%qwin+_tyL`AA8lm zhOT`3z9-&#@Sko!_^q3M>xy5F{ouhhhtH1x#eLpbk`F(~q*!vE9-Wl=F z@7wZ=GyZqS#rr+F@P+>|%g=fGxqH68%U=%u=gklAF=L0#ezN&}h;fKDg!k zFTSL^$gkS@TfcZu*yY&2ES@p_toy(DoqL8GHkqE>W)fl@(;∋Q$d+Dx5OJyxGts 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�CF83kk*<22+br3t=WZq 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 z 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 BrnJH)| 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 z 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

  1. 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 z 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�~U+%S+-akC}t$+UYpZ@5TU-+5p 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

    c2D>Bao)^7!%5qx%mQ^Rwk_md`I^ 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

      !>j`01#5d%mdV33II@u5QTsxDyqXan23<5 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%0D%8IJW`&?+ic?B%Z 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

      epA-*QG1+cr=czv9 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


      Qh|W{zNUso5CtAj-^t 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

      QEfcb>G?UKhqE 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

      Jf2G6$L38Ia$ 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

      UeWZ`FZhyg|CS%pF@5>Jdd?F+;9=KK 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 z

      q64q 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

      4Th?*D&N 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�ec=iCBq=y{- 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ℜ{XSm? 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%0Dm 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 RQ^xWZp2_Q(XkFNB~mmR10%aK%VfMUtwDV$STt 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

      ni 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

      8#^Gg$f`-SD4l8N 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 z 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�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

      euC6Sv&~Y5a2!hH4 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 z

      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%0AxD_l{HV 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, ) + """ + image = np.random.randint(low=0, high=255, size=shape, dtype='uint8') + io = StringIO.StringIO() + image_pil = PILImage.fromarray(image) + image_pil.save(io, image_format, subsampling=0, quality=100) + return image, io.getvalue() + + +def create_serialized_example(name_to_values): + """Creates a tf.Example proto using a dictionary. + + It automatically detects type of values and define a corresponding feature. + + Args: + name_to_values: A dictionary. + + Returns: + tf.Example proto. + """ + example = tf.train.Example() + for name, values in name_to_values.items(): + feature = example.features.feature[name] + if isinstance(values[0], str): + add = feature.bytes_list.value.extend + elif isinstance(values[0], float): + add = feature.float32_list.value.extend + elif isinstance(values[0], int): + add = feature.int64_list.value.extend + else: + raise AssertionError('Unsupported type: %s' % type(values[0])) + add(values) + return example.SerializeToString() diff --git a/attention_ocr/python/datasets/unittest_utils_test.py b/attention_ocr/python/datasets/unittest_utils_test.py new file mode 100644 index 000000000..a12714332 --- /dev/null +++ b/attention_ocr/python/datasets/unittest_utils_test.py @@ -0,0 +1,64 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for unittest_utils.""" +import StringIO + +import numpy as np +from PIL import Image as PILImage +import tensorflow as tf + +import unittest_utils + + +class UnittestUtilsTest(tf.test.TestCase): + def test_creates_an_image_of_specified_shape(self): + image, _ = unittest_utils.create_random_image('PNG', (10, 20, 3)) + self.assertEqual(image.shape, (10, 20, 3)) + + def test_encoded_image_corresponds_to_numpy_array(self): + image, encoded = unittest_utils.create_random_image('PNG', (20, 10, 3)) + pil_image = PILImage.open(StringIO.StringIO(encoded)) + self.assertAllEqual(image, np.array(pil_image)) + + def test_created_example_has_correct_values(self): + example_serialized = unittest_utils.create_serialized_example({ + 'labels': [1, 2, 3], + 'data': ['FAKE'] + }) + example = tf.train.Example() + example.ParseFromString(example_serialized) + self.assertProtoEquals(""" + features { + feature { + key: "labels" + value { int64_list { + value: 1 + value: 2 + value: 3 + }} + } + feature { + key: "data" + value { bytes_list { + value: "FAKE" + }} + } + } + """, example) + + +if __name__ == '__main__': + tf.test.main() diff --git a/attention_ocr/python/eval.py b/attention_ocr/python/eval.py new file mode 100644 index 000000000..ec68ad50b --- /dev/null +++ b/attention_ocr/python/eval.py @@ -0,0 +1,78 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Script to evaluate a trained Attention OCR model. + +A simple usage example: +python eval.py +""" +import tensorflow as tf +from tensorflow.contrib import slim +from tensorflow import app +from tensorflow.python.platform import flags + +import data_provider +import common_flags + +FLAGS = flags.FLAGS +common_flags.define() + +# yapf: disable +flags.DEFINE_integer('num_batches', 100, + 'Number of batches to run eval for.') + +flags.DEFINE_string('eval_log_dir', '/tmp/attention_ocr/eval', + 'Directory where the evaluation results are saved to.') + +flags.DEFINE_integer('eval_interval_secs', 60, + 'Frequency in seconds to run evaluations.') + +flags.DEFINE_integer('number_of_steps', None, + 'Number of times to run evaluation.') +# yapf: enable + + +def main(_): + if not tf.gfile.Exists(FLAGS.eval_log_dir): + tf.gfile.MakeDirs(FLAGS.eval_log_dir) + + dataset = common_flags.create_dataset(split_name=FLAGS.split_name) + model = common_flags.create_model(dataset.num_char_classes, + dataset.max_sequence_length, + dataset.num_of_views, dataset.null_code) + data = data_provider.get_data( + dataset, + FLAGS.batch_size, + augment=False, + central_crop_size=common_flags.get_crop_size()) + endpoints = model.create_base(data.images, labels_one_hot=None) + model.create_loss(data, endpoints) + eval_ops = model.create_summaries( + data, endpoints, dataset.charset, is_training=False) + slim.get_or_create_global_step() + session_config = tf.ConfigProto(device_count={"GPU": 0}) + slim.evaluation.evaluation_loop( + master=FLAGS.master, + checkpoint_dir=FLAGS.train_log_dir, + logdir=FLAGS.eval_log_dir, + eval_op=eval_ops, + num_evals=FLAGS.num_batches, + eval_interval_secs=FLAGS.eval_interval_secs, + max_number_of_evaluations=FLAGS.number_of_steps, + session_config=session_config) + + +if __name__ == '__main__': + app.run() diff --git a/attention_ocr/python/inception_preprocessing.py b/attention_ocr/python/inception_preprocessing.py new file mode 100644 index 000000000..d3c3a5b07 --- /dev/null +++ b/attention_ocr/python/inception_preprocessing.py @@ -0,0 +1,315 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides utilities to preprocess images for the Inception networks.""" + +# TODO(gorban): add as a dependency, when slim or tensorflow/models are pipfied +# Source: +# https://raw.githubusercontent.com/tensorflow/models/a9d0e6e8923a4/slim/preprocessing/inception_preprocessing.py +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +from tensorflow.python.ops import control_flow_ops + + +def apply_with_random_selector(x, func, num_cases): + """Computes func(x, sel), with sel sampled from [0...num_cases-1]. + + Args: + x: input Tensor. + func: Python function to apply. + num_cases: Python int32, number of cases to sample sel from. + + Returns: + The result of func(x, sel), where func receives the value of the + selector as a python integer, but sel is sampled dynamically. + """ + sel = tf.random_uniform([], maxval=num_cases, dtype=tf.int32) + # Pass the real x only to one of the func calls. + return control_flow_ops.merge([ + func(control_flow_ops.switch(x, tf.equal(sel, case))[1], case) + for case in range(num_cases) + ])[0] + + +def distort_color(image, color_ordering=0, fast_mode=True, scope=None): + """Distort the color of a Tensor image. + + Each color distortion is non-commutative and thus ordering of the color ops + matters. Ideally we would randomly permute the ordering of the color ops. + Rather then adding that level of complication, we select a distinct ordering + of color ops for each preprocessing thread. + + Args: + image: 3-D Tensor containing single image in [0, 1]. + color_ordering: Python int, a type of distortion (valid values: 0-3). + fast_mode: Avoids slower ops (random_hue and random_contrast) + scope: Optional scope for name_scope. + Returns: + 3-D Tensor color-distorted image on range [0, 1] + Raises: + ValueError: if color_ordering not in [0, 3] + """ + with tf.name_scope(scope, 'distort_color', [image]): + if fast_mode: + if color_ordering == 0: + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + else: + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + else: + if color_ordering == 0: + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + elif color_ordering == 1: + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + elif color_ordering == 2: + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + elif color_ordering == 3: + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + else: + raise ValueError('color_ordering must be in [0, 3]') + + # The random_* ops do not necessarily clamp. + return tf.clip_by_value(image, 0.0, 1.0) + + +def distorted_bounding_box_crop(image, + bbox, + min_object_covered=0.1, + aspect_ratio_range=(0.75, 1.33), + area_range=(0.05, 1.0), + max_attempts=100, + scope=None): + """Generates cropped_image using a one of the bboxes randomly distorted. + + See `tf.image.sample_distorted_bounding_box` for more documentation. + + Args: + image: 3-D Tensor of image (it will be converted to floats in [0, 1]). + bbox: 3-D float Tensor of bounding boxes arranged [1, num_boxes, coords] + where each coordinate is [0, 1) and the coordinates are arranged + as [ymin, xmin, ymax, xmax]. If num_boxes is 0 then it would use the + whole image. + min_object_covered: An optional `float`. Defaults to `0.1`. The cropped + area of the image must contain at least this fraction of any bounding box + supplied. + aspect_ratio_range: An optional list of `floats`. The cropped area of the + image must have an aspect ratio = width / height within this range. + area_range: An optional list of `floats`. The cropped area of the image + must contain a fraction of the supplied image within in this range. + max_attempts: An optional `int`. Number of attempts at generating a cropped + region of the image of the specified constraints. After `max_attempts` + failures, return the entire image. + scope: Optional scope for name_scope. + Returns: + A tuple, a 3-D Tensor cropped_image and the distorted bbox + """ + with tf.name_scope(scope, 'distorted_bounding_box_crop', [image, bbox]): + # Each bounding box has shape [1, num_boxes, box coords] and + # the coordinates are ordered [ymin, xmin, ymax, xmax]. + + # A large fraction of image datasets contain a human-annotated bounding + # box delineating the region of the image containing the object of interest. + # We choose to create a new bounding box for the object which is a randomly + # distorted version of the human-annotated bounding box that obeys an + # allowed range of aspect ratios, sizes and overlap with the human-annotated + # bounding box. If no box is supplied, then we assume the bounding box is + # the entire image. + sample_distorted_bounding_box = tf.image.sample_distorted_bounding_box( + tf.shape(image), + bounding_boxes=bbox, + min_object_covered=min_object_covered, + aspect_ratio_range=aspect_ratio_range, + area_range=area_range, + max_attempts=max_attempts, + use_image_if_no_bounding_boxes=True) + bbox_begin, bbox_size, distort_bbox = sample_distorted_bounding_box + + # Crop the image to the specified bounding box. + cropped_image = tf.slice(image, bbox_begin, bbox_size) + return cropped_image, distort_bbox + + +def preprocess_for_train(image, + height, + width, + bbox, + fast_mode=True, + scope=None): + """Distort one image for training a network. + + Distorting images provides a useful technique for augmenting the data + set during training in order to make the network invariant to aspects + of the image that do not effect the label. + + Additionally it would create image_summaries to display the different + transformations applied to the image. + + Args: + image: 3-D Tensor of image. If dtype is tf.float32 then the range should be + [0, 1], otherwise it would converted to tf.float32 assuming that the range + is [0, MAX], where MAX is largest positive representable number for + int(8/16/32) data type (see `tf.image.convert_image_dtype` for details). + height: integer + width: integer + bbox: 3-D float Tensor of bounding boxes arranged [1, num_boxes, coords] + where each coordinate is [0, 1) and the coordinates are arranged + as [ymin, xmin, ymax, xmax]. + fast_mode: Optional boolean, if True avoids slower transformations (i.e. + bi-cubic resizing, random_hue or random_contrast). + scope: Optional scope for name_scope. + Returns: + 3-D float Tensor of distorted image used for training with range [-1, 1]. + """ + with tf.name_scope(scope, 'distort_image', [image, height, width, bbox]): + if bbox is None: + bbox = tf.constant( + [0.0, 0.0, 1.0, 1.0], dtype=tf.float32, shape=[1, 1, 4]) + if image.dtype != tf.float32: + image = tf.image.convert_image_dtype(image, dtype=tf.float32) + # Each bounding box has shape [1, num_boxes, box coords] and + # the coordinates are ordered [ymin, xmin, ymax, xmax]. + image_with_box = tf.image.draw_bounding_boxes( + tf.expand_dims(image, 0), bbox) + tf.summary.image('image_with_bounding_boxes', image_with_box) + + distorted_image, distorted_bbox = distorted_bounding_box_crop(image, bbox) + # Restore the shape since the dynamic slice based upon the bbox_size loses + # the third dimension. + distorted_image.set_shape([None, None, 3]) + image_with_distorted_box = tf.image.draw_bounding_boxes( + tf.expand_dims(image, 0), distorted_bbox) + tf.summary.image('images_with_distorted_bounding_box', + image_with_distorted_box) + + # This resizing operation may distort the images because the aspect + # ratio is not respected. We select a resize method in a round robin + # fashion based on the thread number. + # Note that ResizeMethod contains 4 enumerated resizing methods. + + # We select only 1 case for fast_mode bilinear. + num_resize_cases = 1 if fast_mode else 4 + distorted_image = apply_with_random_selector( + distorted_image, + lambda x, method: tf.image.resize_images(x, [height, width], method=method), + num_cases=num_resize_cases) + + tf.summary.image('cropped_resized_image', + tf.expand_dims(distorted_image, 0)) + + # Randomly flip the image horizontally. + distorted_image = tf.image.random_flip_left_right(distorted_image) + + # Randomly distort the colors. There are 4 ways to do it. + distorted_image = apply_with_random_selector( + distorted_image, + lambda x, ordering: distort_color(x, ordering, fast_mode), + num_cases=4) + + tf.summary.image('final_distorted_image', + tf.expand_dims(distorted_image, 0)) + distorted_image = tf.subtract(distorted_image, 0.5) + distorted_image = tf.multiply(distorted_image, 2.0) + return distorted_image + + +def preprocess_for_eval(image, + height, + width, + central_fraction=0.875, + scope=None): + """Prepare one image for evaluation. + + If height and width are specified it would output an image with that size by + applying resize_bilinear. + + If central_fraction is specified it would cropt the central fraction of the + input image. + + Args: + image: 3-D Tensor of image. If dtype is tf.float32 then the range should be + [0, 1], otherwise it would converted to tf.float32 assuming that the range + is [0, MAX], where MAX is largest positive representable number for + int(8/16/32) data type (see `tf.image.convert_image_dtype` for details) + height: integer + width: integer + central_fraction: Optional Float, fraction of the image to crop. + scope: Optional scope for name_scope. + Returns: + 3-D float Tensor of prepared image. + """ + with tf.name_scope(scope, 'eval_image', [image, height, width]): + if image.dtype != tf.float32: + image = tf.image.convert_image_dtype(image, dtype=tf.float32) + # Crop the central region of the image with an area containing 87.5% of + # the original image. + if central_fraction: + image = tf.image.central_crop(image, central_fraction=central_fraction) + + if height and width: + # Resize the image to the specified height and width. + image = tf.expand_dims(image, 0) + image = tf.image.resize_bilinear( + image, [height, width], align_corners=False) + image = tf.squeeze(image, [0]) + image = tf.subtract(image, 0.5) + image = tf.multiply(image, 2.0) + return image + + +def preprocess_image(image, + height, + width, + is_training=False, + bbox=None, + fast_mode=True): + """Pre-process one image for training or evaluation. + + Args: + image: 3-D Tensor [height, width, channels] with the image. + height: integer, image expected height. + width: integer, image expected width. + is_training: Boolean. If true it would transform an image for train, + otherwise it would transform it for evaluation. + bbox: 3-D float Tensor of bounding boxes arranged [1, num_boxes, coords] + where each coordinate is [0, 1) and the coordinates are arranged as + [ymin, xmin, ymax, xmax]. + fast_mode: Optional boolean, if True avoids slower transformations. + + Returns: + 3-D float Tensor containing an appropriately scaled image + + Raises: + ValueError: if user does not provide bounding box + """ + if is_training: + return preprocess_for_train(image, height, width, bbox, fast_mode) + else: + return preprocess_for_eval(image, height, width) diff --git a/attention_ocr/python/metrics.py b/attention_ocr/python/metrics.py new file mode 100644 index 000000000..9e2a6a757 --- /dev/null +++ b/attention_ocr/python/metrics.py @@ -0,0 +1,90 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Quality metrics for the model.""" + +import tensorflow as tf + + +def char_accuracy(predictions, targets, rej_char, streaming=False): + """Computes character level accuracy. + + Both predictions and targets should have the same shape + [batch_size x seq_length]. + + Args: + predictions: predicted characters ids. + targets: ground truth character ids. + rej_char: the character id used to mark an empty element (end of sequence). + streaming: if True, uses the streaming mean from the slim.metric module. + + Returns: + a update_ops for execution and value tensor whose value on evaluation + returns the total character accuracy. + """ + with tf.variable_scope('CharAccuracy'): + predictions.get_shape().assert_is_compatible_with(targets.get_shape()) + + targets = tf.to_int32(targets) + const_rej_char = tf.constant(rej_char, shape=targets.get_shape()) + weights = tf.to_float(tf.not_equal(targets, const_rej_char)) + correct_chars = tf.to_float(tf.equal(predictions, targets)) + accuracy_per_example = tf.div( + tf.reduce_sum(tf.multiply(correct_chars, weights), 1), + tf.reduce_sum(weights, 1)) + if streaming: + return tf.contrib.metrics.streaming_mean(accuracy_per_example) + else: + return tf.reduce_mean(accuracy_per_example) + + +def sequence_accuracy(predictions, targets, rej_char, streaming=False): + """Computes sequence level accuracy. + + Both input tensors should have the same shape: [batch_size x seq_length]. + + Args: + predictions: predicted character classes. + targets: ground truth character classes. + rej_char: the character id used to mark empty element (end of sequence). + streaming: if True, uses the streaming mean from the slim.metric module. + + Returns: + a update_ops for execution and value tensor whose value on evaluation + returns the total sequence accuracy. + """ + + with tf.variable_scope('SequenceAccuracy'): + predictions.get_shape().assert_is_compatible_with(targets.get_shape()) + + targets = tf.to_int32(targets) + const_rej_char = tf.constant( + rej_char, shape=targets.get_shape(), dtype=tf.int32) + include_mask = tf.not_equal(targets, const_rej_char) + include_predictions = tf.to_int32( + tf.where(include_mask, predictions, + tf.zeros_like(predictions) + rej_char)) + correct_chars = tf.to_float(tf.equal(include_predictions, targets)) + correct_chars_counts = tf.cast( + tf.reduce_sum(correct_chars, reduction_indices=[1]), dtype=tf.int32) + target_length = targets.get_shape().dims[1].value + target_chars_counts = tf.constant( + target_length, shape=correct_chars_counts.get_shape()) + accuracy_per_example = tf.to_float( + tf.equal(correct_chars_counts, target_chars_counts)) + if streaming: + return tf.contrib.metrics.streaming_mean(accuracy_per_example) + else: + return tf.reduce_mean(accuracy_per_example) diff --git a/attention_ocr/python/metrics_test.py b/attention_ocr/python/metrics_test.py new file mode 100644 index 000000000..68b9724f1 --- /dev/null +++ b/attention_ocr/python/metrics_test.py @@ -0,0 +1,97 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for the metrics module.""" +import contextlib +import numpy as np +import tensorflow as tf + +import metrics + + +class AccuracyTest(tf.test.TestCase): + def setUp(self): + tf.test.TestCase.setUp(self) + self.rng = np.random.RandomState([11, 23, 50]) + self.num_char_classes = 3 + self.batch_size = 4 + self.seq_length = 5 + self.rej_char = 42 + + @contextlib.contextmanager + def initialized_session(self): + """Wrapper for test session context manager with required initialization. + + Yields: + A session object that should be used as a context manager. + """ + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + sess.run(tf.local_variables_initializer()) + yield sess + + def _fake_labels(self): + return self.rng.randint( + low=0, + high=self.num_char_classes, + size=(self.batch_size, self.seq_length), + dtype='int32') + + def _incorrect_copy(self, values, bad_indexes): + incorrect = np.copy(values) + incorrect[bad_indexes] = values[bad_indexes] + 1 + return incorrect + + def test_sequence_accuracy_identical_samples(self): + labels_tf = tf.convert_to_tensor(self._fake_labels()) + + accuracy_tf = metrics.sequence_accuracy(labels_tf, labels_tf, + self.rej_char) + with self.initialized_session() as sess: + accuracy_np = sess.run(accuracy_tf) + + self.assertAlmostEqual(accuracy_np, 1.0) + + def test_sequence_accuracy_one_char_difference(self): + ground_truth_np = self._fake_labels() + ground_truth_tf = tf.convert_to_tensor(ground_truth_np) + prediction_tf = tf.convert_to_tensor( + self._incorrect_copy(ground_truth_np, bad_indexes=((0, 0)))) + + accuracy_tf = metrics.sequence_accuracy(prediction_tf, ground_truth_tf, + self.rej_char) + with self.initialized_session() as sess: + accuracy_np = sess.run(accuracy_tf) + + # 1 of 4 sequences is incorrect. + self.assertAlmostEqual(accuracy_np, 1.0 - 1.0 / self.batch_size) + + def test_char_accuracy_one_char_difference_with_padding(self): + ground_truth_np = self._fake_labels() + ground_truth_tf = tf.convert_to_tensor(ground_truth_np) + prediction_tf = tf.convert_to_tensor( + self._incorrect_copy(ground_truth_np, bad_indexes=((0, 0)))) + + accuracy_tf = metrics.char_accuracy(prediction_tf, ground_truth_tf, + self.rej_char) + with self.initialized_session() as sess: + accuracy_np = sess.run(accuracy_tf) + + chars_count = self.seq_length * self.batch_size + self.assertAlmostEqual(accuracy_np, 1.0 - 1.0 / chars_count) + + +if __name__ == '__main__': + tf.test.main() diff --git a/attention_ocr/python/model.py b/attention_ocr/python/model.py new file mode 100644 index 000000000..8e0e19bb8 --- /dev/null +++ b/attention_ocr/python/model.py @@ -0,0 +1,531 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Functions to build the Attention OCR model. + +Usage example: + ocr_model = model.Model(num_char_classes, seq_length, num_of_views) + + data = ... # create namedtuple InputEndpoints + endpoints = model.create_base(data.images, data.labels_one_hot) + # endpoints.predicted_chars is a tensor with predicted character codes. + total_loss = model.create_loss(data, endpoints) +""" +import sys +import collections +import logging +import tensorflow as tf +from tensorflow.contrib import slim +from tensorflow.contrib.slim.nets import inception + +import metrics +import sequence_layers +import utils + + +OutputEndpoints = collections.namedtuple('OutputEndpoints', [ + 'chars_logit', 'chars_log_prob', 'predicted_chars', 'predicted_scores' +]) + +# TODO(gorban): replace with tf.HParams when it is released. +ModelParams = collections.namedtuple('ModelParams', [ + 'num_char_classes', 'seq_length', 'num_views', 'null_code' +]) + +ConvTowerParams = collections.namedtuple('ConvTowerParams', ['final_endpoint']) + +SequenceLogitsParams = collections.namedtuple('SequenceLogitsParams', [ + 'use_attention', 'use_autoregression', 'num_lstm_units', 'weight_decay', + 'lstm_state_clip_value' +]) + +SequenceLossParams = collections.namedtuple('SequenceLossParams', [ + 'label_smoothing', 'ignore_nulls', 'average_across_timesteps' +]) + + +def _dict_to_array(id_to_char, default_character): + num_char_classes = max(id_to_char.keys()) + 1 + array = [default_character] * num_char_classes + for k, v in id_to_char.iteritems(): + array[k] = v + return array + + +class CharsetMapper(object): + """A simple class to map tensor ids into strings. + + It works only when the character set is 1:1 mapping between individual + characters and individual ids. + + Make sure you call tf.tables_initializer().run() as part of the init op. + """ + + def __init__(self, charset, default_character='?'): + """Creates a lookup table. + + Args: + charset: a dictionary with id-to-character mapping. + """ + mapping_strings = tf.constant(_dict_to_array(charset, default_character)) + self.table = tf.contrib.lookup.index_to_string_table_from_tensor( + mapping=mapping_strings, default_value=default_character) + + def get_text(self, ids): + """Returns a string corresponding to a sequence of character ids. + + Args: + ids: a tensor with shape [batch_size, max_sequence_length] + """ + return tf.reduce_join( + self.table.lookup(tf.to_int64(ids)), reduction_indices=1) + + +def get_softmax_loss_fn(label_smoothing): + """Returns sparse or dense loss function depending on the label_smoothing. + + Args: + label_smoothing: weight for label smoothing + + Returns: + a function which takes labels and predictions as arguments and returns + a softmax loss for the selected type of labels (sparse or dense). + """ + if label_smoothing > 0: + + def loss_fn(labels, logits): + return (tf.nn.softmax_cross_entropy_with_logits( + logits=logits, labels=labels)) + else: + + def loss_fn(labels, logits): + return tf.nn.sparse_softmax_cross_entropy_with_logits( + logits=logits, labels=labels) + + return loss_fn + + +class Model(object): + """Class to create the Attention OCR Model.""" + + def __init__(self, + num_char_classes, + seq_length, + num_views, + null_code, + mparams=None): + """Initialized model parameters. + + Args: + num_char_classes: size of character set. + seq_length: number of characters in a sequence. + num_views: Number of views (conv towers) to use. + null_code: A character code corresponding to a character which + indicates end of a sequence. + mparams: a dictionary with hyper parameters for methods, keys - + function names, values - corresponding namedtuples. + """ + super(Model, self).__init__() + self._params = ModelParams( + num_char_classes=num_char_classes, + seq_length=seq_length, + num_views=num_views, + null_code=null_code) + self._mparams = self.default_mparams() + if mparams: + self._mparams.update(mparams) + + def default_mparams(self): + return { + 'conv_tower_fn': + ConvTowerParams(final_endpoint='Mixed_5d'), + 'sequence_logit_fn': + SequenceLogitsParams( + use_attention=True, + use_autoregression=True, + num_lstm_units=256, + weight_decay=0.00004, + lstm_state_clip_value=10.0), + 'sequence_loss_fn': + SequenceLossParams( + label_smoothing=0.1, + ignore_nulls=True, + average_across_timesteps=False) + } + + def set_mparam(self, function, **kwargs): + self._mparams[function] = self._mparams[function]._replace(**kwargs) + + def conv_tower_fn(self, images, is_training=True, reuse=None): + """Computes convolutional features using the InceptionV3 model. + + Args: + images: A tensor of shape [batch_size, height, width, channels]. + is_training: whether is training or not. + reuse: whether or not the network and its variables should be reused. To + be able to reuse 'scope' must be given. + + Returns: + A tensor of shape [batch_size, OH, OW, N], where OWxOH is resolution of + output feature map and N is number of output features (depends on the + network architecture). + """ + mparams = self._mparams['conv_tower_fn'] + logging.debug('Using final_endpoint=%s', mparams.final_endpoint) + with tf.variable_scope('conv_tower_fn/INCE'): + if reuse: + tf.get_variable_scope().reuse_variables() + with slim.arg_scope(inception.inception_v3_arg_scope()): + net, _ = inception.inception_v3_base( + images, final_endpoint=mparams.final_endpoint) + return net + + def _create_lstm_inputs(self, net): + """Splits an input tensor into a list of tensors (features). + + Args: + net: A feature map of shape [batch_size, num_features, feature_size]. + + Raises: + AssertionError: if num_features is less than seq_length. + + Returns: + A list with seq_length tensors of shape [batch_size, feature_size] + """ + num_features = net.get_shape().dims[1].value + if num_features < self._params.seq_length: + raise AssertionError('Incorrect dimension #1 of input tensor' + ' %d should be bigger than %d (shape=%s)' % + (num_features, self._params.seq_length, + net.get_shape())) + elif num_features > self._params.seq_length: + logging.warning('Ignoring some features: use %d of %d (shape=%s)', + self._params.seq_length, num_features, net.get_shape()) + net = tf.slice(net, [0, 0, 0], [-1, self._params.seq_length, -1]) + + return tf.unstack(net, axis=1) + + def sequence_logit_fn(self, net, labels_one_hot): + mparams = self._mparams['sequence_logit_fn'] + # TODO(gorban): remove /alias suffixes from the scopes. + with tf.variable_scope('sequence_logit_fn/SQLR'): + layer_class = sequence_layers.get_layer_class(mparams.use_attention, + mparams.use_autoregression) + layer = layer_class(net, labels_one_hot, self._params, mparams) + return layer.create_logits() + + def max_pool_views(self, nets_list): + """Max pool across all nets in spatial dimensions. + + Args: + nets_list: A list of 4D tensors with identical size. + + Returns: + A tensor with the same size as any input tensors. + """ + batch_size, height, width, num_features = [ + d.value for d in nets_list[0].get_shape().dims + ] + xy_flat_shape = (batch_size, 1, height * width, num_features) + nets_for_merge = [] + with tf.variable_scope('max_pool_views', values=nets_list): + for net in nets_list: + nets_for_merge.append(tf.reshape(net, xy_flat_shape)) + merged_net = tf.concat(nets_for_merge, 1) + net = slim.max_pool2d( + merged_net, kernel_size=[len(nets_list), 1], stride=1) + net = tf.reshape(net, (batch_size, height, width, num_features)) + return net + + def pool_views_fn(self, nets): + """Combines output of multiple convolutional towers into a single tensor. + + It stacks towers one on top another (in height dim) in a 4x1 grid. + The order is arbitrary design choice and shouldn't matter much. + + Args: + nets: list of tensors of shape=[batch_size, height, width, num_features]. + + Returns: + A tensor of shape [batch_size, seq_length, features_size]. + """ + with tf.variable_scope('pool_views_fn/STCK'): + net = tf.concat(nets, 1) + batch_size = net.get_shape().dims[0].value + feature_size = net.get_shape().dims[3].value + return tf.reshape(net, [batch_size, -1, feature_size]) + + def char_predictions(self, chars_logit): + """Returns confidence scores (softmax values) for predicted characters. + + Args: + chars_logit: chars logits, a tensor with shape + [batch_size x seq_length x num_char_classes] + + Returns: + A tuple (ids, log_prob, scores), where: + ids - predicted characters, a int32 tensor with shape + [batch_size x seq_length]; + log_prob - a log probability of all characters, a float tensor with + shape [batch_size, seq_length, num_char_classes]; + scores - corresponding confidence scores for characters, a float + tensor + with shape [batch_size x seq_length]. + """ + log_prob = utils.logits_to_log_prob(chars_logit) + ids = tf.to_int32(tf.argmax(log_prob, dimension=2), name='predicted_chars') + mask = tf.cast( + slim.one_hot_encoding(ids, self._params.num_char_classes), tf.bool) + all_scores = tf.nn.softmax(chars_logit) + selected_scores = tf.boolean_mask(all_scores, mask, name='char_scores') + scores = tf.reshape(selected_scores, shape=(-1, self._params.seq_length)) + return ids, log_prob, scores + + def create_base(self, + images, + labels_one_hot, + scope='AttentionOcr_v1', + reuse=None): + """Creates a base part of the Model (no gradients, losses or summaries). + + Args: + images: A tensor of shape [batch_size, height, width, channels]. + labels_one_hot: Optional (can be None) one-hot encoding for ground truth + labels. If provided the function will create a model for training. + scope: Optional variable_scope. + reuse: whether or not the network and its variables should be reused. To + be able to reuse 'scope' must be given. + + Returns: + A named tuple OutputEndpoints. + """ + logging.debug('images: %s', images) + is_training = labels_one_hot is not None + with tf.variable_scope(scope, reuse=reuse): + views = tf.split( + value=images, num_or_size_splits=self._params.num_views, axis=2) + logging.debug('Views=%d single view: %s', len(views), views[0]) + + nets = [ + self.conv_tower_fn(v, is_training, reuse=(i != 0)) + for i, v in enumerate(views) + ] + logging.debug('Conv tower: %s', nets[0]) + + net = self.pool_views_fn(nets) + logging.debug('Pooled views: %s', net) + + chars_logit = self.sequence_logit_fn(net, labels_one_hot) + logging.debug('chars_logit: %s', chars_logit) + + predicted_chars, chars_log_prob, predicted_scores = ( + self.char_predictions(chars_logit)) + + return OutputEndpoints( + chars_logit=chars_logit, + chars_log_prob=chars_log_prob, + predicted_chars=predicted_chars, + predicted_scores=predicted_scores) + + def create_loss(self, data, endpoints): + """Creates all losses required to train the model. + + Args: + data: InputEndpoints namedtuple. + endpoints: Model namedtuple. + + Returns: + Total loss. + """ + # NOTE: the return value of ModelLoss is not used directly for the + # gradient computation because under the hood it calls slim.losses.AddLoss, + # which registers the loss in an internal collection and later returns it + # as part of GetTotalLoss. We need to use total loss because model may have + # multiple losses including regularization losses. + self.sequence_loss_fn(endpoints.chars_logit, data.labels) + total_loss = slim.losses.get_total_loss() + tf.summary.scalar('TotalLoss', total_loss) + return total_loss + + def label_smoothing_regularization(self, chars_labels, weight=0.1): + """Applies a label smoothing regularization. + + Uses the same method as in https://arxiv.org/abs/1512.00567. + + Args: + chars_labels: ground truth ids of charactes, + shape=[batch_size, seq_length]; + weight: label-smoothing regularization weight. + + Returns: + A sensor with the same shape as the input. + """ + one_hot_labels = tf.one_hot( + chars_labels, depth=self._params.num_char_classes, axis=-1) + pos_weight = 1.0 - weight + neg_weight = weight / self._params.num_char_classes + return one_hot_labels * pos_weight + neg_weight + + def sequence_loss_fn(self, chars_logits, chars_labels): + """Loss function for char sequence. + + Depending on values of hyper parameters it applies label smoothing and can + also ignore all null chars after the first one. + + Args: + chars_logits: logits for predicted characters, + shape=[batch_size, seq_length, num_char_classes]; + chars_labels: ground truth ids of characters, + shape=[batch_size, seq_length]; + mparams: method hyper parameters. + + Returns: + A Tensor with shape [batch_size] - the log-perplexity for each sequence. + """ + mparams = self._mparams['sequence_loss_fn'] + with tf.variable_scope('sequence_loss_fn/SLF'): + if mparams.label_smoothing > 0: + smoothed_one_hot_labels = self.label_smoothing_regularization( + chars_labels, mparams.label_smoothing) + labels_list = tf.unstack(smoothed_one_hot_labels, axis=1) + else: + # NOTE: in case of sparse softmax we are not using one-hot + # encoding. + labels_list = tf.unstack(chars_labels, axis=1) + + batch_size, seq_length, _ = chars_logits.shape.as_list() + if mparams.ignore_nulls: + weights = tf.ones((batch_size, seq_length), dtype=tf.float32) + else: + # Suppose that reject character is the last in the charset. + reject_char = tf.constant( + self._params.num_char_classes - 1, + shape=(batch_size, seq_length), + dtype=tf.int64) + known_char = tf.not_equal(chars_labels, reject_char) + weights = tf.to_float(known_char) + + logits_list = tf.unstack(chars_logits, axis=1) + weights_list = tf.unstack(weights, axis=1) + loss = tf.contrib.legacy_seq2seq.sequence_loss( + logits_list, + labels_list, + weights_list, + softmax_loss_function=get_softmax_loss_fn(mparams.label_smoothing), + average_across_timesteps=mparams.average_across_timesteps) + tf.losses.add_loss(loss) + return loss + + def create_summaries(self, data, endpoints, charset, is_training): + """Creates all summaries for the model. + + Args: + data: InputEndpoints namedtuple. + endpoints: OutputEndpoints namedtuple. + charset: A dictionary with mapping between character codes and + unicode characters. Use the one provided by a dataset.charset. + is_training: If True will create summary prefixes for training job, + otherwise - for evaluation. + + Returns: + A list of evaluation ops + """ + + def sname(label): + prefix = 'train' if is_training else 'eval' + return '%s/%s' % (prefix, label) + + max_outputs = 4 + # TODO(gorban): uncomment, when tf.summary.text released. + # charset_mapper = CharsetMapper(charset) + # pr_text = charset_mapper.get_text( + # endpoints.predicted_chars[:max_outputs,:]) + # tf.summary.text(sname('text/pr'), pr_text) + # gt_text = charset_mapper.get_text(data.labels[:max_outputs,:]) + # tf.summary.text(sname('text/gt'), gt_text) + tf.summary.image(sname('image'), data.images, max_outputs=max_outputs) + + if is_training: + tf.summary.image( + sname('image/orig'), data.images_orig, max_outputs=max_outputs) + for var in tf.trainable_variables(): + tf.summary.histogram(var.op.name, var) + return None + + else: + names_to_values = {} + names_to_updates = {} + + def use_metric(name, value_update_tuple): + names_to_values[name] = value_update_tuple[0] + names_to_updates[name] = value_update_tuple[1] + + use_metric('CharacterAccuracy', + metrics.char_accuracy( + endpoints.predicted_chars, + data.labels, + streaming=True, + rej_char=self._params.null_code)) + # Sequence accuracy computed by cutting sequence at the first null char + use_metric('SequenceAccuracy', + metrics.sequence_accuracy( + endpoints.predicted_chars, + data.labels, + streaming=True, + rej_char=self._params.null_code)) + + for name, value in names_to_values.iteritems(): + summary_name = 'eval/' + name + tf.summary.scalar(summary_name, tf.Print(value, [value], summary_name)) + return names_to_updates.values() + + def create_init_fn_to_restore(self, master_checkpoint, inception_checkpoint): + """Creates an init operations to restore weights from various checkpoints. + + Args: + master_checkpoint: path to a checkpoint which contains all weights for + the whole model. + inception_checkpoint: path to a checkpoint which contains weights for the + inception part only. + + Returns: + a function to run initialization ops. + """ + all_assign_ops = [] + all_feed_dict = {} + + def assign_from_checkpoint(variables, checkpoint): + logging.info('Request to re-store %d weights from %s', + len(variables), checkpoint) + if not variables: + logging.error('Can\'t find any variables to restore.') + sys.exit(1) + assign_op, feed_dict = slim.assign_from_checkpoint(checkpoint, variables) + all_assign_ops.append(assign_op) + all_feed_dict.update(feed_dict) + + if master_checkpoint: + assign_from_checkpoint(utils.variables_to_restore(), master_checkpoint) + + if inception_checkpoint: + variables = utils.variables_to_restore( + 'AttentionOcr_v1/conv_tower_fn/INCE', strip_scope=True) + assign_from_checkpoint(variables, inception_checkpoint) + + def init_assign_fn(sess): + logging.info('Restoring checkpoint(s)') + sess.run(all_assign_ops, all_feed_dict) + + return init_assign_fn diff --git a/attention_ocr/python/model_test.py b/attention_ocr/python/model_test.py new file mode 100644 index 000000000..3626788b2 --- /dev/null +++ b/attention_ocr/python/model_test.py @@ -0,0 +1,181 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for the model.""" + +import numpy as np +import string +import tensorflow as tf +from tensorflow.contrib import slim +from tensorflow.contrib.tfprof import model_analyzer + +import model +import data_provider + + +def create_fake_charset(num_char_classes): + charset = {} + for i in xrange(num_char_classes): + charset[i] = string.printable[i % len(string.printable)] + return charset + + +class ModelTest(tf.test.TestCase): + def setUp(self): + tf.test.TestCase.setUp(self) + + self.rng = np.random.RandomState([11, 23, 50]) + + self.batch_size = 4 + self.image_width = 600 + self.image_height = 30 + self.seq_length = 40 + self.num_char_classes = 72 + self.null_code = 62 + self.num_views = 4 + + feature_size = 288 + self.conv_tower_shape = (self.batch_size, 1, 72, feature_size) + self.features_shape = (self.batch_size, self.seq_length, feature_size) + self.chars_logit_shape = (self.batch_size, self.seq_length, + self.num_char_classes) + self.length_logit_shape = (self.batch_size, self.seq_length + 1) + + self.initialize_fakes() + + def initialize_fakes(self): + self.images_shape = (self.batch_size, self.image_height, self.image_width, + 3) + self.fake_images = tf.constant( + self.rng.randint(low=0, high=255, + size=self.images_shape).astype('float32'), + name='input_node') + self.fake_conv_tower_np = tf.constant( + self.rng.randn(*self.conv_tower_shape).astype('float32')) + self.fake_logits = tf.constant( + self.rng.randn(*self.chars_logit_shape).astype('float32')) + self.fake_labels = tf.constant( + self.rng.randint( + low=0, + high=self.num_char_classes, + size=(self.batch_size, self.seq_length)).astype('int64')) + + def create_model(self): + return model.Model( + self.num_char_classes, self.seq_length, num_views=4, null_code=62) + + def test_char_related_shapes(self): + ocr_model = self.create_model() + with self.test_session() as sess: + endpoints_tf = ocr_model.create_base( + images=self.fake_images, labels_one_hot=None) + + sess.run(tf.global_variables_initializer()) + endpoints = sess.run(endpoints_tf) + + self.assertEqual((self.batch_size, self.seq_length, + self.num_char_classes), endpoints.chars_logit.shape) + self.assertEqual((self.batch_size, self.seq_length, + self.num_char_classes), endpoints.chars_log_prob.shape) + self.assertEqual((self.batch_size, self.seq_length), + endpoints.predicted_chars.shape) + self.assertEqual((self.batch_size, self.seq_length), + endpoints.predicted_scores.shape) + + def test_predicted_scores_are_within_range(self): + ocr_model = self.create_model() + + _, _, scores = ocr_model.char_predictions(self.fake_logits) + with self.test_session() as sess: + scores_np = sess.run(scores) + + values_in_range = (scores_np >= 0.0) & (scores_np <= 1.0) + self.assertTrue( + np.all(values_in_range), + msg=('Scores contains out of the range values %s' % + scores_np[np.logical_not(values_in_range)])) + + def test_conv_tower_shape(self): + with self.test_session() as sess: + ocr_model = self.create_model() + conv_tower = ocr_model.conv_tower_fn(self.fake_images) + + sess.run(tf.global_variables_initializer()) + conv_tower_np = sess.run(conv_tower) + + self.assertEqual(self.conv_tower_shape, conv_tower_np.shape) + + def test_model_size_less_then1_gb(self): + # NOTE: Actual amount of memory occupied my TF during training will be at + # least 4X times bigger because of space need to store original weights, + # updates, gradients and variances. It also depends on the type of used + # optimizer. + ocr_model = self.create_model() + ocr_model.create_base(images=self.fake_images, labels_one_hot=None) + with self.test_session() as sess: + tfprof_root = model_analyzer.print_model_analysis( + sess.graph, + tfprof_options=model_analyzer.TRAINABLE_VARS_PARAMS_STAT_OPTIONS) + + model_size_bytes = 4 * tfprof_root.total_parameters + self.assertLess(model_size_bytes, 1 * 2**30) + + def test_create_summaries_is_runnable(self): + ocr_model = self.create_model() + data = data_provider.InputEndpoints( + images=self.fake_images, + images_orig=self.fake_images, + labels=self.fake_labels, + labels_one_hot=slim.one_hot_encoding(self.fake_labels, + self.num_char_classes)) + endpoints = ocr_model.create_base( + images=self.fake_images, labels_one_hot=None) + charset = create_fake_charset(self.num_char_classes) + summaries = ocr_model.create_summaries( + data, endpoints, charset, is_training=False) + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + sess.run(tf.local_variables_initializer()) + tf.tables_initializer().run() + sess.run(summaries) # just check it is runnable + + def test_sequence_loss_function_without_label_smoothing(self): + model = self.create_model() + model.set_mparam('sequence_loss_fn', label_smoothing=0) + + loss = model.sequence_loss_fn(self.fake_logits, self.fake_labels) + with self.test_session() as sess: + loss_np = sess.run(loss) + + # This test checks that the loss function is 'runnable'. + self.assertEqual(loss_np.shape, tuple()) + + +class CharsetMapperTest(tf.test.TestCase): + def test_text_corresponds_to_ids(self): + charset = create_fake_charset(36) + ids = tf.constant( + [[17, 14, 21, 21, 24], [32, 24, 27, 21, 13]], dtype=tf.int64) + charset_mapper = model.CharsetMapper(charset) + + with self.test_session() as sess: + tf.tables_initializer().run() + text = sess.run(charset_mapper.get_text(ids)) + + self.assertAllEqual(text, ['hello', 'world']) + + +if __name__ == '__main__': + tf.test.main() diff --git a/attention_ocr/python/sequence_layers.py b/attention_ocr/python/sequence_layers.py new file mode 100644 index 000000000..6e1e8493f --- /dev/null +++ b/attention_ocr/python/sequence_layers.py @@ -0,0 +1,422 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Various implementations of sequence layers for character prediction. + +A 'sequence layer' is a part of a computation graph which is responsible of +producing a sequence of characters using extracted image features. There are +many reasonable ways to implement such layers. All of them are using RNNs. +This module provides implementations which uses 'attention' mechanism to +spatially 'pool' image features and also can use a previously predicted +character to predict the next (aka auto regression). + +Usage: + Select one of available classes, e.g. Attention or use a wrapper function to + pick one based on your requirements: + layer_class = sequence_layers.get_layer_class(use_attention=True, + use_autoregression=True) + layer = layer_class(net, labels_one_hot, model_params, method_params) + char_logits = layer.create_logits() +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import collections +import abc +import logging +import numpy as np + +import tensorflow as tf + +from tensorflow.contrib import slim + + +def orthogonal_initializer(shape, dtype=tf.float32, *args, **kwargs): + """Generates orthonormal matrices with random values. + + Orthonormal initialization is important for RNNs: + http://arxiv.org/abs/1312.6120 + http://smerity.com/articles/2016/orthogonal_init.html + + For non-square shapes the returned matrix will be semi-orthonormal: if the + number of columns exceeds the number of rows, then the rows are orthonormal + vectors; but if the number of rows exceeds the number of columns, then the + columns are orthonormal vectors. + + We use SVD decomposition to generate an orthonormal matrix with random + values. The same way as it is done in the Lasagne library for Theano. Note + that both u and v returned by the svd are orthogonal and random. We just need + to pick one with the right shape. + + Args: + shape: a shape of the tensor matrix to initialize. + dtype: a dtype of the initialized tensor. + *args: not used. + **kwargs: not used. + + Returns: + An initialized tensor. + """ + del args + del kwargs + flat_shape = (shape[0], np.prod(shape[1:])) + w = np.random.randn(*flat_shape) + u, _, v = np.linalg.svd(w, full_matrices=False) + w = u if u.shape == flat_shape else v + return tf.constant(w.reshape(shape), dtype=dtype) + + +SequenceLayerParams = collections.namedtuple('SequenceLogitsParams', [ + 'num_lstm_units', 'weight_decay', 'lstm_state_clip_value' +]) + + +class SequenceLayerBase(object): + """A base abstruct class for all sequence layers. + + A child class has to define following methods: + get_train_input + get_eval_input + unroll_cell + """ + __metaclass__ = abc.ABCMeta + + def __init__(self, net, labels_one_hot, model_params, method_params): + """Stores argument in member variable for further use. + + Args: + net: A tensor with shape [batch_size, num_features, feature_size] which + contains some extracted image features. + labels_one_hot: An optional (can be None) ground truth labels for the + input features. Is a tensor with shape + [batch_size, seq_length, num_char_classes] + model_params: A namedtuple with model parameters (model.ModelParams). + method_params: A SequenceLayerParams instance. + """ + self._params = model_params + self._mparams = method_params + self._net = net + self._labels_one_hot = labels_one_hot + self._batch_size = net.get_shape().dims[0].value + + # Initialize parameters for char logits which will be computed on the fly + # inside an LSTM decoder. + self._char_logits = {} + regularizer = slim.l2_regularizer(self._mparams.weight_decay) + self._softmax_w = slim.model_variable( + 'softmax_w', + [self._mparams.num_lstm_units, self._params.num_char_classes], + initializer=orthogonal_initializer, + regularizer=regularizer) + self._softmax_b = slim.model_variable( + 'softmax_b', [self._params.num_char_classes], + initializer=tf.zeros_initializer(), + regularizer=regularizer) + + @abc.abstractmethod + def get_train_input(self, prev, i): + """Returns a sample to be used to predict a character during training. + + This function is used as a loop_function for an RNN decoder. + + Args: + prev: output tensor from previous step of the RNN. A tensor with shape: + [batch_size, num_char_classes]. + i: index of a character in the output sequence. + + Returns: + A tensor with shape [batch_size, ?] - depth depends on implementation + details. + """ + pass + + @abc.abstractmethod + def get_eval_input(self, prev, i): + """Returns a sample to be used to predict a character during inference. + + This function is used as a loop_function for an RNN decoder. + + Args: + prev: output tensor from previous step of the RNN. A tensor with shape: + [batch_size, num_char_classes]. + i: index of a character in the output sequence. + + Returns: + A tensor with shape [batch_size, ?] - depth depends on implementation + details. + """ + raise AssertionError('Not implemented') + + @abc.abstractmethod + def unroll_cell(self, decoder_inputs, initial_state, loop_function, cell): + """Unrolls an RNN cell for all inputs. + + This is a placeholder to call some RNN decoder. It has a similar to + tf.seq2seq.rnn_decode interface. + + Args: + decoder_inputs: A list of 2D Tensors* [batch_size x input_size]. In fact, + most of existing decoders in presence of a loop_function use only the + first element to determine batch_size and length of the list to + determine number of steps. + initial_state: 2D Tensor with shape [batch_size x cell.state_size]. + loop_function: function will be applied to the i-th output in order to + generate the i+1-st input (see self.get_input). + cell: rnn_cell.RNNCell defining the cell function and size. + + Returns: + A tuple of the form (outputs, state), where: + outputs: A list of character logits of the same length as + decoder_inputs of 2D Tensors with shape [batch_size x num_characters]. + state: The state of each cell at the final time-step. + It is a 2D Tensor of shape [batch_size x cell.state_size]. + """ + pass + + def is_training(self): + """Returns True if the layer is created for training stage.""" + return self._labels_one_hot is not None + + def char_logit(self, inputs, char_index): + """Creates logits for a character if required. + + Args: + inputs: A tensor with shape [batch_size, ?] (depth is implementation + dependent). + char_index: A integer index of a character in the output sequence. + + Returns: + A tensor with shape [batch_size, num_char_classes] + """ + if char_index not in self._char_logits: + self._char_logits[char_index] = tf.nn.xw_plus_b(inputs, self._softmax_w, + self._softmax_b) + return self._char_logits[char_index] + + def char_one_hot(self, logit): + """Creates one hot encoding for a logit of a character. + + Args: + logit: A tensor with shape [batch_size, num_char_classes]. + + Returns: + A tensor with shape [batch_size, num_char_classes] + """ + prediction = tf.argmax(logit, dimension=1) + return slim.one_hot_encoding(prediction, self._params.num_char_classes) + + def get_input(self, prev, i): + """A wrapper for get_train_input and get_eval_input. + + Args: + prev: output tensor from previous step of the RNN. A tensor with shape: + [batch_size, num_char_classes]. + i: index of a character in the output sequence. + + Returns: + A tensor with shape [batch_size, ?] - depth depends on implementation + details. + """ + if self.is_training(): + return self.get_train_input(prev, i) + else: + return self.get_eval_input(prev, i) + + def create_logits(self): + """Creates character sequence logits for a net specified in the constructor. + + A "main" method for the sequence layer which glues together all pieces. + + Returns: + A tensor with shape [batch_size, seq_length, num_char_classes]. + """ + with tf.variable_scope('LSTM'): + first_label = self.get_input(prev=None, i=0) + decoder_inputs = [first_label] + [None] * (self._params.seq_length - 1) + lstm_cell = tf.contrib.rnn.LSTMCell( + self._mparams.num_lstm_units, + use_peepholes=False, + cell_clip=self._mparams.lstm_state_clip_value, + state_is_tuple=True, + initializer=orthogonal_initializer) + lstm_outputs, _ = self.unroll_cell( + decoder_inputs=decoder_inputs, + initial_state=lstm_cell.zero_state(self._batch_size, tf.float32), + loop_function=self.get_input, + cell=lstm_cell) + + with tf.variable_scope('logits'): + logits_list = [ + tf.expand_dims(self.char_logit(logit, i), dim=1) + for i, logit in enumerate(lstm_outputs) + ] + + return tf.concat(logits_list, 1) + + +class NetSlice(SequenceLayerBase): + """A layer which uses a subset of image features to predict each character. + """ + + def __init__(self, *args, **kwargs): + super(NetSlice, self).__init__(*args, **kwargs) + self._zero_label = tf.zeros( + [self._batch_size, self._params.num_char_classes]) + + def get_image_feature(self, char_index): + """Returns a subset of image features for a character. + + Args: + char_index: an index of a character. + + Returns: + A tensor with shape [batch_size, ?]. The output depth depends on the + depth of input net. + """ + batch_size, features_num, _ = [d.value for d in self._net.get_shape()] + slice_len = int(features_num / self._params.seq_length) + # In case when features_num != seq_length, we just pick a subset of image + # features, this choice is arbitrary and there is no intuitive geometrical + # interpretation. If features_num is not dividable by seq_length there will + # be unused image features. + net_slice = self._net[:, char_index:char_index + slice_len, :] + feature = tf.reshape(net_slice, [batch_size, -1]) + logging.debug('Image feature: %s', feature) + return feature + + def get_eval_input(self, prev, i): + """See SequenceLayerBase.get_eval_input for details.""" + del prev + return self.get_image_feature(i) + + def get_train_input(self, prev, i): + """See SequenceLayerBase.get_train_input for details.""" + return self.get_eval_input(prev, i) + + def unroll_cell(self, decoder_inputs, initial_state, loop_function, cell): + """See SequenceLayerBase.unroll_cell for details.""" + return tf.contrib.legacy_seq2seq.rnn_decoder( + decoder_inputs=decoder_inputs, + initial_state=initial_state, + cell=cell, + loop_function=self.get_input) + + +class NetSliceWithAutoregression(NetSlice): + """A layer similar to NetSlice, but it also uses auto regression. + + The "auto regression" means that we use network output for previous character + as a part of input for the current character. + """ + + def __init__(self, *args, **kwargs): + super(NetSliceWithAutoregression, self).__init__(*args, **kwargs) + + def get_eval_input(self, prev, i): + """See SequenceLayerBase.get_eval_input for details.""" + if i == 0: + prev = self._zero_label + else: + logit = self.char_logit(prev, char_index=i - 1) + prev = self.char_one_hot(logit) + image_feature = self.get_image_feature(char_index=i) + return tf.concat([image_feature, prev], 1) + + def get_train_input(self, prev, i): + """See SequenceLayerBase.get_train_input for details.""" + if i == 0: + prev = self._zero_label + else: + prev = self._labels_one_hot[:, i - 1, :] + image_feature = self.get_image_feature(i) + return tf.concat([image_feature, prev], 1) + + +class Attention(SequenceLayerBase): + """A layer which uses attention mechanism to select image features.""" + + def __init__(self, *args, **kwargs): + super(Attention, self).__init__(*args, **kwargs) + self._zero_label = tf.zeros( + [self._batch_size, self._params.num_char_classes]) + + def get_eval_input(self, prev, i): + """See SequenceLayerBase.get_eval_input for details.""" + del prev, i + # The attention_decoder will fetch image features from the net, no need for + # extra inputs. + return self._zero_label + + def get_train_input(self, prev, i): + """See SequenceLayerBase.get_train_input for details.""" + return self.get_eval_input(prev, i) + + def unroll_cell(self, decoder_inputs, initial_state, loop_function, cell): + return tf.contrib.legacy_seq2seq.attention_decoder( + decoder_inputs=decoder_inputs, + initial_state=initial_state, + attention_states=self._net, + cell=cell, + loop_function=self.get_input) + + +class AttentionWithAutoregression(Attention): + """A layer which uses both attention and auto regression.""" + + def __init__(self, *args, **kwargs): + super(AttentionWithAutoregression, self).__init__(*args, **kwargs) + + def get_train_input(self, prev, i): + """See SequenceLayerBase.get_train_input for details.""" + if i == 0: + return self._zero_label + else: + # TODO(gorban): update to gradually introduce gt labels. + return self._labels_one_hot[:, i - 1, :] + + def get_eval_input(self, prev, i): + """See SequenceLayerBase.get_eval_input for details.""" + if i == 0: + return self._zero_label + else: + logit = self.char_logit(prev, char_index=i - 1) + return self.char_one_hot(logit) + + +def get_layer_class(use_attention, use_autoregression): + """A convenience function to get a layer class based on requirements. + + Args: + use_attention: if True a returned class will use attention. + use_autoregression: if True a returned class will use auto regression. + + Returns: + One of available sequence layers (child classes for SequenceLayerBase). + """ + if use_attention and use_autoregression: + layer_class = AttentionWithAutoregression + elif use_attention and not use_autoregression: + layer_class = Attention + elif not use_attention and not use_autoregression: + layer_class = NetSlice + elif not use_attention and use_autoregression: + layer_class = NetSliceWithAutoregression + else: + raise AssertionError('Unsupported sequence layer class') + + logging.debug('Use %s as a layer class', layer_class.__name__) + return layer_class diff --git a/attention_ocr/python/sequence_layers_test.py b/attention_ocr/python/sequence_layers_test.py new file mode 100644 index 000000000..fd41e2d82 --- /dev/null +++ b/attention_ocr/python/sequence_layers_test.py @@ -0,0 +1,112 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for sequence_layers.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import numpy as np +import tensorflow as tf +from tensorflow.contrib import slim + +import model +import sequence_layers + + +def fake_net(batch_size, num_features, feature_size): + return tf.convert_to_tensor( + np.random.uniform(size=(batch_size, num_features, feature_size)), + dtype=tf.float32) + + +def fake_labels(batch_size, seq_length, num_char_classes): + labels_np = tf.convert_to_tensor( + np.random.randint( + low=0, high=num_char_classes, size=(batch_size, seq_length))) + return slim.one_hot_encoding(labels_np, num_classes=num_char_classes) + + +def create_layer(layer_class, batch_size, seq_length, num_char_classes): + model_params = model.ModelParams( + num_char_classes=num_char_classes, + seq_length=seq_length, + num_views=1, + null_code=num_char_classes) + net = fake_net( + batch_size=batch_size, num_features=seq_length * 5, feature_size=6) + labels_one_hot = fake_labels(batch_size, seq_length, num_char_classes) + layer_params = sequence_layers.SequenceLayerParams( + num_lstm_units=10, weight_decay=0.00004, lstm_state_clip_value=10.0) + return layer_class(net, labels_one_hot, model_params, layer_params) + + +class SequenceLayersTest(tf.test.TestCase): + def test_net_slice_char_logits_with_correct_shape(self): + batch_size = 2 + seq_length = 4 + num_char_classes = 3 + + layer = create_layer(sequence_layers.NetSlice, batch_size, seq_length, + num_char_classes) + char_logits = layer.create_logits() + + self.assertEqual( + tf.TensorShape([batch_size, seq_length, num_char_classes]), + char_logits.get_shape()) + + def test_net_slice_with_autoregression_char_logits_with_correct_shape(self): + batch_size = 2 + seq_length = 4 + num_char_classes = 3 + + layer = create_layer(sequence_layers.NetSliceWithAutoregression, + batch_size, seq_length, num_char_classes) + char_logits = layer.create_logits() + + self.assertEqual( + tf.TensorShape([batch_size, seq_length, num_char_classes]), + char_logits.get_shape()) + + def test_attention_char_logits_with_correct_shape(self): + batch_size = 2 + seq_length = 4 + num_char_classes = 3 + + layer = create_layer(sequence_layers.Attention, batch_size, seq_length, + num_char_classes) + char_logits = layer.create_logits() + + self.assertEqual( + tf.TensorShape([batch_size, seq_length, num_char_classes]), + char_logits.get_shape()) + + def test_attention_with_autoregression_char_logits_with_correct_shape(self): + batch_size = 2 + seq_length = 4 + num_char_classes = 3 + + layer = create_layer(sequence_layers.AttentionWithAutoregression, + batch_size, seq_length, num_char_classes) + char_logits = layer.create_logits() + + self.assertEqual( + tf.TensorShape([batch_size, seq_length, num_char_classes]), + char_logits.get_shape()) + + +if __name__ == '__main__': + tf.test.main() diff --git a/attention_ocr/python/train.py b/attention_ocr/python/train.py new file mode 100644 index 000000000..fa91fb73b --- /dev/null +++ b/attention_ocr/python/train.py @@ -0,0 +1,209 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Script to train the Attention OCR model. + +A simple usage example: +python train.py +""" +import collections +import logging +import tensorflow as tf +from tensorflow.contrib import slim +from tensorflow import app +from tensorflow.python.platform import flags +from tensorflow.contrib.tfprof import model_analyzer + +import data_provider +import common_flags + +FLAGS = flags.FLAGS +common_flags.define() + +# yapf: disable +flags.DEFINE_integer('task', 0, + 'The Task ID. This value is used when training with ' + 'multiple workers to identify each worker.') + +flags.DEFINE_integer('ps_tasks', 0, + 'The number of parameter servers. If the value is 0, then' + ' the parameters are handled locally by the worker.') + +flags.DEFINE_integer('save_summaries_secs', 60, + 'The frequency with which summaries are saved, in ' + 'seconds.') + +flags.DEFINE_integer('save_interval_secs', 600, + 'Frequency in seconds of saving the model.') + +flags.DEFINE_integer('max_number_of_steps', int(1e10), + 'The maximum number of gradient steps.') + +flags.DEFINE_string('checkpoint_inception', '', + 'Checkpoint to recover inception weights from.') + +flags.DEFINE_float('clip_gradient_norm', 2.0, + 'If greater than 0 then the gradients would be clipped by ' + 'it.') + +flags.DEFINE_bool('sync_replicas', False, + 'If True will synchronize replicas during training.') + +flags.DEFINE_integer('replicas_to_aggregate', 1, + 'The number of gradients updates before updating params.') + +flags.DEFINE_integer('total_num_replicas', 1, + 'Total number of worker replicas.') + +flags.DEFINE_integer('startup_delay_steps', 15, + 'Number of training steps between replicas startup.') + +flags.DEFINE_boolean('reset_train_dir', False, + 'If true will delete all files in the train_log_dir') + +flags.DEFINE_boolean('show_graph_stats', False, + 'Output model size stats to stderr.') +# yapf: enable + +TrainingHParams = collections.namedtuple('TrainingHParams', [ + 'learning_rate', + 'optimizer', + 'momentum', + 'use_augment_input', +]) + + +def get_training_hparams(): + return TrainingHParams( + learning_rate=FLAGS.learning_rate, + optimizer=FLAGS.optimizer, + momentum=FLAGS.momentum, + use_augment_input=FLAGS.use_augment_input) + + +def create_optimizer(hparams): + """Creates optimized based on the specified flags.""" + if hparams.optimizer == 'momentum': + optimizer = tf.train.MomentumOptimizer( + hparams.learning_rate, momentum=hparams.momentum) + elif hparams.optimizer == 'adam': + optimizer = tf.train.AdamOptimizer(hparams.learning_rate) + elif hparams.optimizer == 'adadelta': + optimizer = tf.train.AdadeltaOptimizer(hparams.learning_rate) + elif hparams.optimizer == 'adagrad': + optimizer = tf.train.AdagradOptimizer(hparams.learning_rate) + elif hparams.optimizer == 'rmsprop': + optimizer = tf.train.RMSPropOptimizer( + hparams.learning_rate, momentum=hparams.momentum) + return optimizer + + +def train(loss, init_fn, hparams): + """Wraps slim.learning.train to run a training loop. + + Args: + loss: a loss tensor + init_fn: A callable to be executed after all other initialization is done. + hparams: a model hyper parameters + """ + optimizer = create_optimizer(hparams) + + if FLAGS.sync_replicas: + replica_id = tf.constant(FLAGS.task, tf.int32, shape=()) + optimizer = tf.LegacySyncReplicasOptimizer( + opt=optimizer, + replicas_to_aggregate=FLAGS.replicas_to_aggregate, + replica_id=replica_id, + total_num_replicas=FLAGS.total_num_replicas) + sync_optimizer = optimizer + startup_delay_steps = 0 + else: + startup_delay_steps = 0 + sync_optimizer = None + + train_op = slim.learning.create_train_op( + loss, + optimizer, + summarize_gradients=True, + clip_gradient_norm=FLAGS.clip_gradient_norm) + + slim.learning.train( + train_op=train_op, + logdir=FLAGS.train_log_dir, + graph=loss.graph, + master=FLAGS.master, + is_chief=(FLAGS.task == 0), + number_of_steps=FLAGS.max_number_of_steps, + save_summaries_secs=FLAGS.save_summaries_secs, + save_interval_secs=FLAGS.save_interval_secs, + startup_delay_steps=startup_delay_steps, + sync_optimizer=sync_optimizer, + init_fn=init_fn) + + +def prepare_training_dir(): + if not tf.gfile.Exists(FLAGS.train_log_dir): + logging.info('Create a new training directory %s', FLAGS.train_log_dir) + tf.gfile.MakeDirs(FLAGS.train_log_dir) + else: + if FLAGS.reset_train_dir: + logging.info('Reset the training directory %s', FLAGS.train_log_dir) + tf.gfile.DeleteRecursively(FLAGS.train_log_dir) + tf.gfile.MakeDirs(FLAGS.train_log_dir) + else: + logging.info('Use already existing training directory %s', + FLAGS.train_log_dir) + + +def calculate_graph_metrics(): + param_stats = model_analyzer.print_model_analysis( + tf.get_default_graph(), + tfprof_options=model_analyzer.TRAINABLE_VARS_PARAMS_STAT_OPTIONS) + return param_stats.total_parameters + + +def main(_): + prepare_training_dir() + + dataset = common_flags.create_dataset(split_name=FLAGS.split_name) + model = common_flags.create_model(dataset.num_char_classes, + dataset.max_sequence_length, + dataset.num_of_views, dataset.null_code) + hparams = get_training_hparams() + + # If ps_tasks is zero, the local device is used. When using multiple + # (non-local) replicas, the ReplicaDeviceSetter distributes the variables + # across the different devices. + device_setter = tf.train.replica_device_setter( + FLAGS.ps_tasks, merge_devices=True) + with tf.device(device_setter): + data = data_provider.get_data( + dataset, + FLAGS.batch_size, + augment=hparams.use_augment_input, + central_crop_size=common_flags.get_crop_size()) + endpoints = model.create_base(data.images, data.labels_one_hot) + total_loss = model.create_loss(data, endpoints) + model.create_summaries(data, endpoints, dataset.charset, is_training=True) + init_fn = model.create_init_fn_to_restore(FLAGS.checkpoint, + FLAGS.checkpoint_inception) + if FLAGS.show_graph_stats: + logging.info('Total number of weights in the graph: %s', + calculate_graph_metrics()) + train(total_loss, init_fn, hparams) + + +if __name__ == '__main__': + app.run() diff --git a/attention_ocr/python/utils.py b/attention_ocr/python/utils.py new file mode 100644 index 000000000..10d93ad21 --- /dev/null +++ b/attention_ocr/python/utils.py @@ -0,0 +1,80 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Functions to support building models for StreetView text transcription.""" + +import tensorflow as tf +from tensorflow.contrib import slim + + +def logits_to_log_prob(logits): + """Computes log probabilities using numerically stable trick. + + This uses two numerical stability tricks: + 1) softmax(x) = softmax(x - c) where c is a constant applied to all + arguments. If we set c = max(x) then the softmax is more numerically + stable. + 2) log softmax(x) is not numerically stable, but we can stabilize it + by using the identity log softmax(x) = x - log sum exp(x) + + Args: + logits: Tensor of arbitrary shape whose last dimension contains logits. + + Returns: + A tensor of the same shape as the input, but with corresponding log + probabilities. + """ + + with tf.variable_scope('log_probabilities'): + reduction_indices = len(logits.shape.as_list()) - 1 + max_logits = tf.reduce_max( + logits, reduction_indices=reduction_indices, keep_dims=True) + safe_logits = tf.subtract(logits, max_logits) + sum_exp = tf.reduce_sum( + tf.exp(safe_logits), + reduction_indices=reduction_indices, + keep_dims=True) + log_probs = tf.subtract(safe_logits, tf.log(sum_exp)) + return log_probs + + +def variables_to_restore(scope=None, strip_scope=False): + """Returns a list of variables to restore for the specified list of methods. + + It is supposed that variable name starts with the method's scope (a prefix + returned by _method_scope function). + + Args: + methods_names: a list of names of configurable methods. + strip_scope: if True will return variable names without method's scope. + If methods_names is None will return names unchanged. + model_scope: a scope for a whole model. + + Returns: + a dictionary mapping variable names to variables for restore. + """ + if scope: + variable_map = {} + method_variables = slim.get_variables_to_restore(include=[scope]) + for var in method_variables: + if strip_scope: + var_name = var.op.name[len(scope) + 1:] + else: + var_name = var.op.name + variable_map[var_name] = var + + return variable_map + else: + return {v.op.name: v for v in slim.get_variables_to_restore()} -- GitLab From 6159b59366fc5e467ea00491462a1caef0638946 Mon Sep 17 00:00:00 2001 From: Alexander Gorban Date: Mon, 1 May 2017 14:52:29 -0700 Subject: [PATCH 047/171] Add link to the model from the top README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 06b4f7df1..01df3236f 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ running TensorFlow 0.12 or earlier, please ## Models - [adversarial_text](adversarial_text): semi-supervised sequence learning with adversarial training. +- [attention_ocr](attention_ocr): a model for real-world image text extraction. - [autoencoder](autoencoder): various autoencoders. - [cognitive_mapping_and_planning](cognitive_mapping_and_planning): implementation of a spatial memory based mapping and planning architecture for visual navigation. - [compression](compression): compressing and decompressing images using a pre-trained Residual GRU network. -- GitLab From b7ba040e382c9d964a481f374719791852e535a1 Mon Sep 17 00:00:00 2001 From: markomernick Date: Wed, 3 May 2017 13:49:15 -0400 Subject: [PATCH 048/171] Remove --no-preserve=all build_pip_package.py This commit removes --no-preserve=all from syntaxnet/dragnn/tools/build_pip_package.py. It was causing issues for OSX developers, as that option is not available on OSX. --- syntaxnet/dragnn/tools/build_pip_package.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/syntaxnet/dragnn/tools/build_pip_package.py b/syntaxnet/dragnn/tools/build_pip_package.py index be8c285c1..4925dca36 100644 --- a/syntaxnet/dragnn/tools/build_pip_package.py +++ b/syntaxnet/dragnn/tools/build_pip_package.py @@ -63,13 +63,12 @@ def main(): # Copy the files. subprocess.check_call([ - "cp", "-r", - "--no-preserve=all", os.path.join(base_dir, "dragnn"), os.path.join( + "cp", "-r", os.path.join(base_dir, "dragnn"), os.path.join( base_dir, "syntaxnet"), tmp_packaging ]) if args.include_tensorflow: subprocess.check_call( - ["cp", "-r", "--no-preserve=all", tensorflow_dir, tmp_packaging]) + ["cp", "-r", tensorflow_dir, tmp_packaging]) shutil.copy( os.path.join(base_dir, "dragnn/tools/oss_setup.py"), os.path.join(tmp_packaging, "setup.py")) -- GitLab From a97304d53e873ce5949b486c8fcbf5d4fcab7a3b Mon Sep 17 00:00:00 2001 From: Ryan Sepassi Date: Wed, 3 May 2017 11:23:38 -0700 Subject: [PATCH 049/171] Updates to adversarial_text model --- adversarial_text/adversarial_losses.py | 19 ++++++++++++++----- adversarial_text/evaluate.py | 25 ++++++++++++++++--------- adversarial_text/layers.py | 11 +++++------ 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/adversarial_text/adversarial_losses.py b/adversarial_text/adversarial_losses.py index 8cd465623..f8fba6d35 100644 --- a/adversarial_text/adversarial_losses.py +++ b/adversarial_text/adversarial_losses.py @@ -83,8 +83,10 @@ def virtual_adversarial_loss(logits, embedded, inputs, """ # Stop gradient of logits. See https://arxiv.org/abs/1507.00677 for details. logits = tf.stop_gradient(logits) + # Only care about the KL divergence on the final timestep. weights = _end_of_seq_mask(inputs.labels) + # Initialize perturbation with random noise. # shape(embedded) = (batch_size, num_timesteps, embedding_dim) d = _mask_by_length(tf.random_normal(shape=tf.shape(embedded)), inputs.length) @@ -173,11 +175,15 @@ def _mask_by_length(t, length): def _scale_l2(x, norm_length): # shape(x) = (batch, num_timesteps, d) - x /= (1e-12 + tf.reduce_max(tf.abs(x), 2, keep_dims=True)) - x_2 = tf.reduce_sum(tf.pow(x, 2), 2, keep_dims=True) - x /= tf.sqrt(1e-6 + x_2) - return norm_length * x + # Divide x by max(abs(x)) for a numerically stable L2 norm. + # 2norm(x) = a * 2norm(x/a) + # Scale over the full sequence, dims (1, 2) + alpha = tf.reduce_max(tf.abs(x), (1, 2), keep_dims=True) + 1e-12 + l2_norm = alpha * tf.sqrt(tf.reduce_sum(tf.pow(x / alpha, 2), (1, 2), + keep_dims=True) + 1e-6) + x_unit = x / l2_norm + return norm_length * x_unit def _end_of_seq_mask(tokens): @@ -225,5 +231,8 @@ def _kl_divergence_with_logits(q_logits, p_logits, weights): num_labels = tf.reduce_sum(weights) num_labels = tf.where(tf.equal(num_labels, 0.), 1., num_labels) - loss = tf.identity(tf.reduce_sum(weights * kl) / num_labels, name='kl') + kl.get_shape().assert_has_rank(2) + weights.get_shape().assert_has_rank(1) + loss = tf.identity(tf.reduce_sum(tf.expand_dims(weights, -1) * kl) / + num_labels, name='kl') return loss diff --git a/adversarial_text/evaluate.py b/adversarial_text/evaluate.py index 7c68f88cf..2c96b7990 100644 --- a/adversarial_text/evaluate.py +++ b/adversarial_text/evaluate.py @@ -84,28 +84,35 @@ def run_eval(eval_ops, summary_writer, saver): metric_names, ops = zip(*eval_ops.items()) value_ops, update_ops = zip(*ops) + value_ops_dict = dict(zip(metric_names, value_ops)) + # Run update ops num_batches = int(math.ceil(FLAGS.num_examples / FLAGS.batch_size)) tf.logging.info('Running %d batches for evaluation.', num_batches) for i in range(num_batches): if (i + 1) % 10 == 0: tf.logging.info('Running batch %d/%d...', i + 1, num_batches) + if (i + 1) % 50 == 0: + _log_values(sess, value_ops_dict) sess.run(update_ops) - values = sess.run(value_ops) - metric_values = dict(zip(metric_names, values)) + _log_values(sess, value_ops_dict, summary_writer=summary_writer) + - tf.logging.info('Eval metric values:') - summary = tf.summary.Summary() - for name, val in metric_values.items(): - summary.value.add(tag=name, simple_value=val) - tf.logging.info('%s = %.3f', name, val) +def _log_values(sess, value_ops, summary_writer=None): + metric_names, value_ops = zip(*value_ops.items()) + values = sess.run(value_ops) + tf.logging.info('Eval metric values:') + summary = tf.summary.Summary() + for name, val in zip(metric_names, values): + summary.value.add(tag=name, simple_value=val) + tf.logging.info('%s = %.3f', name, val) + + if summary_writer is not None: global_step_val = sess.run(tf.train.get_global_step()) summary_writer.add_summary(summary, global_step_val) - return metric_values - def main(_): tf.logging.set_verbosity(tf.logging.INFO) diff --git a/adversarial_text/layers.py b/adversarial_text/layers.py index 719928ea2..c560be306 100644 --- a/adversarial_text/layers.py +++ b/adversarial_text/layers.py @@ -81,11 +81,10 @@ class Embedding(K.layers.Layer): def _normalize(self, emb): weights = self.vocab_freqs / tf.reduce_sum(self.vocab_freqs) - - emb -= tf.reduce_sum(weights * emb, 0, keep_dims=True) - emb /= tf.sqrt(1e-6 + tf.reduce_sum( - weights * tf.pow(emb, 2.), 0, keep_dims=True)) - return emb + mean = tf.reduce_sum(weights * emb, 0, keep_dims=True) + var = tf.reduce_sum(weights * tf.pow(emb - mean, 2.), 0, keep_dims=True) + stddev = tf.sqrt(1e-6 + var) + return (emb - mean) / stddev class LSTM(object): @@ -201,7 +200,7 @@ def classification_loss(logits, labels, weights): logits: 2-D [timesteps*batch_size, m] float tensor, where m=1 if num_classes=2, otherwise m=num_classes. labels: 1-D [timesteps*batch_size] integer tensor. - weights: 2-D [timesteps*batch_size] float tensor. + weights: 1-D [timesteps*batch_size] float tensor. Returns: Loss scalar of type float. -- GitLab From 559cd839f7fee7f41e9f17105751e1d89322aa05 Mon Sep 17 00:00:00 2001 From: Junwei Pan Date: Thu, 4 May 2017 08:15:06 -0700 Subject: [PATCH 050/171] Fix Typos --- cognitive_mapping_and_planning/README.md | 2 +- inception/README.md | 2 +- skip_thoughts/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cognitive_mapping_and_planning/README.md b/cognitive_mapping_and_planning/README.md index b3f3e5080..5e1515272 100644 --- a/cognitive_mapping_and_planning/README.md +++ b/cognitive_mapping_and_planning/README.md @@ -106,7 +106,7 @@ citing the following paper: ### Train Your Own Models All models were trained asynchronously with 16 workers each worker using data -from a single floor. The default hyper-parameters coorespond to this setting. +from a single floor. The default hyper-parameters correspond to this setting. See [distributed training with Tensorflow](https://www.tensorflow.org/deploy/distributed) for setting up distributed training. Training with a single worker is possible with the current diff --git a/inception/README.md b/inception/README.md index c4dc22004..446415308 100644 --- a/inception/README.md +++ b/inception/README.md @@ -260,7 +260,7 @@ Note that in this example each replica has a single tower that uses one GPU. The command-line flags `worker_hosts` and `ps_hosts` specify available servers. The same binary will be used for both the `worker` jobs and the `ps` jobs. Command line flag `job_name` will be used to specify what role a task will be -playing and `task_id` will be used to idenify which one of the jobs it is +playing and `task_id` will be used to identify which one of the jobs it is running. Several things to note here: * The numbers of `ps` and `worker` tasks are inferred from the lists of hosts diff --git a/skip_thoughts/README.md b/skip_thoughts/README.md index ad6c98ec0..68cc45e6e 100644 --- a/skip_thoughts/README.md +++ b/skip_thoughts/README.md @@ -285,7 +285,7 @@ bazel-bin/skip_thoughts/vocabulary_expansion \ The model can be evaluated using the benchmark tasks described in the [Skip-Thought Vectors](https://papers.nips.cc/paper/5950-skip-thought-vectors.pdf) -paper. The following tasks are suported (refer to the paper for full details): +paper. The following tasks are supported (refer to the paper for full details): * **SICK** semantic relatedness task. * **MSRP** (Microsoft Research Paraphrase Corpus) paraphrase detection task. -- GitLab From 0dc509d1f74b6aea3ec90c214e47ce26a1ec375f Mon Sep 17 00:00:00 2001 From: Chris Waterson Date: Fri, 5 May 2017 11:59:50 -0700 Subject: [PATCH 051/171] Distributed swivel (#1441) * Refactor to use distributed TF API; add driver script. * Add explicit GPU flag so multiple cards can be used. * Update docs to mention distributed.sh. * Don't make use of HParams yet, since they're not available in TF1.0 --- swivel/README.md | 3 + swivel/distributed.sh | 54 +++ swivel/swivel.py | 750 +++++++++++++++++++++++------------------- 3 files changed, 469 insertions(+), 338 deletions(-) create mode 100644 swivel/distributed.sh diff --git a/swivel/README.md b/swivel/README.md index fff8cc6f4..d13f32f02 100644 --- a/swivel/README.md +++ b/swivel/README.md @@ -42,6 +42,9 @@ This release includes the following programs. * `swivel.py` is a TensorFlow program that generates embeddings from the co-occurrence statistics. It uses the files created by `prep.py` as input, and generates two text files as output: the row and column embeddings. +* `distributed.sh` is a Bash script that is meant to act as a template for + launching "distributed" Swivel training; i.e., multiple processes that work in + parallel and communicate via a parameter server. * `text2bin.py` combines the row and column vectors generated by Swivel into a flat binary file that can be quickly loaded into memory to perform vector arithmetic. This can also be used to convert embeddings from diff --git a/swivel/distributed.sh b/swivel/distributed.sh new file mode 100644 index 000000000..6aa59f751 --- /dev/null +++ b/swivel/distributed.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This script launches a multi-process version of Swivel on a single machine. +set -e + +# A comma-separated list of parameter server processes. +PS_HOSTS="localhost:4000" + +# A comma-separated list of worker processes. +WORKER_HOSTS="localhost:5000,localhost:5001,localhost:5002,localhost:5003" + +# Where the Swivel training data is located. All processes must be able to read +# from this directory, so it ought to be a network filesystem if you're running +# on multiple servers. +INPUT_BASE_PATH="${HOME}/tmp/swivel/in" + +# Where the output and working directory is located. +OUTPUT_BASE_PATH="${HOME}/tmp/swivel/out" + +# Location of evaluation data, if you want to observe evaluation while training. +EVAL_BASE_PATH="${HOME}/tmp/swivel/eval" + +ARGS="--ps_hosts ${PS_HOSTS} +--worker_hosts ${WORKER_HOSTS} +--input_base_path ${INPUT_BASE_PATH} +--output_base_path ${OUTPUT_BASE_PATH} +--eval_base_path ${EVAL_BASE_PATH}" + +# This configuration is for a two-GPU machine. It starts four worker +# processes, two for each GPU. +python swivel.py --job_name ps --task_index 0 ${ARGS} >& /tmp/ps.0 & +python swivel.py --job_name worker --task_index 0 --gpu_device 0 ${ARGS} >& /tmp/worker.0 & +python swivel.py --job_name worker --task_index 1 --gpu_device 1 ${ARGS} >& /tmp/worker.1 & +python swivel.py --job_name worker --task_index 2 --gpu_device 0 ${ARGS} >& /tmp/worker.2 & +python swivel.py --job_name worker --task_index 3 --gpu_device 1 ${ARGS} >& /tmp/worker.3 & + +# Perhaps there is a more clever way to clean up the parameter server once all +# the workers are done. +wait %2 %3 %4 %5 +kill %1 + diff --git a/swivel/swivel.py b/swivel/swivel.py index f9927cd42..c69660c09 100644 --- a/swivel/swivel.py +++ b/swivel/swivel.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python -# # Copyright 2016 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -49,366 +47,442 @@ number of epochs. When complete, it will output the trained vectors to a tab-separated file that contains one line per embedding. Row and column embeddings are stored in separate files. +Swivel can be run "stand-alone" or "distributed". The latter involves running +at least one parameter server process, along with one or more worker processes. """ +from __future__ import division from __future__ import print_function + import glob -import math +import itertools import os -import sys -import time -import threading +import random import numpy as np +import scipy.stats import tensorflow as tf -from tensorflow.python.client import device_lib flags = tf.app.flags -flags.DEFINE_string('input_base_path', '/tmp/swivel_data', - 'Directory containing input shards, vocabularies, ' - 'and marginals.') -flags.DEFINE_string('output_base_path', '/tmp/swivel_data', - 'Path where to write the trained embeddings.') -flags.DEFINE_integer('embedding_size', 300, 'Size of the embeddings') -flags.DEFINE_boolean('trainable_bias', False, 'Biases are trainable') -flags.DEFINE_integer('submatrix_rows', 4096, 'Rows in each training submatrix. ' - 'This must match the training data.') -flags.DEFINE_integer('submatrix_cols', 4096, 'Rows in each training submatrix. ' - 'This must match the training data.') -flags.DEFINE_float('loss_multiplier', 1.0 / 4096, - 'constant multiplier on loss.') -flags.DEFINE_float('confidence_exponent', 0.5, - 'Exponent for l2 confidence function') -flags.DEFINE_float('confidence_scale', 0.25, 'Scale for l2 confidence function') -flags.DEFINE_float('confidence_base', 0.1, 'Base for l2 confidence function') -flags.DEFINE_float('learning_rate', 1.0, 'Initial learning rate') -flags.DEFINE_integer('num_concurrent_steps', 2, - 'Number of threads to train with') -flags.DEFINE_integer('num_readers', 4, - 'Number of threads to read the input data and feed it') -flags.DEFINE_float('num_epochs', 40, 'Number epochs to train for') -flags.DEFINE_float('per_process_gpu_memory_fraction', 0, - 'Fraction of GPU memory to use, 0 means allow_growth') -flags.DEFINE_integer('num_gpus', 0, - 'Number of GPUs to use, 0 means all available') +flags.DEFINE_string( + 'input_base_path', '/tmp/swivel_data', + 'Directory containing input shards, vocabularies, and marginals.') +flags.DEFINE_string( + 'output_base_path', '/tmp/swivel_data', + 'Path where to write the trained embeddings.') +flags.DEFINE_string('eval_base_path', '', 'Path to evaluation data') + +# Control for training. +flags.DEFINE_float('num_epochs', 40, 'Number epochs to train') +flags.DEFINE_string('hparams', '', 'Model hyper-parameters') + +# Model hyper-parameters. (Move these to tf.HParams once that gets integrated +# into TF from tf.contrib.) +flags.DEFINE_integer( + 'dim', 300, 'Embedding dimensionality') +flags.DEFINE_string( + 'optimizer', 'rmsprop', 'SGD optimizer; either "adagrad" or "rmsprop"') +flags.DEFINE_float( + 'learning_rate', 0.1, 'Optimizer learning rate') +flags.DEFINE_float( + 'momentum', 0.1, 'Optimizer momentum; used with RMSProp') +flags.DEFINE_float( + 'confidence_base', 0.0, 'Base for count weighting') +flags.DEFINE_float( + 'confidence_scale', 1.0, 'Scale for count weighting') +flags.DEFINE_float( + 'confidence_exponent', 0.5, 'Exponent for count weighting') +flags.DEFINE_integer( + 'submatrix_rows', 4096, 'Number of rows in each submatrix') +flags.DEFINE_integer( + 'submatrix_cols', 4096, 'Number of cols in each submatrix') + +# For distributed training. +flags.DEFINE_string( + 'ps_hosts', '', + 'Comma-separated list of parameter server host:port; if empty, run local') +flags.DEFINE_string( + 'worker_hosts', '', 'Comma-separated list of worker host:port') +flags.DEFINE_string( + 'job_name', '', 'The job this process will run, either "ps" or "worker"') +flags.DEFINE_integer( + 'task_index', 0, 'The task index for this process') +flags.DEFINE_integer( + 'gpu_device', 0, 'The GPU device to use.') FLAGS = flags.FLAGS -def log(message, *args, **kwargs): - tf.logging.info(message, *args, **kwargs) +class Model(object): + """A Swivel model.""" + + def __init__(self, input_base_path, hparams): + """Creates a new Swivel model.""" + # Read vocab + self.row_ix_to_word, self.row_word_to_ix = self._read_vocab( + os.path.join(input_base_path, 'row_vocab.txt')) + self.col_ix_to_word, self.col_word_to_ix = self._read_vocab( + os.path.join(input_base_path, 'col_vocab.txt')) + + # Read marginals. + row_sums = self._read_marginals_file( + os.path.join(input_base_path, 'row_sums.txt')) + col_sums = self._read_marginals_file( + os.path.join(input_base_path, 'col_sums.txt')) + + # Construct input tensors. + count_matrix_files = glob.glob( + os.path.join(input_base_path, 'shard-*.pb')) + + global_rows, global_cols, counts = self._count_matrix_input( + count_matrix_files, hparams.submatrix_rows, hparams.submatrix_cols) + + # Create embedding variables. + sigma = 1.0 / np.sqrt(hparams.dim) + self.row_embedding = tf.get_variable( + 'row_embedding', + shape=[len(row_sums), hparams.dim], + initializer=tf.random_normal_initializer(0, sigma), + dtype=tf.float32) + self.col_embedding = tf.get_variable( + 'col_embedding', + shape=[len(col_sums), hparams.dim], + initializer=tf.random_normal_initializer(0, sigma), + dtype=tf.float32) + + matrix_log_sum = np.log(np.sum(row_sums) + 1) + row_bias = tf.constant( + [np.log(x + 1) for x in row_sums], dtype=tf.float32) + col_bias = tf.constant( + [np.log(x + 1) for x in col_sums], dtype=tf.float32) + + # Fetch embeddings. + selected_rows = tf.nn.embedding_lookup(self.row_embedding, global_rows) + selected_cols = tf.nn.embedding_lookup(self.col_embedding, global_cols) + + selected_row_bias = tf.gather(row_bias, global_rows) + selected_col_bias = tf.gather(col_bias, global_cols) + + predictions = tf.matmul(selected_rows, selected_cols, transpose_b=True) + + # These binary masks separate zero from non-zero values. + count_is_nonzero = tf.to_float(tf.cast(counts, tf.bool)) + count_is_zero = 1 - count_is_nonzero + + objectives = count_is_nonzero * tf.log(counts + 1e-30) + objectives -= tf.reshape(selected_row_bias, [-1, 1]) + objectives -= selected_col_bias + objectives += matrix_log_sum + + err = predictions - objectives + + # The confidence function scales the L2 loss based on the raw + # co-occurrence count. + l2_confidence = (hparams.confidence_base + + hparams.confidence_scale * tf.pow( + counts, hparams.confidence_exponent)) + + loss_multiplier = 1 / np.sqrt( + hparams.submatrix_rows * hparams.submatrix_cols) + + l2_loss = loss_multiplier * tf.reduce_sum( + 0.5 * l2_confidence * tf.square(err)) + + sigmoid_loss = loss_multiplier * tf.reduce_sum( + tf.nn.softplus(err) * count_is_zero) + + self.loss_op = l2_loss + sigmoid_loss + + if hparams.optimizer == 'adagrad': + opt = tf.train.AdagradOptimizer(hparams.learning_rate) + elif hparams.optimizer == 'rmsprop': + opt = tf.train.RMSPropOptimizer(hparams.learning_rate, hparams.momentum) + else: + raise ValueError('unknown optimizer "%s"' % hparams.optimizer) + + self.global_step = tf.get_variable( + 'global_step', initializer=0, trainable=False) + + self.train_op = opt.minimize(self.loss_op, global_step=self.global_step) + + # One epoch trains each submatrix once. + self.steps_per_epoch = ( + (len(row_sums) / hparams.submatrix_rows) * + (len(col_sums) / hparams.submatrix_cols)) + + def _read_vocab(self, filename): + """Reads the vocabulary file.""" + with open(filename) as lines: + ix_to_word = [line.strip() for line in lines] + word_to_ix = {word: ix for ix, word in enumerate(ix_to_word)} + return ix_to_word, word_to_ix + + def _read_marginals_file(self, filename): + """Reads text file with one number per line to an array.""" + with open(filename) as lines: + return [float(line.strip()) for line in lines] + + def _count_matrix_input(self, filenames, submatrix_rows, submatrix_cols): + """Creates ops that read submatrix shards from disk.""" + random.shuffle(filenames) + filename_queue = tf.train.string_input_producer(filenames) + reader = tf.WholeFileReader() + _, serialized_example = reader.read(filename_queue) + features = tf.parse_single_example( + serialized_example, + features={ + 'global_row': tf.FixedLenFeature([submatrix_rows], dtype=tf.int64), + 'global_col': tf.FixedLenFeature([submatrix_cols], dtype=tf.int64), + 'sparse_local_row': tf.VarLenFeature(dtype=tf.int64), + 'sparse_local_col': tf.VarLenFeature(dtype=tf.int64), + 'sparse_value': tf.VarLenFeature(dtype=tf.float32) + }) + + global_row = features['global_row'] + global_col = features['global_col'] + + sparse_local_row = features['sparse_local_row'].values + sparse_local_col = features['sparse_local_col'].values + sparse_count = features['sparse_value'].values + + sparse_indices = tf.concat( + axis=1, values=[tf.expand_dims(sparse_local_row, 1), + tf.expand_dims(sparse_local_col, 1)]) + + count = tf.sparse_to_dense(sparse_indices, [submatrix_rows, submatrix_cols], + sparse_count) + + return global_row, global_col, count + + def wordsim_eval_op(self, filename): + """Returns an op that runs an eval on a word similarity dataset. + + The eval dataset is assumed to be tab-separated, one scored word pair per + line. The resulting value is Spearman's rho of the human judgements with + the cosine similarity of the word embeddings. + + Args: + filename: the filename containing the word similarity data. + + Returns: + An operator that will compute Spearman's rho of the current row + embeddings. + """ + with open(filename, 'r') as fh: + tuples = (line.strip().split('\t') for line in fh.read().splitlines()) + word1s, word2s, sims = zip(*tuples) + actuals = map(float, sims) + + v1s_t = tf.nn.embedding_lookup( + self.row_embedding, + [self.row_word_to_ix.get(w, 0) for w in word1s]) + + v2s_t = tf.nn.embedding_lookup( + self.row_embedding, + [self.row_word_to_ix.get(w, 0) for w in word2s]) + + # Compute the predicted word similarity as the cosine similarity between the + # embedding vectors. + preds_t = tf.reduce_sum( + tf.nn.l2_normalize(v1s_t, dim=1) * tf.nn.l2_normalize(v2s_t, dim=1), + axis=1) + + def _op(preds): + rho, _ = scipy.stats.spearmanr(preds, actuals) + return rho + + return tf.py_func(_op, [preds_t], tf.float64) + + def analogy_eval_op(self, filename, max_vocab_size=20000): + """Returns an op that runs an eval on an analogy dataset. + + The eval dataset is assumed to be tab-separated, with four tokens per + line. The first three tokens are query terms, the last is the expected + answer. For each line (e.g., "man king woman queen"), the vectors + corresponding to the query terms are added ("king - man + woman") to produce + a query vector. If the expected answer's vector is the nearest neighbor to + the query vector (not counting any of the query vectors themselves), then + the line is scored as correct. The reported accuracy is the number of + correct rows divided by the total number of rows. Missing terms are + replaced with an arbitrary vector and will almost certainly result in + incorrect answers. + + Note that the results are approximate: for efficiency's sake, only the first + `max_vocab_size` terms are included in the nearest neighbor search. + + Args: + filename: the filename containing the analogy data. + max_vocab_size: the maximum number of tokens to include in the nearest + neighbor search. By default, 20000. + + Returns: + The accuracy on the analogy task. + """ + analogy_ixs = [] + with open(filename, 'r') as lines: + for line in lines: + parts = line.strip().split('\t') + if len(parts) == 4: + analogy_ixs.append([self.row_word_to_ix.get(w, 0) for w in parts]) + + # man:king :: woman:queen => king - man + woman == queen + ix1s, ix2s, ix3s, _ = zip(*analogy_ixs) + v1s_t, v2s_t, v3s_t = ( + tf.nn.l2_normalize( + tf.nn.embedding_lookup(self.row_embedding, ixs), + dim=1) + for ixs in (ix1s, ix2s, ix3s)) + + preds_t = v2s_t - v1s_t + v3s_t + + # Compute the nearest neighbors as the cosine similarity. We only consider + # up to max_vocab_size to avoid a matmul that swamps the machine. + sims_t = tf.matmul( + preds_t, + tf.nn.l2_normalize(self.row_embedding[:max_vocab_size], dim=1), + transpose_b=True) + + # Take the four nearest neighbors, since the eval explicitly discards the + # query terms. + _, preds_ixs_t = tf.nn.top_k(sims_t, 4) + + def _op(preds_ixs): + correct, total = 0, 0 + for pred_ixs, actual_ixs in itertools.izip(preds_ixs, analogy_ixs): + pred_ixs = [ix for ix in pred_ixs if ix not in actual_ixs[:3]] + correct += pred_ixs[0] == actual_ixs[3] + total += 1 + + return correct / total + + return tf.py_func(_op, [preds_ixs_t], tf.float64) + + def _write_tensor(self, vocab_path, output_path, session, embedding): + """Writes tensor to output_path as tsv.""" + embeddings = session.run(embedding) + + with open(output_path, 'w') as out_f: + with open(vocab_path) as vocab_f: + for index, word in enumerate(vocab_f): + word = word.strip() + embedding = embeddings[index] + print('\t'.join([word.strip()] + [str(x) for x in embedding]), + file=out_f) + + def write_embeddings(self, config, session): + """Writes row and column embeddings disk.""" + self._write_tensor( + os.path.join(config.input_base_path, 'row_vocab.txt'), + os.path.join(config.output_base_path, 'row_embedding.tsv'), + session, self.row_embedding) + + self._write_tensor( + os.path.join(config.input_base_path, 'col_vocab.txt'), + os.path.join(config.output_base_path, 'col_embedding.tsv'), + session, self.col_embedding) -def get_available_gpus(): - return [d.name for d in device_lib.list_local_devices() - if d.device_type == 'GPU'] +def main(_): + tf.logging.set_verbosity(tf.logging.INFO) + # If we have ps_hosts, then we'll assume that this is going to be a + # distributed training run. Configure the cluster appropriately. Otherwise, + # we just do everything in-process. + if FLAGS.ps_hosts: + cluster = tf.train.ClusterSpec({ + 'ps': FLAGS.ps_hosts.split(','), + 'worker': FLAGS.worker_hosts.split(','), + }) + + if FLAGS.job_name == 'ps': + # Ignore the GPU if we're the parameter server. This let's the PS run on + # the same machine as a worker. + config = tf.ConfigProto(device_count={'GPU': 0}) + elif FLAGS.job_name == 'worker': + config = tf.ConfigProto(gpu_options=tf.GPUOptions( + visible_device_list='%d' % FLAGS.gpu_device, + allow_growth=True)) + else: + raise ValueError('unknown job name "%s"' % FLAGS.job_name) -def embeddings_with_init(vocab_size, embedding_dim, name): - """Creates and initializes the embedding tensors.""" - return tf.get_variable(name=name, - shape=[vocab_size, embedding_dim], - initializer=tf.random_normal_initializer( - stddev=math.sqrt(1.0 / embedding_dim))) - - -def count_matrix_input(filenames, submatrix_rows, submatrix_cols): - """Reads submatrix shards from disk.""" - filename_queue = tf.train.string_input_producer(filenames) - reader = tf.WholeFileReader() - _, serialized_example = reader.read(filename_queue) - features = tf.parse_single_example( - serialized_example, - features={ - 'global_row': tf.FixedLenFeature([submatrix_rows], dtype=tf.int64), - 'global_col': tf.FixedLenFeature([submatrix_cols], dtype=tf.int64), - 'sparse_local_row': tf.VarLenFeature(dtype=tf.int64), - 'sparse_local_col': tf.VarLenFeature(dtype=tf.int64), - 'sparse_value': tf.VarLenFeature(dtype=tf.float32) - }) - - global_row = features['global_row'] - global_col = features['global_col'] - - sparse_local_row = features['sparse_local_row'].values - sparse_local_col = features['sparse_local_col'].values - sparse_count = features['sparse_value'].values - - sparse_indices = tf.concat(axis=1, values=[tf.expand_dims(sparse_local_row, 1), - tf.expand_dims(sparse_local_col, 1)]) - count = tf.sparse_to_dense(sparse_indices, [submatrix_rows, submatrix_cols], - sparse_count) - - queued_global_row, queued_global_col, queued_count = tf.train.batch( - [global_row, global_col, count], - batch_size=1, - num_threads=FLAGS.num_readers, - capacity=32) - - queued_global_row = tf.reshape(queued_global_row, [submatrix_rows]) - queued_global_col = tf.reshape(queued_global_col, [submatrix_cols]) - queued_count = tf.reshape(queued_count, [submatrix_rows, submatrix_cols]) - - return queued_global_row, queued_global_col, queued_count - - -def read_marginals_file(filename): - """Reads text file with one number per line to an array.""" - with open(filename) as lines: - return [float(line) for line in lines] - - -def write_embedding_tensor_to_disk(vocab_path, output_path, sess, embedding): - """Writes tensor to output_path as tsv""" - # Fetch the embedding values from the model - embeddings = sess.run(embedding) - - with open(output_path, 'w') as out_f: - with open(vocab_path) as vocab_f: - for index, word in enumerate(vocab_f): - word = word.strip() - embedding = embeddings[index] - out_f.write(word + '\t' + '\t'.join([str(x) for x in embedding]) + '\n') - - -def write_embeddings_to_disk(config, model, sess): - """Writes row and column embeddings disk""" - # Row Embedding - row_vocab_path = config.input_base_path + '/row_vocab.txt' - row_embedding_output_path = config.output_base_path + '/row_embedding.tsv' - log('Writing row embeddings to: %s', row_embedding_output_path) - write_embedding_tensor_to_disk(row_vocab_path, row_embedding_output_path, - sess, model.row_embedding) - - # Column Embedding - col_vocab_path = config.input_base_path + '/col_vocab.txt' - col_embedding_output_path = config.output_base_path + '/col_embedding.tsv' - log('Writing column embeddings to: %s', col_embedding_output_path) - write_embedding_tensor_to_disk(col_vocab_path, col_embedding_output_path, - sess, model.col_embedding) - - -class SwivelModel(object): - """Small class to gather needed pieces from a Graph being built.""" - - def __init__(self, config): - """Construct graph for dmc.""" - self._config = config - - # Create paths to input data files - log('Reading model from: %s', config.input_base_path) - count_matrix_files = glob.glob(config.input_base_path + '/shard-*.pb') - row_sums_path = config.input_base_path + '/row_sums.txt' - col_sums_path = config.input_base_path + '/col_sums.txt' - - # Read marginals - row_sums = read_marginals_file(row_sums_path) - col_sums = read_marginals_file(col_sums_path) - - self.n_rows = len(row_sums) - self.n_cols = len(col_sums) - log('Matrix dim: (%d,%d) SubMatrix dim: (%d,%d)', - self.n_rows, self.n_cols, config.submatrix_rows, config.submatrix_cols) - self.n_submatrices = (self.n_rows * self.n_cols / - (config.submatrix_rows * config.submatrix_cols)) - log('n_submatrices: %d', self.n_submatrices) - - with tf.device('/cpu:0'): - # ===== CREATE VARIABLES ====== - # Get input - global_row, global_col, count = count_matrix_input( - count_matrix_files, config.submatrix_rows, config.submatrix_cols) - - # Embeddings - self.row_embedding = embeddings_with_init( - embedding_dim=config.embedding_size, - vocab_size=self.n_rows, - name='row_embedding') - self.col_embedding = embeddings_with_init( - embedding_dim=config.embedding_size, - vocab_size=self.n_cols, - name='col_embedding') - tf.summary.histogram('row_emb', self.row_embedding) - tf.summary.histogram('col_emb', self.col_embedding) - - matrix_log_sum = math.log(np.sum(row_sums) + 1) - row_bias_init = [math.log(x + 1) for x in row_sums] - col_bias_init = [math.log(x + 1) for x in col_sums] - self.row_bias = tf.Variable( - row_bias_init, trainable=config.trainable_bias) - self.col_bias = tf.Variable( - col_bias_init, trainable=config.trainable_bias) - tf.summary.histogram('row_bias', self.row_bias) - tf.summary.histogram('col_bias', self.col_bias) - - # Add optimizer - l2_losses = [] - sigmoid_losses = [] - self.global_step = tf.Variable(0, name='global_step') - opt = tf.train.AdagradOptimizer(config.learning_rate) - - all_grads = [] - - devices = ['/gpu:%d' % i for i in range(FLAGS.num_gpus)] \ - if FLAGS.num_gpus > 0 else get_available_gpus() - self.devices_number = len(devices) - with tf.variable_scope(tf.get_variable_scope()): - for dev in devices: - with tf.device(dev): - with tf.name_scope(dev[1:].replace(':', '_')): - # ===== CREATE GRAPH ===== - # Fetch embeddings. - selected_row_embedding = tf.nn.embedding_lookup( - self.row_embedding, global_row) - selected_col_embedding = tf.nn.embedding_lookup( - self.col_embedding, global_col) - - # Fetch biases. - selected_row_bias = tf.nn.embedding_lookup( - [self.row_bias], global_row) - selected_col_bias = tf.nn.embedding_lookup( - [self.col_bias], global_col) - - # Multiply the row and column embeddings to generate predictions. - predictions = tf.matmul( - selected_row_embedding, selected_col_embedding, - transpose_b=True) - - # These binary masks separate zero from non-zero values. - count_is_nonzero = tf.to_float(tf.cast(count, tf.bool)) - count_is_zero = 1 - count_is_nonzero - - objectives = count_is_nonzero * tf.log(count + 1e-30) - objectives -= tf.reshape( - selected_row_bias, [config.submatrix_rows, 1]) - objectives -= selected_col_bias - objectives += matrix_log_sum - - err = predictions - objectives - - # The confidence function scales the L2 loss based on the raw - # co-occurrence count. - l2_confidence = (config.confidence_base + - config.confidence_scale * tf.pow( - count, config.confidence_exponent)) - - l2_loss = config.loss_multiplier * tf.reduce_sum( - 0.5 * l2_confidence * err * err * count_is_nonzero) - l2_losses.append(tf.expand_dims(l2_loss, 0)) - - sigmoid_loss = config.loss_multiplier * tf.reduce_sum( - tf.nn.softplus(err) * count_is_zero) - sigmoid_losses.append(tf.expand_dims(sigmoid_loss, 0)) - - loss = l2_loss + sigmoid_loss - grads = opt.compute_gradients(loss) - all_grads.append(grads) - - with tf.device('/cpu:0'): - # ===== MERGE LOSSES ===== - l2_loss = tf.reduce_mean(tf.concat(axis=0, values=l2_losses), 0, - name="l2_loss") - sigmoid_loss = tf.reduce_mean(tf.concat(axis=0, values=sigmoid_losses), 0, - name="sigmoid_loss") - self.loss = l2_loss + sigmoid_loss - average = tf.train.ExponentialMovingAverage(0.8, self.global_step) - loss_average_op = average.apply((self.loss,)) - tf.summary.scalar("l2_loss", l2_loss) - tf.summary.scalar("sigmoid_loss", sigmoid_loss) - tf.summary.scalar("loss", self.loss) - - # Apply the gradients to adjust the shared variables. - apply_gradient_ops = [] - for grads in all_grads: - apply_gradient_ops.append(opt.apply_gradients( - grads, global_step=self.global_step)) - - self.train_op = tf.group(loss_average_op, *apply_gradient_ops) - self.saver = tf.train.Saver(sharded=True) + server = tf.train.Server( + cluster, + job_name=FLAGS.job_name, + task_index=FLAGS.task_index, + config=config) + if FLAGS.job_name == 'ps': + return server.join() -def main(_): - tf.logging.set_verbosity(tf.logging.INFO) - start_time = time.time() + device_setter = tf.train.replica_device_setter( + worker_device='/job:worker/task:%d' % FLAGS.task_index, + cluster=cluster) - # Create the output path. If this fails, it really ought to fail - # now. :) - if not os.path.isdir(FLAGS.output_base_path): - os.makedirs(FLAGS.output_base_path) + else: + server = None + device_setter = tf.train.replica_device_setter(0) - # Create and run model + # Build the graph. with tf.Graph().as_default(): - model = SwivelModel(FLAGS) - - # Create a session for running Ops on the Graph. - gpu_opts = {} - if FLAGS.per_process_gpu_memory_fraction > 0: - gpu_opts["per_process_gpu_memory_fraction"] = \ - FLAGS.per_process_gpu_memory_fraction - else: - gpu_opts["allow_growth"] = True - gpu_options = tf.GPUOptions(**gpu_opts) - sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) - - # Run the Op to initialize the variables. - sess.run(tf.global_variables_initializer()) - - # Start feeding input - coord = tf.train.Coordinator() - threads = tf.train.start_queue_runners(sess=sess, coord=coord) - - # Calculate how many steps each thread should run - n_total_steps = int(FLAGS.num_epochs * model.n_rows * model.n_cols) / ( - FLAGS.submatrix_rows * FLAGS.submatrix_cols) - n_steps_per_thread = n_total_steps / ( - FLAGS.num_concurrent_steps * model.devices_number) - n_submatrices_to_train = model.n_submatrices * FLAGS.num_epochs - t0 = [time.time()] - n_steps_between_status_updates = 100 - status_i = [0] - status_lock = threading.Lock() - msg = ('%%%dd/%%d submatrices trained (%%.1f%%%%), %%5.1f submatrices/sec |' - ' loss %%f') % len(str(n_submatrices_to_train)) - - def TrainingFn(): - for _ in range(int(n_steps_per_thread)): - _, global_step, loss = sess.run(( - model.train_op, model.global_step, model.loss)) - - show_status = False - with status_lock: - new_i = global_step // n_steps_between_status_updates - if new_i > status_i[0]: - status_i[0] = new_i - show_status = True - if show_status: - elapsed = float(time.time() - t0[0]) - log(msg, global_step, n_submatrices_to_train, - 100.0 * global_step / n_submatrices_to_train, - n_steps_between_status_updates / elapsed, loss) - t0[0] = time.time() - - # Start training threads - train_threads = [] - for _ in range(FLAGS.num_concurrent_steps): - t = threading.Thread(target=TrainingFn) - train_threads.append(t) - t.start() - - # Wait for threads to finish. - for t in train_threads: - t.join() - - coord.request_stop() - coord.join(threads) - - # Write out vectors - write_embeddings_to_disk(FLAGS, model, sess) - - # Shutdown - sess.close() - log("Elapsed: %s", time.time() - start_time) + with tf.device(device_setter): + model = Model(FLAGS.input_base_path, FLAGS) + + # If an eval path is present, then create eval operators and set up scalar + # summaries to report on the results. Run the evals on the CPU since + # the analogy eval requires a fairly enormous tensor to be allocated to + # do the nearest neighbor search. + if FLAGS.eval_base_path: + wordsim_filenames = glob.glob( + os.path.join(FLAGS.eval_base_path, '*.ws.tab')) + + for filename in wordsim_filenames: + name = os.path.basename(filename).split('.')[0] + with tf.device(tf.DeviceSpec(device_type='CPU')): + op = model.wordsim_eval_op(filename) + tf.summary.scalar(name, op) + + analogy_filenames = glob.glob( + os.path.join(FLAGS.eval_base_path, '*.an.tab')) + + for filename in analogy_filenames: + name = os.path.basename(filename).split('.')[0] + with tf.device(tf.DeviceSpec(device_type='CPU')): + op = model.analogy_eval_op(filename) + tf.summary.scalar(name, op) + + tf.summary.scalar('loss', model.loss_op) + + # Train on, soldier. + supervisor = tf.train.Supervisor( + logdir=FLAGS.output_base_path, + is_chief=(FLAGS.task_index == 0), + save_summaries_secs=60, + recovery_wait_secs=5) + + max_step = FLAGS.num_epochs * model.steps_per_epoch + master = server.target if server else '' + with supervisor.managed_session(master) as session: + local_step = 0 + global_step = session.run(model.global_step) + while not supervisor.should_stop() and global_step < max_step: + global_step, loss, _ = session.run([ + model.global_step, model.loss_op, model.train_op]) + + if not np.isfinite(loss): + raise ValueError('non-finite cost at step %d' % global_step) + + local_step += 1 + if local_step % 10 == 0: + tf.logging.info( + 'local_step=%d global_step=%d loss=%.1f, %.1f%% complete', + local_step, global_step, loss, 100.0 * global_step / max_step) + + if FLAGS.task_index == 0: + supervisor.saver.save( + session, supervisor.save_path, global_step=global_step) + + model.write_embeddings(FLAGS, session) if __name__ == '__main__': -- GitLab From 68dab508782bc087ec123dcc242c4716c1a7ba40 Mon Sep 17 00:00:00 2001 From: Chris Waterson Date: Fri, 5 May 2017 14:38:45 -0700 Subject: [PATCH 052/171] Remove personal emails. (#1446) Please use the forum for Swivel discussions instead of contacting the authors directly... thank you! --- swivel/README.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/swivel/README.md b/swivel/README.md index d13f32f02..d12ff1578 100644 --- a/swivel/README.md +++ b/swivel/README.md @@ -177,11 +177,5 @@ mixed case and evaluate them using lower case, things won't work well. # Contact If you have any questions about Swivel, feel free to post to -[swivel-embeddings@googlegroups.com](https://groups.google.com/forum/#!forum/swivel-embeddings) -or contact us directly: - -* Noam Shazeer (`noam@google.com`) -* Ryan Doherty (`portalfire@google.com`) -* Colin Evans (`colinhevans@google.com`) -* Chris Waterson (`waterson@google.com`) +[swivel-embeddings@googlegroups.com](https://groups.google.com/forum/#!forum/swivel-embeddings). -- GitLab From 7818c25555af3b9030523894ef6df27302115dbd Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Fri, 5 May 2017 19:10:29 -0400 Subject: [PATCH 053/171] resnet_v1 segmentation bugs from 7e2435e resolved --- slim/nets/resnet_v1.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/slim/nets/resnet_v1.py b/slim/nets/resnet_v1.py index 7e46fd2e1..3cb3121e9 100644 --- a/slim/nets/resnet_v1.py +++ b/slim/nets/resnet_v1.py @@ -202,6 +202,8 @@ def resnet_v1(inputs, normalizer_fn=None, scope='logits') if spatial_squeeze: logits = tf.squeeze(net, [1, 2], name='SpatialSqueeze') + else: + logits = net # Convert end_points_collection into a dictionary of end_points. end_points = slim.utils.convert_collection_to_dict(end_points_collection) if num_classes is not None: @@ -215,6 +217,7 @@ def resnet_v1_50(inputs, is_training=True, global_pool=True, output_stride=None, + spatial_squeeze=True, reuse=None, scope='resnet_v1_50'): """ResNet-50 model of [1]. See resnet_v1() for arg and return description.""" @@ -230,7 +233,8 @@ def resnet_v1_50(inputs, ] return resnet_v1(inputs, blocks, num_classes, is_training, global_pool=global_pool, output_stride=output_stride, - include_root_block=True, reuse=reuse, scope=scope) + include_root_block=True, spatial_squeeze=spatial_squeeze, + reuse=reuse, scope=scope) resnet_v1_50.default_image_size = resnet_v1.default_image_size @@ -239,6 +243,7 @@ def resnet_v1_101(inputs, is_training=True, global_pool=True, output_stride=None, + spatial_squeeze=True, reuse=None, scope='resnet_v1_101'): """ResNet-101 model of [1]. See resnet_v1() for arg and return description.""" @@ -254,7 +259,8 @@ def resnet_v1_101(inputs, ] return resnet_v1(inputs, blocks, num_classes, is_training, global_pool=global_pool, output_stride=output_stride, - include_root_block=True, reuse=reuse, scope=scope) + include_root_block=True, spatial_squeeze=spatial_squeeze, + reuse=reuse, scope=scope) resnet_v1_101.default_image_size = resnet_v1.default_image_size @@ -263,6 +269,7 @@ def resnet_v1_152(inputs, is_training=True, global_pool=True, output_stride=None, + spatial_squeeze=True, reuse=None, scope='resnet_v1_152'): """ResNet-152 model of [1]. See resnet_v1() for arg and return description.""" @@ -277,7 +284,8 @@ def resnet_v1_152(inputs, 'block4', bottleneck, [(2048, 512, 1)] * 3)] return resnet_v1(inputs, blocks, num_classes, is_training, global_pool=global_pool, output_stride=output_stride, - include_root_block=True, reuse=reuse, scope=scope) + include_root_block=True, spatial_squeeze=spatial_squeeze, + reuse=reuse, scope=scope) resnet_v1_152.default_image_size = resnet_v1.default_image_size @@ -286,6 +294,7 @@ def resnet_v1_200(inputs, is_training=True, global_pool=True, output_stride=None, + spatial_squeeze=True, reuse=None, scope='resnet_v1_200'): """ResNet-200 model of [2]. See resnet_v1() for arg and return description.""" @@ -300,5 +309,6 @@ def resnet_v1_200(inputs, 'block4', bottleneck, [(2048, 512, 1)] * 3)] return resnet_v1(inputs, blocks, num_classes, is_training, global_pool=global_pool, output_stride=output_stride, - include_root_block=True, reuse=reuse, scope=scope) + include_root_block=True, spatial_squeeze=spatial_squeeze, + reuse=reuse, scope=scope) resnet_v1_200.default_image_size = resnet_v1.default_image_size -- GitLab From cb4a4853e821bea8cda500b1759cf2e7ab6a1ed5 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Fri, 5 May 2017 19:26:58 -0400 Subject: [PATCH 054/171] resnet_v2.py segmentation bugs from 7e2435e resolved --- slim/nets/resnet_v2.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/slim/nets/resnet_v2.py b/slim/nets/resnet_v2.py index a05eb3e39..867053c54 100644 --- a/slim/nets/resnet_v2.py +++ b/slim/nets/resnet_v2.py @@ -211,6 +211,8 @@ def resnet_v2(inputs, normalizer_fn=None, scope='logits') if spatial_squeeze: logits = tf.squeeze(net, [1, 2], name='SpatialSqueeze') + else: + logits = net # Convert end_points_collection into a dictionary of end_points. end_points = slim.utils.convert_collection_to_dict(end_points_collection) if num_classes is not None: @@ -224,6 +226,7 @@ def resnet_v2_50(inputs, is_training=True, global_pool=True, output_stride=None, + spatial_squeeze=True, reuse=None, scope='resnet_v2_50'): """ResNet-50 model of [1]. See resnet_v2() for arg and return description.""" @@ -238,7 +241,8 @@ def resnet_v2_50(inputs, 'block4', bottleneck, [(2048, 512, 1)] * 3)] return resnet_v2(inputs, blocks, num_classes, is_training=is_training, global_pool=global_pool, output_stride=output_stride, - include_root_block=True, reuse=reuse, scope=scope) + include_root_block=True, spatial_squeeze=spatial_squeeze, + reuse=reuse, scope=scope) resnet_v2_50.default_image_size = resnet_v2.default_image_size @@ -247,6 +251,7 @@ def resnet_v2_101(inputs, is_training=True, global_pool=True, output_stride=None, + spatial_squeeze=True, reuse=None, scope='resnet_v2_101'): """ResNet-101 model of [1]. See resnet_v2() for arg and return description.""" @@ -261,7 +266,8 @@ def resnet_v2_101(inputs, 'block4', bottleneck, [(2048, 512, 1)] * 3)] return resnet_v2(inputs, blocks, num_classes, is_training=is_training, global_pool=global_pool, output_stride=output_stride, - include_root_block=True, reuse=reuse, scope=scope) + include_root_block=True, spatial_squeeze=spatial_squeeze, + reuse=reuse, scope=scope) resnet_v2_101.default_image_size = resnet_v2.default_image_size @@ -270,6 +276,7 @@ def resnet_v2_152(inputs, is_training=True, global_pool=True, output_stride=None, + spatial_squeeze=True, reuse=None, scope='resnet_v2_152'): """ResNet-152 model of [1]. See resnet_v2() for arg and return description.""" @@ -284,7 +291,8 @@ def resnet_v2_152(inputs, 'block4', bottleneck, [(2048, 512, 1)] * 3)] return resnet_v2(inputs, blocks, num_classes, is_training=is_training, global_pool=global_pool, output_stride=output_stride, - include_root_block=True, reuse=reuse, scope=scope) + include_root_block=True, spatial_squeeze=spatial_squeeze, + reuse=reuse, scope=scope) resnet_v2_152.default_image_size = resnet_v2.default_image_size @@ -293,6 +301,7 @@ def resnet_v2_200(inputs, is_training=True, global_pool=True, output_stride=None, + spatial_squeeze=True, reuse=None, scope='resnet_v2_200'): """ResNet-200 model of [2]. See resnet_v2() for arg and return description.""" @@ -307,5 +316,6 @@ def resnet_v2_200(inputs, 'block4', bottleneck, [(2048, 512, 1)] * 3)] return resnet_v2(inputs, blocks, num_classes, is_training=is_training, global_pool=global_pool, output_stride=output_stride, - include_root_block=True, reuse=reuse, scope=scope) + include_root_block=True, spatial_squeeze=spatial_squeeze, + reuse=reuse, scope=scope) resnet_v2_200.default_image_size = resnet_v2.default_image_size -- GitLab From 93f77b38c19c9ffb7933fab0a7a32bd21b0ab5d0 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Fri, 5 May 2017 17:13:22 -0700 Subject: [PATCH 055/171] README updates for adversarial_crypto --- README.md | 4 ++-- adversarial_crypto/README.md | 28 +++++++++++++++------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 01df3236f..50f5cebd3 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,8 @@ running TensorFlow 0.12 or earlier, please ## Models -- [adversarial_text](adversarial_text): semi-supervised sequence learning with - adversarial training. +- [adversarial_crypto](adversarial_crypto): protecting communications with adversarial neural cryptography. +- [adversarial_text](adversarial_text): semi-supervised sequence learning with adversarial training. - [attention_ocr](attention_ocr): a model for real-world image text extraction. - [autoencoder](autoencoder): various autoencoders. - [cognitive_mapping_and_planning](cognitive_mapping_and_planning): implementation of a spatial memory based mapping and planning architecture for visual navigation. diff --git a/adversarial_crypto/README.md b/adversarial_crypto/README.md index 431a9d41c..504ca234b 100644 --- a/adversarial_crypto/README.md +++ b/adversarial_crypto/README.md @@ -4,15 +4,15 @@ This is a slightly-updated model used for the paper ["Learning to Protect Communications with Adversarial Neural Cryptography"](https://arxiv.org/abs/1610.06918). -> We ask whether neural networks can learn to use secret keys to protect -> information from other neural networks. Specifically, we focus on ensuring -> confidentiality properties in a multiagent system, and we specify those -> properties in terms of an adversary. Thus, a system may consist of neural -> networks named Alice and Bob, and we aim to limit what a third neural -> network named Eve learns from eavesdropping on the communication between -> Alice and Bob. We do not prescribe specific cryptographic algorithms to -> these neural networks; instead, we train end-to-end, adversarially. -> We demonstrate that the neural networks can learn how to perform forms of +> We ask whether neural networks can learn to use secret keys to protect +> information from other neural networks. Specifically, we focus on ensuring +> confidentiality properties in a multiagent system, and we specify those +> properties in terms of an adversary. Thus, a system may consist of neural +> networks named Alice and Bob, and we aim to limit what a third neural +> network named Eve learns from eavesdropping on the communication between +> Alice and Bob. We do not prescribe specific cryptographic algorithms to +> these neural networks; instead, we train end-to-end, adversarially. +> We demonstrate that the neural networks can learn how to perform forms of > encryption and decryption, and also how to apply these operations > selectively in order to meet confidentiality goals. @@ -22,7 +22,7 @@ pairs. ## Prerequisites -The only software requirements for running the encoder and decoder is having +The only software requirements for running the encoder and decoder is having Tensorflow installed. Requires Tensorflow r0.12 or later. @@ -32,8 +32,10 @@ Requires Tensorflow r0.12 or later. After installing TensorFlow and ensuring that your paths are configured appropriately: - python train_eval.py - +``` +python train_eval.py +``` + This will begin training a fresh model. If and when the model becomes sufficiently well-trained, it will reset the Eve model multiple times and retrain it from scratch, outputting the accuracy thus obtained @@ -46,7 +48,7 @@ the paper - the convolutional layer width was reduced by a factor of two. In the version in the paper, there was a nonlinear unit after the fully-connected layer; that nonlinear has been removed here. These changes improve the robustness of training. The -initializer for the convolution layers has switched to the +initializer for the convolution layers has switched to the tf.contrib.layers default of xavier_initializer instead of a simpler truncated_normal. -- GitLab From b2fc63b3fcd1cd7732b732d07b108cec64bf75de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Fouch=C3=A9?= Date: Sat, 6 May 2017 17:26:55 +0200 Subject: [PATCH 056/171] use six.moves.range instead of range --- lm_1b/lm_1b_eval.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lm_1b/lm_1b_eval.py b/lm_1b/lm_1b_eval.py index 4d1a7c20b..150ab6ca4 100644 --- a/lm_1b/lm_1b_eval.py +++ b/lm_1b/lm_1b_eval.py @@ -17,6 +17,7 @@ """ import os import sys +import six import numpy as np import tensorflow as tf @@ -177,7 +178,7 @@ def _SampleModel(prefix_words, vocab): prefix = [vocab.word_to_id(w) for w in prefix_words.split()] prefix_char_ids = [vocab.word_to_char_ids(w) for w in prefix_words.split()] - for _ in range(FLAGS.num_samples): + for _ in six.moves.range(FLAGS.num_samples): inputs = np.zeros([BATCH_SIZE, NUM_TIMESTEPS], np.int32) char_ids_inputs = np.zeros( [BATCH_SIZE, NUM_TIMESTEPS, vocab.max_word_length], np.int32) @@ -230,7 +231,7 @@ def _DumpEmb(vocab): sys.stderr.write('Finished softmax weights\n') all_embs = np.zeros([vocab.size, 1024]) - for i in range(vocab.size): + for i in six.moves.range(vocab.size): input_dict = {t['inputs_in']: inputs, t['targets_in']: targets, t['target_weights_in']: weights} @@ -269,7 +270,7 @@ def _DumpSentenceEmbedding(sentence, vocab): inputs = np.zeros([BATCH_SIZE, NUM_TIMESTEPS], np.int32) char_ids_inputs = np.zeros( [BATCH_SIZE, NUM_TIMESTEPS, vocab.max_word_length], np.int32) - for i in range(len(word_ids)): + for i in six.moves.range(len(word_ids)): inputs[0, 0] = word_ids[i] char_ids_inputs[0, 0, :] = char_ids[i] -- GitLab From 5c60bbd01e940da1c7d3af5b6be3bced7b917738 Mon Sep 17 00:00:00 2001 From: Shallinlin Date: Mon, 8 May 2017 13:11:33 -0700 Subject: [PATCH 057/171] correct the percentage logs in slim_walkthrough.ipynb --- slim/slim_walkthrough.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slim/slim_walkthrough.ipynb b/slim/slim_walkthrough.ipynb index 94bafc47a..be96d01f2 100644 --- a/slim/slim_walkthrough.ipynb +++ b/slim/slim_walkthrough.ipynb @@ -849,7 +849,7 @@ " names = imagenet.create_readable_names_for_imagenet_labels()\n", " for i in range(5):\n", " index = sorted_inds[i]\n", - " print('Probability %0.2f%% => [%s]' % (probabilities[index], names[index]))" + " print('Probability %0.2f%% => [%s]' % (probabilities[index]*100, names[index]))" ] }, { @@ -944,7 +944,7 @@ " for i in range(5):\n", " index = sorted_inds[i]\n", " # Shift the index of a class name by one. \n", - " print('Probability %0.2f%% => [%s]' % (probabilities[index], names[index+1]))" + " print('Probability %0.2f%% => [%s]' % (probabilities[index]*100, names[index+1]))" ] }, { -- GitLab From e2744ade9e02c08635d09d592b322325b99e7069 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Mon, 8 May 2017 18:10:54 -0700 Subject: [PATCH 058/171] Fixed the spacing --- slim/slim_walkthrough.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slim/slim_walkthrough.ipynb b/slim/slim_walkthrough.ipynb index be96d01f2..125590e93 100644 --- a/slim/slim_walkthrough.ipynb +++ b/slim/slim_walkthrough.ipynb @@ -849,7 +849,7 @@ " names = imagenet.create_readable_names_for_imagenet_labels()\n", " for i in range(5):\n", " index = sorted_inds[i]\n", - " print('Probability %0.2f%% => [%s]' % (probabilities[index]*100, names[index]))" + " print('Probability %0.2f%% => [%s]' % (probabilities[index] * 100, names[index]))" ] }, { @@ -944,7 +944,7 @@ " for i in range(5):\n", " index = sorted_inds[i]\n", " # Shift the index of a class name by one. \n", - " print('Probability %0.2f%% => [%s]' % (probabilities[index]*100, names[index+1]))" + " print('Probability %0.2f%% => [%s]' % (probabilities[index] * 100, names[index+1]))" ] }, { -- GitLab From 983b7d08b6e98c60c4016ac9d4b647ea7935928d Mon Sep 17 00:00:00 2001 From: Evan Kepner Date: Thu, 11 May 2017 15:19:48 -0400 Subject: [PATCH 059/171] correct authorship --- tutorials/rnn/ptb/ptb_word_lm.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/tutorials/rnn/ptb/ptb_word_lm.py b/tutorials/rnn/ptb/ptb_word_lm.py index 7430f2e43..fccbd4125 100644 --- a/tutorials/rnn/ptb/ptb_word_lm.py +++ b/tutorials/rnn/ptb/ptb_word_lm.py @@ -162,11 +162,21 @@ class PTBModel(object): "softmax_w", [size, vocab_size], dtype=data_type()) softmax_b = tf.get_variable("softmax_b", [vocab_size], dtype=data_type()) logits = tf.matmul(output, softmax_w) + softmax_b - loss = tf.contrib.legacy_seq2seq.sequence_loss_by_example( - [logits], - [tf.reshape(input_.targets, [-1])], - [tf.ones([batch_size * num_steps], dtype=data_type())]) - self._cost = cost = tf.reduce_sum(loss) / batch_size + + # Reshape logits to be 3-D tensor for sequence loss + logits = tf.reshape(logits, [batch_size, num_steps, vocab_size]) + + # use the contrib sequence loss and average over the batches + loss = tf.contrib.seq2seq.sequence_loss( + logits, + input_.targets, + tf.ones([batch_size, num_steps], dtype=data_type()), + average_across_timesteps=False, + average_across_batch=True + ) + + # update the cost variables + self._cost = cost = tf.reduce_sum(loss) self._final_state = state if not is_training: -- GitLab From 0d205ffadb3d0913449dc7bed8a404088423111f Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Thu, 11 May 2017 13:42:55 -0700 Subject: [PATCH 060/171] Update textsum/batch_reader.py to use six.next() --- textsum/batch_reader.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/textsum/batch_reader.py b/textsum/batch_reader.py index fb2af1892..918551b4c 100644 --- a/textsum/batch_reader.py +++ b/textsum/batch_reader.py @@ -21,6 +21,7 @@ from threading import Thread import time import numpy as np +import six from six.moves import queue as Queue from six.moves import xrange import tensorflow as tf @@ -133,7 +134,7 @@ class Batcher(object): pad_id = self._vocab.WordToId(data.PAD_TOKEN) input_gen = self._TextGenerator(data.ExampleGen(self._data_path)) while True: - (article, abstract) = input_gen.next() + (article, abstract) = six.next(input_gen) article_sentences = [sent.strip() for sent in data.ToSentences(article, include_token=False)] abstract_sentences = [sent.strip() for sent in @@ -242,7 +243,7 @@ class Batcher(object): def _TextGenerator(self, example_gen): """Generates article and abstract text from tf.Example.""" while True: - e = example_gen.next() + e = six.next(example_gen) try: article_text = self._GetExFeatureText(e, self._article_key) abstract_text = self._GetExFeatureText(e, self._abstract_key) -- GitLab From b4f4994d89d4dd99f664f5a9307bd2db0bd6ebd8 Mon Sep 17 00:00:00 2001 From: Matt Rickard Date: Fri, 12 May 2017 15:39:04 -0700 Subject: [PATCH 061/171] set -e on bash scripts (#1330) These scripts should exit immediately if a command exits with a non-zero status. --- slim/scripts/finetune_inception_v1_on_flowers.sh | 1 + slim/scripts/finetune_inception_v3_on_flowers.sh | 1 + slim/scripts/finetune_resnet_v1_50_on_flowers.sh | 1 + slim/scripts/train_cifarnet_on_cifar10.sh | 1 + slim/scripts/train_lenet_on_mnist.sh | 1 + 5 files changed, 5 insertions(+) diff --git a/slim/scripts/finetune_inception_v1_on_flowers.sh b/slim/scripts/finetune_inception_v1_on_flowers.sh index 480b46c09..d152e367a 100644 --- a/slim/scripts/finetune_inception_v1_on_flowers.sh +++ b/slim/scripts/finetune_inception_v1_on_flowers.sh @@ -8,6 +8,7 @@ # Usage: # cd slim # ./slim/scripts/finetune_inception_v1_on_flowers.sh +set -e # Where the pre-trained InceptionV1 checkpoint is saved to. PRETRAINED_CHECKPOINT_DIR=/tmp/checkpoints diff --git a/slim/scripts/finetune_inception_v3_on_flowers.sh b/slim/scripts/finetune_inception_v3_on_flowers.sh index dfcc87ac8..627e42c06 100644 --- a/slim/scripts/finetune_inception_v3_on_flowers.sh +++ b/slim/scripts/finetune_inception_v3_on_flowers.sh @@ -8,6 +8,7 @@ # Usage: # cd slim # ./slim/scripts/finetune_inceptionv3_on_flowers.sh +set -e # Where the pre-trained InceptionV3 checkpoint is saved to. PRETRAINED_CHECKPOINT_DIR=/tmp/checkpoints diff --git a/slim/scripts/finetune_resnet_v1_50_on_flowers.sh b/slim/scripts/finetune_resnet_v1_50_on_flowers.sh index 0465e06b5..8134dfc3d 100644 --- a/slim/scripts/finetune_resnet_v1_50_on_flowers.sh +++ b/slim/scripts/finetune_resnet_v1_50_on_flowers.sh @@ -8,6 +8,7 @@ # Usage: # cd slim # ./slim/scripts/finetune_resnet_v1_50_on_flowers.sh +set -e # Where the pre-trained ResNetV1-50 checkpoint is saved to. PRETRAINED_CHECKPOINT_DIR=/tmp/checkpoints diff --git a/slim/scripts/train_cifarnet_on_cifar10.sh b/slim/scripts/train_cifarnet_on_cifar10.sh index daefb22e1..bee535a77 100644 --- a/slim/scripts/train_cifarnet_on_cifar10.sh +++ b/slim/scripts/train_cifarnet_on_cifar10.sh @@ -8,6 +8,7 @@ # Usage: # cd slim # ./scripts/train_cifar_net_on_mnist.sh +set -e # Where the checkpoint and logs will be saved to. TRAIN_DIR=/tmp/cifarnet-model diff --git a/slim/scripts/train_lenet_on_mnist.sh b/slim/scripts/train_lenet_on_mnist.sh index 8dbeff2a0..e5371eba5 100644 --- a/slim/scripts/train_lenet_on_mnist.sh +++ b/slim/scripts/train_lenet_on_mnist.sh @@ -8,6 +8,7 @@ # Usage: # cd slim # ./slim/scripts/train_lenet_on_mnist.sh +set -e # Where the checkpoint and logs will be saved to. TRAIN_DIR=/tmp/lenet-model -- GitLab From ad975cb283dc6b907e29ce4957f48ee02fbc33cc Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Fri, 12 May 2017 17:12:15 -0700 Subject: [PATCH 062/171] Remove erroneous comment from resnet_v2.py --- slim/nets/resnet_v2.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/slim/nets/resnet_v2.py b/slim/nets/resnet_v2.py index 867053c54..87a1df67d 100644 --- a/slim/nets/resnet_v2.py +++ b/slim/nets/resnet_v2.py @@ -25,8 +25,6 @@ introduced by: The key difference of the full preactivation 'v2' variant compared to the 'v1' variant in [1] is the use of batch normalization before every weight layer. -Another difference is that 'v2' ResNets do not include an activation function in -the main pathway. Also see [2; Fig. 4e]. Typical use: -- GitLab From 745d568a9779528b34994e27baf81dc427bd4190 Mon Sep 17 00:00:00 2001 From: Adnan Date: Sun, 14 May 2017 02:31:42 -0700 Subject: [PATCH 063/171] minor spelling fix --- cognitive_mapping_and_planning/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cognitive_mapping_and_planning/README.md b/cognitive_mapping_and_planning/README.md index 5e1515272..ce69d3474 100644 --- a/cognitive_mapping_and_planning/README.md +++ b/cognitive_mapping_and_planning/README.md @@ -94,7 +94,7 @@ citing the following paper: ``` ### Requirements: data -1. Download the Stanford 3D Inddor Spaces Dataset (S3DIS Dataset) and ImageNet +1. Download the Stanford 3D Indoor Spaces Dataset (S3DIS Dataset) and ImageNet Pre-trained models for initializing different models. Follow instructions in `data/README.md` -- GitLab From c5326615553dac6f529213631281e4be14858a27 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Mon, 15 May 2017 11:24:15 -0700 Subject: [PATCH 064/171] Import xrange directly from six.moves for lm_1b --- lm_1b/lm_1b_eval.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lm_1b/lm_1b_eval.py b/lm_1b/lm_1b_eval.py index 150ab6ca4..ce8634757 100644 --- a/lm_1b/lm_1b_eval.py +++ b/lm_1b/lm_1b_eval.py @@ -17,9 +17,9 @@ """ import os import sys -import six import numpy as np +from six.moves import xrange import tensorflow as tf from google.protobuf import text_format @@ -178,7 +178,7 @@ def _SampleModel(prefix_words, vocab): prefix = [vocab.word_to_id(w) for w in prefix_words.split()] prefix_char_ids = [vocab.word_to_char_ids(w) for w in prefix_words.split()] - for _ in six.moves.range(FLAGS.num_samples): + for _ in xrange(FLAGS.num_samples): inputs = np.zeros([BATCH_SIZE, NUM_TIMESTEPS], np.int32) char_ids_inputs = np.zeros( [BATCH_SIZE, NUM_TIMESTEPS, vocab.max_word_length], np.int32) @@ -231,7 +231,7 @@ def _DumpEmb(vocab): sys.stderr.write('Finished softmax weights\n') all_embs = np.zeros([vocab.size, 1024]) - for i in six.moves.range(vocab.size): + for i in xrange(vocab.size): input_dict = {t['inputs_in']: inputs, t['targets_in']: targets, t['target_weights_in']: weights} @@ -270,7 +270,7 @@ def _DumpSentenceEmbedding(sentence, vocab): inputs = np.zeros([BATCH_SIZE, NUM_TIMESTEPS], np.int32) char_ids_inputs = np.zeros( [BATCH_SIZE, NUM_TIMESTEPS, vocab.max_word_length], np.int32) - for i in six.moves.range(len(word_ids)): + for i in xrange(len(word_ids)): inputs[0, 0] = word_ids[i] char_ids_inputs[0, 0, :] = char_ids[i] -- GitLab From 22c95c545365e02bf035b37426b036ad8709ba4f Mon Sep 17 00:00:00 2001 From: Junwei Pan Date: Mon, 15 May 2017 14:04:29 -0700 Subject: [PATCH 065/171] Fix Typo --- inception/inception/inception_train.py | 4 ++-- tutorials/image/cifar10/cifar10_multi_gpu_train.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/inception/inception/inception_train.py b/inception/inception/inception_train.py index 32c959df8..e1c32713b 100644 --- a/inception/inception/inception_train.py +++ b/inception/inception/inception_train.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== -"""A library to train Inception using multiple GPU's with synchronous updates. +"""A library to train Inception using multiple GPUs with synchronous updates. """ from __future__ import absolute_import from __future__ import division @@ -83,7 +83,7 @@ def _tower_loss(images, labels, num_classes, scope, reuse_variables=None): """Calculate the total loss on a single tower running the ImageNet model. We perform 'batch splitting'. This means that we cut up a batch across - multiple GPU's. For instance, if the batch size = 32 and num_gpus = 2, + multiple GPUs. For instance, if the batch size = 32 and num_gpus = 2, then each tower will operate on an batch of 16 images. Args: diff --git a/tutorials/image/cifar10/cifar10_multi_gpu_train.py b/tutorials/image/cifar10/cifar10_multi_gpu_train.py index 1c70ad397..16033eeff 100644 --- a/tutorials/image/cifar10/cifar10_multi_gpu_train.py +++ b/tutorials/image/cifar10/cifar10_multi_gpu_train.py @@ -13,7 +13,7 @@ # limitations under the License. # ============================================================================== -"""A binary to train CIFAR-10 using multiple GPU's with synchronous updates. +"""A binary to train CIFAR-10 using multiple GPUs with synchronous updates. Accuracy: cifar10_multi_gpu_train.py achieves ~86% accuracy after 100K steps (256 -- GitLab From d229273e43cde137cde9766674423387d10c5283 Mon Sep 17 00:00:00 2001 From: Hiroki Teranishi Date: Wed, 17 May 2017 20:27:54 +0900 Subject: [PATCH 066/171] improved ArcStandardTransitionSystem.PerformRightArc() --- syntaxnet/syntaxnet/arc_standard_transitions.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/syntaxnet/syntaxnet/arc_standard_transitions.cc b/syntaxnet/syntaxnet/arc_standard_transitions.cc index 8feebe1a9..24b94dbfc 100644 --- a/syntaxnet/syntaxnet/arc_standard_transitions.cc +++ b/syntaxnet/syntaxnet/arc_standard_transitions.cc @@ -269,9 +269,7 @@ class ArcStandardTransitionSystem : public ParserTransitionSystem { void PerformRightArc(ParserState *state, int label) const { DCHECK(IsAllowedRightArc(*state)); int s0 = state->Pop(); - int s1 = state->Pop(); - state->AddArc(s0, s1, label); - state->Push(s1); + state->AddArc(s0, state->Top(), label); } // We are in a deterministic state when we either reached the end of the input -- GitLab From 320be60bd22a4518b1300c5fa6d572b49f20bafc Mon Sep 17 00:00:00 2001 From: Richard Davies Date: Wed, 17 May 2017 17:06:45 +0100 Subject: [PATCH 067/171] Force new instance creation in MultiRNNCell --- neural_gpu/neural_gpu.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/neural_gpu/neural_gpu.py b/neural_gpu/neural_gpu.py index 4d1877393..e8ba66e9d 100644 --- a/neural_gpu/neural_gpu.py +++ b/neural_gpu/neural_gpu.py @@ -478,8 +478,10 @@ class NeuralGPU(object): # This is just for running a baseline RNN seq2seq model. if do_rnn: self.after_enc_step.append(step) # Not meaningful here, but needed. - lstm_cell = tf.contrib.rnn.BasicLSTMCell(height * nmaps) - cell = tf.contrib.rnn.MultiRNNCell([lstm_cell] * nconvs) + def lstm_cell(): + return tf.contrib.rnn.BasicLSTMCell(height * nmaps) + cell = tf.contrib.rnn.MultiRNNCell( + [lstm_cell() for _ in range(nconvs)]) with tf.variable_scope("encoder"): encoder_outputs, encoder_state = tf.nn.dynamic_rnn( cell, tf.reshape(step, [batch_size, length, height * nmaps]), -- GitLab From e9211fca9df604f18d11878d964e529b77214fed Mon Sep 17 00:00:00 2001 From: Alexander Gorban Date: Wed, 17 May 2017 13:12:00 -0700 Subject: [PATCH 068/171] attention_ocr# Update checkpoint and instructions. --- attention_ocr/README.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/attention_ocr/README.md b/attention_ocr/README.md index 4e534cc0b..77279ed77 100644 --- a/attention_ocr/README.md +++ b/attention_ocr/README.md @@ -23,10 +23,22 @@ Pull requests: ## Requirements 1. Installed TensorFlow library ([instructions][TF]). + +``` +virtualenv --system-site-packages ~/.tensorflow +source ~/.tensorflow/bin/activate +pip install --upgrade pip +pip install --upgrade tensorflow_gpu +``` + 2. At least 158Gb of free disk space to download FSNS dataset: +Assume your current directory is `models/attention_ocr/python` + ``` -aria2c -c -j 20 -i ../street/python/fsns_urls.txt +cd datasets +aria2c -c -j 20 -i ../../../street/python/fsns_urls.txt +cd - ``` 3. 16Gb of RAM or more, 32Gb is recommended. @@ -60,16 +72,17 @@ python train.py --checkpoint_inception=inception_v3.ckpt To fine tune the Attention OCR model using a checkpoint: ``` -wget http://download.tensorflow.org/models/attention_ocr_2017_05_01.tar.gz -tar xf attention_ocr_2017_05_01.tar.gz -python train.py --checkpoint=model.ckpt-232572 +wget http://download.tensorflow.org/models/attention_ocr_2017_05_17.tar.gz +tar xf attention_ocr_2017_05_17.tar.gz +python train.py --checkpoint=model.ckpt-399731 ``` ## Disclaimer This code is a modified version of the internal model we used for our paper. -Currently it reaches 82.71% full sequence accuracy after 215k steps of training. +Currently it reaches 83.79% full sequence accuracy after 400k steps of training. The main difference between this version and the version used in the paper - for the paper we used a distributed training with 50 GPU (K80) workers (asynchronous -updates), the provided checkpoint was created using this code after ~60 hours of -training on a single GPU (Titan X). +updates), the provided checkpoint was created using this code after ~6 days of +training on a single GPU (Titan X) (it reached 81% after 24 hours of training), +the coordinate encoding is missing TODO(alexgorban@). -- GitLab From b7253ccddbf2ce7862af4f93ac3494617370173f Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Wed, 17 May 2017 17:31:12 -0700 Subject: [PATCH 069/171] Clean up changes for the attention_ocr README --- attention_ocr/README.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/attention_ocr/README.md b/attention_ocr/README.md index 77279ed77..429c8e762 100644 --- a/attention_ocr/README.md +++ b/attention_ocr/README.md @@ -22,7 +22,7 @@ Pull requests: ## Requirements -1. Installed TensorFlow library ([instructions][TF]). +1. Install the TensorFlow library ([instructions][TF]). For example: ``` virtualenv --system-site-packages ~/.tensorflow @@ -31,19 +31,16 @@ pip install --upgrade pip pip install --upgrade tensorflow_gpu ``` -2. At least 158Gb of free disk space to download FSNS dataset: - -Assume your current directory is `models/attention_ocr/python` +2. At least 158GB of free disk space to download the FSNS dataset: ``` -cd datasets +cd models/attention_ocr/python/datasets aria2c -c -j 20 -i ../../../street/python/fsns_urls.txt -cd - +cd .. ``` -3. 16Gb of RAM or more, 32Gb is recommended. -4. The train.py works with in both modes CPU and GPU, using GPU is preferable. - The GPU mode was tested with Titan X and GTX980. +3. 16GB of RAM or more; 32GB is recommended. +4. `train.py` works with both CPU and GPU, though using GPU is preferable. It has been tested with a Titan X and with a GTX980. [TF]: https://www.tensorflow.org/install/ [FSNS]: https://github.com/tensorflow/models/tree/master/street @@ -62,7 +59,8 @@ To train from scratch: python train.py ``` -To train a model using a pre-trained inception weights as initialization: +To train a model using pre-trained Inception weights as initialization: + ``` wget http://download.tensorflow.org/models/inception_v3_2016_08_28.tar.gz tar xf inception_v3_2016_08_28.tar.gz -- GitLab From a3711c9f35f4f77cb8110dc8a03ee026573006fa Mon Sep 17 00:00:00 2001 From: Andrei Costinescu Date: Thu, 18 May 2017 15:31:24 +0200 Subject: [PATCH 070/171] Update inception_preprocessing.py Corrected documentation word "cropt" -> "crop" --- slim/preprocessing/inception_preprocessing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slim/preprocessing/inception_preprocessing.py b/slim/preprocessing/inception_preprocessing.py index ca3eba0ba..b907aab1f 100644 --- a/slim/preprocessing/inception_preprocessing.py +++ b/slim/preprocessing/inception_preprocessing.py @@ -241,7 +241,7 @@ def preprocess_for_eval(image, height, width, If height and width are specified it would output an image with that size by applying resize_bilinear. - If central_fraction is specified it would cropt the central fraction of the + If central_fraction is specified it would crop the central fraction of the input image. Args: -- GitLab From 88ebe49adc4bee3769fbbd52f0025ca77b694748 Mon Sep 17 00:00:00 2001 From: hizagalilo Date: Thu, 18 May 2017 14:23:03 -0400 Subject: [PATCH 071/171] Update slim_walkthrough.ipynb --- slim/slim_walkthrough.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slim/slim_walkthrough.ipynb b/slim/slim_walkthrough.ipynb index 125590e93..da868ef19 100644 --- a/slim/slim_walkthrough.ipynb +++ b/slim/slim_walkthrough.ipynb @@ -157,7 +157,7 @@ "\n", " # Print name and shape of each tensor.\n", " print \"Layers\"\n", - " for k, v in end_points.iteritems():\n", + " for k, v in end_points.items():\n", " print 'name = {}, shape = {}'.format(v.name, v.get_shape())\n", "\n", " # Print name and shape of parameter nodes (values not yet initialized)\n", @@ -391,7 +391,7 @@ " final_op=names_to_value_nodes.values())\n", "\n", " names_to_values = dict(zip(names_to_value_nodes.keys(), metric_values))\n", - " for key, value in names_to_values.iteritems():\n", + " for key, value in names_to_values.items():\n", " print('%s: %f' % (key, value))" ] }, -- GitLab From 443c074527f164955720dcde5c1830faf519f89f Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Thu, 18 May 2017 16:48:51 -0700 Subject: [PATCH 072/171] Convert control_flow_ops.with_dependencies to tf.control_dependencies --- inception/inception/slim/ops_test.py | 11 +++++----- slim/deployment/model_deploy.py | 4 ++-- slim/preprocessing/vgg_preprocessing.py | 29 ++++++++++--------------- slim/train_image_classifier.py | 5 ++--- 4 files changed, 22 insertions(+), 27 deletions(-) diff --git a/inception/inception/slim/ops_test.py b/inception/inception/slim/ops_test.py index 0978e0ef3..ab205debf 100644 --- a/inception/inception/slim/ops_test.py +++ b/inception/inception/slim/ops_test.py @@ -21,8 +21,6 @@ from __future__ import print_function import numpy as np import tensorflow as tf -from tensorflow.python.ops import control_flow_ops - from inception.slim import ops from inception.slim import scopes from inception.slim import variables @@ -602,7 +600,8 @@ class BatchNormTest(tf.test.TestCase): update_ops = tf.get_collection(ops.UPDATE_OPS_COLLECTION) with tf.control_dependencies(update_ops): barrier = tf.no_op(name='gradient_barrier') - output = control_flow_ops.with_dependencies([barrier], output) + with tf.control_dependencies([barrier]): + output = output # Initialize all variables sess.run(tf.global_variables_initializer()) moving_mean = variables.get_variables('BatchNorm/moving_mean')[0] @@ -632,7 +631,8 @@ class BatchNormTest(tf.test.TestCase): update_ops = tf.get_collection(ops.UPDATE_OPS_COLLECTION) with tf.control_dependencies(update_ops): barrier = tf.no_op(name='gradient_barrier') - output = control_flow_ops.with_dependencies([barrier], output) + with tf.control_dependencies([barrier]): + output = output # Initialize all variables sess.run(tf.global_variables_initializer()) moving_mean = variables.get_variables('BatchNorm/moving_mean')[0] @@ -666,7 +666,8 @@ class BatchNormTest(tf.test.TestCase): update_ops = tf.get_collection(ops.UPDATE_OPS_COLLECTION) with tf.control_dependencies(update_ops): barrier = tf.no_op(name='gradient_barrier') - output = control_flow_ops.with_dependencies([barrier], output) + with tf.control_dependencies([barrier]): + output = output # Initialize all variables sess.run(tf.global_variables_initializer()) moving_mean = variables.get_variables('BatchNorm/moving_mean')[0] diff --git a/slim/deployment/model_deploy.py b/slim/deployment/model_deploy.py index 8855f2aee..24dd5c34a 100644 --- a/slim/deployment/model_deploy.py +++ b/slim/deployment/model_deploy.py @@ -378,8 +378,8 @@ def deploy(config, update_ops.append(grad_updates) update_op = tf.group(*update_ops) - train_op = control_flow_ops.with_dependencies([update_op], total_loss, - name='train_op') + with tf.control_dependencies([update_op]): + train_op = total_loss else: clones_losses = [] regularization_losses = tf.get_collection( diff --git a/slim/preprocessing/vgg_preprocessing.py b/slim/preprocessing/vgg_preprocessing.py index 1900cae22..c2c92f0a7 100644 --- a/slim/preprocessing/vgg_preprocessing.py +++ b/slim/preprocessing/vgg_preprocessing.py @@ -34,8 +34,6 @@ from __future__ import print_function import tensorflow as tf -from tensorflow.python.ops import control_flow_ops - slim = tf.contrib.slim _R_MEAN = 123.68 @@ -71,9 +69,8 @@ def _crop(image, offset_height, offset_width, crop_height, crop_width): rank_assertion = tf.Assert( tf.equal(tf.rank(image), 3), ['Rank of image must be equal to 3.']) - cropped_shape = control_flow_ops.with_dependencies( - [rank_assertion], - tf.stack([crop_height, crop_width, original_shape[2]])) + with tf.control_dependencies([rank_assertion]): + cropped_shape = tf.stack([crop_height, crop_width, original_shape[2]]) size_assertion = tf.Assert( tf.logical_and( @@ -85,9 +82,8 @@ def _crop(image, offset_height, offset_width, crop_height, crop_width): # Use tf.slice instead of crop_to_bounding box as it accepts tensors to # define the crop size. - image = control_flow_ops.with_dependencies( - [size_assertion], - tf.slice(image, offsets, cropped_shape)) + with tf.control_dependencies([size_assertion]): + image = tf.slice(image, offsets, cropped_shape) return tf.reshape(image, cropped_shape) @@ -126,9 +122,8 @@ def _random_crop(image_list, crop_height, crop_width): image_list[i].name, 3, image_rank]) rank_assertions.append(rank_assert) - image_shape = control_flow_ops.with_dependencies( - [rank_assertions[0]], - tf.shape(image_list[0])) + with tf.control_dependencies([rank_assertions[0]]): + image_shape = tf.shape(image_list[0]) image_height = image_shape[0] image_width = image_shape[1] crop_size_assert = tf.Assert( @@ -142,8 +137,8 @@ def _random_crop(image_list, crop_height, crop_width): for i in range(1, len(image_list)): image = image_list[i] asserts.append(rank_assertions[i]) - shape = control_flow_ops.with_dependencies([rank_assertions[i]], - tf.shape(image)) + with tf.control_dependencies([rank_assertions[i]]): + shape = tf.shape(image) height = shape[0] width = shape[1] @@ -162,10 +157,10 @@ def _random_crop(image_list, crop_height, crop_width): # Use tf.random_uniform and not numpy.random.rand as doing the former would # generate random numbers at graph eval time, unlike the latter which # generates random numbers at graph definition time. - max_offset_height = control_flow_ops.with_dependencies( - asserts, tf.reshape(image_height - crop_height + 1, [])) - max_offset_width = control_flow_ops.with_dependencies( - asserts, tf.reshape(image_width - crop_width + 1, [])) + with tf.control_dependencies(asserts): + max_offset_height = tf.reshape(image_height - crop_height + 1, []) + with tf.control_dependencies(asserts): + max_offset_width = tf.reshape(image_width - crop_width + 1, []) offset_height = tf.random_uniform( [], maxval=max_offset_height, dtype=tf.int32) offset_width = tf.random_uniform( diff --git a/slim/train_image_classifier.py b/slim/train_image_classifier.py index 146f70026..5aa674f41 100755 --- a/slim/train_image_classifier.py +++ b/slim/train_image_classifier.py @@ -20,7 +20,6 @@ from __future__ import print_function import tensorflow as tf -from tensorflow.python.ops import control_flow_ops from datasets import dataset_factory from deployment import model_deploy from nets import nets_factory @@ -540,8 +539,8 @@ def main(_): update_ops.append(grad_updates) update_op = tf.group(*update_ops) - train_tensor = control_flow_ops.with_dependencies([update_op], total_loss, - name='train_op') + with tf.control_dependencies([update_op]): + train_tensor = total_loss # Add the summaries from the first clone. These contain the summaries # created by model_fn and either optimize_clones() or _gather_clone_loss(). -- GitLab From 8e54ffc86b988dad41ae13422010e2b6af151939 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Fri, 19 May 2017 16:32:06 -0700 Subject: [PATCH 073/171] Add tf.identity --- inception/inception/slim/ops_test.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inception/inception/slim/ops_test.py b/inception/inception/slim/ops_test.py index ab205debf..cf5afbba9 100644 --- a/inception/inception/slim/ops_test.py +++ b/inception/inception/slim/ops_test.py @@ -601,7 +601,7 @@ class BatchNormTest(tf.test.TestCase): with tf.control_dependencies(update_ops): barrier = tf.no_op(name='gradient_barrier') with tf.control_dependencies([barrier]): - output = output + output = tf.identity(output) # Initialize all variables sess.run(tf.global_variables_initializer()) moving_mean = variables.get_variables('BatchNorm/moving_mean')[0] @@ -632,7 +632,7 @@ class BatchNormTest(tf.test.TestCase): with tf.control_dependencies(update_ops): barrier = tf.no_op(name='gradient_barrier') with tf.control_dependencies([barrier]): - output = output + output = tf.identity(output) # Initialize all variables sess.run(tf.global_variables_initializer()) moving_mean = variables.get_variables('BatchNorm/moving_mean')[0] @@ -667,7 +667,7 @@ class BatchNormTest(tf.test.TestCase): with tf.control_dependencies(update_ops): barrier = tf.no_op(name='gradient_barrier') with tf.control_dependencies([barrier]): - output = output + output = tf.identity(output) # Initialize all variables sess.run(tf.global_variables_initializer()) moving_mean = variables.get_variables('BatchNorm/moving_mean')[0] -- GitLab From 50a03e7f887730f350fc904a4a57999e2214c137 Mon Sep 17 00:00:00 2001 From: Adam Myers Date: Fri, 19 May 2017 18:12:41 -0700 Subject: [PATCH 074/171] Update protobuf version dependency Updates protobuf version as previous (3.0.0b2) was no longer compatible and resulted in failing bazel tests during setup process. --- syntaxnet/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntaxnet/README.md b/syntaxnet/README.md index e76d627a5..779ba2d8d 100644 --- a/syntaxnet/README.md +++ b/syntaxnet/README.md @@ -77,7 +77,7 @@ source. You'll need to install: * `brew install swig` on OSX * protocol buffers, with a version supported by TensorFlow: * check your protobuf version with `pip freeze | grep protobuf` - * upgrade to a supported version with `pip install -U protobuf==3.0.0b2` + * upgrade to a supported version with `pip install -U protobuf==3.3.0` * mock, the testing package: * `pip install mock` * asciitree, to draw parse trees on the console for the demo: -- GitLab From 1e986ea62ab781df0a6ed0dc01b399470cbf8d51 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Sun, 21 May 2017 19:39:59 -0400 Subject: [PATCH 075/171] typo fix --- differential_privacy/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/differential_privacy/README.md b/differential_privacy/README.md index 9cda93aa1..4bd6c22c9 100644 --- a/differential_privacy/README.md +++ b/differential_privacy/README.md @@ -3,7 +3,7 @@ Open Sourced By: Xin Pan (xpan@google.com, github: panyx0718) -###Introduction for dp_sgd/README.md +### Introduction for [dp_sgd/README.md](dp_sgd/README.md) Machine learning techniques based on neural networks are achieving remarkable results in a wide variety of domains. Often, the training of models requires @@ -18,7 +18,7 @@ manageable cost in software complexity, training efficiency, and model quality. paper: https://arxiv.org/abs/1607.00133 -###Introduction for multiple_teachers/README.md +### Introduction for [multiple_teachers/README.md](multiple_teachers/README.md) This repository contains code to create a setup for learning privacy-preserving student models by transferring knowledge from an ensemble of teachers trained -- GitLab From 120b1fb677d4e18dccc99a388fd84ee2626759ab Mon Sep 17 00:00:00 2001 From: Damien Vincent Date: Mon, 22 May 2017 13:08:44 +0200 Subject: [PATCH 076/171] Image compression: initial version of the entropy coder. --- compression/entropy_coder/README.md | 102 +++++ compression/entropy_coder/__init__.py | 0 .../entropy_coder/all_models/__init__.py | 0 .../entropy_coder/all_models/all_models.py | 19 + .../all_models/all_models_test.py | 68 ++++ .../configs/gru_prime3/model_config.json | 4 + .../configs/synthetic/input_config.json | 4 + .../configs/synthetic/model_config.json | 4 + .../configs/synthetic/train_config.json | 6 + compression/entropy_coder/core/code_loader.py | 73 ++++ .../entropy_coder/core/config_helper.py | 52 +++ .../core/entropy_coder_single.py | 116 ++++++ .../entropy_coder/core/entropy_coder_train.py | 184 +++++++++ .../dataset/gen_synthetic_dataset.py | 88 +++++ .../dataset/gen_synthetic_single.py | 72 ++++ .../entropy_coder/dataset/synthetic_model.py | 74 ++++ compression/entropy_coder/lib/__init__.py | 0 compression/entropy_coder/lib/block_base.py | 258 +++++++++++++ compression/entropy_coder/lib/block_util.py | 100 +++++ compression/entropy_coder/lib/blocks.py | 24 ++ .../entropy_coder/lib/blocks_binarizer.py | 35 ++ .../lib/blocks_entropy_coding.py | 49 +++ .../lib/blocks_entropy_coding_test.py | 56 +++ compression/entropy_coder/lib/blocks_lstm.py | 263 +++++++++++++ .../entropy_coder/lib/blocks_lstm_test.py | 113 ++++++ .../entropy_coder/lib/blocks_masked_conv2d.py | 225 +++++++++++ .../lib/blocks_masked_conv2d_lstm.py | 79 ++++ .../lib/blocks_masked_conv2d_test.py | 206 ++++++++++ .../entropy_coder/lib/blocks_operator.py | 87 +++++ .../entropy_coder/lib/blocks_operator_test.py | 64 +++ compression/entropy_coder/lib/blocks_std.py | 364 ++++++++++++++++++ .../entropy_coder/lib/blocks_std_test.py | 340 ++++++++++++++++ compression/entropy_coder/model/__init__.py | 0 .../model/entropy_coder_model.py | 55 +++ .../entropy_coder/model/model_factory.py | 53 +++ .../entropy_coder/progressive/__init__.py | 0 .../entropy_coder/progressive/progressive.py | 242 ++++++++++++ 37 files changed, 3479 insertions(+) create mode 100644 compression/entropy_coder/README.md create mode 100644 compression/entropy_coder/__init__.py create mode 100644 compression/entropy_coder/all_models/__init__.py create mode 100644 compression/entropy_coder/all_models/all_models.py create mode 100644 compression/entropy_coder/all_models/all_models_test.py create mode 100644 compression/entropy_coder/configs/gru_prime3/model_config.json create mode 100644 compression/entropy_coder/configs/synthetic/input_config.json create mode 100644 compression/entropy_coder/configs/synthetic/model_config.json create mode 100644 compression/entropy_coder/configs/synthetic/train_config.json create mode 100644 compression/entropy_coder/core/code_loader.py create mode 100644 compression/entropy_coder/core/config_helper.py create mode 100644 compression/entropy_coder/core/entropy_coder_single.py create mode 100644 compression/entropy_coder/core/entropy_coder_train.py create mode 100644 compression/entropy_coder/dataset/gen_synthetic_dataset.py create mode 100644 compression/entropy_coder/dataset/gen_synthetic_single.py create mode 100644 compression/entropy_coder/dataset/synthetic_model.py create mode 100644 compression/entropy_coder/lib/__init__.py create mode 100644 compression/entropy_coder/lib/block_base.py create mode 100644 compression/entropy_coder/lib/block_util.py create mode 100644 compression/entropy_coder/lib/blocks.py create mode 100644 compression/entropy_coder/lib/blocks_binarizer.py create mode 100644 compression/entropy_coder/lib/blocks_entropy_coding.py create mode 100644 compression/entropy_coder/lib/blocks_entropy_coding_test.py create mode 100644 compression/entropy_coder/lib/blocks_lstm.py create mode 100644 compression/entropy_coder/lib/blocks_lstm_test.py create mode 100644 compression/entropy_coder/lib/blocks_masked_conv2d.py create mode 100644 compression/entropy_coder/lib/blocks_masked_conv2d_lstm.py create mode 100644 compression/entropy_coder/lib/blocks_masked_conv2d_test.py create mode 100644 compression/entropy_coder/lib/blocks_operator.py create mode 100644 compression/entropy_coder/lib/blocks_operator_test.py create mode 100644 compression/entropy_coder/lib/blocks_std.py create mode 100644 compression/entropy_coder/lib/blocks_std_test.py create mode 100644 compression/entropy_coder/model/__init__.py create mode 100644 compression/entropy_coder/model/entropy_coder_model.py create mode 100644 compression/entropy_coder/model/model_factory.py create mode 100644 compression/entropy_coder/progressive/__init__.py create mode 100644 compression/entropy_coder/progressive/progressive.py diff --git a/compression/entropy_coder/README.md b/compression/entropy_coder/README.md new file mode 100644 index 000000000..806743304 --- /dev/null +++ b/compression/entropy_coder/README.md @@ -0,0 +1,102 @@ +# Neural net based entropy coding + +This is a [TensorFlow](http://www.tensorflow.org/) model for additional +lossless compression of bitstreams generated by neural net based image +encoders as described in +[https://arxiv.org/abs/1703.10114](https://arxiv.org/abs/1703.10114). + +To be more specific, the entropy coder aims at compressing further binary +codes which have a 3D tensor structure with: + +* the first two dimensions of the tensors corresponding to the height and +the width of the binary codes, +* the last dimension being the depth of the codes. The last dimension can be +sliced into N groups of K, where each additional group is used by the image +decoder to add more details to the reconstructed image. + + +## Prerequisites +The only software requirements for running the encoder and decoder is having +Tensorflow installed. + +You will also need to add the top level source directory of the entropy coder +to your `PYTHONPATH`, for example: + +`export PYTHONPATH=${PYTHONPATH}:/tmp/compression/entropy_coder` + + +## Training the entropy coder + +### Synthetic dataset +If you do not have a training dataset, there is a simple code generative model +that you can use to generate a dataset and play with the entropy coder. +The generative model is located under dataset/gen\_synthetic\_dataset.py. Note +that this simple generative model is not going to give good results on real +images as it is not supposed to be close to the statistics of the binary +representation of encoded images. Consider it as a toy dataset, no more, no +less. + +To generate a synthetic dataset with 20000 samples: + +`python ./dataset/gen_synthetic_dataset.py --dataset_dir=/tmp/dataset/ +--count=20000` + +Note that the generator has not been optimized at all, generating the synthetic +dataset is currently pretty slow. + +### Training + +If you just want to play with the entropy coder trainer, here is the command +line that can be used to train the entropy coder on the synthetic dataset: + +`mkdir -p /tmp/entropy_coder_train` + +`python ./core/entropy_coder_train.py --task=0 +--train_dir=/tmp/entropy_coder_train/ +--model=progressive +--model_config=./configs/synthetic/model_config.json +--train_config=./configs/synthetic/train_config.json +--input_config=./configs/synthetic/input_config.json +` + +Training is configured using 3 files formatted using JSON: + +* One file is used to configure the underlying entropy coder model. + Currently, only the *progressive* model is supported. + This model takes 2 mandatory parameters and an optional one: + * `layer_depth`: the number of bits per layer (a.k.a. iteration). + Background: the image decoder takes each layer to add more detail + to the image. + * `layer_count`: the maximum number of layers that should be supported + by the model. This should be equal or greater than the maximum number + of layers in the input binary codes. + * `coded_layer_count`: This can be used to consider only partial codes, + keeping only the first `coded_layer_count` layers and ignoring the + remaining layers. If left empty, the binary codes are left unchanged. +* One file to configure the training, including the learning rate, ... + The meaning of the parameters are pretty straightforward. Note that this + file is only used during training and is not needed during inference. +* One file to specify the input dataset to use during training. + The dataset is formatted using tf.RecordIO. + + +## Inference: file size after entropy coding. + +### Using a synthetic sample + +Here is the command line to generate a single synthetic sample formatted +in the same way as what is provided by the image encoder: + +`python ./dataset/gen_synthetic_single.py +--sample_filename=/tmp/dataset/sample_0000.npz` + +To actually compute the additional compression ratio using the entropy coder +trained in the previous step: + +`python ./core/entropy_coder_single.py +--model=progressive +--model_config=./configs/synthetic/model_config.json +--input_codes=/tmp/dataset/sample_0000.npz +--checkpoint=/tmp/entropy_coder_train/model.ckpt-209078` + +where the checkpoint number should be adjusted accordingly. diff --git a/compression/entropy_coder/__init__.py b/compression/entropy_coder/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compression/entropy_coder/all_models/__init__.py b/compression/entropy_coder/all_models/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compression/entropy_coder/all_models/all_models.py b/compression/entropy_coder/all_models/all_models.py new file mode 100644 index 000000000..e376dac73 --- /dev/null +++ b/compression/entropy_coder/all_models/all_models.py @@ -0,0 +1,19 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Import and register all the entropy coder models.""" + +# pylint: disable=unused-import +from entropy_coder.progressive import progressive diff --git a/compression/entropy_coder/all_models/all_models_test.py b/compression/entropy_coder/all_models/all_models_test.py new file mode 100644 index 000000000..b8aff504a --- /dev/null +++ b/compression/entropy_coder/all_models/all_models_test.py @@ -0,0 +1,68 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Basic test of all registered models.""" + +import tensorflow as tf + +# pylint: disable=unused-import +import all_models +# pylint: enable=unused-import +from entropy_coder.model import model_factory + + +class AllModelsTest(tf.test.TestCase): + + def testBuildModelForTraining(self): + factory = model_factory.GetModelRegistry() + model_names = factory.GetAvailableModels() + + for m in model_names: + tf.reset_default_graph() + + global_step = tf.Variable(tf.zeros([], dtype=tf.int64), + trainable=False, + name='global_step') + + optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.1) + + batch_size = 3 + height = 40 + width = 20 + depth = 5 + binary_codes = tf.placeholder(dtype=tf.float32, + shape=[batch_size, height, width, depth]) + + # Create a model with the default configuration. + print('Creating model: {}'.format(m)) + model = factory.CreateModel(m) + model.Initialize(global_step, + optimizer, + model.GetConfigStringForUnitTest()) + self.assertTrue(model.loss is None, 'model: {}'.format(m)) + self.assertTrue(model.train_op is None, 'model: {}'.format(m)) + self.assertTrue(model.average_code_length is None, 'model: {}'.format(m)) + + # Build the Tensorflow graph corresponding to the model. + model.BuildGraph(binary_codes) + self.assertTrue(model.loss is not None, 'model: {}'.format(m)) + self.assertTrue(model.average_code_length is not None, + 'model: {}'.format(m)) + if model.train_op is None: + print('Model {} is not trainable'.format(m)) + + +if __name__ == '__main__': + tf.test.main() diff --git a/compression/entropy_coder/configs/gru_prime3/model_config.json b/compression/entropy_coder/configs/gru_prime3/model_config.json new file mode 100644 index 000000000..cf63a4c45 --- /dev/null +++ b/compression/entropy_coder/configs/gru_prime3/model_config.json @@ -0,0 +1,4 @@ +{ + "layer_count": 16, + "layer_depth": 32 +} diff --git a/compression/entropy_coder/configs/synthetic/input_config.json b/compression/entropy_coder/configs/synthetic/input_config.json new file mode 100644 index 000000000..18455e651 --- /dev/null +++ b/compression/entropy_coder/configs/synthetic/input_config.json @@ -0,0 +1,4 @@ +{ + "data": "/tmp/dataset/synthetic_dataset", + "unique_code_size": true +} diff --git a/compression/entropy_coder/configs/synthetic/model_config.json b/compression/entropy_coder/configs/synthetic/model_config.json new file mode 100644 index 000000000..c6f1f3e11 --- /dev/null +++ b/compression/entropy_coder/configs/synthetic/model_config.json @@ -0,0 +1,4 @@ +{ + "layer_depth": 2, + "layer_count": 8 +} diff --git a/compression/entropy_coder/configs/synthetic/train_config.json b/compression/entropy_coder/configs/synthetic/train_config.json new file mode 100644 index 000000000..79e4909fd --- /dev/null +++ b/compression/entropy_coder/configs/synthetic/train_config.json @@ -0,0 +1,6 @@ +{ + "batch_size": 4, + "learning_rate": 0.1, + "decay_rate": 0.9, + "samples_per_decay": 20000 +} diff --git a/compression/entropy_coder/core/code_loader.py b/compression/entropy_coder/core/code_loader.py new file mode 100644 index 000000000..47d947ce2 --- /dev/null +++ b/compression/entropy_coder/core/code_loader.py @@ -0,0 +1,73 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Load binary codes stored as tf.Example in a TFRecord table.""" + +import tensorflow as tf + + +def ReadFirstCode(dataset): + """Read the first example from a binary code RecordIO table.""" + for record in tf.python_io.tf_record_iterator(dataset): + tf_example = tf.train.Example() + tf_example.ParseFromString(record) + break + return tf_example + + +def LoadBinaryCode(input_config, batch_size): + """Load a batch of binary codes from a tf.Example dataset. + + Args: + input_config: An InputConfig proto containing the input configuration. + batch_size: Output batch size of examples. + + Returns: + A batched tensor of binary codes. + """ + data = input_config.data + + # TODO(damienv): Possibly use multiple files (instead of just one). + file_list = [data] + filename_queue = tf.train.string_input_producer(file_list, + capacity=4) + reader = tf.TFRecordReader() + _, values = reader.read(filename_queue) + + serialized_example = tf.reshape(values, shape=[1]) + serialized_features = { + 'code_shape': tf.FixedLenFeature([3], + dtype=tf.int64), + 'code': tf.VarLenFeature(tf.float32), + } + example = tf.parse_example(serialized_example, serialized_features) + + # 3D shape: height x width x binary_code_depth + z = example['code_shape'] + code_shape = tf.reshape(tf.cast(z, tf.int32), [3]) + # Un-flatten the binary codes. + code = tf.reshape(tf.sparse_tensor_to_dense(example['code']), code_shape) + + queue_size = 10 + queue = tf.PaddingFIFOQueue( + queue_size + 3 * batch_size, + dtypes=[code.dtype], + shapes=[[None, None, None]]) + enqueue_op = queue.enqueue([code]) + dequeue_code = queue.dequeue_many(batch_size) + queue_runner = tf.train.queue_runner.QueueRunner(queue, [enqueue_op]) + tf.add_to_collection(tf.GraphKeys.QUEUE_RUNNERS, queue_runner) + + return dequeue_code diff --git a/compression/entropy_coder/core/config_helper.py b/compression/entropy_coder/core/config_helper.py new file mode 100644 index 000000000..a7d949e32 --- /dev/null +++ b/compression/entropy_coder/core/config_helper.py @@ -0,0 +1,52 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Helper functions used in both train and inference.""" + +import json +import os.path + +import tensorflow as tf + + +def GetConfigString(config_file): + config_string = '' + if config_file is not None: + config_string = open(config_file).read() + return config_string + + +class InputConfig(object): + + def __init__(self, config_string): + config = json.loads(config_string) + self.data = config["data"] + self.unique_code_size = config["unique_code_size"] + + +class TrainConfig(object): + + def __init__(self, config_string): + config = json.loads(config_string) + self.batch_size = config["batch_size"] + self.learning_rate = config["learning_rate"] + self.decay_rate = config["decay_rate"] + self.samples_per_decay = config["samples_per_decay"] + + +def SaveConfig(directory, filename, config_string): + path = os.path.join(directory, filename) + with tf.gfile.Open(path, mode='w') as f: + f.write(config_string) diff --git a/compression/entropy_coder/core/entropy_coder_single.py b/compression/entropy_coder/core/entropy_coder_single.py new file mode 100644 index 000000000..40a1317c9 --- /dev/null +++ b/compression/entropy_coder/core/entropy_coder_single.py @@ -0,0 +1,116 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Compute the additional compression ratio after entropy coding.""" + +import io +import os + +import numpy as np +import tensorflow as tf + +import config_helper + +# pylint: disable=unused-import +from entropy_coder.all_models import all_models +# pylint: enable=unused-import +from entropy_coder.model import model_factory + + +# Checkpoint used to restore the model parameters. +tf.app.flags.DEFINE_string('checkpoint', None, + """Model checkpoint.""") + +# Model selection and configuration. +tf.app.flags.DEFINE_string('model', None, """Underlying encoder model.""") +tf.app.flags.DEFINE_string('model_config', None, + """Model config protobuf given as text file.""") + +# File holding the binary codes. +tf.flags.DEFINE_string('input_codes', None, 'Location of binary code file.') + +FLAGS = tf.flags.FLAGS + + +def main(_): + if (FLAGS.input_codes is None or FLAGS.model is None): + print ('\nUsage: python entropy_coder_single.py --model=progressive ' + '--model_config=model_config.json' + '--iteration=15\n\n') + return + + #if FLAGS.iteration < -1 or FLAGS.iteration > 15: + # print ('\n--iteration must be between 0 and 15 inclusive, or -1 to infer ' + # 'from file.\n') + # return + #iteration = FLAGS.iteration + + if not tf.gfile.Exists(FLAGS.input_codes): + print '\nInput codes not found.\n' + return + + with tf.gfile.FastGFile(FLAGS.input_codes, 'rb') as code_file: + contents = code_file.read() + loaded_codes = np.load(io.BytesIO(contents)) + assert ['codes', 'shape'] not in loaded_codes.files + loaded_shape = loaded_codes['shape'] + loaded_array = loaded_codes['codes'] + + # Unpack and recover code shapes. + unpacked_codes = np.reshape(np.unpackbits(loaded_array) + [:np.prod(loaded_shape)], + loaded_shape) + + numpy_int_codes = unpacked_codes.transpose([1, 2, 3, 0, 4]) + numpy_int_codes = numpy_int_codes.reshape([numpy_int_codes.shape[0], + numpy_int_codes.shape[1], + numpy_int_codes.shape[2], + -1]) + numpy_codes = numpy_int_codes.astype(np.float32) * 2.0 - 1.0 + + with tf.Graph().as_default() as graph: + # TF tensor to hold the binary codes to losslessly compress. + batch_size = 1 + codes = tf.placeholder(tf.float32, shape=numpy_codes.shape) + + # Create the entropy coder model. + global_step = None + optimizer = None + model = model_factory.GetModelRegistry().CreateModel(FLAGS.model) + model_config_string = config_helper.GetConfigString(FLAGS.model_config) + model.Initialize(global_step, optimizer, model_config_string) + model.BuildGraph(codes) + + saver = tf.train.Saver(sharded=True, keep_checkpoint_every_n_hours=12.0) + + with tf.Session(graph=graph) as sess: + # Initialize local variables. + sess.run(tf.local_variables_initializer()) + + # Restore model variables. + saver.restore(sess, FLAGS.checkpoint) + + tf_tensors = { + 'code_length': model.average_code_length + } + feed_dict = {codes: numpy_codes} + np_tensors = sess.run(tf_tensors, feed_dict=feed_dict) + + print('Additional compression ratio: {}'.format( + np_tensors['code_length'])) + + +if __name__ == '__main__': + tf.app.run() diff --git a/compression/entropy_coder/core/entropy_coder_train.py b/compression/entropy_coder/core/entropy_coder_train.py new file mode 100644 index 000000000..fd7266153 --- /dev/null +++ b/compression/entropy_coder/core/entropy_coder_train.py @@ -0,0 +1,184 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Train an entropy coder model.""" + +import time + +import tensorflow as tf + +import code_loader +import config_helper + +# pylint: disable=unused-import +from entropy_coder.all_models import all_models +# pylint: enable=unused-import +from entropy_coder.model import model_factory + + +FLAGS = tf.app.flags.FLAGS + +# Hardware resources configuration. +tf.app.flags.DEFINE_string('master', '', + """Name of the TensorFlow master to use.""") +tf.app.flags.DEFINE_string('train_dir', None, + """Directory where to write event logs.""") +tf.app.flags.DEFINE_integer('task', None, + """Task id of the replica running the training.""") +tf.app.flags.DEFINE_integer('ps_tasks', 0, """Number of tasks in the ps job. + If 0 no ps job is used.""") + +# Model selection and configuration. +tf.app.flags.DEFINE_string('model', None, """Underlying encoder model.""") +tf.app.flags.DEFINE_string('model_config', None, + """Model config protobuf given as text file.""") + +# Training data and parameters configuration. +tf.app.flags.DEFINE_string('input_config', None, + """Path to the training input config file.""") +tf.app.flags.DEFINE_string('train_config', None, + """Path to the training experiment config file.""") + + +def train(): + if FLAGS.train_dir is None: + raise ValueError('Parameter train_dir must be provided') + if FLAGS.task is None: + raise ValueError('Parameter task must be provided') + if FLAGS.model is None: + raise ValueError('Parameter model must be provided') + + input_config_string = config_helper.GetConfigString(FLAGS.input_config) + input_config = config_helper.InputConfig(input_config_string) + + # Training parameters. + train_config_string = config_helper.GetConfigString(FLAGS.train_config) + train_config = config_helper.TrainConfig(train_config_string) + + batch_size = train_config.batch_size + initial_learning_rate = train_config.learning_rate + decay_rate = train_config.decay_rate + samples_per_decay = train_config.samples_per_decay + + # Parameters for learning-rate decay. + # The formula is decay_rate ** floor(steps / decay_steps). + decay_steps = samples_per_decay / batch_size + decay_steps = max(decay_steps, 1) + + first_code = code_loader.ReadFirstCode(input_config.data) + first_code_height = ( + first_code.features.feature['code_shape'].int64_list.value[0]) + first_code_width = ( + first_code.features.feature['code_shape'].int64_list.value[1]) + max_bit_depth = ( + first_code.features.feature['code_shape'].int64_list.value[2]) + print('Maximum code depth: {}'.format(max_bit_depth)) + + with tf.Graph().as_default(): + ps_ops = ["Variable", "VariableV2", "AutoReloadVariable", "VarHandleOp"] + with tf.device(tf.train.replica_device_setter(FLAGS.ps_tasks, + ps_ops=ps_ops)): + codes = code_loader.LoadBinaryCode( + input_config=input_config, + batch_size=batch_size) + if input_config.unique_code_size: + print('Input code size: {} x {}'.format(first_code_height, + first_code_width)) + codes.set_shape( + [batch_size, first_code_height, first_code_width, max_bit_depth]) + else: + codes.set_shape([batch_size, None, None, max_bit_depth]) + codes_effective_shape = tf.shape(codes) + + global_step = tf.contrib.framework.create_global_step() + + # Apply learning-rate decay. + learning_rate = tf.train.exponential_decay( + learning_rate=initial_learning_rate, + global_step=global_step, + decay_steps=decay_steps, + decay_rate=decay_rate, + staircase=True) + tf.contrib.deprecated.scalar_summary('Learning Rate', learning_rate) + optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate, + epsilon=1.0) + + # Create the entropy coder model. + model = model_factory.GetModelRegistry().CreateModel(FLAGS.model) + model_config_string = config_helper.GetConfigString(FLAGS.model_config) + model.Initialize(global_step, optimizer, model_config_string) + model.BuildGraph(codes) + + summary_op = tf.summary.merge_all() + + # Verify that the model can actually be trained. + if model.train_op is None: + raise ValueError('Input model {} is not trainable'.format(FLAGS.model)) + + # We disable the summary thread run by Supervisor class by passing + # summary_op=None. We still pass save_summaries_secs because it is used by + # the global step counter thread. + is_chief = (FLAGS.task == 0) + sv = tf.train.Supervisor(logdir=FLAGS.train_dir, + is_chief=is_chief, + global_step=global_step, + # saver=model.saver, + summary_op=None, + save_summaries_secs=120, + save_model_secs=600, + recovery_wait_secs=30) + + sess = sv.PrepareSession(FLAGS.master) + sv.StartQueueRunners(sess) + + step = sess.run(global_step) + print('Trainer initial step: {}.'.format(step)) + + # Once everything has been setup properly, save the configs. + if is_chief: + config_helper.SaveConfig(FLAGS.train_dir, 'input_config.json', + input_config_string) + config_helper.SaveConfig(FLAGS.train_dir, 'model_config.json', + model_config_string) + config_helper.SaveConfig(FLAGS.train_dir, 'train_config.json', + train_config_string) + + # Train the model. + next_summary_time = time.time() + while not sv.ShouldStop(): + feed_dict = None + + # Once in a while, update the summaries on the chief worker. + if is_chief and next_summary_time < time.time(): + summary_str = sess.run(summary_op, feed_dict=feed_dict) + sv.SummaryComputed(sess, summary_str) + next_summary_time = time.time() + sv.save_summaries_secs + else: + tf_tensors = { + 'train': model.train_op, + 'code_length': model.average_code_length + } + np_tensors = sess.run(tf_tensors, feed_dict=feed_dict) + print np_tensors['code_length'] + + sv.Stop() + + +def main(argv=None): # pylint: disable=unused-argument + train() + + +if __name__ == '__main__': + tf.app.run() diff --git a/compression/entropy_coder/dataset/gen_synthetic_dataset.py b/compression/entropy_coder/dataset/gen_synthetic_dataset.py new file mode 100644 index 000000000..aa511b530 --- /dev/null +++ b/compression/entropy_coder/dataset/gen_synthetic_dataset.py @@ -0,0 +1,88 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Generate a synthetic dataset.""" + +import os + +import numpy as np +import tensorflow as tf + +import synthetic_model + + +FLAGS = tf.app.flags.FLAGS + +tf.app.flags.DEFINE_string( + 'dataset_dir', None, + """Directory where to write the dataset and the configs.""") +tf.app.flags.DEFINE_integer( + 'count', 1000, + """Number of samples to generate.""") + + +def int64_feature(values): + """Returns a TF-Feature of int64s. + + Args: + values: A scalar or list of values. + + Returns: + A TF-Feature. + """ + if not isinstance(values, (tuple, list)): + values = [values] + return tf.train.Feature(int64_list=tf.train.Int64List(value=values)) + + +def float_feature(values): + """Returns a TF-Feature of floats. + + Args: + values: A scalar of list of values. + + Returns: + A TF-Feature. + """ + if not isinstance(values, (tuple, list)): + values = [values] + return tf.train.Feature(float_list=tf.train.FloatList(value=values)) + + +def AddToTFRecord(code, tfrecord_writer): + example = tf.train.Example(features=tf.train.Features(feature={ + 'code_shape': int64_feature(code.shape), + 'code': float_feature(code.flatten().tolist()), + })) + tfrecord_writer.write(example.SerializeToString()) + + +def GenerateDataset(filename, count, code_shape): + with tf.python_io.TFRecordWriter(filename) as tfrecord_writer: + for _ in xrange(count): + code = synthetic_model.GenerateSingleCode(code_shape) + # Convert {0,1} codes to {-1,+1} codes. + code = 2.0 * code - 1.0 + AddToTFRecord(code, tfrecord_writer) + + +def main(argv=None): # pylint: disable=unused-argument + GenerateDataset(os.path.join(FLAGS.dataset_dir + '/synthetic_dataset'), + FLAGS.count, + [35, 48, 8]) + + +if __name__ == '__main__': + tf.app.run() diff --git a/compression/entropy_coder/dataset/gen_synthetic_single.py b/compression/entropy_coder/dataset/gen_synthetic_single.py new file mode 100644 index 000000000..b8c3821c3 --- /dev/null +++ b/compression/entropy_coder/dataset/gen_synthetic_single.py @@ -0,0 +1,72 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Generate a single synthetic sample.""" + +import io +import os + +import numpy as np +import tensorflow as tf + +import synthetic_model + + +FLAGS = tf.app.flags.FLAGS + +tf.app.flags.DEFINE_string( + 'sample_filename', None, + """Output file to store the generated binary code.""") + + +def GenerateSample(filename, code_shape, layer_depth): + # {0, +1} binary codes. + # No conversion since the output file is expected to store + # codes using {0, +1} codes (and not {-1, +1}). + code = synthetic_model.GenerateSingleCode(code_shape) + code = np.round(code) + + # Reformat the code so as to be compatible with what is generated + # by the image encoder. + # The image encoder generates a tensor of size: + # iteration_count x batch_size x height x width x iteration_depth. + # Here: batch_size = 1 + if code_shape[-1] % layer_depth != 0: + raise ValueError('Number of layers is not an integer') + height = code_shape[0] + width = code_shape[1] + code = code.reshape([1, height, width, -1, layer_depth]) + code = np.transpose(code, [3, 0, 1, 2, 4]) + + int_codes = code.astype(np.int8) + exported_codes = np.packbits(int_codes.reshape(-1)) + + output = io.BytesIO() + np.savez_compressed(output, shape=int_codes.shape, codes=exported_codes) + with tf.gfile.FastGFile(filename, 'wb') as code_file: + code_file.write(output.getvalue()) + + +def main(argv=None): # pylint: disable=unused-argument + # Note: the height and the width is different from the training dataset. + # The main purpose is to show that the entropy coder model is fully + # convolutional and can be used on any image size. + layer_depth = 2 + GenerateSample(FLAGS.sample_filename, [31, 36, 8], layer_depth) + + +if __name__ == '__main__': + tf.app.run() + diff --git a/compression/entropy_coder/dataset/synthetic_model.py b/compression/entropy_coder/dataset/synthetic_model.py new file mode 100644 index 000000000..481120838 --- /dev/null +++ b/compression/entropy_coder/dataset/synthetic_model.py @@ -0,0 +1,74 @@ +# Copyright 2016 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Binary code sample generator.""" + +import numpy as np + + +_CRC_LINE = [ + [0, 1, 0], + [1, 1, 0], + [1, 0, 0] +] + +_CRC_DEPTH = [1, 1, 0, 1] + + +def ComputeLineCrc(code, width, y, x, d): + crc = 0 + for dy in xrange(len(_CRC_LINE)): + i = y - 1 - dy + if i < 0: + continue + for dx in xrange(len(_CRC_LINE[dy])): + j = x - 2 + dx + if j < 0 or j >= width: + continue + crc += 1 if (code[i, j, d] != _CRC_LINE[dy][dx]) else 0 + return crc + + +def ComputeDepthCrc(code, y, x, d): + crc = 0 + for delta in xrange(len(_CRC_DEPTH)): + k = d - 1 - delta + if k < 0: + continue + crc += 1 if (code[y, x, k] != _CRC_DEPTH[delta]) else 0 + return crc + + +def GenerateSingleCode(code_shape): + code = np.zeros(code_shape, dtype=np.int) + + keep_value_proba = 0.8 + + height = code_shape[0] + width = code_shape[1] + depth = code_shape[2] + + for d in xrange(depth): + for y in xrange(height): + for x in xrange(width): + v1 = ComputeLineCrc(code, width, y, x, d) + v2 = ComputeDepthCrc(code, y, x, d) + v = 1 if (v1 + v2 >= 6) else 0 + if np.random.rand() < keep_value_proba: + code[y, x, d] = v + else: + code[y, x, d] = 1 - v + + return code diff --git a/compression/entropy_coder/lib/__init__.py b/compression/entropy_coder/lib/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compression/entropy_coder/lib/block_base.py b/compression/entropy_coder/lib/block_base.py new file mode 100644 index 000000000..615dff828 --- /dev/null +++ b/compression/entropy_coder/lib/block_base.py @@ -0,0 +1,258 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Base class for Tensorflow building blocks.""" + +import collections +import contextlib +import itertools + +import tensorflow as tf + +_block_stacks = collections.defaultdict(lambda: []) + + +class BlockBase(object): + """Base class for transform wrappers of Tensorflow. + + To implement a Tensorflow transform block, inherit this class. + + 1. To create a variable, use NewVar() method. Do not overload this method! + For example, use as follows. + a_variable = self.NewVar(initial_value) + + 2. All Tensorflow-related code must be done inside 'with self._BlockScope().' + Otherwise, name scoping and block hierarchy will not work. An exception + is _Apply() method, which is already called inside the context manager + by __call__() method. + + 3. Override and implement _Apply() method. This method is called by + __call__() method. + + The users would use blocks like the following. + nn1 = NN(128, bias=Bias(0), act=tf.nn.relu) + y = nn1(x) + + Some things to consider. + + - Use lazy-initialization if possible. That is, initialize at first Apply() + rather than at __init__(). + + Note: if needed, the variables can be created on a specific parameter + server by creating blocks in a scope like: + with g.device(device): + linear = Linear(...) + """ + + def __init__(self, name): + self._variables = [] + self._subblocks = [] + self._called = False + + # Intentionally distinguishing empty string and None. + # If name is an empty string, then do not use name scope. + self.name = name if name is not None else self.__class__.__name__ + self._graph = tf.get_default_graph() + + if self.name: + # Capture the scope string at the init time. + with self._graph.name_scope(self.name) as scope: + self._scope_str = scope + else: + self._scope_str = '' + + # Maintain hierarchy structure of blocks. + self._stack = _block_stacks[self._graph] + if self.__class__ is BlockBase: + # This code is only executed to create the root, which starts in the + # initialized state. + assert not self._stack + self._parent = None + self._called = True # The root is initialized. + return + + # Create a fake root if a root is not already present. + if not self._stack: + self._stack.append(BlockBase('NoOpRoot')) + + self._parent = self._stack[-1] + self._parent._subblocks.append(self) # pylint: disable=protected-access + + def __repr__(self): + return '"{}" ({})'.format(self._scope_str, self.__class__.__name__) + + @contextlib.contextmanager + def _OptionalNameScope(self, scope_str): + if scope_str: + with self._graph.name_scope(scope_str): + yield + else: + yield + + @contextlib.contextmanager + def _BlockScope(self): + """Context manager that handles graph, namescope, and nested blocks.""" + self._stack.append(self) + + try: + with self._graph.as_default(): + with self._OptionalNameScope(self._scope_str): + yield self + finally: # Pop from the stack no matter exception is raised or not. + # The following line is executed when leaving 'with self._BlockScope()' + self._stack.pop() + + def __call__(self, *args, **kwargs): + assert self._stack is _block_stacks[self._graph] + + with self._BlockScope(): + ret = self._Apply(*args, **kwargs) + + self._called = True + return ret + + def _Apply(self, *args, **kwargs): + """Implementation of __call__().""" + raise NotImplementedError() + + # Redirect all variable creation to this single function, so that we can + # switch to better variable creation scheme. + def NewVar(self, value, **kwargs): + """Creates a new variable. + + This function creates a variable, then returns a local copy created by + Identity operation. To get the Variable class object, use LookupRef() + method. + + Note that each time Variable class object is used as an input to an + operation, Tensorflow will create a new Send/Recv pair. This hurts + performance. + + If not for assign operations, use the local copy returned by this method. + + Args: + value: Initialization value of the variable. The shape and the data type + of the variable is determined by this initial value. + **kwargs: Extra named arguments passed to Variable.__init__(). + + Returns: + A local copy of the new variable. + """ + v = tf.Variable(value, **kwargs) + + self._variables.append(v) + return v + + @property + def initialized(self): + """Returns bool if the block is initialized. + + By default, BlockBase assumes that a block is initialized when __call__() + is executed for the first time. If this is an incorrect assumption for some + subclasses, override this property in those subclasses. + + Returns: + True if initialized, False otherwise. + """ + return self._called + + def AssertInitialized(self): + """Asserts initialized property.""" + if not self.initialized: + raise RuntimeError('{} has not been initialized.'.format(self)) + + def VariableList(self): + """Returns the list of all tensorflow variables used inside this block.""" + variables = list(itertools.chain( + itertools.chain.from_iterable( + t.VariableList() for t in self._subblocks), + self._VariableList())) + return variables + + def _VariableList(self): + """Returns the list of all tensorflow variables owned by this block.""" + self.AssertInitialized() + return self._variables + + def CreateWeightLoss(self): + """Returns L2 loss list of (almost) all variables used inside this block. + + When this method needs to be overridden, there are two choices. + + 1. Override CreateWeightLoss() to change the weight loss of all variables + that belong to this block, both directly and indirectly. + 2. Override _CreateWeightLoss() to change the weight loss of all + variables that directly belong to this block but not to the sub-blocks. + + Returns: + A Tensor object or None. + """ + losses = list(itertools.chain( + itertools.chain.from_iterable( + t.CreateWeightLoss() for t in self._subblocks), + self._CreateWeightLoss())) + return losses + + def _CreateWeightLoss(self): + """Returns weight loss list of variables that belong to this block.""" + self.AssertInitialized() + with self._BlockScope(): + return [tf.nn.l2_loss(v) for v in self._variables] + + def CreateUpdateOps(self): + """Creates update operations for this block and its sub-blocks.""" + ops = list(itertools.chain( + itertools.chain.from_iterable( + t.CreateUpdateOps() for t in self._subblocks), + self._CreateUpdateOps())) + return ops + + def _CreateUpdateOps(self): + """Creates update operations for this block.""" + self.AssertInitialized() + return [] + + def MarkAsNonTrainable(self): + """Mark all the variables of this block as non-trainable. + + All the variables owned directly or indirectly (through subblocks) are + marked as non trainable. + + This function along with CheckpointInitOp can be used to load a pretrained + model that consists in only one part of the whole graph. + """ + assert self._called + + all_variables = self.VariableList() + collection = tf.get_collection_ref(tf.GraphKeys.TRAINABLE_VARIABLES) + for v in all_variables: + if v in collection: + collection.remove(v) + + +def CreateWeightLoss(): + """Returns all weight losses from the blocks in the graph.""" + stack = _block_stacks[tf.get_default_graph()] + if not stack: + return [] + return stack[0].CreateWeightLoss() + + +def CreateBlockUpdates(): + """Combines all updates from the blocks in the graph.""" + stack = _block_stacks[tf.get_default_graph()] + if not stack: + return [] + return stack[0].CreateUpdateOps() diff --git a/compression/entropy_coder/lib/block_util.py b/compression/entropy_coder/lib/block_util.py new file mode 100644 index 000000000..957f8d603 --- /dev/null +++ b/compression/entropy_coder/lib/block_util.py @@ -0,0 +1,100 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utility functions for blocks.""" + +from __future__ import division +from __future__ import unicode_literals + +import math + +import numpy as np +import tensorflow as tf + + +class RsqrtInitializer(object): + """Gaussian initializer with standard deviation 1/sqrt(n). + + Note that tf.truncated_normal is used internally. Therefore any random sample + outside two-sigma will be discarded and re-sampled. + """ + + def __init__(self, dims=(0,), **kwargs): + """Creates an initializer. + + Args: + dims: Dimension(s) index to compute standard deviation: + 1.0 / sqrt(product(shape[dims])) + **kwargs: Extra keyword arguments to pass to tf.truncated_normal. + """ + if isinstance(dims, (int, long)): + self._dims = [dims] + else: + self._dims = dims + self._kwargs = kwargs + + def __call__(self, shape, dtype): + stddev = 1.0 / np.sqrt(np.prod([shape[x] for x in self._dims])) + return tf.truncated_normal( + shape=shape, dtype=dtype, stddev=stddev, **self._kwargs) + + +class RectifierInitializer(object): + """Gaussian initializer with standard deviation sqrt(2/fan_in). + + Note that tf.random_normal is used internally to ensure the expected weight + distribution. This is intended to be used with ReLU activations, specially + in ResNets. + + For details please refer to: + Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet + Classification + """ + + def __init__(self, dims=(0,), scale=2.0, **kwargs): + """Creates an initializer. + + Args: + dims: Dimension(s) index to compute standard deviation: + sqrt(scale / product(shape[dims])) + scale: A constant scaling for the initialization used as + sqrt(scale / product(shape[dims])). + **kwargs: Extra keyword arguments to pass to tf.truncated_normal. + """ + if isinstance(dims, (int, long)): + self._dims = [dims] + else: + self._dims = dims + self._kwargs = kwargs + self._scale = scale + + def __call__(self, shape, dtype): + stddev = np.sqrt(self._scale / np.prod([shape[x] for x in self._dims])) + return tf.random_normal( + shape=shape, dtype=dtype, stddev=stddev, **self._kwargs) + + +class GaussianInitializer(object): + """Gaussian initializer with a given standard deviation. + + Note that tf.truncated_normal is used internally. Therefore any random sample + outside two-sigma will be discarded and re-sampled. + """ + + def __init__(self, stddev=1.0): + self._stddev = stddev + + def __call__(self, shape, dtype): + return tf.truncated_normal(shape=shape, dtype=dtype, stddev=self._stddev) diff --git a/compression/entropy_coder/lib/blocks.py b/compression/entropy_coder/lib/blocks.py new file mode 100644 index 000000000..002384eb0 --- /dev/null +++ b/compression/entropy_coder/lib/blocks.py @@ -0,0 +1,24 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +from block_base import * +from block_util import * +from blocks_binarizer import * +from blocks_entropy_coding import * +from blocks_lstm import * +from blocks_masked_conv2d import * +from blocks_masked_conv2d_lstm import * +from blocks_operator import * +from blocks_std import * diff --git a/compression/entropy_coder/lib/blocks_binarizer.py b/compression/entropy_coder/lib/blocks_binarizer.py new file mode 100644 index 000000000..820673161 --- /dev/null +++ b/compression/entropy_coder/lib/blocks_binarizer.py @@ -0,0 +1,35 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Activation and weight binarizer implementations.""" + +import math + +import numpy as np +import tensorflow as tf + + +def ConvertSignCodeToZeroOneCode(x): + """Conversion from codes {-1, +1} to codes {0, 1}.""" + return 0.5 * (x + 1.0) + + +def ConvertZeroOneCodeToSignCode(x): + """Convert from codes {0, 1} to codes {-1, +1}.""" + return 2.0 * x - 1.0 + + +def CheckZeroOneCode(x): + return tf.reduce_all(tf.equal(x * (x - 1.0), 0)) diff --git a/compression/entropy_coder/lib/blocks_entropy_coding.py b/compression/entropy_coder/lib/blocks_entropy_coding.py new file mode 100644 index 000000000..6ee5d9792 --- /dev/null +++ b/compression/entropy_coder/lib/blocks_entropy_coding.py @@ -0,0 +1,49 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Set of blocks related to entropy coding.""" + +import math + +import tensorflow as tf + +import block_base + +# pylint does not recognize block_base.BlockBase.__call__(). +# pylint: disable=not-callable + + +class CodeLength(block_base.BlockBase): + """Theoretical bound for a code length given a probability distribution. + """ + + def __init__(self, name=None): + super(CodeLength, self).__init__(name) + + def _Apply(self, c, p): + """Theoretical bound of the coded length given a probability distribution. + + Args: + c: The binary codes. Belong to {0, 1}. + p: The probability of: P(code==+1) + + Returns: + The average code length. + Note: the average code length can be greater than 1 bit (e.g. when + encoding the least likely symbol). + """ + entropy = ((1.0 - c) * tf.log(1.0 - p) + c * tf.log(p)) / (-math.log(2)) + entropy = tf.reduce_mean(entropy) + return entropy diff --git a/compression/entropy_coder/lib/blocks_entropy_coding_test.py b/compression/entropy_coder/lib/blocks_entropy_coding_test.py new file mode 100644 index 000000000..5209865f5 --- /dev/null +++ b/compression/entropy_coder/lib/blocks_entropy_coding_test.py @@ -0,0 +1,56 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for basic tensorflow blocks_entropy_coding.""" + +from __future__ import division +from __future__ import unicode_literals + +import math + +import numpy as np +import tensorflow as tf + +import blocks_entropy_coding + + +class BlocksEntropyCodingTest(tf.test.TestCase): + + def testCodeLength(self): + shape = [2, 4] + proba_feed = [[0.65, 0.25, 0.70, 0.10], + [0.28, 0.20, 0.44, 0.54]] + symbol_feed = [[1.0, 0.0, 1.0, 0.0], + [0.0, 0.0, 0.0, 1.0]] + mean_code_length = - ( + (math.log(0.65) + math.log(0.75) + math.log(0.70) + math.log(0.90) + + math.log(0.72) + math.log(0.80) + math.log(0.56) + math.log(0.54)) / + math.log(2.0)) / (shape[0] * shape[1]) + + symbol = tf.placeholder(dtype=tf.float32, shape=shape) + proba = tf.placeholder(dtype=tf.float32, shape=shape) + code_length_calculator = blocks_entropy_coding.CodeLength() + code_length = code_length_calculator(symbol, proba) + + with self.test_session(): + tf.global_variables_initializer().run() + code_length_eval = code_length.eval( + feed_dict={symbol: symbol_feed, proba: proba_feed}) + + self.assertAllClose(mean_code_length, code_length_eval) + + +if __name__ == '__main__': + tf.test.main() diff --git a/compression/entropy_coder/lib/blocks_lstm.py b/compression/entropy_coder/lib/blocks_lstm.py new file mode 100644 index 000000000..6e474e3e3 --- /dev/null +++ b/compression/entropy_coder/lib/blocks_lstm.py @@ -0,0 +1,263 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Blocks of LSTM and its variants.""" + +import numpy as np +import tensorflow as tf + +import block_base +import block_util +import blocks_std + +# pylint does not recognize block_base.BlockBase.__call__(). +# pylint: disable=not-callable + + +def LSTMBiasInit(shape, dtype): + """Returns ones for forget-gate, and zeros for the others.""" + shape = np.array(shape) + + # Check internal consistencies. + assert shape.shape == (1,), shape + assert shape[0] % 4 == 0, shape + + n = shape[0] // 4 + ones = tf.fill([n], tf.constant(1, dtype=dtype)) + zeros = tf.fill([3 * n], tf.constant(0, dtype=dtype)) + return tf.concat([ones, zeros], 0) + + +class LSTMBase(block_base.BlockBase): + """Base class for LSTM implementations. + + These LSTM implementations use the pattern found in [1]. No peephole + connection, i.e., cell content is not used in recurrence computation. + Hidden units are also output units. + + [1] Zaremba, Sutskever, Vinyals. Recurrent Neural Network Regularization, + 2015. arxiv:1409.2329. + """ + + def __init__(self, output_shape, name): + """Initializes LSTMBase class object. + + Args: + output_shape: List representing the LSTM output shape. This argument + does not include batch dimension. For example, if the LSTM output has + shape [batch, depth], then pass [depth]. + name: Name of this block. + """ + super(LSTMBase, self).__init__(name) + + with self._BlockScope(): + self._output_shape = [None] + list(output_shape) + self._hidden = None + self._cell = None + + @property + def hidden(self): + """Returns the hidden units of this LSTM.""" + return self._hidden + + @hidden.setter + def hidden(self, value): + """Assigns to the hidden units of this LSTM. + + Args: + value: The new value for the hidden units. If None, the hidden units are + considered to be filled with zeros. + """ + if value is not None: + value.get_shape().assert_is_compatible_with(self._output_shape) + self._hidden = value + + @property + def cell(self): + """Returns the cell units of this LSTM.""" + return self._cell + + @cell.setter + def cell(self, value): + """Assigns to the cell units of this LSTM. + + Args: + value: The new value for the cell units. If None, the cell units are + considered to be filled with zeros. + """ + if value is not None: + value.get_shape().assert_is_compatible_with(self._output_shape) + self._cell = value + + # Consider moving bias terms to the base, and require this method to be + # linear. + def _TransformInputs(self, _): + """Transforms the input units to (4 * depth) units. + + The forget-gate, input-gate, output-gate, and cell update is computed as + f, i, j, o = T(h) + R(x) + where h is hidden units, x is input units, and T, R are transforms of + h, x, respectively. + + This method implements R. Note that T is strictly linear, so if LSTM is + going to use bias, this method must include the bias to the transformation. + + Subclasses must implement this method. See _Apply() for more details. + """ + raise NotImplementedError() + + def _TransformHidden(self, _): + """Transforms the hidden units to (4 * depth) units. + + The forget-gate, input-gate, output-gate, and cell update is computed as + f, i, j, o = T(h) + R(x) + where h is hidden units, x is input units, and T, R are transforms of + h, x, respectively. + + This method implements T in the equation. The method must implement a + strictly linear transformation. For example, it may use MatMul or Conv2D, + but must not add bias. This is because when hidden units are zeros, then + the LSTM implementation will skip calling this method, instead of passing + zeros to this function. + + Subclasses must implement this method. See _Apply() for more details. + """ + raise NotImplementedError() + + def _Apply(self, *args): + xtransform = self._TransformInputs(*args) + depth_axis = len(self._output_shape) - 1 + + if self.hidden is not None: + htransform = self._TransformHidden(self.hidden) + f, i, j, o = tf.split( + value=htransform + xtransform, num_or_size_splits=4, axis=depth_axis) + else: + f, i, j, o = tf.split( + value=xtransform, num_or_size_splits=4, axis=depth_axis) + + if self.cell is not None: + self.cell = tf.sigmoid(f) * self.cell + tf.sigmoid(i) * tf.tanh(j) + else: + self.cell = tf.sigmoid(i) * tf.tanh(j) + + self.hidden = tf.sigmoid(o) * tf.tanh(self.cell) + return self.hidden + + +class LSTM(LSTMBase): + """Efficient LSTM implementation used in [1]. + + [1] Zaremba, Sutskever, Vinyals. Recurrent Neural Network Regularization, + 2015. arxiv:1409.2329. + """ + + def __init__(self, + depth, + bias=LSTMBiasInit, + initializer=block_util.RsqrtInitializer(), + name=None): + super(LSTM, self).__init__([depth], name) + + with self._BlockScope(): + self._depth = depth + self._nn = blocks_std.NN( + 4 * depth, bias=bias, act=None, initializer=initializer) + self._hidden_linear = blocks_std.Linear( + 4 * depth, initializer=initializer) + + def _TransformInputs(self, *args): + return self._nn(*args) + + def _TransformHidden(self, h): + return self._hidden_linear(h) + + +class Conv2DLSTM(LSTMBase): + """Convolutional LSTM implementation with optimizations inspired by [1]. + + Note that when using the batch normalization feature, the bias initializer + will not be used, since BN effectively cancels its effect out. + + [1] Zaremba, Sutskever, Vinyals. Recurrent Neural Network Regularization, + 2015. arxiv:1409.2329. + """ + + def __init__(self, + depth, + filter_size, + hidden_filter_size, + strides, + padding, + bias=LSTMBiasInit, + initializer=block_util.RsqrtInitializer(dims=(0, 1, 2)), + use_moving_average=False, + name=None): + super(Conv2DLSTM, self).__init__([None, None, depth], name) + self._iter = 0 + + with self._BlockScope(): + self._input_conv = blocks_std.Conv2D( + 4 * depth, + filter_size, + strides, + padding, + bias=None, + act=None, + initializer=initializer, + name='input_conv2d') + + self._hidden_conv = blocks_std.Conv2D( + 4 * depth, + hidden_filter_size, + [1, 1], + 'SAME', + bias=None, + act=None, + initializer=initializer, + name='hidden_conv2d') + + if bias is not None: + self._bias = blocks_std.BiasAdd(bias, name='biases') + else: + self._bias = blocks_std.PassThrough() + + def _TransformInputs(self, x): + return self._bias(self._input_conv(x)) + + def _TransformHidden(self, h): + return self._hidden_conv(h) + + def _Apply(self, *args): + xtransform = self._TransformInputs(*args) + depth_axis = len(self._output_shape) - 1 + + if self.hidden is not None: + htransform = self._TransformHidden(self.hidden) + f, i, j, o = tf.split( + value=htransform + xtransform, num_or_size_splits=4, axis=depth_axis) + else: + f, i, j, o = tf.split( + value=xtransform, num_or_size_splits=4, axis=depth_axis) + + if self.cell is not None: + self.cell = tf.sigmoid(f) * self.cell + tf.sigmoid(i) * tf.tanh(j) + else: + self.cell = tf.sigmoid(i) * tf.tanh(j) + + self.hidden = tf.sigmoid(o) * tf.tanh(self.cell) + + self._iter += 1 + return self.hidden diff --git a/compression/entropy_coder/lib/blocks_lstm_test.py b/compression/entropy_coder/lib/blocks_lstm_test.py new file mode 100644 index 000000000..03c32dc13 --- /dev/null +++ b/compression/entropy_coder/lib/blocks_lstm_test.py @@ -0,0 +1,113 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for LSTM tensorflow blocks.""" +from __future__ import division + +import numpy as np +import tensorflow as tf + +import block_base +import blocks_std +import blocks_lstm + + +class BlocksLSTMTest(tf.test.TestCase): + + def CheckUnary(self, y, op_type): + self.assertEqual(op_type, y.op.type) + self.assertEqual(1, len(y.op.inputs)) + return y.op.inputs[0] + + def CheckBinary(self, y, op_type): + self.assertEqual(op_type, y.op.type) + self.assertEqual(2, len(y.op.inputs)) + return y.op.inputs + + def testLSTM(self): + lstm = blocks_lstm.LSTM(10) + lstm.hidden = tf.zeros(shape=[10, 10], dtype=tf.float32) + lstm.cell = tf.zeros(shape=[10, 10], dtype=tf.float32) + x = tf.placeholder(dtype=tf.float32, shape=[10, 11]) + y = lstm(x) + + o, tanhc = self.CheckBinary(y, 'Mul') + self.assertEqual(self.CheckUnary(o, 'Sigmoid').name, 'LSTM/split:3') + + self.assertIs(lstm.cell, self.CheckUnary(tanhc, 'Tanh')) + fc, ij = self.CheckBinary(lstm.cell, 'Add') + + f, _ = self.CheckBinary(fc, 'Mul') + self.assertEqual(self.CheckUnary(f, 'Sigmoid').name, 'LSTM/split:0') + + i, j = self.CheckBinary(ij, 'Mul') + self.assertEqual(self.CheckUnary(i, 'Sigmoid').name, 'LSTM/split:1') + j = self.CheckUnary(j, 'Tanh') + self.assertEqual(j.name, 'LSTM/split:2') + + def testLSTMBiasInit(self): + lstm = blocks_lstm.LSTM(9) + x = tf.placeholder(dtype=tf.float32, shape=[15, 7]) + lstm(x) + b = lstm._nn._bias + + with self.test_session(): + tf.global_variables_initializer().run() + bias_var = b._bias.eval() + + comp = ([1.0] * 9) + ([0.0] * 27) + self.assertAllEqual(bias_var, comp) + + def testConv2DLSTM(self): + lstm = blocks_lstm.Conv2DLSTM(depth=10, + filter_size=[1, 1], + hidden_filter_size=[1, 1], + strides=[1, 1], + padding='SAME') + lstm.hidden = tf.zeros(shape=[10, 11, 11, 10], dtype=tf.float32) + lstm.cell = tf.zeros(shape=[10, 11, 11, 10], dtype=tf.float32) + x = tf.placeholder(dtype=tf.float32, shape=[10, 11, 11, 1]) + y = lstm(x) + + o, tanhc = self.CheckBinary(y, 'Mul') + self.assertEqual(self.CheckUnary(o, 'Sigmoid').name, 'Conv2DLSTM/split:3') + + self.assertIs(lstm.cell, self.CheckUnary(tanhc, 'Tanh')) + fc, ij = self.CheckBinary(lstm.cell, 'Add') + + f, _ = self.CheckBinary(fc, 'Mul') + self.assertEqual(self.CheckUnary(f, 'Sigmoid').name, 'Conv2DLSTM/split:0') + + i, j = self.CheckBinary(ij, 'Mul') + self.assertEqual(self.CheckUnary(i, 'Sigmoid').name, 'Conv2DLSTM/split:1') + j = self.CheckUnary(j, 'Tanh') + self.assertEqual(j.name, 'Conv2DLSTM/split:2') + + def testConv2DLSTMBiasInit(self): + lstm = blocks_lstm.Conv2DLSTM(9, 1, 1, [1, 1], 'SAME') + x = tf.placeholder(dtype=tf.float32, shape=[1, 7, 7, 7]) + lstm(x) + b = lstm._bias + + with self.test_session(): + tf.global_variables_initializer().run() + bias_var = b._bias.eval() + + comp = ([1.0] * 9) + ([0.0] * 27) + self.assertAllEqual(bias_var, comp) + + +if __name__ == '__main__': + tf.test.main() diff --git a/compression/entropy_coder/lib/blocks_masked_conv2d.py b/compression/entropy_coder/lib/blocks_masked_conv2d.py new file mode 100644 index 000000000..395af3349 --- /dev/null +++ b/compression/entropy_coder/lib/blocks_masked_conv2d.py @@ -0,0 +1,225 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Define some typical masked 2D convolutions.""" + +import numpy as np +import tensorflow as tf + +import block_util +import blocks_std + +# pylint does not recognize block_base.BlockBase.__call__(). +# pylint: disable=not-callable + + +class RasterScanConv2D(blocks_std.Conv2DBase): + """Conv2D with no dependency on future pixels (in raster scan order). + + For example, assuming a 5 x 5 kernel, the kernel is applied a spatial mask: + T T T T T + T T T T T + T T x F F + F F F F F + F F F F F + where 'T' are pixels which are available when computing the convolution + for pixel 'x'. All the pixels marked with 'F' are not available. + 'x' itself is not available if strict_order is True, otherwise, it is + available. + """ + + def __init__(self, depth, filter_size, strides, padding, + strict_order=True, + bias=None, act=None, initializer=None, name=None): + super(RasterScanConv2D, self).__init__( + depth, filter_size, strides, padding, bias, act, name=name) + + if (filter_size[0] % 2) != 1 or (filter_size[1] % 2) != 1: + raise ValueError('Kernel size should be odd.') + + with self._BlockScope(): + if initializer is None: + initializer = block_util.RsqrtInitializer(dims=(0, 1, 2)) + self._initializer = initializer + self._strict_order = strict_order + + def _CreateKernel(self, shape, dtype): + init = self._initializer(shape, dtype) + kernel = self.NewVar(init) + + mask = np.ones(shape[:2], dtype=dtype.as_numpy_dtype) + center = shape[:2] // 2 + mask[center[0] + 1:, :] = 0 + if not self._strict_order: + mask[center[0], center[1] + 1:] = 0 + else: + mask[center[0], center[1]:] = 0 + mask = mask.reshape(mask.shape + (1, 1)) + + return tf.convert_to_tensor(mask, dtype) * kernel + + +class DepthOrderConv2D(blocks_std.Conv2DBase): + """Conv2D with no dependency on higher depth dimensions. + + More precisely, the output depth #n has only dependencies on input depths #k + for k < n (if strict_order is True) or for k <= n (if strict_order is False). + """ + + def __init__(self, depth, filter_size, strides, padding, + strict_order=True, + bias=None, act=None, initializer=None, name=None): + super(DepthOrderConv2D, self).__init__( + depth, filter_size, strides, padding, bias, act, name=name) + + with self._BlockScope(): + if initializer is None: + initializer = block_util.RsqrtInitializer(dims=(0, 1, 2)) + self._initializer = initializer + self._strict_order = strict_order + + def _CreateKernel(self, shape, dtype): + init = self._initializer(shape, dtype) + kernel = self.NewVar(init) + + mask = np.ones(shape[2:], dtype=dtype.as_numpy_dtype) + depth_output = shape[3] + for d in xrange(depth_output): + if self._strict_order: + mask[d:, d] = 0 + else: + mask[d + 1:, d] = 0 + mask = mask.reshape((1, 1) + mask.shape) + + return tf.convert_to_tensor(mask, dtype) * kernel + + +class GroupRasterScanConv2D(blocks_std.Conv2DBase): + """Conv2D with no dependency on future pixels (in raster scan order). + + This version only introduces dependencies on previous pixels in raster scan + order. It can also introduce some dependencies on previous depth positions + of the current pixel (current pixel = center pixel of the kernel) in the + following way: + the depth dimension of the input is split into Ki groups of size + |input_group_size|, the output dimension is split into Ko groups of size + |output_group_size| (usually Ki == Ko). Each output group ko of the current + pixel position can only depend on previous input groups ki + (i.e. ki < ko if strict_order is True or ki <= ko if strict_order is False). + + Notes: + - Block RasterScanConv2D is a special case of GroupRasterScanConv2D + where Ki == Ko == 1 (i.e. input_group_size == input_depth and + output_group_size == output_depth). + - For 1x1 convolution, block DepthOrderConv2D is a special case of + GroupRasterScanConv2D where input_group_size == 1 and + output_group_size == 1. + """ + + def __init__(self, depth, filter_size, strides, padding, + strict_order=True, + input_group_size=1, + output_group_size=1, + bias=None, act=None, initializer=None, name=None): + super(GroupRasterScanConv2D, self).__init__( + depth, filter_size, strides, padding, bias, act, name=name) + + if (filter_size[0] % 2) != 1 or (filter_size[1] % 2) != 1: + raise ValueError('Kernel size should be odd.') + + with self._BlockScope(): + if initializer is None: + initializer = block_util.RsqrtInitializer(dims=(0, 1, 2)) + self._initializer = initializer + self._input_group_size = input_group_size + self._output_group_size = output_group_size + self._strict_order = strict_order + + if depth % self._output_group_size != 0: + raise ValueError( + 'Invalid depth group size: {} for depth {}'.format( + self._output_group_size, depth)) + self._output_group_count = depth // self._output_group_size + + def _CreateKernel(self, shape, dtype): + init = self._initializer(shape, dtype) + kernel = self.NewVar(init) + + depth_input = shape[2] + if depth_input % self._input_group_size != 0: + raise ValueError( + 'Invalid depth group size: {} for depth {}'.format( + self._input_group_size, depth_input)) + input_group_count = depth_input // self._input_group_size + output_group_count = self._output_group_count + + # Set the mask to 0 for future pixels in raster scan order. + center = shape[:2] // 2 + mask = np.ones([shape[0], shape[1], + input_group_count, self._input_group_size, + output_group_count, self._output_group_size], + dtype=dtype.as_numpy_dtype) + mask[center[0] + 1:, :, :, :, :, :] = 0 + mask[center[0], center[1] + 1:, :, :, :, :] = 0 + + # Adjust the mask for the current position (the center position). + depth_output = shape[3] + for d in xrange(output_group_count): + mask[center[0], center[1], d + 1:, :, d:d + 1, :] = 0 + if self._strict_order: + mask[center[0], center[1], d, :, d:d + 1, :] = 0 + + mask = mask.reshape([shape[0], shape[1], depth_input, depth_output]) + return tf.convert_to_tensor(mask, dtype) * kernel + + +class InFillingConv2D(blocks_std.Conv2DBase): + """Conv2D with kernel having no dependency on the current pixel. + + For example, assuming a 5 x 5 kernel, the kernel is applied a spatial mask: + T T T T T + T T T T T + T T x T T + T T T T T + T T T T T + where 'T' marks a pixel which is available when computing the convolution + for pixel 'x'. 'x' itself is not available. + """ + + def __init__(self, depth, filter_size, strides, padding, + bias=None, act=None, initializer=None, name=None): + super(InFillingConv2D, self).__init__( + depth, filter_size, strides, padding, bias, act, name=name) + + if (filter_size[0] % 2) != 1 or (filter_size[1] % 2) != 1: + raise ValueError('Kernel size should be odd.') + if filter_size[0] == 1 and filter_size[1] == 1: + raise ValueError('Kernel size should be larger than 1x1.') + + with self._BlockScope(): + if initializer is None: + initializer = block_util.RsqrtInitializer(dims=(0, 1, 2)) + self._initializer = initializer + + def _CreateKernel(self, shape, dtype): + init = self._initializer(shape, dtype) + kernel = self.NewVar(init) + + mask = np.ones(shape[:2], dtype=dtype.as_numpy_dtype) + center = shape[:2] // 2 + mask[center[0], center[1]] = 0 + mask = mask.reshape(mask.shape + (1, 1)) + + return tf.convert_to_tensor(mask, dtype) * kernel diff --git a/compression/entropy_coder/lib/blocks_masked_conv2d_lstm.py b/compression/entropy_coder/lib/blocks_masked_conv2d_lstm.py new file mode 100644 index 000000000..2d6dfeffc --- /dev/null +++ b/compression/entropy_coder/lib/blocks_masked_conv2d_lstm.py @@ -0,0 +1,79 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Masked conv2d LSTM.""" + +import block_base +import block_util +import blocks_masked_conv2d +import blocks_lstm +import blocks_std + +# pylint: disable=not-callable + + +class RasterScanConv2DLSTM(blocks_lstm.LSTMBase): + """Convolutional LSTM implementation with optimizations inspired by [1]. + + Note that when using the batch normalization feature, the bias initializer + will not be used, since BN effectively cancels its effect out. + + [1] Zaremba, Sutskever, Vinyals. Recurrent Neural Network Regularization, + 2015. arxiv:1409.2329. + """ + + def __init__(self, + depth, + filter_size, + hidden_filter_size, + strides, + padding, + bias=blocks_lstm.LSTMBiasInit, + initializer=block_util.RsqrtInitializer(dims=(0, 1, 2)), + name=None): + super(RasterScanConv2DLSTM, self).__init__([None, None, depth], name) + + with self._BlockScope(): + self._input_conv = blocks_masked_conv2d.RasterScanConv2D( + 4 * depth, + filter_size, + strides, + padding, + strict_order=False, + bias=None, + act=None, + initializer=initializer, + name='input_conv2d') + + self._hidden_conv = blocks_std.Conv2D( + 4 * depth, + hidden_filter_size, + [1, 1], + 'SAME', + bias=None, + act=None, + initializer=initializer, + name='hidden_conv2d') + + if bias is not None: + self._bias = blocks_std.BiasAdd(bias, name='biases') + else: + self._bias = blocks_std.PassThrough() + + def _TransformInputs(self, x): + return self._bias(self._input_conv(x)) + + def _TransformHidden(self, h): + return self._hidden_conv(h) diff --git a/compression/entropy_coder/lib/blocks_masked_conv2d_test.py b/compression/entropy_coder/lib/blocks_masked_conv2d_test.py new file mode 100644 index 000000000..adb546778 --- /dev/null +++ b/compression/entropy_coder/lib/blocks_masked_conv2d_test.py @@ -0,0 +1,206 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests of the 2D masked convolution blocks.""" + +from __future__ import division +from __future__ import unicode_literals + +import numpy as np +import tensorflow as tf + +import blocks_masked_conv2d + + +class MaskedConv2DTest(tf.test.TestCase): + + def testRasterScanKernel(self): + kernel_size = 5 + input_depth = 1 + output_depth = 1 + kernel_shape = [kernel_size, kernel_size, input_depth, output_depth] + + # pylint: disable=bad-whitespace + kernel_feed = [[ 1.0, 2.0, 3.0, 4.0, 5.0], + [ 6.0, 7.0, 8.0, 9.0, 10.0], + [11.0, 12.0, 13.0, 14.0, 15.0], + [16.0, 17.0, 18.0, 19.0, 20.0], + [21.0, 22.0, 23.0, 24.0, 25.0]] + kernel_feed = np.reshape(kernel_feed, kernel_shape) + kernel_expected = [[ 1.0, 2.0, 3.0, 4.0, 5.0], + [ 6.0, 7.0, 8.0, 9.0, 10.0], + [11.0, 12.0, 0.0, 0.0, 0.0], + [ 0.0, 0.0, 0.0, 0.0, 0.0], + [ 0.0, 0.0, 0.0, 0.0, 0.0]] + kernel_expected = np.reshape(kernel_expected, kernel_shape) + # pylint: enable=bad-whitespace + + init_kernel = lambda s, t: tf.constant(kernel_feed, dtype=t, shape=s) + masked_conv2d = blocks_masked_conv2d.RasterScanConv2D( + output_depth, [kernel_size] * 2, [1] * 2, 'SAME', + initializer=init_kernel) + x = tf.placeholder(dtype=tf.float32, shape=[10] * 3 + [input_depth]) + _ = masked_conv2d(x) + + with self.test_session(): + tf.global_variables_initializer().run() + kernel_value = masked_conv2d._kernel.eval() + + self.assertAllEqual(kernel_expected, kernel_value) + + def testDepthOrderKernel(self): + kernel_size = 1 + input_depth = 7 + output_depth = input_depth + kernel_shape = [kernel_size, kernel_size, input_depth, output_depth] + + kernel_feed = np.ones(kernel_shape) + x_shape = [5] * 3 + [input_depth] + x_feed = np.ones(x_shape) + y_expected = np.zeros(x_shape[0:3] + [output_depth]) + y_expected[:, :, :] = np.arange(output_depth) + + init_kernel = lambda s, t: tf.constant(kernel_feed, dtype=t, shape=s) + masked_conv2d = blocks_masked_conv2d.DepthOrderConv2D( + output_depth, [kernel_size] * 2, [1] * 2, 'SAME', + strict_order=True, + initializer=init_kernel) + x = tf.placeholder(dtype=tf.float32, shape=x_shape) + y = masked_conv2d(x) + + with self.test_session(): + tf.global_variables_initializer().run() + y_value = y.eval(feed_dict={x: x_feed}) + + self.assertAllEqual(y_expected, y_value) + + def testGroupRasterScanKernel(self): + kernel_size = 3 + input_depth = 4 + input_group_size = 2 + output_depth = 2 + output_group_size = 1 + kernel_shape = [kernel_size, kernel_size, input_depth, output_depth] + kernel_feed = np.ones(shape=kernel_shape) + + height = 5 + width = 5 + x_shape = [1, height, width, input_depth] + x_feed = np.ones(shape=x_shape) + + # pylint: disable=bad-whitespace + y_expected = [ + [[ 0, 2], [ 4, 6], [ 4, 6], [ 4, 6], [ 4, 6]], + [[ 8, 10], [16, 18], [16, 18], [16, 18], [12, 14]], + [[ 8, 10], [16, 18], [16, 18], [16, 18], [12, 14]], + [[ 8, 10], [16, 18], [16, 18], [16, 18], [12, 14]], + [[ 8, 10], [16, 18], [16, 18], [16, 18], [12, 14]], + ] + y_expected = np.reshape(y_expected, [1, height, width, output_depth]) + # pylint: enable=bad-whitespace + + init_kernel = lambda s, t: tf.constant(kernel_feed, dtype=t, shape=s) + masked_conv2d = blocks_masked_conv2d.GroupRasterScanConv2D( + output_depth, [kernel_size] * 2, [1] * 2, 'SAME', + strict_order=True, + input_group_size=input_group_size, + output_group_size=output_group_size, + initializer=init_kernel) + x = tf.placeholder(dtype=tf.float32, shape=x_shape) + y = masked_conv2d(x) + + with self.test_session(): + tf.global_variables_initializer().run() + y_value = y.eval(feed_dict={x: x_feed}) + + self.assertAllEqual(y_expected, y_value) + + def testInFillingKernel(self): + kernel_size = 5 + input_depth = 1 + output_depth = 1 + kernel_shape = [kernel_size, kernel_size, input_depth, output_depth] + + # pylint: disable=bad-whitespace + kernel_feed = [[ 1.0, 2.0, 3.0, 4.0, 5.0], + [ 6.0, 7.0, 8.0, 9.0, 10.0], + [11.0, 12.0, 13.0, 14.0, 15.0], + [16.0, 17.0, 18.0, 19.0, 20.0], + [21.0, 22.0, 23.0, 24.0, 25.0]] + kernel_feed = np.reshape(kernel_feed, kernel_shape) + kernel_expected = [[ 1.0, 2.0, 3.0, 4.0, 5.0], + [ 6.0, 7.0, 8.0, 9.0, 10.0], + [11.0, 12.0, 0.0, 14.0, 15.0], + [16.0, 17.0, 18.0, 19.0, 20.0], + [21.0, 22.0, 23.0, 24.0, 25.0]] + kernel_expected = np.reshape(kernel_expected, kernel_shape) + # pylint: enable=bad-whitespace + + init_kernel = lambda s, t: tf.constant(kernel_feed, dtype=t, shape=s) + masked_conv2d = blocks_masked_conv2d.InFillingConv2D( + output_depth, [kernel_size] * 2, [1] * 2, 'SAME', + initializer=init_kernel) + x = tf.placeholder(dtype=tf.float32, shape=[10] * 3 + [input_depth]) + _ = masked_conv2d(x) + + with self.test_session(): + tf.global_variables_initializer().run() + kernel_value = masked_conv2d._kernel.eval() + + self.assertAllEqual(kernel_expected, kernel_value) + + def testConv2DMaskedNumerics(self): + kernel_size = 5 + input_shape = [1, 10, 10, 1] + filter_shape = [kernel_size, kernel_size, 1, 1] + strides = [1, 1, 1, 1] + output_shape = [1, 10, 10, 1] + + conv = blocks_masked_conv2d.RasterScanConv2D( + depth=filter_shape[-1], + filter_size=filter_shape[0:2], + strides=strides[1:3], + padding='SAME', + initializer=tf.constant_initializer(value=1.0)) + x = tf.placeholder(dtype=tf.float32, shape=input_shape) + y = conv(x) + + x_feed = - np.ones(input_shape, dtype=float) + y_expected = np.ones(output_shape, dtype=float) + for i in xrange(input_shape[1]): + for j in xrange(input_shape[2]): + x_feed[0, i, j, 0] = 10 * (j + 1) + i + v = 0 + ki_start = max(i - kernel_size // 2, 0) + kj_start = max(j - kernel_size // 2, 0) + kj_end = min(j + kernel_size // 2, input_shape[2] - 1) + for ki in range(ki_start, i + 1): + for kj in range(kj_start, kj_end + 1): + if ki > i: + continue + if ki == i and kj >= j: + continue + v += 10 * (kj + 1) + ki + y_expected[0, i, j, 0] = v + + with self.test_session(): + tf.global_variables_initializer().run() + y_value = y.eval(feed_dict={x: x_feed}) + + self.assertAllEqual(y_expected, y_value) + + +if __name__ == '__main__': + tf.test.main() diff --git a/compression/entropy_coder/lib/blocks_operator.py b/compression/entropy_coder/lib/blocks_operator.py new file mode 100644 index 000000000..e35e37b27 --- /dev/null +++ b/compression/entropy_coder/lib/blocks_operator.py @@ -0,0 +1,87 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Common blocks which work as operators on other blocks.""" + +import tensorflow as tf + +import block_base + +# pylint: disable=not-callable + + +class CompositionOperator(block_base.BlockBase): + """Composition of several blocks.""" + + def __init__(self, block_list, name=None): + """Initialization of the composition operator. + + Args: + block_list: List of blocks.BlockBase that are chained to create + a new blocks.BlockBase. + name: Name of this block. + """ + super(CompositionOperator, self).__init__(name) + self._blocks = block_list + + def _Apply(self, x): + """Apply successively all the blocks on the given input tensor.""" + h = x + for layer in self._blocks: + h = layer(h) + return h + + +class LineOperator(block_base.BlockBase): + """Repeat the same block over all the lines of an input tensor.""" + + def __init__(self, block, name=None): + super(LineOperator, self).__init__(name) + self._block = block + + def _Apply(self, x): + height = x.get_shape()[1].value + if height is None: + raise ValueError('Unknown tensor height') + all_line_x = tf.split(value=x, num_or_size_splits=height, axis=1) + + y = [] + for line_x in all_line_x: + y.append(self._block(line_x)) + y = tf.concat(values=y, axis=1) + + return y + + +class TowerOperator(block_base.BlockBase): + """Parallel execution with concatenation of several blocks.""" + + def __init__(self, block_list, dim=3, name=None): + """Initialization of the parallel exec + concat (Tower). + + Args: + block_list: List of blocks.BlockBase that are chained to create + a new blocks.BlockBase. + dim: the dimension on which to concat. + name: Name of this block. + """ + super(TowerOperator, self).__init__(name) + self._blocks = block_list + self._concat_dim = dim + + def _Apply(self, x): + """Apply successively all the blocks on the given input tensor.""" + outputs = [layer(x) for layer in self._blocks] + return tf.concat(outputs, self._concat_dim) diff --git a/compression/entropy_coder/lib/blocks_operator_test.py b/compression/entropy_coder/lib/blocks_operator_test.py new file mode 100644 index 000000000..8b6d80da1 --- /dev/null +++ b/compression/entropy_coder/lib/blocks_operator_test.py @@ -0,0 +1,64 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests of the block operators.""" + +import numpy as np +import tensorflow as tf + +import block_base +import blocks_operator + + +class AddOneBlock(block_base.BlockBase): + + def __init__(self, name=None): + super(AddOneBlock, self).__init__(name) + + def _Apply(self, x): + return x + 1.0 + + +class SquareBlock(block_base.BlockBase): + + def __init__(self, name=None): + super(SquareBlock, self).__init__(name) + + def _Apply(self, x): + return x * x + + +class BlocksOperatorTest(tf.test.TestCase): + + def testComposition(self): + x_value = np.array([[1.0, 2.0, 3.0], + [-1.0, -2.0, -3.0]]) + y_expected_value = np.array([[4.0, 9.0, 16.0], + [0.0, 1.0, 4.0]]) + + x = tf.placeholder(dtype=tf.float32, shape=[2, 3]) + complex_block = blocks_operator.CompositionOperator( + [AddOneBlock(), + SquareBlock()]) + y = complex_block(x) + + with self.test_session(): + y_value = y.eval(feed_dict={x: x_value}) + + self.assertAllClose(y_expected_value, y_value) + + +if __name__ == '__main__': + tf.test.main() diff --git a/compression/entropy_coder/lib/blocks_std.py b/compression/entropy_coder/lib/blocks_std.py new file mode 100644 index 000000000..ff39df679 --- /dev/null +++ b/compression/entropy_coder/lib/blocks_std.py @@ -0,0 +1,364 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Basic blocks for building tensorflow models.""" + +import numpy as np +import tensorflow as tf + +import block_base +import block_util + +# pylint does not recognize block_base.BlockBase.__call__(). +# pylint: disable=not-callable + + +def HandleConvPaddingModes(x, padding, kernel_shape, strides): + """Returns an updated tensor and padding type for REFLECT and SYMMETRIC. + + Args: + x: A 4D tensor with shape [batch_size, height, width, depth]. + padding: Padding mode (SAME, VALID, REFLECT, or SYMMETRIC). + kernel_shape: Shape of convolution kernel that will be applied. + strides: Convolution stride that will be used. + + Returns: + x and padding after adjustments for REFLECT and SYMMETRIC. + """ + # For 1x1 convolution, all padding modes are the same. + if np.all(kernel_shape[:2] == 1): + return x, 'VALID' + + if padding == 'REFLECT' or padding == 'SYMMETRIC': + # We manually compute the number of paddings as if 'SAME'. + # From Tensorflow kernel, the formulas are as follows. + # output_shape = ceil(input_shape / strides) + # paddings = (output_shape - 1) * strides + filter_size - input_shape + # Let x, y, s be a shorthand notations for input_shape, output_shape, and + # strides, respectively. Let (x - 1) = sn + r where 0 <= r < s. Note that + # y - 1 = ceil(x / s) - 1 = floor((x - 1) / s) = n + # provided that x > 0. Therefore + # paddings = n * s + filter_size - (sn + r + 1) + # = filter_size - r - 1. + input_shape = x.get_shape() # shape at graph construction time + img_shape = tf.shape(x)[1:3] # image shape (no batch) at run time + remainder = tf.mod(img_shape - 1, strides[1:3]) + pad_sizes = kernel_shape[:2] - remainder - 1 + + pad_rows = pad_sizes[0] + pad_cols = pad_sizes[1] + pad = tf.stack([[0, 0], tf.stack([pad_rows // 2, (pad_rows + 1) // 2]), + tf.stack([pad_cols // 2, (pad_cols + 1) // 2]), [0, 0]]) + + # Manually pad the input and switch the padding mode to 'VALID'. + x = tf.pad(x, pad, mode=padding) + x.set_shape([input_shape[0], x.get_shape()[1], + x.get_shape()[2], input_shape[3]]) + padding = 'VALID' + + return x, padding + + +class PassThrough(block_base.BlockBase): + """A dummy transform block that does nothing.""" + + def __init__(self): + # Pass an empty string to disable name scoping. + super(PassThrough, self).__init__(name='') + + def _Apply(self, inp): + return inp + + @property + def initialized(self): + """Always returns True.""" + return True + + +class Bias(object): + """An initialization helper class for BiasAdd block below.""" + + def __init__(self, value=0): + self.value = value + + +class BiasAdd(block_base.BlockBase): + """A tf.nn.bias_add wrapper. + + This wrapper may act as a PassThrough block depending on the initializer + provided, to make easier optional bias applications in NN blocks, etc. + See __init__() for the details. + """ + + def __init__(self, initializer=Bias(0), name=None): + """Initializes Bias block. + + |initializer| parameter have two special cases. + + 1. If initializer is None, then this block works as a PassThrough. + 2. If initializer is a Bias class object, then tf.constant_initializer is + used with the stored value. + + Args: + initializer: An initializer for the bias variable. + name: Name of this block. + """ + super(BiasAdd, self).__init__(name) + + with self._BlockScope(): + if isinstance(initializer, Bias): + self._initializer = tf.constant_initializer(value=initializer.value) + else: + self._initializer = initializer + + self._bias = None + + def _Apply(self, x): + if not self._bias: + init = self._initializer([int(x.get_shape()[-1])], x.dtype) + self._bias = self.NewVar(init) + + return tf.nn.bias_add(x, self._bias) + + def CreateWeightLoss(self): + return [] + + +class LinearBase(block_base.BlockBase): + """A matmul wrapper. + + Returns input * W, where matrix W can be customized through derivation. + """ + + def __init__(self, depth, name=None): + super(LinearBase, self).__init__(name) + + with self._BlockScope(): + self._depth = depth + self._matrix = None + + def _CreateKernel(self, shape, dtype): + raise NotImplementedError('This method must be sub-classed.') + + def _Apply(self, x): + if not self._matrix: + shape = [int(x.get_shape()[-1]), self._depth] + self._matrix = self._CreateKernel(shape, x.dtype) + + return tf.matmul(x, self._matrix) + + +class Linear(LinearBase): + """A matmul wrapper. + + Returns input * W, where matrix W is learned. + """ + + def __init__(self, + depth, + initializer=block_util.RsqrtInitializer(), + name=None): + super(Linear, self).__init__(depth, name) + + with self._BlockScope(): + self._initializer = initializer + + def _CreateKernel(self, shape, dtype): + init = self._initializer(shape, dtype) + return self.NewVar(init) + + +class NN(block_base.BlockBase): + """A neural network layer wrapper. + + Returns act(input * W + b), where matrix W, bias b are learned, and act is an + optional activation function (i.e., nonlinearity). + + This transform block can handle multiple inputs. If x_1, x_2, ..., x_m are + the inputs, then returns act(x_1 * W_1 + ... + x_m * W_m + b). + + Attributes: + nunits: The dimension of the output. + """ + + def __init__(self, + depth, + bias=Bias(0), + act=None, # e.g., tf.nn.relu + initializer=block_util.RsqrtInitializer(), + linear_block_factory=(lambda d, i: Linear(d, initializer=i)), + name=None): + """Initializes NN block. + + Args: + depth: The depth of the output. + bias: An initializer for the bias, or a Bias class object. If None, there + will be no bias term for this NN block. See BiasAdd block. + act: Optional activation function. If None, no activation is applied. + initializer: The initialization method for the matrix weights. + linear_block_factory: A function used to create a linear block. + name: The name of this block. + """ + super(NN, self).__init__(name) + + with self._BlockScope(): + self._linear_block_factory = linear_block_factory + self._depth = depth + self._initializer = initializer + self._matrices = None + + self._bias = BiasAdd(bias) if bias else PassThrough() + self._act = act if act else PassThrough() + + # TODO(sjhwang): Stop using **kwargs, if we ever switch to python3. + def _Apply(self, *args): + if not self._matrices: + self._matrices = [ + self._linear_block_factory(self._depth, self._initializer) + for _ in args] + + if len(self._matrices) != len(args): + raise ValueError('{} expected {} inputs, but observed {} inputs'.format( + self.name, len(self._matrices), len(args))) + + if len(args) > 1: + y = tf.add_n([m(x) for m, x in zip(self._matrices, args)]) + else: + y = self._matrices[0](args[0]) + + return self._act(self._bias(y)) + + +class Conv2DBase(block_base.BlockBase): + """A tf.nn.conv2d operator.""" + + def __init__(self, depth, filter_size, strides, padding, + bias=None, act=None, atrous_rate=None, conv=tf.nn.conv2d, + name=None): + """Initializes a Conv2DBase block. + + Arguments: + depth: The output depth of the block (i.e. #filters); if negative, the + output depth will be set to be the same as the input depth. + filter_size: The size of the 2D filter. If it's specified as an integer, + it's going to create a square filter. Otherwise, this is a tuple + specifying the height x width of the filter. + strides: A tuple specifying the y and x stride. + padding: One of the valid padding modes allowed by tf.nn.conv2d, or + 'REFLECT'/'SYMMETRIC' for mirror padding. + bias: An initializer for the bias, or a Bias class object. If None, there + will be no bias in this block. See BiasAdd block. + act: Optional activation function applied to the output. + atrous_rate: optional input rate for ATrous convolution. If not None, this + will be used and the strides will be ignored. + conv: The convolution function to use (e.g. tf.nn.conv2d). + name: The name for this conv2d op. + """ + super(Conv2DBase, self).__init__(name) + + with self._BlockScope(): + self._act = act if act else PassThrough() + self._bias = BiasAdd(bias) if bias else PassThrough() + + self._kernel_shape = np.zeros((4,), dtype=np.int32) + self._kernel_shape[:2] = filter_size + self._kernel_shape[3] = depth + + self._strides = np.ones((4,), dtype=np.int32) + self._strides[1:3] = strides + self._strides = list(self._strides) + + self._padding = padding + + self._kernel = None + self._conv = conv + + self._atrous_rate = atrous_rate + + def _CreateKernel(self, shape, dtype): + raise NotImplementedError('This method must be sub-classed') + + def _Apply(self, x): + """Apply the self._conv op. + + Arguments: + x: input tensor. It needs to be a 4D tensor of the form + [batch, height, width, channels]. + Returns: + The output of the convolution of x with the current convolutional + kernel. + Raises: + ValueError: if number of channels is not defined at graph construction. + """ + input_shape = x.get_shape().with_rank(4) + input_shape[3:].assert_is_fully_defined() # channels must be defined + if self._kernel is None: + assert self._kernel_shape[2] == 0, self._kernel_shape + self._kernel_shape[2] = input_shape[3].value + if self._kernel_shape[3] < 0: + # Make output depth be the same as input depth. + self._kernel_shape[3] = self._kernel_shape[2] + self._kernel = self._CreateKernel(self._kernel_shape, x.dtype) + + x, padding = HandleConvPaddingModes( + x, self._padding, self._kernel_shape, self._strides) + if self._atrous_rate is None: + x = self._conv(x, self._kernel, strides=self._strides, padding=padding) + else: + x = self._conv(x, self._kernel, rate=self._atrous_rate, padding=padding) + + if self._padding != 'VALID': + # Manually update shape. Known shape information can be lost by tf.pad(). + height = (1 + (input_shape[1].value - 1) // self._strides[1] + if input_shape[1].value else None) + width = (1 + (input_shape[2].value - 1) // self._strides[2] + if input_shape[2].value else None) + shape = x.get_shape() + x.set_shape([shape[0], height, width, shape[3]]) + + return self._act(self._bias(x)) + + +class Conv2D(Conv2DBase): + """A tf.nn.conv2d operator.""" + + def __init__(self, depth, filter_size, strides, padding, + bias=None, act=None, initializer=None, name=None): + """Initializes a Conv2D block. + + Arguments: + depth: The output depth of the block (i.e., #filters) + filter_size: The size of the 2D filter. If it's specified as an integer, + it's going to create a square filter. Otherwise, this is a tuple + specifying the height x width of the filter. + strides: A tuple specifying the y and x stride. + padding: One of the valid padding modes allowed by tf.nn.conv2d, or + 'REFLECT'/'SYMMETRIC' for mirror padding. + bias: An initializer for the bias, or a Bias class object. If None, there + will be no bias in this block. See BiasAdd block. + act: Optional activation function applied to the output. + initializer: Optional initializer for weights. + name: The name for this conv2d op. + """ + super(Conv2D, self).__init__(depth, filter_size, strides, padding, bias, + act, conv=tf.nn.conv2d, name=name) + + with self._BlockScope(): + if initializer is None: + initializer = block_util.RsqrtInitializer(dims=(0, 1, 2)) + self._initializer = initializer + + def _CreateKernel(self, shape, dtype): + return self.NewVar(self._initializer(shape, dtype)) diff --git a/compression/entropy_coder/lib/blocks_std_test.py b/compression/entropy_coder/lib/blocks_std_test.py new file mode 100644 index 000000000..1ec12e75f --- /dev/null +++ b/compression/entropy_coder/lib/blocks_std_test.py @@ -0,0 +1,340 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for basic tensorflow blocks_std.""" + +from __future__ import division +from __future__ import unicode_literals + +import math +import os + +import numpy as np +import tensorflow as tf + +import blocks_std + + +def _NumpyConv2D(x, f, strides, padding, rate=1): + assert strides[0] == 1 and strides[3] == 1, strides + + if rate > 1: + f_shape = f.shape + expand_f = np.zeros([f_shape[0], ((f_shape[1] - 1) * rate + 1), + f_shape[2], f_shape[3]]) + expand_f[:, [y * rate for y in range(f_shape[1])], :, :] = f + f = np.zeros([((f_shape[0] - 1) * rate + 1), expand_f.shape[1], + f_shape[2], f_shape[3]]) + f[[y * rate for y in range(f_shape[0])], :, :, :] = expand_f + + if padding != 'VALID': + assert x.shape[1] > 0 and x.shape[2] > 0, x.shape + # Compute the number of padded rows and cols. + # See Conv2D block comments for a math explanation. + remainder = ((x.shape[1] - 1) % strides[1], (x.shape[2] - 1) % strides[2]) + pad_rows = f.shape[0] - remainder[0] - 1 + pad_cols = f.shape[1] - remainder[1] - 1 + pad = ((0, 0), + (pad_rows // 2, (pad_rows + 1) // 2), + (pad_cols // 2, (pad_cols + 1) // 2), + (0, 0)) + + # Pad the input using numpy.pad(). + mode = None + if padding == 'SAME': + mode = str('constant') + if padding == 'REFLECT': + mode = str('reflect') + if padding == 'SYMMETRIC': + mode = str('symmetric') + x = np.pad(x, pad, mode=mode) + + # Since x is now properly padded, proceed as if padding mode is VALID. + x_window = np.empty( + (x.shape[0], + int(math.ceil((x.shape[1] - f.shape[0] + 1) / strides[1])), + int(math.ceil((x.shape[2] - f.shape[1] + 1) / strides[2])), + np.prod(f.shape[:3]))) + + # The output at pixel location (i, j) is the result of linear transformation + # applied to the window whose top-left corner is at + # (i * row_stride, j * col_stride). + for i in xrange(x_window.shape[1]): + k = i * strides[1] + for j in xrange(x_window.shape[2]): + l = j * strides[2] + x_window[:, i, j, :] = x[:, + k:(k + f.shape[0]), + l:(l + f.shape[1]), + :].reshape((x_window.shape[0], -1)) + + y = np.tensordot(x_window, f.reshape((-1, f.shape[3])), axes=1) + return y + + +class BlocksStdTest(tf.test.TestCase): + + def CheckUnary(self, y, op_type): + self.assertEqual(op_type, y.op.type) + self.assertEqual(1, len(y.op.inputs)) + return y.op.inputs[0] + + def CheckBinary(self, y, op_type): + self.assertEqual(op_type, y.op.type) + self.assertEqual(2, len(y.op.inputs)) + return y.op.inputs + + def testPassThrough(self): + p = blocks_std.PassThrough() + x = tf.placeholder(dtype=tf.float32, shape=[1]) + self.assertIs(p(x), x) + + def CheckBiasAdd(self, y, b): + x, u = self.CheckBinary(y, 'BiasAdd') + self.assertIs(u, b._bias.value()) + self.assertEqual(x.dtype, u.dtype.base_dtype) + return x + + def testBiasAdd(self): + b = blocks_std.BiasAdd() + x = tf.placeholder(dtype=tf.float32, shape=[4, 8]) + y = b(x) + self.assertEqual(b._bias.get_shape(), x.get_shape()[-1:]) + self.assertIs(x, self.CheckBiasAdd(y, b)) + + def testBiasRankTest(self): + b = blocks_std.BiasAdd() + x = tf.placeholder(dtype=tf.float32, shape=[10]) + with self.assertRaises(ValueError): + b(x) + + def CheckLinear(self, y, m): + x, w = self.CheckBinary(y, 'MatMul') + self.assertIs(w, m._matrix.value()) + self.assertEqual(x.dtype, w.dtype.base_dtype) + return x + + def testLinear(self): + m = blocks_std.Linear(10) + x = tf.placeholder(dtype=tf.float32, shape=[8, 9]) + y = m(x) + self.assertEqual(m._matrix.get_shape(), [9, 10]) + self.assertIs(x, self.CheckLinear(y, m)) + + def testLinearShared(self): + # Create a linear map which is applied twice on different inputs + # (i.e. the weights of the map are shared). + # TODO(sjhwang): Make this test deterministic. + linear_map = blocks_std.Linear(6) + x1 = tf.random_normal(shape=[1, 5]) + x2 = tf.random_normal(shape=[1, 5]) + xs = x1 + x2 + + # Apply the transform with the same weights. + y1 = linear_map(x1) + y2 = linear_map(x2) + ys = linear_map(xs) + + with self.test_session() as sess: + # Initialize all the variables of the graph. + tf.global_variables_initializer().run() + + y1_res, y2_res, ys_res = sess.run([y1, y2, ys]) + self.assertAllClose(y1_res + y2_res, ys_res) + + def CheckNN(self, y, nn, act=None): + if act: + pre_act = self.CheckUnary(y, act) + else: + pre_act = y + + if not isinstance(nn._bias, blocks_std.PassThrough): + pre_bias = self.CheckBiasAdd(pre_act, nn._bias) + else: + pre_bias = pre_act + + if len(nn._matrices) > 1: + self.assertEqual('AddN', pre_bias.op.type) + pre_bias = pre_bias.op.inputs + else: + pre_bias = [pre_bias] + + self.assertEqual(len(pre_bias), len(nn._matrices)) + return [self.CheckLinear(u, m) for u, m in zip(pre_bias, nn._matrices)] + + def testNNWithoutActWithoutBias(self): + nn = blocks_std.NN(10, act=None, bias=None) + x = tf.placeholder(dtype=tf.float32, shape=[5, 7]) + y = nn(x) + self.assertIs(x, self.CheckNN(y, nn)[0]) + + def testNNWithoutBiasWithAct(self): + nn = blocks_std.NN(10, act=tf.nn.relu, bias=None) + x = tf.placeholder(dtype=tf.float32, shape=[5, 7]) + y = nn(x) + self.assertIs(x, self.CheckNN(y, nn, 'Relu')[0]) + + def testNNWithBiasWithoutAct(self): + nn = blocks_std.NN(10, bias=blocks_std.Bias(0), act=None) + x = tf.placeholder(dtype=tf.float32, shape=[5, 7]) + y = nn(x) + self.assertIs(x, self.CheckNN(y, nn)[0]) + + def testNNWithBiasWithAct(self): + nn = blocks_std.NN(10, bias=blocks_std.Bias(0), act=tf.square) + x = tf.placeholder(dtype=tf.float32, shape=[5, 7]) + y = nn(x) + self.assertIs(x, self.CheckNN(y, nn, 'Square')[0]) + + def testNNMultipleInputs(self): + nn = blocks_std.NN(10, bias=blocks_std.Bias(0), act=tf.tanh) + x = [tf.placeholder(dtype=tf.float32, shape=[5, 7]), + tf.placeholder(dtype=tf.float32, shape=[5, 3]), + tf.placeholder(dtype=tf.float32, shape=[5, 5])] + y = nn(*x) + xs = self.CheckNN(y, nn, 'Tanh') + self.assertEqual(len(x), len(xs)) + for u, v in zip(x, xs): + self.assertIs(u, v) + + def testConv2DSAME(self): + np.random.seed(142536) + + x_shape = [4, 16, 11, 5] + f_shape = [4, 3, 5, 6] + strides = [1, 2, 2, 1] + padding = 'SAME' + + conv = blocks_std.Conv2D(depth=f_shape[-1], + filter_size=f_shape[0:2], + strides=strides[1:3], + padding=padding, + act=None, + bias=None) + x_value = np.random.normal(size=x_shape) + x = tf.convert_to_tensor(x_value, dtype=tf.float32) + y = conv(x) + + with self.test_session(): + tf.global_variables_initializer().run() + f_value = conv._kernel.eval() + y_value = y.eval() + + y_expected = _NumpyConv2D(x_value, f_value, + strides=strides, padding=padding) + self.assertAllClose(y_expected, y_value) + + def testConv2DValid(self): + np.random.seed(253647) + + x_shape = [4, 11, 12, 5] + f_shape = [5, 2, 5, 5] + strides = [1, 2, 2, 1] + padding = 'VALID' + + conv = blocks_std.Conv2D(depth=f_shape[-1], + filter_size=f_shape[0:2], + strides=strides[1:3], + padding=padding, + act=None, + bias=None) + x_value = np.random.normal(size=x_shape) + x = tf.convert_to_tensor(x_value, dtype=tf.float32) + y = conv(x) + + with self.test_session(): + tf.global_variables_initializer().run() + f_value = conv._kernel.eval() + y_value = y.eval() + + y_expected = _NumpyConv2D(x_value, f_value, + strides=strides, padding=padding) + self.assertAllClose(y_expected, y_value) + + def testConv2DSymmetric(self): + np.random.seed(364758) + + x_shape = [4, 10, 12, 6] + f_shape = [3, 4, 6, 5] + strides = [1, 1, 1, 1] + padding = 'SYMMETRIC' + + conv = blocks_std.Conv2D(depth=f_shape[-1], + filter_size=f_shape[0:2], + strides=strides[1:3], + padding=padding, + act=None, + bias=None) + x_value = np.random.normal(size=x_shape) + x = tf.convert_to_tensor(x_value, dtype=tf.float32) + y = conv(x) + + with self.test_session(): + tf.global_variables_initializer().run() + f_value = conv._kernel.eval() + y_value = y.eval() + + y_expected = _NumpyConv2D(x_value, f_value, + strides=strides, padding=padding) + self.assertAllClose(y_expected, y_value) + + def testConv2DReflect(self): + np.random.seed(768798) + + x_shape = [4, 10, 12, 6] + f_shape = [3, 4, 6, 5] + strides = [1, 2, 2, 1] + padding = 'REFLECT' + + conv = blocks_std.Conv2D(depth=f_shape[-1], + filter_size=f_shape[0:2], + strides=strides[1:3], + padding=padding, + act=None, + bias=None) + x_value = np.random.normal(size=x_shape) + x = tf.convert_to_tensor(x_value, dtype=tf.float32) + y = conv(x) + + with self.test_session(): + tf.global_variables_initializer().run() + f_value = conv._kernel.eval() + y_value = y.eval() + + y_expected = _NumpyConv2D(x_value, f_value, + strides=strides, padding=padding) + self.assertAllClose(y_expected, y_value) + + def testConv2DBias(self): + input_shape = [19, 14, 14, 64] + filter_shape = [3, 7, 64, 128] + strides = [1, 2, 2, 1] + output_shape = [19, 6, 4, 128] + + conv = blocks_std.Conv2D(depth=filter_shape[-1], + filter_size=filter_shape[0:2], + strides=strides[1:3], + padding='VALID', + act=None, + bias=blocks_std.Bias(1)) + x = tf.placeholder(dtype=tf.float32, shape=input_shape) + + y = conv(x) + self.CheckBiasAdd(y, conv._bias) + self.assertEqual(output_shape, y.get_shape().as_list()) + + +if __name__ == '__main__': + tf.test.main() diff --git a/compression/entropy_coder/model/__init__.py b/compression/entropy_coder/model/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compression/entropy_coder/model/entropy_coder_model.py b/compression/entropy_coder/model/entropy_coder_model.py new file mode 100644 index 000000000..6d40e77cc --- /dev/null +++ b/compression/entropy_coder/model/entropy_coder_model.py @@ -0,0 +1,55 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Entropy coder model.""" + + +class EntropyCoderModel(object): + """Entropy coder model.""" + + def __init__(self): + # Loss used for training the model. + self.loss = None + + # Tensorflow op to run to train the model. + self.train_op = None + + # Tensor corresponding to the average code length of the input bit field + # tensor. The average code length is a number of output bits per input bit. + # To get an effective compression, this number should be between 0.0 + # and 1.0 (1.0 corresponds to no compression). + self.average_code_length = None + + def Initialize(self, global_step, optimizer, config_string): + raise NotImplementedError() + + def BuildGraph(self, input_codes): + """Build the Tensorflow graph corresponding to the entropy coder model. + + Args: + input_codes: Tensor of size: batch_size x height x width x bit_depth + corresponding to the codes to compress. + The input codes are {-1, +1} codes. + """ + # TODO(damienv): + # - consider switching to {0, 1} codes. + # - consider passing an extra tensor which gives for each (b, y, x) + # what is the actual depth (which would allow to use more or less bits + # for each (y, x) location. + raise NotImplementedError() + + def GetConfigStringForUnitTest(self): + """Returns a default model configuration to be used for unit tests.""" + return None diff --git a/compression/entropy_coder/model/model_factory.py b/compression/entropy_coder/model/model_factory.py new file mode 100644 index 000000000..e6f9902f3 --- /dev/null +++ b/compression/entropy_coder/model/model_factory.py @@ -0,0 +1,53 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Entropy coder model registrar.""" + + +class ModelFactory(object): + """Factory of encoder/decoder models.""" + + def __init__(self): + self._model_dictionary = dict() + + def RegisterModel(self, + entropy_coder_model_name, + entropy_coder_model_factory): + self._model_dictionary[entropy_coder_model_name] = ( + entropy_coder_model_factory) + + def CreateModel(self, model_name): + current_model_factory = self._model_dictionary[model_name] + return current_model_factory() + + def GetAvailableModels(self): + return self._model_dictionary.keys() + + +_model_registry = ModelFactory() + + +def GetModelRegistry(): + return _model_registry + + +class RegisterEntropyCoderModel(object): + + def __init__(self, model_name): + self._model_name = model_name + + def __call__(self, f): + _model_registry.RegisterModel(self._model_name, f) + return f diff --git a/compression/entropy_coder/progressive/__init__.py b/compression/entropy_coder/progressive/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compression/entropy_coder/progressive/progressive.py b/compression/entropy_coder/progressive/progressive.py new file mode 100644 index 000000000..8560ab540 --- /dev/null +++ b/compression/entropy_coder/progressive/progressive.py @@ -0,0 +1,242 @@ +# Copyright 2017 The TensorFlow Authors All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Code probability model used for entropy coding.""" + +import json + +import tensorflow as tf + +from entropy_coder.lib import blocks +from entropy_coder.model import entropy_coder_model +from entropy_coder.model import model_factory + +# pylint: disable=not-callable + + +class BrnnPredictor(blocks.BlockBase): + """BRNN prediction applied on one layer.""" + + def __init__(self, code_depth, name=None): + super(BrnnPredictor, self).__init__(name) + + with self._BlockScope(): + hidden_depth = 2 * code_depth + + # What is coming from the previous layer/iteration + # is going through a regular Conv2D layer as opposed to the binary codes + # of the current layer/iteration which are going through a masked + # convolution. + self._adaptation0 = blocks.RasterScanConv2D( + hidden_depth, [7, 7], [1, 1], 'SAME', + strict_order=True, + bias=blocks.Bias(0), act=tf.tanh) + self._adaptation1 = blocks.Conv2D( + hidden_depth, [3, 3], [1, 1], 'SAME', + bias=blocks.Bias(0), act=tf.tanh) + self._predictor = blocks.CompositionOperator([ + blocks.LineOperator( + blocks.RasterScanConv2DLSTM( + depth=hidden_depth, + filter_size=[1, 3], + hidden_filter_size=[1, 3], + strides=[1, 1], + padding='SAME')), + blocks.Conv2D(hidden_depth, [1, 1], [1, 1], 'SAME', + bias=blocks.Bias(0), act=tf.tanh), + blocks.Conv2D(code_depth, [1, 1], [1, 1], 'SAME', + bias=blocks.Bias(0), act=tf.tanh) + ]) + + def _Apply(self, x, s): + # Code estimation using both: + # - the state from the previous iteration/layer, + # - the binary codes that are before in raster scan order. + h = tf.concat(values=[self._adaptation0(x), self._adaptation1(s)], axis=3) + + estimated_codes = self._predictor(h) + + return estimated_codes + + +class LayerPrediction(blocks.BlockBase): + """Binary code prediction for one layer.""" + + def __init__(self, layer_count, code_depth, name=None): + super(LayerPrediction, self).__init__(name) + + self._layer_count = layer_count + + # No previous layer. + self._layer_state = None + self._current_layer = 0 + + with self._BlockScope(): + # Layers used to do the conditional code prediction. + self._brnn_predictors = [] + for _ in xrange(layer_count): + self._brnn_predictors.append(BrnnPredictor(code_depth)) + + # Layers used to generate the input of the LSTM operating on the + # iteration/depth domain. + hidden_depth = 2 * code_depth + self._state_blocks = [] + for _ in xrange(layer_count): + self._state_blocks.append(blocks.CompositionOperator([ + blocks.Conv2D( + hidden_depth, [3, 3], [1, 1], 'SAME', + bias=blocks.Bias(0), act=tf.tanh), + blocks.Conv2D( + code_depth, [3, 3], [1, 1], 'SAME', + bias=blocks.Bias(0), act=tf.tanh) + ])) + + # Memory of the RNN is equivalent to the size of 2 layers of binary + # codes. + hidden_depth = 2 * code_depth + self._layer_rnn = blocks.CompositionOperator([ + blocks.Conv2DLSTM( + depth=hidden_depth, + filter_size=[1, 1], + hidden_filter_size=[1, 1], + strides=[1, 1], + padding='SAME'), + blocks.Conv2D(hidden_depth, [1, 1], [1, 1], 'SAME', + bias=blocks.Bias(0), act=tf.tanh), + blocks.Conv2D(code_depth, [1, 1], [1, 1], 'SAME', + bias=blocks.Bias(0), act=tf.tanh) + ]) + + def _Apply(self, x): + assert self._current_layer < self._layer_count + + # Layer state is set to 0 when there is no previous iteration. + if self._layer_state is None: + self._layer_state = tf.zeros_like(x, dtype=tf.float32) + + # Code estimation using both: + # - the state from the previous iteration/layer, + # - the binary codes that are before in raster scan order. + estimated_codes = self._brnn_predictors[self._current_layer]( + x, self._layer_state) + + # Compute the updated layer state. + h = self._state_blocks[self._current_layer](x) + self._layer_state = self._layer_rnn(h) + self._current_layer += 1 + + return estimated_codes + + +class ProgressiveModel(entropy_coder_model.EntropyCoderModel): + """Progressive BRNN entropy coder model.""" + + def __init__(self): + super(ProgressiveModel, self).__init__() + + def Initialize(self, global_step, optimizer, config_string): + if config_string is None: + raise ValueError('The progressive model requires a configuration.') + config = json.loads(config_string) + if 'coded_layer_count' not in config: + config['coded_layer_count'] = 0 + + self._config = config + self._optimizer = optimizer + self._global_step = global_step + + def BuildGraph(self, input_codes): + """Build the graph corresponding to the progressive BRNN model.""" + layer_depth = self._config['layer_depth'] + layer_count = self._config['layer_count'] + + code_shape = input_codes.get_shape() + code_depth = code_shape[-1].value + if self._config['coded_layer_count'] > 0: + prefix_depth = self._config['coded_layer_count'] * layer_depth + if code_depth < prefix_depth: + raise ValueError('Invalid prefix depth: {} VS {}'.format( + prefix_depth, code_depth)) + input_codes = input_codes[:, :, :, :prefix_depth] + + code_shape = input_codes.get_shape() + code_depth = code_shape[-1].value + if code_depth % layer_depth != 0: + raise ValueError( + 'Code depth must be a multiple of the layer depth: {} vs {}'.format( + code_depth, layer_depth)) + code_layer_count = code_depth // layer_depth + if code_layer_count > layer_count: + raise ValueError('Input codes have too many layers: {}, max={}'.format( + code_layer_count, layer_count)) + + # Block used to estimate binary codes. + layer_prediction = LayerPrediction(layer_count, layer_depth) + + # Block used to compute code lengths. + code_length_block = blocks.CodeLength() + + # Loop over all the layers. + code_length = [] + code_layers = tf.split( + value=input_codes, num_or_size_splits=code_layer_count, axis=3) + for k in xrange(code_layer_count): + x = code_layers[k] + predicted_x = layer_prediction(x) + # Saturate the prediction to avoid infinite code length. + epsilon = 0.001 + predicted_x = tf.clip_by_value( + predicted_x, -1 + epsilon, +1 - epsilon) + code_length.append(code_length_block( + blocks.ConvertSignCodeToZeroOneCode(x), + blocks.ConvertSignCodeToZeroOneCode(predicted_x))) + tf.contrib.deprecated.scalar_summary('code_length_layer_{:02d}'.format(k), + code_length[-1]) + code_length = tf.stack(code_length) + self.loss = tf.reduce_mean(code_length) + tf.contrib.deprecated.scalar_summary('loss', self.loss) + + # Loop over all the remaining layers just to make sure they are + # instantiated. Otherwise, loading model params could fail. + dummy_x = tf.zeros_like(code_layers[0]) + for _ in xrange(layer_count - code_layer_count): + dummy_predicted_x = layer_prediction(dummy_x) + + # Average bitrate over total_line_count. + self.average_code_length = tf.reduce_mean(code_length) + + if self._optimizer: + optim_op = self._optimizer.minimize(self.loss, + global_step=self._global_step) + block_updates = blocks.CreateBlockUpdates() + if block_updates: + with tf.get_default_graph().control_dependencies([optim_op]): + self.train_op = tf.group(*block_updates) + else: + self.train_op = optim_op + else: + self.train_op = None + + def GetConfigStringForUnitTest(self): + s = '{\n' + s += '"layer_depth": 1,\n' + s += '"layer_count": 8\n' + s += '}\n' + return s + + +@model_factory.RegisterEntropyCoderModel('progressive') +def CreateProgressiveModel(): + return ProgressiveModel() -- GitLab From c9397c90fe6949e6009a2ac9d5c44bfc8167ee12 Mon Sep 17 00:00:00 2001 From: Aaron Schumacher Date: Mon, 22 May 2017 09:57:16 -0400 Subject: [PATCH 077/171] typo: "observed to common words" -> "two" (#1495) Thanks! --- swivel/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swivel/README.md b/swivel/README.md index d12ff1578..ed77c747a 100644 --- a/swivel/README.md +++ b/swivel/README.md @@ -24,7 +24,7 @@ Note that the resulting co-occurrence matrix is very sparse (i.e., contains many zeros) since most words won't have been observed in the context of other words. In the case of very rare words, it seems reasonable to assume that you just haven't sampled enough data to spot their co-occurrence yet. On the other hand, -if we've failed to observed to common words co-occuring, it seems likely that +if we've failed to observed two common words co-occuring, it seems likely that they are *anti-correlated*. Swivel attempts to capture this intuition by using both the observed and the -- GitLab From 18e5ce8d9ea5abd5eb549a923d74826ad9461016 Mon Sep 17 00:00:00 2001 From: Damien Vincent Date: Mon, 22 May 2017 17:42:30 +0200 Subject: [PATCH 078/171] Remove names in TODO. --- compression/entropy_coder/core/code_loader.py | 2 +- compression/entropy_coder/lib/blocks_std.py | 1 - compression/entropy_coder/lib/blocks_std_test.py | 1 - compression/entropy_coder/model/entropy_coder_model.py | 2 +- 4 files changed, 2 insertions(+), 4 deletions(-) diff --git a/compression/entropy_coder/core/code_loader.py b/compression/entropy_coder/core/code_loader.py index 47d947ce2..603ab724a 100644 --- a/compression/entropy_coder/core/code_loader.py +++ b/compression/entropy_coder/core/code_loader.py @@ -39,7 +39,7 @@ def LoadBinaryCode(input_config, batch_size): """ data = input_config.data - # TODO(damienv): Possibly use multiple files (instead of just one). + # TODO: Possibly use multiple files (instead of just one). file_list = [data] filename_queue = tf.train.string_input_producer(file_list, capacity=4) diff --git a/compression/entropy_coder/lib/blocks_std.py b/compression/entropy_coder/lib/blocks_std.py index ff39df679..2c6174853 100644 --- a/compression/entropy_coder/lib/blocks_std.py +++ b/compression/entropy_coder/lib/blocks_std.py @@ -222,7 +222,6 @@ class NN(block_base.BlockBase): self._bias = BiasAdd(bias) if bias else PassThrough() self._act = act if act else PassThrough() - # TODO(sjhwang): Stop using **kwargs, if we ever switch to python3. def _Apply(self, *args): if not self._matrices: self._matrices = [ diff --git a/compression/entropy_coder/lib/blocks_std_test.py b/compression/entropy_coder/lib/blocks_std_test.py index 1ec12e75f..7e8d42cf1 100644 --- a/compression/entropy_coder/lib/blocks_std_test.py +++ b/compression/entropy_coder/lib/blocks_std_test.py @@ -136,7 +136,6 @@ class BlocksStdTest(tf.test.TestCase): def testLinearShared(self): # Create a linear map which is applied twice on different inputs # (i.e. the weights of the map are shared). - # TODO(sjhwang): Make this test deterministic. linear_map = blocks_std.Linear(6) x1 = tf.random_normal(shape=[1, 5]) x2 = tf.random_normal(shape=[1, 5]) diff --git a/compression/entropy_coder/model/entropy_coder_model.py b/compression/entropy_coder/model/entropy_coder_model.py index 6d40e77cc..67f7eb5bc 100644 --- a/compression/entropy_coder/model/entropy_coder_model.py +++ b/compression/entropy_coder/model/entropy_coder_model.py @@ -43,7 +43,7 @@ class EntropyCoderModel(object): corresponding to the codes to compress. The input codes are {-1, +1} codes. """ - # TODO(damienv): + # TODO: # - consider switching to {0, 1} codes. # - consider passing an extra tensor which gives for each (b, y, x) # what is the actual depth (which would allow to use more or less bits -- GitLab From 8086621c9071c04ff8ff5847da546b3d7b305919 Mon Sep 17 00:00:00 2001 From: Alexander Gorban Date: Mon, 22 May 2017 17:50:44 -0700 Subject: [PATCH 079/171] Attention OCR: update README.md --- attention_ocr/README.md | 93 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/attention_ocr/README.md b/attention_ocr/README.md index 429c8e762..67b6fb757 100644 --- a/attention_ocr/README.md +++ b/attention_ocr/README.md @@ -50,6 +50,7 @@ cd .. To run all unit tests: ``` +cd models/attention_ocr/python python -m unittest discover -p '*_test.py' ``` @@ -75,6 +76,98 @@ tar xf attention_ocr_2017_05_17.tar.gz python train.py --checkpoint=model.ckpt-399731 ``` +## How to use your own image data to train the Model? + +You need to define a new dataset. There are two options: + +1. Store data in the same format as the FSNS dataset and just reuse the +[python/datasets/fsns.py](https://github.com/tensorflow/models/blob/master/attention_ocr/python/datasets/fsns.py) +module. E.g. create a file datasets/newtextdataset.py +``` +import fsns + +DEFAULT_DATASET_DIR = 'path/to/the/dataset' + +DEFAULT_CONFIG = { + 'name': + 'MYDATASET', + 'splits': { + 'train': { + 'size': 123, + 'pattern': 'tfexample_train*' + }, + 'test': { + 'size': 123, + 'pattern': 'tfexample_test*' + } + }, + 'charset_filename': + 'charset_size.txt', + 'image_shape': (150, 600, 3), + 'num_of_views': + 4, + 'max_sequence_length': + 37, + 'null_code': + 42, + 'items_to_descriptions': { + 'image': + 'A [150 x 600 x 3] color image.', + 'label': + 'Characters codes.', + 'text': + 'A unicode string.', + 'length': + 'A length of the encoded text.', + 'num_of_views': + 'A number of different views stored within the image.' + } +} + + +def get_split(split_name, dataset_dir=None, config=None): + if not dataset_dir: + dataset_dir = DEFAULT_DATASET_DIR + if not config: + config = DEFAULT_CONFIG + + return fsns.get_split(split_name, dataset_dir, config) +``` +You will also need to include it into the `datasets/__init__.py` and specify the +dataset name in the command line. + +``` +python train.py --dataset_name=newtextdataset +``` + +Please note the eval.py will also require the same flag. + +2. Define a new dataset format. The model needs the following data to train: + +- images: input images, shape [batch_size x H x W x 3]; +- labels: ground truth label ids, shape=[batch_size x seq_length]; +- labels_one_hot: labels in one-hot encoding, shape [batch_size x seq_length x num_char_classes]; + +Refer to the [python/data_provider.py](https://github.com/tensorflow/models/blob/master/attention_ocr/python/data_provider.py#L33) +for more details. You can use the [python/datasets/fsns.py](https://github.com/tensorflow/models/blob/master/attention_ocr/python/datasets/fsns.py) +as the example. + +## How to use a pre-trained model + +The inference part was not released yet, but it is pretty straightforward to +implement one in python or C++. + +The recommended way is to use the [Serving infrastructure](https://tensorflow.github.io/serving/serving_basic). + +Alternatively you can: +1. define a placeholder for images (or use directly an numpy array) +2. [create a graph ](https://github.com/tensorflow/models/blob/master/attention_ocr/python/eval.py#L60) +`endpoints = model.create_base(images_placeholder, labels_one_hot=None)` +3. [load a pretrained model](https://github.com/tensorflow/models/blob/master/attention_ocr/python/model.py#L494) +4. run computations through the graph: +`predictions = sess.run(endpoints.predicted_chars, feed_dict={images_placeholder:images_actual_data})` +5. Convert character IDs (predictions) to UTF8 using the provided charset file. + ## Disclaimer This code is a modified version of the internal model we used for our paper. -- GitLab From 99f9442b0f1f5225c7ef725c32e55afb41186e66 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Mon, 22 May 2017 18:01:56 -0700 Subject: [PATCH 080/171] Remove barrier, add tf.identity where appropriate, and make sure tests pass --- inception/inception/slim/ops_test.py | 14 ++++---------- slim/deployment/model_deploy.py | 2 +- slim/train_image_classifier.py | 2 +- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/inception/inception/slim/ops_test.py b/inception/inception/slim/ops_test.py index cf5afbba9..13dc5d9aa 100644 --- a/inception/inception/slim/ops_test.py +++ b/inception/inception/slim/ops_test.py @@ -418,7 +418,7 @@ class DropoutTest(tf.test.TestCase): with self.test_session(): images = tf.random_uniform((5, height, width, 3), seed=1) output = ops.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(images.get_shape()) def testCreateDropoutNoTraining(self): @@ -599,9 +599,7 @@ class BatchNormTest(tf.test.TestCase): output = ops.batch_norm(images, decay=0.1) update_ops = tf.get_collection(ops.UPDATE_OPS_COLLECTION) with tf.control_dependencies(update_ops): - barrier = tf.no_op(name='gradient_barrier') - with tf.control_dependencies([barrier]): - output = tf.identity(output) + output = tf.identity(output) # Initialize all variables sess.run(tf.global_variables_initializer()) moving_mean = variables.get_variables('BatchNorm/moving_mean')[0] @@ -630,9 +628,7 @@ class BatchNormTest(tf.test.TestCase): output = ops.batch_norm(images, decay=0.1, is_training=False) update_ops = tf.get_collection(ops.UPDATE_OPS_COLLECTION) with tf.control_dependencies(update_ops): - barrier = tf.no_op(name='gradient_barrier') - with tf.control_dependencies([barrier]): - output = tf.identity(output) + output = tf.identity(output) # Initialize all variables sess.run(tf.global_variables_initializer()) moving_mean = variables.get_variables('BatchNorm/moving_mean')[0] @@ -665,9 +661,7 @@ class BatchNormTest(tf.test.TestCase): output = ops.batch_norm(images, decay=0.1, is_training=False) update_ops = tf.get_collection(ops.UPDATE_OPS_COLLECTION) with tf.control_dependencies(update_ops): - barrier = tf.no_op(name='gradient_barrier') - with tf.control_dependencies([barrier]): - output = tf.identity(output) + output = tf.identity(output) # Initialize all variables sess.run(tf.global_variables_initializer()) moving_mean = variables.get_variables('BatchNorm/moving_mean')[0] diff --git a/slim/deployment/model_deploy.py b/slim/deployment/model_deploy.py index 24dd5c34a..96b762bae 100644 --- a/slim/deployment/model_deploy.py +++ b/slim/deployment/model_deploy.py @@ -379,7 +379,7 @@ def deploy(config, update_op = tf.group(*update_ops) with tf.control_dependencies([update_op]): - train_op = total_loss + train_op = tf.identity(total_loss, name='train_op') else: clones_losses = [] regularization_losses = tf.get_collection( diff --git a/slim/train_image_classifier.py b/slim/train_image_classifier.py index 5aa674f41..57049a1a2 100755 --- a/slim/train_image_classifier.py +++ b/slim/train_image_classifier.py @@ -540,7 +540,7 @@ def main(_): update_op = tf.group(*update_ops) with tf.control_dependencies([update_op]): - train_tensor = total_loss + train_tensor = tf.identity(total_loss, name='train_op') # Add the summaries from the first clone. These contain the summaries # created by model_fn and either optimize_clones() or _gather_clone_loss(). -- GitLab From 1a392371e0caf0bf83b1e298d96992ad9c67d531 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Mon, 22 May 2017 18:17:33 -0700 Subject: [PATCH 081/171] Minor changes --- attention_ocr/README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/attention_ocr/README.md b/attention_ocr/README.md index 67b6fb757..1079bb740 100644 --- a/attention_ocr/README.md +++ b/attention_ocr/README.md @@ -76,13 +76,13 @@ tar xf attention_ocr_2017_05_17.tar.gz python train.py --checkpoint=model.ckpt-399731 ``` -## How to use your own image data to train the Model? +## How to use your own image data to train the model You need to define a new dataset. There are two options: 1. Store data in the same format as the FSNS dataset and just reuse the [python/datasets/fsns.py](https://github.com/tensorflow/models/blob/master/attention_ocr/python/datasets/fsns.py) -module. E.g. create a file datasets/newtextdataset.py +module. E.g., create a file datasets/newtextdataset.py: ``` import fsns @@ -140,7 +140,7 @@ dataset name in the command line. python train.py --dataset_name=newtextdataset ``` -Please note the eval.py will also require the same flag. +Please note that eval.py will also require the same flag. 2. Define a new dataset format. The model needs the following data to train: @@ -148,14 +148,14 @@ Please note the eval.py will also require the same flag. - labels: ground truth label ids, shape=[batch_size x seq_length]; - labels_one_hot: labels in one-hot encoding, shape [batch_size x seq_length x num_char_classes]; -Refer to the [python/data_provider.py](https://github.com/tensorflow/models/blob/master/attention_ocr/python/data_provider.py#L33) -for more details. You can use the [python/datasets/fsns.py](https://github.com/tensorflow/models/blob/master/attention_ocr/python/datasets/fsns.py) +Refer to [python/data_provider.py](https://github.com/tensorflow/models/blob/master/attention_ocr/python/data_provider.py#L33) +for more details. You can use [python/datasets/fsns.py](https://github.com/tensorflow/models/blob/master/attention_ocr/python/datasets/fsns.py) as the example. ## How to use a pre-trained model The inference part was not released yet, but it is pretty straightforward to -implement one in python or C++. +implement one in Python or C++. The recommended way is to use the [Serving infrastructure](https://tensorflow.github.io/serving/serving_basic). -- GitLab From 72262b5d7f9178f6a97baa841a99f5816a1897e7 Mon Sep 17 00:00:00 2001 From: Sunghyo Chung Date: Wed, 24 May 2017 03:16:42 +0900 Subject: [PATCH 082/171] Fix typo --- inception/inception/imagenet_eval.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inception/inception/imagenet_eval.py b/inception/inception/imagenet_eval.py index 5444f1927..e6f8bac2e 100644 --- a/inception/inception/imagenet_eval.py +++ b/inception/inception/imagenet_eval.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== -"""A binary to evaluate Inception on the flowers data set. +"""A binary to evaluate Inception on the ImageNet data set. Note that using the supplied pre-trained inception checkpoint, the eval should achieve: -- GitLab From e41999f846338f42f82b88dd8713b7fb9c95f377 Mon Sep 17 00:00:00 2001 From: Damien Vincent Date: Wed, 24 May 2017 15:05:15 +0200 Subject: [PATCH 083/171] Entropy coder for images: remove deprecated functions and update README. --- compression/README.md | 1 + compression/entropy_coder/README.md | 9 ++++++++- compression/entropy_coder/core/entropy_coder_train.py | 2 +- compression/entropy_coder/progressive/progressive.py | 5 ++--- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/compression/README.md b/compression/README.md index 44fd4ccec..2ae52f6fc 100644 --- a/compression/README.md +++ b/compression/README.md @@ -8,6 +8,7 @@ code for the following papers: ## Organization [Image Encoder](image_encoder/): Encoding and decoding images into their binary representation. +[Entropy Coder](entropy_coder/): Lossless compression of the binary representation. ## Contact Info Model repository maintained by Nick Johnston ([nickj-google](https://github.com/nickj-google)). diff --git a/compression/entropy_coder/README.md b/compression/entropy_coder/README.md index 806743304..59e889990 100644 --- a/compression/entropy_coder/README.md +++ b/compression/entropy_coder/README.md @@ -14,6 +14,11 @@ the width of the binary codes, sliced into N groups of K, where each additional group is used by the image decoder to add more details to the reconstructed image. +The code in this directory only contains the underlying code probability model +but does not perform the actual compression using arithmetic coding. +The code probability model is enough to compute the theoretical compression +ratio. + ## Prerequisites The only software requirements for running the encoder and decoder is having @@ -22,7 +27,7 @@ Tensorflow installed. You will also need to add the top level source directory of the entropy coder to your `PYTHONPATH`, for example: -`export PYTHONPATH=${PYTHONPATH}:/tmp/compression/entropy_coder` +`export PYTHONPATH=${PYTHONPATH}:/tmp/models/compression` ## Training the entropy coder @@ -38,6 +43,8 @@ less. To generate a synthetic dataset with 20000 samples: +`mkdir -p /tmp/dataset` + `python ./dataset/gen_synthetic_dataset.py --dataset_dir=/tmp/dataset/ --count=20000` diff --git a/compression/entropy_coder/core/entropy_coder_train.py b/compression/entropy_coder/core/entropy_coder_train.py index fd7266153..248935e3c 100644 --- a/compression/entropy_coder/core/entropy_coder_train.py +++ b/compression/entropy_coder/core/entropy_coder_train.py @@ -111,7 +111,7 @@ def train(): decay_steps=decay_steps, decay_rate=decay_rate, staircase=True) - tf.contrib.deprecated.scalar_summary('Learning Rate', learning_rate) + tf.summary.scalar('Learning Rate', learning_rate) optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate, epsilon=1.0) diff --git a/compression/entropy_coder/progressive/progressive.py b/compression/entropy_coder/progressive/progressive.py index 8560ab540..98777d8d5 100644 --- a/compression/entropy_coder/progressive/progressive.py +++ b/compression/entropy_coder/progressive/progressive.py @@ -202,11 +202,10 @@ class ProgressiveModel(entropy_coder_model.EntropyCoderModel): code_length.append(code_length_block( blocks.ConvertSignCodeToZeroOneCode(x), blocks.ConvertSignCodeToZeroOneCode(predicted_x))) - tf.contrib.deprecated.scalar_summary('code_length_layer_{:02d}'.format(k), - code_length[-1]) + tf.summary.scalar('code_length_layer_{:02d}'.format(k), code_length[-1]) code_length = tf.stack(code_length) self.loss = tf.reduce_mean(code_length) - tf.contrib.deprecated.scalar_summary('loss', self.loss) + tf.summary.scalar('loss', self.loss) # Loop over all the remaining layers just to make sure they are # instantiated. Otherwise, loading model params could fail. -- GitLab From 0f12d4a4188fa7fe4e2fe943d1035eec64a630df Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Fri, 26 May 2017 23:07:13 -0700 Subject: [PATCH 084/171] Fix Bazel incantations in docs Fixes tensorflow/tensorflow#10239 --- im2txt/README.md | 9 ++++++--- inception/README.md | 27 ++++++++++++++++++--------- skip_thoughts/README.md | 12 ++++++++---- 3 files changed, 32 insertions(+), 16 deletions(-) diff --git a/im2txt/README.md b/im2txt/README.md index 510ee544e..223cf91fb 100644 --- a/im2txt/README.md +++ b/im2txt/README.md @@ -145,7 +145,8 @@ available space for storing the downloaded and processed data. MSCOCO_DIR="${HOME}/im2txt/data/mscoco" # Build the preprocessing script. -bazel build im2txt/download_and_preprocess_mscoco +cd tensorflow-models/im2txt +bazel build //im2txt:download_and_preprocess_mscoco # Run the preprocessing script. bazel-bin/im2txt/download_and_preprocess_mscoco "${MSCOCO_DIR}" @@ -211,7 +212,8 @@ INCEPTION_CHECKPOINT="${HOME}/im2txt/data/inception_v3.ckpt" MODEL_DIR="${HOME}/im2txt/model" # Build the model. -bazel build -c opt im2txt/... +cd tensorflow-models/im2txt +bazel build -c opt //im2txt/... # Run the training script. bazel-bin/im2txt/train \ @@ -304,7 +306,8 @@ VOCAB_FILE="${HOME}/im2txt/data/mscoco/word_counts.txt" IMAGE_FILE="${HOME}/im2txt/data/mscoco/raw-data/val2014/COCO_val2014_000000224477.jpg" # Build the inference binary. -bazel build -c opt im2txt/run_inference +cd tensorflow-models/im2txt +bazel build -c opt //im2txt:run_inference # Ignore GPU devices (only necessary if your GPU is currently memory # constrained, for example, by running the training script). diff --git a/inception/README.md b/inception/README.md index 446415308..f47312137 100644 --- a/inception/README.md +++ b/inception/README.md @@ -86,7 +86,8 @@ you will not need to interact with the script again. DATA_DIR=$HOME/imagenet-data # build the preprocessing script. -bazel build inception/download_and_preprocess_imagenet +cd tensorflow-models/inception +bazel build //inception:download_and_preprocess_imagenet # run it bazel-bin/inception/download_and_preprocess_imagenet "${DATA_DIR}" @@ -153,7 +154,8 @@ To train this model, you simply need to specify the following: ```shell # Build the model. Note that we need to make sure the TensorFlow is ready to # use before this as this command will not build TensorFlow. -bazel build inception/imagenet_train +cd tensorflow-models/inception +bazel build //inception:imagenet_train # run it bazel-bin/inception/imagenet_train --num_gpus=1 --batch_size=32 --train_dir=/tmp/imagenet_train --data_dir=/tmp/imagenet_data @@ -189,7 +191,8 @@ GPU cards. ```shell # Build the model. Note that we need to make sure the TensorFlow is ready to # use before this as this command will not build TensorFlow. -bazel build inception/imagenet_train +cd tensorflow-models/inception +bazel build //inception:imagenet_train # run it bazel-bin/inception/imagenet_train --num_gpus=2 --batch_size=64 --train_dir=/tmp/imagenet_train @@ -288,7 +291,8 @@ running. Several things to note here: ```shell # Build the model. Note that we need to make sure the TensorFlow is ready to # use before this as this command will not build TensorFlow. -bazel build inception/imagenet_distributed_train +cd tensorflow-models/inception +bazel build //inception:imagenet_distributed_train # To start worker 0, go to the worker0 host and run the following (Note that # task_id should be in the range [0, num_worker_tasks): @@ -395,7 +399,8 @@ Briefly, one can evaluate the model by running: ```shell # Build the model. Note that we need to make sure the TensorFlow is ready to # use before this as this command will not build TensorFlow. -bazel build inception/imagenet_eval +cd tensorflow-models/inception +bazel build //inception:imagenet_eval # run it bazel-bin/inception/imagenet_eval --checkpoint_dir=/tmp/imagenet_train --eval_dir=/tmp/imagenet_eval @@ -450,7 +455,8 @@ but feel free to edit accordingly. FLOWERS_DATA_DIR=/tmp/flowers-data/ # build the preprocessing script. -bazel build inception/download_and_preprocess_flowers +cd tensorflow-models/inception +bazel build //inception:download_and_preprocess_flowers # run it bazel-bin/inception/download_and_preprocess_flowers "${FLOWERS_DATA_DIR}" @@ -530,7 +536,8 @@ the flowers data set with the following command. ```shell # Build the model. Note that we need to make sure the TensorFlow is ready to # use before this as this command will not build TensorFlow. -bazel build inception/flowers_train +cd tensorflow-models/inception +bazel build //inception:flowers_train # Path to the downloaded Inception-v3 model. MODEL_PATH="${INCEPTION_MODEL_DIR}/inception-v3/model.ckpt-157585" @@ -566,7 +573,8 @@ fine-tuned model, you will need to run `flowers_eval`: ```shell # Build the model. Note that we need to make sure the TensorFlow is ready to # use before this as this command will not build TensorFlow. -bazel build inception/flowers_eval +cd tensorflow-models/inception +bazel build //inception:flowers_eval # Directory where we saved the fine-tuned checkpoint and events files. TRAIN_DIR=/tmp/flowers_train/ @@ -654,7 +662,8 @@ To run `build_image_data.py`, you can run the following command line: OUTPUT_DIRECTORY=$HOME/my-custom-data/ # build the preprocessing script. -bazel build inception/build_image_data +cd tensorflow-models/inception +bazel build //inception:build_image_data # convert the data. bazel-bin/inception/build_image_data \ diff --git a/skip_thoughts/README.md b/skip_thoughts/README.md index 68cc45e6e..cdcffe7c5 100644 --- a/skip_thoughts/README.md +++ b/skip_thoughts/README.md @@ -133,7 +133,8 @@ INPUT_FILES="${HOME}/skip_thoughts/bookcorpus/*.txt" DATA_DIR="${HOME}/skip_thoughts/data" # Build the preprocessing script. -bazel build -c opt skip_thoughts/data/preprocess_dataset +cd tensorflow-models/skip_thoughts +bazel build -c opt //skip_thoughts/data:preprocess_dataset # Run the preprocessing script. bazel-bin/skip_thoughts/data/preprocess_dataset \ @@ -164,7 +165,8 @@ DATA_DIR="${HOME}/skip_thoughts/data" MODEL_DIR="${HOME}/skip_thoughts/model" # Build the model. -bazel build -c opt skip_thoughts/... +cd tensorflow-models/skip_thoughts +bazel build -c opt //skip_thoughts/... # Run the training script. bazel-bin/skip_thoughts/train \ @@ -269,7 +271,8 @@ WORD2VEC_MODEL="${HOME}/skip_thoughts/googlenews/GoogleNews-vectors-negative300. EXP_VOCAB_DIR="${HOME}/skip_thoughts/exp_vocab" # Build the vocabulary expansion script. -bazel build -c opt skip_thoughts/vocabulary_expansion +cd tensorflow-models/skip_thoughts +bazel build -c opt //skip_thoughts:vocabulary_expansion # Run the vocabulary expansion script. bazel-bin/skip_thoughts/vocabulary_expansion \ @@ -343,7 +346,8 @@ EMBEDDINGS_FILE="${HOME}/skip_thoughts/exp_vocab/embeddings.npy" EVAL_DATA_DIR="${HOME}/skip_thoughts/eval_data" # Build the evaluation script. -bazel build -c opt skip_thoughts/evaluate +cd tensorflow-models/skip_thoughts +bazel build -c opt //skip_thoughts:evaluate # Run the evaluation script. bazel-bin/skip_thoughts/evaluate \ -- GitLab From c015f6962e82379d7d4b887ece19be85066928b0 Mon Sep 17 00:00:00 2001 From: Peter Glerup Ericson Date: Sun, 28 May 2017 14:59:12 +0200 Subject: [PATCH 085/171] Fix arxiv links in README of neural_gpu model As the links was [[link]] the last `]` was included in the url. --- neural_gpu/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/neural_gpu/README.md b/neural_gpu/README.md index b73dd85ef..510f1c5e0 100644 --- a/neural_gpu/README.md +++ b/neural_gpu/README.md @@ -1,6 +1,6 @@ # NeuralGPU -Code for the Neural GPU model described in [[http://arxiv.org/abs/1511.08228]]. -The extended version was described in [[https://arxiv.org/abs/1610.08613]]. +Code for the Neural GPU model described in http://arxiv.org/abs/1511.08228. +The extended version was described in https://arxiv.org/abs/1610.08613. Requirements: * TensorFlow (see tensorflow.org for how to install) -- GitLab From 444310f2fda7bd3dc420ccb32ee234366621cd60 Mon Sep 17 00:00:00 2001 From: Frank Chen Date: Tue, 30 May 2017 17:47:24 -0700 Subject: [PATCH 086/171] SYNSETS contains the full path and does not need pwd prepended. Tested on GCE with ubuntu 16.04. Mirrors change 157536266. --- inception/inception/data/download_imagenet.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/inception/inception/data/download_imagenet.sh b/inception/inception/data/download_imagenet.sh index 576c99a2b..49b3b7d56 100755 --- a/inception/inception/data/download_imagenet.sh +++ b/inception/inception/data/download_imagenet.sh @@ -40,7 +40,6 @@ fi OUTDIR="${1:-./imagenet-data}" SYNSETS_FILE="${2:-./synsets.txt}" -SYNSETS_FILE="${PWD}/${SYNSETS_FILE}" echo "Saving downloaded files to $OUTDIR" mkdir -p "${OUTDIR}" -- GitLab From b7e77995ac31d87cd34320440302aee3ec479ad8 Mon Sep 17 00:00:00 2001 From: Frank Chen Date: Wed, 31 May 2017 17:02:05 -0700 Subject: [PATCH 087/171] Add executable flag to models so that they can be run from the download_and_preprocess_imagenet.sh script automatically --- inception/inception/data/preprocess_imagenet_validation_data.py | 0 inception/inception/data/process_bounding_boxes.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 inception/inception/data/preprocess_imagenet_validation_data.py mode change 100644 => 100755 inception/inception/data/process_bounding_boxes.py diff --git a/inception/inception/data/preprocess_imagenet_validation_data.py b/inception/inception/data/preprocess_imagenet_validation_data.py old mode 100644 new mode 100755 diff --git a/inception/inception/data/process_bounding_boxes.py b/inception/inception/data/process_bounding_boxes.py old mode 100644 new mode 100755 -- GitLab From 0ce70bddc56821dbf09e7d4642f861026d858822 Mon Sep 17 00:00:00 2001 From: None Date: Fri, 2 Jun 2017 15:58:37 +0800 Subject: [PATCH 088/171] Update resnet_model.py 'elipson' should be epsilon --- resnet/resnet_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resnet/resnet_model.py b/resnet/resnet_model.py index a8b7f10ca..2be68a132 100644 --- a/resnet/resnet_model.py +++ b/resnet/resnet_model.py @@ -185,7 +185,7 @@ class ResNet(object): trainable=False) tf.summary.histogram(mean.op.name, mean) tf.summary.histogram(variance.op.name, variance) - # elipson used to be 1e-5. Maybe 0.001 solves NaN problem in deeper net. + # epsilon used to be 1e-5. Maybe 0.001 solves NaN problem in deeper net. y = tf.nn.batch_normalization( x, mean, variance, beta, gamma, 0.001) y.set_shape(x.get_shape()) -- GitLab From 01db54e508af57177853521f04b3cb51522b21d4 Mon Sep 17 00:00:00 2001 From: xiangjinwu Date: Sun, 4 Jun 2017 23:32:31 -0500 Subject: [PATCH 089/171] To pass test, add VariableV2 in _PSDeviceChooser --- slim/deployment/model_deploy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slim/deployment/model_deploy.py b/slim/deployment/model_deploy.py index 96b762bae..67b6f9a38 100644 --- a/slim/deployment/model_deploy.py +++ b/slim/deployment/model_deploy.py @@ -663,7 +663,7 @@ class DeploymentConfig(object): if op.device: return op.device node_def = op if isinstance(op, tf.NodeDef) else op.node_def - if node_def.op == 'Variable': + if node_def.op.startswith('Variable'): t = self._task self._task = (self._task + 1) % self._tasks d = '%s/task:%d' % (self._device, t) -- GitLab From 514a10de736aa9591250062551721be59ac620c3 Mon Sep 17 00:00:00 2001 From: Andrew Gilbert Date: Tue, 6 Jun 2017 18:45:14 +0900 Subject: [PATCH 090/171] Fixed calls to concat and convolution2d --- adversarial_crypto/train_eval.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/adversarial_crypto/train_eval.py b/adversarial_crypto/train_eval.py index 1e67be96a..570de938f 100644 --- a/adversarial_crypto/train_eval.py +++ b/adversarial_crypto/train_eval.py @@ -128,13 +128,13 @@ class AdversarialCrypto(object): """ if key is not None: - combined_message = tf.concat(1, [message, key]) + combined_message = tf.concat([message, key], 1) else: combined_message = message # Ensure that all variables created are in the specified collection. with tf.contrib.framework.arg_scope( - [tf.contrib.layers.fully_connected, tf.contrib.layers.convolution], + [tf.contrib.layers.fully_connected, tf.contrib.layers.convolution2d], variables_collections=[collection]): fc = tf.contrib.layers.fully_connected( @@ -147,13 +147,13 @@ class AdversarialCrypto(object): # and then squeezing it back down). fc = tf.expand_dims(fc, 2) # 2,1 -> 1,2 - conv = tf.contrib.layers.convolution( + conv = tf.contrib.layers.convolution2d( fc, 2, 2, 2, 'SAME', activation_fn=tf.nn.sigmoid) # 1,2 -> 1, 2 - conv = tf.contrib.layers.convolution( + conv = tf.contrib.layers.convolution2d( conv, 2, 1, 1, 'SAME', activation_fn=tf.nn.sigmoid) # 1,2 -> 1, 1 - conv = tf.contrib.layers.convolution( + conv = tf.contrib.layers.convolution2d( conv, 1, 1, 1, 'SAME', activation_fn=tf.nn.tanh) conv = tf.squeeze(conv, 2) return conv -- GitLab From 76cf35de36b3d5a10255c54b2e54500048c79b47 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Tue, 6 Jun 2017 12:39:45 -0700 Subject: [PATCH 091/171] Add named arguments to tf.concat and use conv2d instead of convolution2d --- adversarial_crypto/train_eval.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/adversarial_crypto/train_eval.py b/adversarial_crypto/train_eval.py index 570de938f..09de7e513 100644 --- a/adversarial_crypto/train_eval.py +++ b/adversarial_crypto/train_eval.py @@ -128,13 +128,13 @@ class AdversarialCrypto(object): """ if key is not None: - combined_message = tf.concat([message, key], 1) + combined_message = tf.concat(axis=1, values=[message, key]) else: combined_message = message # Ensure that all variables created are in the specified collection. with tf.contrib.framework.arg_scope( - [tf.contrib.layers.fully_connected, tf.contrib.layers.convolution2d], + [tf.contrib.layers.fully_connected, tf.contrib.layers.conv2d], variables_collections=[collection]): fc = tf.contrib.layers.fully_connected( @@ -147,13 +147,13 @@ class AdversarialCrypto(object): # and then squeezing it back down). fc = tf.expand_dims(fc, 2) # 2,1 -> 1,2 - conv = tf.contrib.layers.convolution2d( + conv = tf.contrib.layers.conv2d( fc, 2, 2, 2, 'SAME', activation_fn=tf.nn.sigmoid) # 1,2 -> 1, 2 - conv = tf.contrib.layers.convolution2d( + conv = tf.contrib.layers.conv2d( conv, 2, 1, 1, 'SAME', activation_fn=tf.nn.sigmoid) # 1,2 -> 1, 1 - conv = tf.contrib.layers.convolution2d( + conv = tf.contrib.layers.conv2d( conv, 1, 1, 1, 'SAME', activation_fn=tf.nn.tanh) conv = tf.squeeze(conv, 2) return conv -- GitLab From 0cde63327088b6fc27e832d65f8c48f3037f154f Mon Sep 17 00:00:00 2001 From: Ashley Williamson <11356993@students.lincoln.ac.uk> Date: Wed, 7 Jun 2017 18:51:58 +0100 Subject: [PATCH 092/171] Implemented LRN for AlexNet tutorial A TODO was stated for adding LRN - Pending GPU support. LRN was implemented by tensorflow/tensorflow@35df3ed43edabbc4ad1b2439bbc7de8917026d6e Hyper-parameters taken from http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks --- tutorials/image/alexnet/alexnet_benchmark.py | 25 ++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/tutorials/image/alexnet/alexnet_benchmark.py b/tutorials/image/alexnet/alexnet_benchmark.py index ed723055c..04c394ad4 100644 --- a/tutorials/image/alexnet/alexnet_benchmark.py +++ b/tutorials/image/alexnet/alexnet_benchmark.py @@ -73,11 +73,18 @@ def inference(images): print_activations(conv1) parameters += [kernel, biases] - # lrn1 - # TODO(shlens, jiayq): Add a GPU version of local response normalization. + + with tf.name_scope('lrn1') as scope: + lrn1 = tf.nn.local_response_normalization( + conv1, + alpha=1e-04, + beta=0.75, + depth_radius=5, + bias=2.0 + ) # pool1 - pool1 = tf.nn.max_pool(conv1, + pool1 = tf.nn.max_pool(lrn1, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1], padding='VALID', @@ -96,8 +103,18 @@ def inference(images): parameters += [kernel, biases] print_activations(conv2) + + with tf.name_scope('lrn2') as scope: + lrn2 = tf.nn.local_response_normalization( + conv2, + alpha=1e-04, + beta=0.75, + depth_radius=5, + bias=2.0 + ) + # pool2 - pool2 = tf.nn.max_pool(conv2, + pool2 = tf.nn.max_pool(lrn2, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1], padding='VALID', -- GitLab From 082e65c9342683e6dcb6df4e9922c99f0f966e90 Mon Sep 17 00:00:00 2001 From: Toby Boyd Date: Thu, 8 Jun 2017 10:08:13 -0700 Subject: [PATCH 093/171] iput pipeline on CPU. 1700 images/sec to 8000 on GTX 1080 --- tutorials/image/cifar10/cifar10_multi_gpu_train.py | 13 +++++++++---- tutorials/image/cifar10/cifar10_train.py | 5 ++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/tutorials/image/cifar10/cifar10_multi_gpu_train.py b/tutorials/image/cifar10/cifar10_multi_gpu_train.py index 16033eeff..e97e1f8fa 100644 --- a/tutorials/image/cifar10/cifar10_multi_gpu_train.py +++ b/tutorials/image/cifar10/cifar10_multi_gpu_train.py @@ -62,7 +62,7 @@ tf.app.flags.DEFINE_boolean('log_device_placement', False, """Whether to log device placement.""") -def tower_loss(scope): +def tower_loss(scope, images, labels): """Calculate the total loss on a single tower running the CIFAR model. Args: @@ -71,8 +71,7 @@ def tower_loss(scope): Returns: Tensor of shape [] containing the total loss for a batch of data """ - # Get images and labels for CIFAR-10. - images, labels = cifar10.distorted_inputs() + # Build inference Graph. logits = cifar10.inference(images) @@ -160,6 +159,12 @@ def train(): # Create an optimizer that performs gradient descent. opt = tf.train.GradientDescentOptimizer(lr) + # Get images and labels for CIFAR-10. + # Force input pipeline to CPU:0 to avoid opertaios sometimes ending up on GPU + # and resulting in a slow down. + with tf.device('/CPU:0'): + images, labels = cifar10.distorted_inputs() + # Calculate the gradients for each model tower. tower_grads = [] with tf.variable_scope(tf.get_variable_scope()): @@ -169,7 +174,7 @@ def train(): # Calculate the loss for one tower of the CIFAR model. This function # constructs the entire CIFAR model but shares the variables across # all towers. - loss = tower_loss(scope) + loss = tower_loss(scope, images, labels) # Reuse variables for the next tower. tf.get_variable_scope().reuse_variables() diff --git a/tutorials/image/cifar10/cifar10_train.py b/tutorials/image/cifar10/cifar10_train.py index fec64ec22..da01d5001 100644 --- a/tutorials/image/cifar10/cifar10_train.py +++ b/tutorials/image/cifar10/cifar10_train.py @@ -62,7 +62,10 @@ def train(): global_step = tf.contrib.framework.get_or_create_global_step() # Get images and labels for CIFAR-10. - images, labels = cifar10.distorted_inputs() + # Force input pipeline to CPU:0 to avoid opertaios sometimes ending up + # on GPU and resulting in a slow down. + with tf.device('/CPU:0'): + images, labels = cifar10.distorted_inputs() # Build a Graph that computes the logits predictions from the # inference model. -- GitLab From 3909e4bdff25c952713a08b4ecc31fff1fdf2cb4 Mon Sep 17 00:00:00 2001 From: Toby Boyd Date: Thu, 8 Jun 2017 10:15:06 -0700 Subject: [PATCH 094/171] pydoc update to match method signature --- tutorials/image/cifar10/cifar10_multi_gpu_train.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tutorials/image/cifar10/cifar10_multi_gpu_train.py b/tutorials/image/cifar10/cifar10_multi_gpu_train.py index e97e1f8fa..05d92cc27 100644 --- a/tutorials/image/cifar10/cifar10_multi_gpu_train.py +++ b/tutorials/image/cifar10/cifar10_multi_gpu_train.py @@ -67,6 +67,8 @@ def tower_loss(scope, images, labels): Args: scope: unique prefix string identifying the CIFAR tower, e.g. 'tower_0' + images: Images. 4D tensor of [batch_size, height, width, 3] size. + labels: Labels. 1D tensor of [batch_size] size. Returns: Tensor of shape [] containing the total loss for a batch of data -- GitLab From c3e2ae5ec1b0164ddd3895680c249d0adb1f11a8 Mon Sep 17 00:00:00 2001 From: Toby Boyd Date: Thu, 8 Jun 2017 13:49:27 -0700 Subject: [PATCH 095/171] Fixed typos and redudant with CPU:0 --- tutorials/image/cifar10/cifar10_multi_gpu_train.py | 5 +---- tutorials/image/cifar10/cifar10_train.py | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/tutorials/image/cifar10/cifar10_multi_gpu_train.py b/tutorials/image/cifar10/cifar10_multi_gpu_train.py index 05d92cc27..9f269cc04 100644 --- a/tutorials/image/cifar10/cifar10_multi_gpu_train.py +++ b/tutorials/image/cifar10/cifar10_multi_gpu_train.py @@ -162,10 +162,7 @@ def train(): opt = tf.train.GradientDescentOptimizer(lr) # Get images and labels for CIFAR-10. - # Force input pipeline to CPU:0 to avoid opertaios sometimes ending up on GPU - # and resulting in a slow down. - with tf.device('/CPU:0'): - images, labels = cifar10.distorted_inputs() + images, labels = cifar10.distorted_inputs() # Calculate the gradients for each model tower. tower_grads = [] diff --git a/tutorials/image/cifar10/cifar10_train.py b/tutorials/image/cifar10/cifar10_train.py index da01d5001..e32435279 100644 --- a/tutorials/image/cifar10/cifar10_train.py +++ b/tutorials/image/cifar10/cifar10_train.py @@ -62,8 +62,8 @@ def train(): global_step = tf.contrib.framework.get_or_create_global_step() # Get images and labels for CIFAR-10. - # Force input pipeline to CPU:0 to avoid opertaios sometimes ending up - # on GPU and resulting in a slow down. + # Force input pipeline to CPU:0 to avoid operations sometimes ending up on + # GPU and resulting in a slow down. with tf.device('/CPU:0'): images, labels = cifar10.distorted_inputs() -- GitLab From 9e8fd6d90c84df1f7444b055dcc3b653f6b7e14c Mon Sep 17 00:00:00 2001 From: Toby Boyd Date: Thu, 8 Jun 2017 15:05:06 -0700 Subject: [PATCH 096/171] Fixed typo and multi-gpu processing same batch on each gpu --- tutorials/image/cifar10/cifar10_multi_gpu_train.py | 6 +++++- tutorials/image/cifar10/cifar10_train.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tutorials/image/cifar10/cifar10_multi_gpu_train.py b/tutorials/image/cifar10/cifar10_multi_gpu_train.py index 9f269cc04..bc90711d7 100644 --- a/tutorials/image/cifar10/cifar10_multi_gpu_train.py +++ b/tutorials/image/cifar10/cifar10_multi_gpu_train.py @@ -138,6 +138,7 @@ def average_gradients(tower_grads): def train(): + print(FLAGS.batch_size) """Train CIFAR-10 for a number of steps.""" with tf.Graph().as_default(), tf.device('/cpu:0'): # Create a variable to count the number of train() calls. This equals the @@ -163,13 +164,16 @@ def train(): # Get images and labels for CIFAR-10. images, labels = cifar10.distorted_inputs() - + batch_queue = tf.contrib.slim.prefetch_queue.prefetch_queue( + [images, labels], capacity=2 * FLAGS.num_gpus) # Calculate the gradients for each model tower. tower_grads = [] with tf.variable_scope(tf.get_variable_scope()): for i in xrange(FLAGS.num_gpus): with tf.device('/gpu:%d' % i): with tf.name_scope('%s_%d' % (cifar10.TOWER_NAME, i)) as scope: + # Dequeues one batch for the GPU + images, labels = batch_queue.dequeue() # Calculate the loss for one tower of the CIFAR model. This function # constructs the entire CIFAR model but shares the variables across # all towers. diff --git a/tutorials/image/cifar10/cifar10_train.py b/tutorials/image/cifar10/cifar10_train.py index e32435279..cc1dc0d14 100644 --- a/tutorials/image/cifar10/cifar10_train.py +++ b/tutorials/image/cifar10/cifar10_train.py @@ -64,7 +64,7 @@ def train(): # Get images and labels for CIFAR-10. # Force input pipeline to CPU:0 to avoid operations sometimes ending up on # GPU and resulting in a slow down. - with tf.device('/CPU:0'): + with tf.device('/cpu:0'): images, labels = cifar10.distorted_inputs() # Build a Graph that computes the logits predictions from the -- GitLab From b5acc005968d37495f0e7d83d2dd2ef3d3674211 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Thu, 8 Jun 2017 16:44:02 -0700 Subject: [PATCH 097/171] Code cleanup --- tutorials/image/cifar10/cifar10_multi_gpu_train.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tutorials/image/cifar10/cifar10_multi_gpu_train.py b/tutorials/image/cifar10/cifar10_multi_gpu_train.py index bc90711d7..fb15faca2 100644 --- a/tutorials/image/cifar10/cifar10_multi_gpu_train.py +++ b/tutorials/image/cifar10/cifar10_multi_gpu_train.py @@ -67,14 +67,13 @@ def tower_loss(scope, images, labels): Args: scope: unique prefix string identifying the CIFAR tower, e.g. 'tower_0' - images: Images. 4D tensor of [batch_size, height, width, 3] size. - labels: Labels. 1D tensor of [batch_size] size. + images: Images. 4D tensor of shape [batch_size, height, width, 3]. + labels: Labels. 1D tensor of shape [batch_size]. Returns: Tensor of shape [] containing the total loss for a batch of data """ - # Build inference Graph. logits = cifar10.inference(images) @@ -138,7 +137,6 @@ def average_gradients(tower_grads): def train(): - print(FLAGS.batch_size) """Train CIFAR-10 for a number of steps.""" with tf.Graph().as_default(), tf.device('/cpu:0'): # Create a variable to count the number of train() calls. This equals the -- GitLab From 7d238c5ee69e722a9ca4cc65b9f737171b7cb75d Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Fri, 9 Jun 2017 12:24:36 -0700 Subject: [PATCH 098/171] Rename the image/label batch variables --- tutorials/image/cifar10/cifar10_multi_gpu_train.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/image/cifar10/cifar10_multi_gpu_train.py b/tutorials/image/cifar10/cifar10_multi_gpu_train.py index fb15faca2..d139f1315 100644 --- a/tutorials/image/cifar10/cifar10_multi_gpu_train.py +++ b/tutorials/image/cifar10/cifar10_multi_gpu_train.py @@ -171,11 +171,11 @@ def train(): with tf.device('/gpu:%d' % i): with tf.name_scope('%s_%d' % (cifar10.TOWER_NAME, i)) as scope: # Dequeues one batch for the GPU - images, labels = batch_queue.dequeue() + image_batch, label_batch = batch_queue.dequeue() # Calculate the loss for one tower of the CIFAR model. This function # constructs the entire CIFAR model but shares the variables across # all towers. - loss = tower_loss(scope, images, labels) + loss = tower_loss(scope, image_batch, label_batch) # Reuse variables for the next tower. tf.get_variable_scope().reuse_variables() -- GitLab From 5ecced399b0d78e32ff952d01d217a1098d17201 Mon Sep 17 00:00:00 2001 From: Mindos Cheng Date: Mon, 12 Jun 2017 00:22:05 +0800 Subject: [PATCH 099/171] Fixed error message for inception/imagenet. --- inception/inception/data/preprocess_imagenet_validation_data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inception/inception/data/preprocess_imagenet_validation_data.py b/inception/inception/data/preprocess_imagenet_validation_data.py index 8308277a0..ae1576fff 100755 --- a/inception/inception/data/preprocess_imagenet_validation_data.py +++ b/inception/inception/data/preprocess_imagenet_validation_data.py @@ -76,7 +76,7 @@ if __name__ == '__main__': basename = 'ILSVRC2012_val_000%.5d.JPEG' % (i + 1) original_filename = os.path.join(data_dir, basename) if not os.path.exists(original_filename): - print('Failed to find: ' % original_filename) + print('Failed to find: %s' % original_filename) sys.exit(-1) new_filename = os.path.join(data_dir, labels[i], basename) os.rename(original_filename, new_filename) -- GitLab From 286bacf2543a3357e91380af48db1ff9d7d84c13 Mon Sep 17 00:00:00 2001 From: ngovanmao Date: Tue, 13 Jun 2017 23:37:02 +0800 Subject: [PATCH 100/171] Fix a small bug of Python3 compatibility in tutorial example /rnn/ptb --- tutorials/rnn/ptb/reader.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tutorials/rnn/ptb/reader.py b/tutorials/rnn/ptb/reader.py index 995b628c0..a14ecc390 100644 --- a/tutorials/rnn/ptb/reader.py +++ b/tutorials/rnn/ptb/reader.py @@ -21,13 +21,17 @@ from __future__ import print_function import collections import os +import sys import tensorflow as tf def _read_words(filename): with tf.gfile.GFile(filename, "r") as f: - return f.read().decode("utf-8").replace("\n", "").split() + if sys.version_info[0] >= 3: + return f.read().replace("\n", "").split() + else: + return f.read().decode("utf-8").replace("\n", "").split() def _build_vocab(filename): -- GitLab From 5eab06018c51d0ec8bf85919bf50438e2c4056a3 Mon Sep 17 00:00:00 2001 From: andrewghoward Date: Tue, 13 Jun 2017 21:57:48 -0700 Subject: [PATCH 101/171] MobileNet V1 commit (#1551) * MobileNet V1 commit * updates to README --- slim/BUILD | 18 + slim/README.md | 26 +- slim/nets/mobilenet_v1.md | 47 ++ slim/nets/mobilenet_v1.png | Bin 0 -> 100916 bytes slim/nets/mobilenet_v1.py | 397 +++++++++++++++++ slim/nets/mobilenet_v1_test.py | 450 ++++++++++++++++++++ slim/nets/nets_factory.py | 5 +- slim/preprocessing/preprocessing_factory.py | 4 +- 8 files changed, 931 insertions(+), 16 deletions(-) create mode 100644 slim/nets/mobilenet_v1.md create mode 100644 slim/nets/mobilenet_v1.png create mode 100644 slim/nets/mobilenet_v1.py create mode 100644 slim/nets/mobilenet_v1_test.py diff --git a/slim/BUILD b/slim/BUILD index 77a1ae503..348ca7595 100644 --- a/slim/BUILD +++ b/slim/BUILD @@ -132,6 +132,7 @@ py_library( ":cifarnet", ":inception", ":lenet", + ":mobilenet_v1", ":overfeat", ":resnet_v1", ":resnet_v2", @@ -269,6 +270,23 @@ py_library( srcs = ["nets/lenet.py"], ) +py_library( + name = "mobilenet_v1", + srcs = ["nets/mobilenet_v1.py"], + srcs_version = "PY2AND3", +) + +py_test( + name = "mobilenet_v1_test", + size = "large", + srcs = ["nets/mobilenet_v1_test.py"], + shard_count = 3, + srcs_version = "PY2AND3", + deps = [ + ":mobilenet_v1", + ], +) + py_library( name = "overfeat", srcs = ["nets/overfeat.py"], diff --git a/slim/README.md b/slim/README.md index 85275e8d1..628931f7c 100644 --- a/slim/README.md +++ b/slim/README.md @@ -194,21 +194,24 @@ Model | TF-Slim File | Checkpoint | Top-1 Accuracy| Top-5 Accuracy | [Inception V2](http://arxiv.org/abs/1502.03167)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_v2.py)|[inception_v2_2016_08_28.tar.gz](http://download.tensorflow.org/models/inception_v2_2016_08_28.tar.gz)|73.9|91.8| [Inception V3](http://arxiv.org/abs/1512.00567)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_v3.py)|[inception_v3_2016_08_28.tar.gz](http://download.tensorflow.org/models/inception_v3_2016_08_28.tar.gz)|78.0|93.9| [Inception V4](http://arxiv.org/abs/1602.07261)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_v4.py)|[inception_v4_2016_09_09.tar.gz](http://download.tensorflow.org/models/inception_v4_2016_09_09.tar.gz)|80.2|95.2| -[Inception-ResNet-v2](http://arxiv.org/abs/1602.07261)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_resnet_v2.py)|[inception_resnet_v2.tar.gz](http://download.tensorflow.org/models/inception_resnet_v2_2016_08_30.tar.gz)|80.4|95.3| -[ResNet V1 50](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_50.tar.gz](http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz)|75.2|92.2| -[ResNet V1 101](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_101.tar.gz](http://download.tensorflow.org/models/resnet_v1_101_2016_08_28.tar.gz)|76.4|92.9| -[ResNet V1 152](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_152.tar.gz](http://download.tensorflow.org/models/resnet_v1_152_2016_08_28.tar.gz)|76.8|93.2| -[ResNet V2 50](https://arxiv.org/abs/1603.05027)^|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[resnet_v2_50.tar.gz](http://download.tensorflow.org/models/resnet_v2_50_2017_04_14.tar.gz)|75.6|92.8| -[ResNet V2 101](https://arxiv.org/abs/1603.05027)^|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[resnet_v2_101.tar.gz](http://download.tensorflow.org/models/resnet_v2_101_2017_04_14.tar.gz)|77.0|93.7| -[ResNet V2 152](https://arxiv.org/abs/1603.05027)^|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[resnet_v2_152.tar.gz](http://download.tensorflow.org/models/resnet_v2_152_2017_04_14.tar.gz)|77.8|94.1| -[VGG 16](http://arxiv.org/abs/1409.1556.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/vgg.py)|[vgg_16.tar.gz](http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz)|71.5|89.8| -[VGG 19](http://arxiv.org/abs/1409.1556.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/vgg.py)|[vgg_19.tar.gz](http://download.tensorflow.org/models/vgg_19_2016_08_28.tar.gz)|71.1|89.8| - +[Inception-ResNet-v2](http://arxiv.org/abs/1602.07261)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_resnet_v2.py)|[inception_resnet_v2_2016_08_30.tar.gz](http://download.tensorflow.org/models/inception_resnet_v2_2016_08_30.tar.gz)|80.4|95.3| +[ResNet 50](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_50_2016_08_28.tar.gz](http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz)|75.2|92.2| +[ResNet 101](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_101_2016_08_28.tar.gz](http://download.tensorflow.org/models/resnet_v1_101_2016_08_28.tar.gz)|76.4|92.9| +[ResNet 152](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_152_2016_08_28.tar.gz](http://download.tensorflow.org/models/resnet_v1_152_2016_08_28.tar.gz)|76.8|93.2| +[ResNet V2 200](https://arxiv.org/abs/1603.05027)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[TBA]()|79.9\*|95.2\*| +[VGG 16](http://arxiv.org/abs/1409.1556.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/vgg.py)|[vgg_16_2016_08_28.tar.gz](http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz)|71.5|89.8| +[VGG 19](http://arxiv.org/abs/1409.1556.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/vgg.py)|[vgg_19_2016_08_28.tar.gz](http://download.tensorflow.org/models/vgg_19_2016_08_28.tar.gz)|71.1|89.8| +[MobileNet_v1_1.0_224](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_1.0_224_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_1.0_224_2017_06_14.tar.gz)|70.7|89.5| +[MobileNet_v1_0.50_160](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_0.50_160_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_0.50_160_2017_06_14.tar.gz)|59.9|82.5| +[MobileNet_v1_0.25_128](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_0.25_128_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_0.25_128_2017_06_14.tar.gz)|41.3|66.2| ^ ResNet V2 models use Inception pre-processing and input image size of 299 (use `--preprocessing_name inception --eval_image_size 299` when using `eval_image_classifier.py`). Performance numbers for ResNet V2 models are -reported on ImageNet valdiation set. +reported on ImageNet valdiation set. + +All 16 MobileNet Models reported in the [MobileNet Paper](https://arxiv.org/abs/1704.04861) can be found [here](https://github.com/tensorflow/models/tree/master/slim/nets/mobilenet_v1.md). +(\*): Results quoted from the [paper](https://arxiv.org/abs/1603.05027). Here is an example of how to download the Inception V3 checkpoint: ```shell @@ -375,4 +378,3 @@ image_preprocessing_fn = preprocessing_factory.get_preprocessing( See [Hardware Specifications](https://github.com/tensorflow/models/tree/master/inception#what-hardware-specification-are-these-hyper-parameters-targeted-for). - diff --git a/slim/nets/mobilenet_v1.md b/slim/nets/mobilenet_v1.md new file mode 100644 index 000000000..3ce231176 --- /dev/null +++ b/slim/nets/mobilenet_v1.md @@ -0,0 +1,47 @@ +# MobileNet_v1 + +[MobileNets](https://arxiv.org/abs/1704.04861) are small, low-latency, low-power models parameterized to meet the resource constraints of a variety of use cases. They can be built upon for classification, detection, embeddings and segmentation similar to how other popular large scale models, such as Inception, are used. MobileNets can be run efficiently on mobile devices with [TensorFlow Mobile](https://www.tensorflow.org/mobile/). + +MobileNets trade off between latency, size and accuracy while comparing favorably with popular models from the literature. + +![alt text](https://github.com/tensorflow/models/tree/master/slim/nets/mobilenet_v1.png, "MobileNet Graph") + +# Pre-trained Models + +Choose the right MobileNet model to fit your latency and size budget. The size of the network in memory and on disk is proportional to the number of parameters. The latency and power usage of the network scales with the number of Multiply-Accumulates (MACs) which measures the number of fused Multiplication and Addition operations. These MobileNet models have been trained on the +[ILSVRC-2012-CLS](http://www.image-net.org/challenges/LSVRC/2012/) +image classification dataset. Accuracies were computed by evaluating using a single image crop. + +Model Checkpoint | Million MACs | Million Parameters | Top-1 Accuracy| Top-5 Accuracy | +:----:|:------------:|:----------:|:-------:|:-------:| +[MobileNet_v1_1.0_224](http://download.tensorflow.org/models/mobilenet_v1_1.0_224_2017_06_14.tar.gz)|569|4.24|70.7|89.5| +[MobileNet_v1_1.0_192](http://download.tensorflow.org/models/mobilenet_v1_1.0_192_2017_06_14.tar.gz)|418|4.24|69.3|88.9| +[MobileNet_v1_1.0_160](http://download.tensorflow.org/models/mobilenet_v1_1.0_160_2017_06_14.tar.gz)|291|4.24|67.2|87.5| +[MobileNet_v1_1.0_128](http://download.tensorflow.org/models/mobilenet_v1_1.0_128_2017_06_14.tar.gz)|186|4.24|64.1|85.3| +[MobileNet_v1_0.75_224](http://download.tensorflow.org/models/mobilenet_v1_0.75_224_2017_06_14.tar.gz)|317|2.59|68.4|88.2| +[MobileNet_v1_0.75_192](http://download.tensorflow.org/models/mobilenet_v1_0.75_192_2017_06_14.tar.gz)|233|2.59|67.4|87.3| +[MobileNet_v1_0.75_160](http://download.tensorflow.org/models/mobilenet_v1_0.75_160_2017_06_14.tar.gz)|162|2.59|65.2|86.1| +[MobileNet_v1_0.75_128](http://download.tensorflow.org/models/mobilenet_v1_0.75_128_2017_06_14.tar.gz)|104|2.59|61.8|83.6| +[MobileNet_v1_0.50_224](http://download.tensorflow.org/models/mobilenet_v1_0.50_224_2017_06_14.tar.gz)|150|1.34|64.0|85.4| +[MobileNet_v1_0.50_192](http://download.tensorflow.org/models/mobilenet_v1_0.50_192_2017_06_14.tar.gz)|110|1.34|62.1|84.0| +[MobileNet_v1_0.50_160](http://download.tensorflow.org/models/mobilenet_v1_0.50_160_2017_06_14.tar.gz)|77|1.34|59.9|82.5| +[MobileNet_v1_0.50_128](http://download.tensorflow.org/models/mobilenet_v1_0.50_128_2017_06_14.tar.gz)|49|1.34|56.2|79.6| +[MobileNet_v1_0.25_224](http://download.tensorflow.org/models/mobilenet_v1_0.25_224_2017_06_14.tar.gz)|41|0.47|50.6|75.0| +[MobileNet_v1_0.25_192](http://download.tensorflow.org/models/mobilenet_v1_0.25_192_2017_06_14.tar.gz)|34|0.47|49.0|73.6| +[MobileNet_v1_0.25_160](http://download.tensorflow.org/models/mobilenet_v1_0.25_160_2017_06_14.tar.gz)|21|0.47|46.0|70.7| +[MobileNet_v1_0.25_128](http://download.tensorflow.org/models/mobilenet_v1_0.25_128_2017_06_14.tar.gz)|14|0.47|41.3|66.2| + + +Here is an example of how to download the MobileNet_v1_1.0_224 checkpoint: + +```shell +$ CHECKPOINT_DIR=/tmp/checkpoints +$ mkdir ${CHECKPOINT_DIR} +$ wget http://download.tensorflow.org/models/mobilenet_v1_1.0_224_2017_06_14.tar.gz +$ tar -xvf mobilenet_v1_1.0_224_2017_06_14.tar.gz +$ mv mobilenet_v1_1.0_224.ckpt.* ${CHECKPOINT_DIR} +$ rm mobilenet_v1_1.0_224_2017_06_14.tar.gz +``` +More information on integrating MobileNets into your project can be found at the [TF-Slim Image Classification Library](https://github.com/tensorflow/models/blob/master/slim/README.md). + +To get started running models on-device go to [TensorFlow Mobile](https://www.tensorflow.org/mobile/). diff --git a/slim/nets/mobilenet_v1.png b/slim/nets/mobilenet_v1.png new file mode 100644 index 0000000000000000000000000000000000000000..a458345174a12073a653e26d6747914a4e58e516 GIT binary patch literal 100916 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 z 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

      28S;~r`@&Z*|%K=(VQZy942UO zhl$jx^mqjC;Dd(0xV6l>tAqrvc7L#RS_1PT%FG--rbqPfFb$ofS|y#BQ(9I)zR`7= z%IJ2RA1}?)&F<87$q>0qy!Up0R)hKy;WD&yGG>3bg<>)^WdF~MrGrvkz{ z#e0xj97Y4(nR(3XS9OM6SV~*-vfZq0L?mHasNT!3!&c2WhO<-!Eeu1CVvaBk>bUGfVUSkHEAc{ z7P`OQbzoRJ02BMB%ieQn4)MBzUaMz?KLakKcCA%j`GC3K`BSKFzdxfyvOH6PovYvG zhdPbVl%9Bhd)c=;NvBHqZ>A#j9XkBUOXhAF5QU%l7al*3;!Aw-Ng@bW`J^dWoP;2Zt0%=RmVB0k7b+{;?Gg>XMIHd)(PW4Mb-ic#2QX|=9gi`U4yZ-ckk0Yj zu4=T&2!dkyU6eqGOldh?rd0o0&@&g-3Ai!UF8odBiNZfO2&1P0fvDhOD(VywdwIe3 zd6+BN^?pjnR%RsKtELin^8kQbG}my17_7H5Egp#gzt>mWAQEsdK__I@ZJEu_XMGRN z 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

      + +

      +Contributions to the codebase are welcome and we would love to hear back from +you if you find this API useful. Finally if you use the Tensorflow Object +Detection API for a research publication, please consider citing: + +``` +"Speed/accuracy trade-offs for modern convolutional object detectors." +Huang J, Rathod V, Sun C, Zhu M, Korattikara A, Fathi A, Fischer I, Wojna Z, +Song Y, Guadarrama S, Murphy K, CVPR 2017 +``` +\[[link](https://arxiv.org/abs/1611.10012)\]\[[bibtex]( +https://scholar.googleusercontent.com/scholar.bib?q=info:l291WsrB-hQJ:scholar.google.com/&output=citation&scisig=AAGBfm0AAAAAWUIIlnPZ_L9jxvPwcC49kDlELtaeIyU-&scisf=4&ct=citation&cd=-1&hl=en&scfhb=1)\] + +## Maintainers + +* Jonathan Huang, github: [jch1](https://github.com/jch1) +* Vivek Rathod, github: [tombstone](https://github.com/tombstone) +* Derek Chow, github: [derekjchow](https://github.com/derekjchow) +* Chen Sun, github: [jesu9](https://github.com/jesu9) +* Menglong Zhu, github: [dreamdragon](https://github.com/dreamdragon) + + +## Table of contents + +Quick Start: +* + Quick Start: Jupyter notebook for off-the-shelf inference
      +* Quick Start: Training on a pet detector
      + +Setup: +* Installation
      +* + Configuring an object detection pipeline
      +* Preparing inputs
      + +Running: +* Running locally
      +* Running on the cloud
      + +Extras: +* Tensorflow detection model zoo
      +* + Exporting a trained model for inference
      +* + Defining your own model architecture
      + +## Release information + +### June 15, 2017 + +In addition to our base Tensorflow detection model definitions, this +release includes: + +* A selection of trainable detection models, including: + * Single Shot Multibox Detector (SSD) with MobileNet, + * SSD with Inception V2, + * Region-Based Fully Convolutional Networks (R-FCN) with Resnet 101, + * Faster RCNN with Resnet 101, + * Faster RCNN with Inception Resnet v2 + * Mask R-CNN with Resnet 101. +* Frozen weights (trained on the COCO dataset) for each of the above models to + be used for out-of-the-box inference purposes. +* A [Jupyter notebook](object_detection_tutorial.ipynb) for performing + out-of-the-box inference with one of our released models +* Convenient [local training](g3doc/running_locally.md) scripts as well as + distributed training and evaluation pipelines via + [Google Cloud](g3doc/running_on_cloud.md). + + +Thanks to contributors: Jonathan Huang, Vivek Rathod, Derek Chow, +Chen Sun, Menglong Zhu, Matthew Tang, Anoop Korattikara, Alireza Fathi, Ian Fischer, Zbigniew Wojna, Yang Song, Sergio Guadarrama, Jasper Uijlings, +Viacheslav Kovalevskyi, Kevin Murphy diff --git a/object_detection/__init__.py b/object_detection/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/anchor_generators/BUILD b/object_detection/anchor_generators/BUILD new file mode 100644 index 000000000..cb421a0c1 --- /dev/null +++ b/object_detection/anchor_generators/BUILD @@ -0,0 +1,56 @@ +# Tensorflow Object Detection API: Anchor Generator implementations. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) + +# Apache 2.0 +py_library( + name = "grid_anchor_generator", + srcs = [ + "grid_anchor_generator.py", + ], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/core:anchor_generator", + "//tensorflow_models/object_detection/core:box_list", + "//tensorflow_models/object_detection/utils:ops", + ], +) + +py_test( + name = "grid_anchor_generator_test", + srcs = [ + "grid_anchor_generator_test.py", + ], + deps = [ + ":grid_anchor_generator", + "//tensorflow", + ], +) + +py_library( + name = "multiple_grid_anchor_generator", + srcs = [ + "multiple_grid_anchor_generator.py", + ], + deps = [ + ":grid_anchor_generator", + "//tensorflow", + "//tensorflow_models/object_detection/core:anchor_generator", + "//tensorflow_models/object_detection/core:box_list_ops", + ], +) + +py_test( + name = "multiple_grid_anchor_generator_test", + srcs = [ + "multiple_grid_anchor_generator_test.py", + ], + deps = [ + ":multiple_grid_anchor_generator", + "//third_party/py/numpy", + ], +) diff --git a/object_detection/anchor_generators/__init__.py b/object_detection/anchor_generators/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/anchor_generators/grid_anchor_generator.py b/object_detection/anchor_generators/grid_anchor_generator.py new file mode 100644 index 000000000..d2ea2c07d --- /dev/null +++ b/object_detection/anchor_generators/grid_anchor_generator.py @@ -0,0 +1,194 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Generates grid anchors on the fly as used in Faster RCNN. + +Generates grid anchors on the fly as described in: +"Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks" +Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. +""" + +import tensorflow as tf + +from object_detection.core import anchor_generator +from object_detection.core import box_list +from object_detection.utils import ops + + +class GridAnchorGenerator(anchor_generator.AnchorGenerator): + """Generates a grid of anchors at given scales and aspect ratios.""" + + def __init__(self, + scales=(0.5, 1.0, 2.0), + aspect_ratios=(0.5, 1.0, 2.0), + base_anchor_size=None, + anchor_stride=None, + anchor_offset=None): + """Constructs a GridAnchorGenerator. + + Args: + scales: a list of (float) scales, default=(0.5, 1.0, 2.0) + aspect_ratios: a list of (float) aspect ratios, default=(0.5, 1.0, 2.0) + base_anchor_size: base anchor size as height, width ( + (length-2 float32 list, default=[256, 256]) + anchor_stride: difference in centers between base anchors for adjacent + grid positions (length-2 float32 list, default=[16, 16]) + anchor_offset: center of the anchor with scale and aspect ratio 1 for the + upper left element of the grid, this should be zero for + feature networks with only VALID padding and even receptive + field size, but may need additional calculation if other + padding is used (length-2 float32 tensor, default=[0, 0]) + """ + # Handle argument defaults + if base_anchor_size is None: + base_anchor_size = [256, 256] + base_anchor_size = tf.constant(base_anchor_size, tf.float32) + if anchor_stride is None: + anchor_stride = [16, 16] + anchor_stride = tf.constant(anchor_stride, dtype=tf.float32) + if anchor_offset is None: + anchor_offset = [0, 0] + anchor_offset = tf.constant(anchor_offset, dtype=tf.float32) + + self._scales = scales + self._aspect_ratios = aspect_ratios + self._base_anchor_size = base_anchor_size + self._anchor_stride = anchor_stride + self._anchor_offset = anchor_offset + + def name_scope(self): + return 'GridAnchorGenerator' + + def num_anchors_per_location(self): + """Returns the number of anchors per spatial location. + + Returns: + a list of integers, one for each expected feature map to be passed to + the `generate` function. + """ + return [len(self._scales) * len(self._aspect_ratios)] + + def _generate(self, feature_map_shape_list): + """Generates a collection of bounding boxes to be used as anchors. + + Args: + feature_map_shape_list: list of pairs of convnet layer resolutions in the + format [(height_0, width_0)]. For example, setting + feature_map_shape_list=[(8, 8)] asks for anchors that correspond + to an 8x8 layer. For this anchor generator, only lists of length 1 are + allowed. + + Returns: + boxes: a BoxList holding a collection of N anchor boxes + Raises: + ValueError: if feature_map_shape_list, box_specs_list do not have the same + length. + ValueError: if feature_map_shape_list does not consist of pairs of + integers + """ + if not (isinstance(feature_map_shape_list, list) + and len(feature_map_shape_list) == 1): + raise ValueError('feature_map_shape_list must be a list of length 1.') + if not all([isinstance(list_item, tuple) and len(list_item) == 2 + for list_item in feature_map_shape_list]): + raise ValueError('feature_map_shape_list must be a list of pairs.') + grid_height, grid_width = feature_map_shape_list[0] + scales_grid, aspect_ratios_grid = ops.meshgrid(self._scales, + self._aspect_ratios) + scales_grid = tf.reshape(scales_grid, [-1]) + aspect_ratios_grid = tf.reshape(aspect_ratios_grid, [-1]) + return tile_anchors(grid_height, + grid_width, + scales_grid, + aspect_ratios_grid, + self._base_anchor_size, + self._anchor_stride, + self._anchor_offset) + + +def tile_anchors(grid_height, + grid_width, + scales, + aspect_ratios, + base_anchor_size, + anchor_stride, + anchor_offset): + """Create a tiled set of anchors strided along a grid in image space. + + This op creates a set of anchor boxes by placing a "basis" collection of + boxes with user-specified scales and aspect ratios centered at evenly + distributed points along a grid. The basis collection is specified via the + scale and aspect_ratios arguments. For example, setting scales=[.1, .2, .2] + and aspect ratios = [2,2,1/2] means that we create three boxes: one with scale + .1, aspect ratio 2, one with scale .2, aspect ratio 2, and one with scale .2 + and aspect ratio 1/2. Each box is multiplied by "base_anchor_size" before + placing it over its respective center. + + Grid points are specified via grid_height, grid_width parameters as well as + the anchor_stride and anchor_offset parameters. + + Args: + grid_height: size of the grid in the y direction (int or int scalar tensor) + grid_width: size of the grid in the x direction (int or int scalar tensor) + scales: a 1-d (float) tensor representing the scale of each box in the + basis set. + aspect_ratios: a 1-d (float) tensor representing the aspect ratio of each + box in the basis set. The length of the scales and aspect_ratios tensors + must be equal. + base_anchor_size: base anchor size as [height, width] + (float tensor of shape [2]) + anchor_stride: difference in centers between base anchors for adjacent grid + positions (float tensor of shape [2]) + anchor_offset: center of the anchor with scale and aspect ratio 1 for the + upper left element of the grid, this should be zero for + feature networks with only VALID padding and even receptive + field size, but may need some additional calculation if other + padding is used (float tensor of shape [2]) + Returns: + a BoxList holding a collection of N anchor boxes + """ + ratio_sqrts = tf.sqrt(aspect_ratios) + heights = scales / ratio_sqrts * base_anchor_size[0] + widths = scales * ratio_sqrts * base_anchor_size[1] + + # Get a grid of box centers + y_centers = tf.to_float(tf.range(grid_height)) + y_centers = y_centers * anchor_stride[0] + anchor_offset[0] + x_centers = tf.to_float(tf.range(grid_width)) + x_centers = x_centers * anchor_stride[1] + anchor_offset[1] + x_centers, y_centers = ops.meshgrid(x_centers, y_centers) + + widths_grid, x_centers_grid = ops.meshgrid(widths, x_centers) + heights_grid, y_centers_grid = ops.meshgrid(heights, y_centers) + bbox_centers = tf.stack([y_centers_grid, x_centers_grid], axis=3) + bbox_sizes = tf.stack([heights_grid, widths_grid], axis=3) + bbox_centers = tf.reshape(bbox_centers, [-1, 2]) + bbox_sizes = tf.reshape(bbox_sizes, [-1, 2]) + bbox_corners = _center_size_bbox_to_corners_bbox(bbox_centers, bbox_sizes) + return box_list.BoxList(bbox_corners) + + +def _center_size_bbox_to_corners_bbox(centers, sizes): + """Converts bbox center-size representation to corners representation. + + Args: + centers: a tensor with shape [N, 2] representing bounding box centers + sizes: a tensor with shape [N, 2] representing bounding boxes + + Returns: + corners: tensor with shape [N, 4] representing bounding boxes in corners + representation + """ + return tf.concat([centers - .5 * sizes, centers + .5 * sizes], 1) diff --git a/object_detection/anchor_generators/grid_anchor_generator_test.py b/object_detection/anchor_generators/grid_anchor_generator_test.py new file mode 100644 index 000000000..80a82a390 --- /dev/null +++ b/object_detection/anchor_generators/grid_anchor_generator_test.py @@ -0,0 +1,76 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.grid_anchor_generator.""" + +import tensorflow as tf + +from object_detection.anchor_generators import grid_anchor_generator + + +class GridAnchorGeneratorTest(tf.test.TestCase): + + def test_construct_single_anchor(self): + """Builds a 1x1 anchor grid to test the size of the output boxes.""" + scales = [0.5, 1.0, 2.0] + aspect_ratios = [0.25, 1.0, 4.0] + anchor_offset = [7, -3] + exp_anchor_corners = [[-121, -35, 135, 29], [-249, -67, 263, 61], + [-505, -131, 519, 125], [-57, -67, 71, 61], + [-121, -131, 135, 125], [-249, -259, 263, 253], + [-25, -131, 39, 125], [-57, -259, 71, 253], + [-121, -515, 135, 509]] + + anchor_generator = grid_anchor_generator.GridAnchorGenerator( + scales, aspect_ratios, + anchor_offset=anchor_offset) + anchors = anchor_generator.generate(feature_map_shape_list=[(1, 1)]) + anchor_corners = anchors.get() + + with self.test_session(): + anchor_corners_out = anchor_corners.eval() + self.assertAllClose(anchor_corners_out, exp_anchor_corners) + + def test_construct_anchor_grid(self): + base_anchor_size = [10, 10] + anchor_stride = [19, 19] + anchor_offset = [0, 0] + scales = [0.5, 1.0, 2.0] + aspect_ratios = [1.0] + + exp_anchor_corners = [[-2.5, -2.5, 2.5, 2.5], [-5., -5., 5., 5.], + [-10., -10., 10., 10.], [-2.5, 16.5, 2.5, 21.5], + [-5., 14., 5, 24], [-10., 9., 10, 29], + [16.5, -2.5, 21.5, 2.5], [14., -5., 24, 5], + [9., -10., 29, 10], [16.5, 16.5, 21.5, 21.5], + [14., 14., 24, 24], [9., 9., 29, 29]] + + anchor_generator = grid_anchor_generator.GridAnchorGenerator( + scales, + aspect_ratios, + base_anchor_size=base_anchor_size, + anchor_stride=anchor_stride, + anchor_offset=anchor_offset) + + anchors = anchor_generator.generate(feature_map_shape_list=[(2, 2)]) + anchor_corners = anchors.get() + + with self.test_session(): + anchor_corners_out = anchor_corners.eval() + self.assertAllClose(anchor_corners_out, exp_anchor_corners) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/anchor_generators/multiple_grid_anchor_generator.py b/object_detection/anchor_generators/multiple_grid_anchor_generator.py new file mode 100644 index 000000000..655d99f19 --- /dev/null +++ b/object_detection/anchor_generators/multiple_grid_anchor_generator.py @@ -0,0 +1,273 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Generates grid anchors on the fly corresponding to multiple CNN layers. + +Generates grid anchors on the fly corresponding to multiple CNN layers as +described in: +"SSD: Single Shot MultiBox Detector" +Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, +Cheng-Yang Fu, Alexander C. Berg +(see Section 2.2: Choosing scales and aspect ratios for default boxes) +""" + +import numpy as np + +import tensorflow as tf + +from object_detection.anchor_generators import grid_anchor_generator +from object_detection.core import anchor_generator +from object_detection.core import box_list_ops + + +class MultipleGridAnchorGenerator(anchor_generator.AnchorGenerator): + """Generate a grid of anchors for multiple CNN layers.""" + + def __init__(self, + box_specs_list, + base_anchor_size=None, + clip_window=None): + """Constructs a MultipleGridAnchorGenerator. + + To construct anchors, at multiple grid resolutions, one must provide a + list of feature_map_shape_list (e.g., [(8, 8), (4, 4)]), and for each grid + size, a corresponding list of (scale, aspect ratio) box specifications. + + For example: + box_specs_list = [[(.1, 1.0), (.1, 2.0)], # for 8x8 grid + [(.2, 1.0), (.3, 1.0), (.2, 2.0)]] # for 4x4 grid + + To support the fully convolutional setting, we pass grid sizes in at + generation time, while scale and aspect ratios are fixed at construction + time. + + Args: + box_specs_list: list of list of (scale, aspect ratio) pairs with the + outside list having the same number of entries as feature_map_shape_list + (which is passed in at generation time). + base_anchor_size: base anchor size as [height, width] + (length-2 float tensor, default=[256, 256]). + clip_window: a tensor of shape [4] specifying a window to which all + anchors should be clipped. If clip_window is None, then no clipping + is performed. + + Raises: + ValueError: if box_specs_list is not a list of list of pairs + ValueError: if clip_window is not either None or a tensor of shape [4] + """ + if isinstance(box_specs_list, list) and all( + [isinstance(list_item, list) for list_item in box_specs_list]): + self._box_specs = box_specs_list + else: + raise ValueError('box_specs_list is expected to be a ' + 'list of lists of pairs') + if base_anchor_size is None: + base_anchor_size = tf.constant([256, 256], dtype=tf.float32) + self._base_anchor_size = base_anchor_size + if clip_window is not None and clip_window.get_shape().as_list() != [4]: + raise ValueError('clip_window must either be None or a shape [4] tensor') + self._clip_window = clip_window + self._scales = [] + self._aspect_ratios = [] + for box_spec in self._box_specs: + if not all([isinstance(entry, tuple) and len(entry) == 2 + for entry in box_spec]): + raise ValueError('box_specs_list is expected to be a ' + 'list of lists of pairs') + scales, aspect_ratios = zip(*box_spec) + self._scales.append(scales) + self._aspect_ratios.append(aspect_ratios) + + def name_scope(self): + return 'MultipleGridAnchorGenerator' + + def num_anchors_per_location(self): + """Returns the number of anchors per spatial location. + + Returns: + a list of integers, one for each expected feature map to be passed to + the Generate function. + """ + return [len(box_specs) for box_specs in self._box_specs] + + def _generate(self, + feature_map_shape_list, + im_height=1, + im_width=1, + anchor_strides=None, + anchor_offsets=None): + """Generates a collection of bounding boxes to be used as anchors. + + The number of anchors generated for a single grid with shape MxM where we + place k boxes over each grid center is k*M^2 and thus the total number of + anchors is the sum over all grids. In our box_specs_list example + (see the constructor docstring), we would place two boxes over each grid + point on an 8x8 grid and three boxes over each grid point on a 4x4 grid and + thus end up with 2*8^2 + 3*4^2 = 176 anchors in total. The layout of the + output anchors follows the order of how the grid sizes and box_specs are + specified (with box_spec index varying the fastest, followed by width + index, then height index, then grid index). + + Args: + feature_map_shape_list: list of pairs of convnet layer resolutions in the + format [(height_0, width_0), (height_1, width_1), ...]. For example, + setting feature_map_shape_list=[(8, 8), (7, 7)] asks for anchors that + correspond to an 8x8 layer followed by a 7x7 layer. + im_height: the height of the image to generate the grid for. If both + im_height and im_width are 1, the generated anchors default to + normalized coordinates, otherwise absolute coordinates are used for the + grid. + im_width: the width of the image to generate the grid for. If both + im_height and im_width are 1, the generated anchors default to + normalized coordinates, otherwise absolute coordinates are used for the + grid. + anchor_strides: list of pairs of strides (in y and x directions + respectively). For example, setting + anchor_strides=[(.25, .25), (.5, .5)] means that we want the anchors + corresponding to the first layer to be strided by .25 and those in the + second layer to be strided by .5 in both y and x directions. By + default, if anchor_strides=None, then they are set to be the reciprocal + of the corresponding grid sizes. The pairs can also be specified as + dynamic tf.int or tf.float numbers, e.g. for variable shape input + images. + anchor_offsets: list of pairs of offsets (in y and x directions + respectively). The offset specifies where we want the center of the + (0, 0)-th anchor to lie for each layer. For example, setting + anchor_offsets=[(.125, .125), (.25, .25)]) means that we want the + (0, 0)-th anchor of the first layer to lie at (.125, .125) in image + space and likewise that we want the (0, 0)-th anchor of the second + layer to lie at (.25, .25) in image space. By default, if + anchor_offsets=None, then they are set to be half of the corresponding + anchor stride. The pairs can also be specified as dynamic tf.int or + tf.float numbers, e.g. for variable shape input images. + + Returns: + boxes: a BoxList holding a collection of N anchor boxes + Raises: + ValueError: if feature_map_shape_list, box_specs_list do not have the same + length. + ValueError: if feature_map_shape_list does not consist of pairs of + integers + """ + if not (isinstance(feature_map_shape_list, list) + and len(feature_map_shape_list) == len(self._box_specs)): + raise ValueError('feature_map_shape_list must be a list with the same ' + 'length as self._box_specs') + if not all([isinstance(list_item, tuple) and len(list_item) == 2 + for list_item in feature_map_shape_list]): + raise ValueError('feature_map_shape_list must be a list of pairs.') + if not anchor_strides: + anchor_strides = [(tf.to_float(im_height) / tf.to_float(pair[0]), + tf.to_float(im_width) / tf.to_float(pair[1])) + for pair in feature_map_shape_list] + if not anchor_offsets: + anchor_offsets = [(0.5 * stride[0], 0.5 * stride[1]) + for stride in anchor_strides] + for arg, arg_name in zip([anchor_strides, anchor_offsets], + ['anchor_strides', 'anchor_offsets']): + if not (isinstance(arg, list) and len(arg) == len(self._box_specs)): + raise ValueError('%s must be a list with the same length ' + 'as self._box_specs' % arg_name) + if not all([isinstance(list_item, tuple) and len(list_item) == 2 + for list_item in arg]): + raise ValueError('%s must be a list of pairs.' % arg_name) + + anchor_grid_list = [] + min_im_shape = tf.to_float(tf.minimum(im_height, im_width)) + base_anchor_size = min_im_shape * self._base_anchor_size + for grid_size, scales, aspect_ratios, stride, offset in zip( + feature_map_shape_list, self._scales, self._aspect_ratios, + anchor_strides, anchor_offsets): + anchor_grid_list.append( + grid_anchor_generator.tile_anchors( + grid_height=grid_size[0], + grid_width=grid_size[1], + scales=scales, + aspect_ratios=aspect_ratios, + base_anchor_size=base_anchor_size, + anchor_stride=stride, + anchor_offset=offset)) + concatenated_anchors = box_list_ops.concatenate(anchor_grid_list) + num_anchors = concatenated_anchors.num_boxes_static() + if num_anchors is None: + num_anchors = concatenated_anchors.num_boxes() + if self._clip_window is not None: + clip_window = tf.multiply( + tf.to_float([im_height, im_width, im_height, im_width]), + self._clip_window) + concatenated_anchors = box_list_ops.clip_to_window( + concatenated_anchors, clip_window, filter_nonoverlapping=False) + # TODO: make reshape an option for the clip_to_window op + concatenated_anchors.set( + tf.reshape(concatenated_anchors.get(), [num_anchors, 4])) + + stddevs_tensor = 0.01 * tf.ones( + [num_anchors, 4], dtype=tf.float32, name='stddevs') + concatenated_anchors.add_field('stddev', stddevs_tensor) + + return concatenated_anchors + + +def create_ssd_anchors(num_layers=6, + min_scale=0.2, + max_scale=0.95, + aspect_ratios=(1.0, 2.0, 3.0, 1.0/2, 1.0/3), + base_anchor_size=None, + reduce_boxes_in_lowest_layer=True): + """Creates MultipleGridAnchorGenerator for SSD anchors. + + This function instantiates a MultipleGridAnchorGenerator that reproduces + ``default box`` construction proposed by Liu et al in the SSD paper. + See Section 2.2 for details. Grid sizes are assumed to be passed in + at generation time from finest resolution to coarsest resolution --- this is + used to (linearly) interpolate scales of anchor boxes corresponding to the + intermediate grid sizes. + + Anchors that are returned by calling the `generate` method on the returned + MultipleGridAnchorGenerator object are always in normalized coordinates + and clipped to the unit square: (i.e. all coordinates lie in [0, 1]x[0, 1]). + + Args: + num_layers: integer number of grid layers to create anchors for (actual + grid sizes passed in at generation time) + min_scale: scale of anchors corresponding to finest resolution (float) + max_scale: scale of anchors corresponding to coarsest resolution (float) + aspect_ratios: list or tuple of (float) aspect ratios to place on each + grid point. + base_anchor_size: base anchor size as [height, width]. + reduce_boxes_in_lowest_layer: a boolean to indicate whether the fixed 3 + boxes per location is used in the lowest layer. + + Returns: + a MultipleGridAnchorGenerator + """ + if base_anchor_size is None: + base_anchor_size = [1.0, 1.0] + base_anchor_size = tf.constant(base_anchor_size, dtype=tf.float32) + box_specs_list = [] + scales = [min_scale + (max_scale - min_scale) * i / (num_layers - 1) + for i in range(num_layers)] + [1.0] + for layer, scale, scale_next in zip( + range(num_layers), scales[:-1], scales[1:]): + layer_box_specs = [] + if layer == 0 and reduce_boxes_in_lowest_layer: + layer_box_specs = [(0.1, 1.0), (scale, 2.0), (scale, 0.5)] + else: + for aspect_ratio in aspect_ratios: + layer_box_specs.append((scale, aspect_ratio)) + if aspect_ratio == 1.0: + layer_box_specs.append((np.sqrt(scale*scale_next), 1.0)) + box_specs_list.append(layer_box_specs) + return MultipleGridAnchorGenerator(box_specs_list, base_anchor_size) diff --git a/object_detection/anchor_generators/multiple_grid_anchor_generator_test.py b/object_detection/anchor_generators/multiple_grid_anchor_generator_test.py new file mode 100644 index 000000000..a7f0346b6 --- /dev/null +++ b/object_detection/anchor_generators/multiple_grid_anchor_generator_test.py @@ -0,0 +1,253 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for anchor_generators.multiple_grid_anchor_generator_test.py.""" + +import numpy as np + +import tensorflow as tf + +from object_detection.anchor_generators import multiple_grid_anchor_generator as ag + + +class MultipleGridAnchorGeneratorTest(tf.test.TestCase): + + def test_construct_single_anchor_grid(self): + """Builds a 1x1 anchor grid to test the size of the output boxes.""" + exp_anchor_corners = [[-121, -35, 135, 29], [-249, -67, 263, 61], + [-505, -131, 519, 125], [-57, -67, 71, 61], + [-121, -131, 135, 125], [-249, -259, 263, 253], + [-25, -131, 39, 125], [-57, -259, 71, 253], + [-121, -515, 135, 509]] + + base_anchor_size = tf.constant([256, 256], dtype=tf.float32) + box_specs_list = [[(.5, .25), (1.0, .25), (2.0, .25), + (.5, 1.0), (1.0, 1.0), (2.0, 1.0), + (.5, 4.0), (1.0, 4.0), (2.0, 4.0)]] + anchor_generator = ag.MultipleGridAnchorGenerator( + box_specs_list, base_anchor_size) + anchors = anchor_generator.generate(feature_map_shape_list=[(1, 1)], + anchor_strides=[(16, 16)], + anchor_offsets=[(7, -3)]) + anchor_corners = anchors.get() + with self.test_session(): + anchor_corners_out = anchor_corners.eval() + self.assertAllClose(anchor_corners_out, exp_anchor_corners) + + def test_construct_anchor_grid(self): + base_anchor_size = tf.constant([10, 10], dtype=tf.float32) + box_specs_list = [[(0.5, 1.0), (1.0, 1.0), (2.0, 1.0)]] + + exp_anchor_corners = [[-2.5, -2.5, 2.5, 2.5], [-5., -5., 5., 5.], + [-10., -10., 10., 10.], [-2.5, 16.5, 2.5, 21.5], + [-5., 14., 5, 24], [-10., 9., 10, 29], + [16.5, -2.5, 21.5, 2.5], [14., -5., 24, 5], + [9., -10., 29, 10], [16.5, 16.5, 21.5, 21.5], + [14., 14., 24, 24], [9., 9., 29, 29]] + + anchor_generator = ag.MultipleGridAnchorGenerator( + box_specs_list, base_anchor_size) + anchors = anchor_generator.generate(feature_map_shape_list=[(2, 2)], + anchor_strides=[(19, 19)], + anchor_offsets=[(0, 0)]) + anchor_corners = anchors.get() + + with self.test_session(): + anchor_corners_out = anchor_corners.eval() + self.assertAllClose(anchor_corners_out, exp_anchor_corners) + + def test_construct_anchor_grid_non_square(self): + base_anchor_size = tf.constant([1, 1], dtype=tf.float32) + box_specs_list = [[(1.0, 1.0)]] + + exp_anchor_corners = [[0., -0.25, 1., 0.75], [0., 0.25, 1., 1.25]] + + anchor_generator = ag.MultipleGridAnchorGenerator(box_specs_list, + base_anchor_size) + anchors = anchor_generator.generate(feature_map_shape_list=[(tf.constant( + 1, dtype=tf.int32), tf.constant(2, dtype=tf.int32))]) + anchor_corners = anchors.get() + + with self.test_session(): + anchor_corners_out = anchor_corners.eval() + self.assertAllClose(anchor_corners_out, exp_anchor_corners) + + def test_construct_anchor_grid_unnormalized(self): + base_anchor_size = tf.constant([1, 1], dtype=tf.float32) + box_specs_list = [[(1.0, 1.0)]] + + exp_anchor_corners = [[0., 0., 320., 320.], [0., 320., 320., 640.]] + + anchor_generator = ag.MultipleGridAnchorGenerator(box_specs_list, + base_anchor_size) + anchors = anchor_generator.generate( + feature_map_shape_list=[(tf.constant(1, dtype=tf.int32), tf.constant( + 2, dtype=tf.int32))], + im_height=320, + im_width=640) + anchor_corners = anchors.get() + + with self.test_session(): + anchor_corners_out = anchor_corners.eval() + self.assertAllClose(anchor_corners_out, exp_anchor_corners) + + def test_construct_multiple_grids(self): + base_anchor_size = tf.constant([1.0, 1.0], dtype=tf.float32) + box_specs_list = [[(1.0, 1.0), (2.0, 1.0), (1.0, 0.5)], + [(1.0, 1.0), (1.0, 0.5)]] + + # height and width of box with .5 aspect ratio + h = np.sqrt(2) + w = 1.0/np.sqrt(2) + exp_small_grid_corners = [[-.25, -.25, .75, .75], + [.25-.5*h, .25-.5*w, .25+.5*h, .25+.5*w], + [-.25, .25, .75, 1.25], + [.25-.5*h, .75-.5*w, .25+.5*h, .75+.5*w], + [.25, -.25, 1.25, .75], + [.75-.5*h, .25-.5*w, .75+.5*h, .25+.5*w], + [.25, .25, 1.25, 1.25], + [.75-.5*h, .75-.5*w, .75+.5*h, .75+.5*w]] + # only test first entry of larger set of anchors + exp_big_grid_corners = [[.125-.5, .125-.5, .125+.5, .125+.5], + [.125-1.0, .125-1.0, .125+1.0, .125+1.0], + [.125-.5*h, .125-.5*w, .125+.5*h, .125+.5*w],] + + anchor_generator = ag.MultipleGridAnchorGenerator( + box_specs_list, base_anchor_size) + anchors = anchor_generator.generate(feature_map_shape_list=[(4, 4), (2, 2)], + anchor_strides=[(.25, .25), (.5, .5)], + anchor_offsets=[(.125, .125), + (.25, .25)]) + anchor_corners = anchors.get() + + with self.test_session(): + anchor_corners_out = anchor_corners.eval() + self.assertEquals(anchor_corners_out.shape, (56, 4)) + big_grid_corners = anchor_corners_out[0:3, :] + small_grid_corners = anchor_corners_out[48:, :] + self.assertAllClose(small_grid_corners, exp_small_grid_corners) + self.assertAllClose(big_grid_corners, exp_big_grid_corners) + + def test_construct_multiple_grids_with_clipping(self): + base_anchor_size = tf.constant([1.0, 1.0], dtype=tf.float32) + box_specs_list = [[(1.0, 1.0), (2.0, 1.0), (1.0, 0.5)], + [(1.0, 1.0), (1.0, 0.5)]] + + # height and width of box with .5 aspect ratio + h = np.sqrt(2) + w = 1.0/np.sqrt(2) + exp_small_grid_corners = [[0, 0, .75, .75], + [0, 0, .25+.5*h, .25+.5*w], + [0, .25, .75, 1], + [0, .75-.5*w, .25+.5*h, 1], + [.25, 0, 1, .75], + [.75-.5*h, 0, 1, .25+.5*w], + [.25, .25, 1, 1], + [.75-.5*h, .75-.5*w, 1, 1]] + + clip_window = tf.constant([0, 0, 1, 1], dtype=tf.float32) + anchor_generator = ag.MultipleGridAnchorGenerator( + box_specs_list, base_anchor_size, clip_window=clip_window) + anchors = anchor_generator.generate(feature_map_shape_list=[(4, 4), (2, 2)]) + anchor_corners = anchors.get() + + with self.test_session(): + anchor_corners_out = anchor_corners.eval() + small_grid_corners = anchor_corners_out[48:, :] + self.assertAllClose(small_grid_corners, exp_small_grid_corners) + + def test_invalid_box_specs(self): + # not all box specs are pairs + box_specs_list = [[(1.0, 1.0), (2.0, 1.0), (1.0, 0.5)], + [(1.0, 1.0), (1.0, 0.5, .3)]] + with self.assertRaises(ValueError): + ag.MultipleGridAnchorGenerator(box_specs_list) + + # box_specs_list is not a list of lists + box_specs_list = [(1.0, 1.0), (2.0, 1.0), (1.0, 0.5)] + with self.assertRaises(ValueError): + ag.MultipleGridAnchorGenerator(box_specs_list) + + def test_invalid_generate_arguments(self): + base_anchor_size = tf.constant([1.0, 1.0], dtype=tf.float32) + box_specs_list = [[(1.0, 1.0), (2.0, 1.0), (1.0, 0.5)], + [(1.0, 1.0), (1.0, 0.5)]] + anchor_generator = ag.MultipleGridAnchorGenerator( + box_specs_list, base_anchor_size) + + # incompatible lengths with box_specs_list + with self.assertRaises(ValueError): + anchor_generator.generate(feature_map_shape_list=[(4, 4), (2, 2)], + anchor_strides=[(.25, .25)], + anchor_offsets=[(.125, .125), (.25, .25)]) + with self.assertRaises(ValueError): + anchor_generator.generate(feature_map_shape_list=[(4, 4), (2, 2), (1, 1)], + anchor_strides=[(.25, .25), (.5, .5)], + anchor_offsets=[(.125, .125), (.25, .25)]) + with self.assertRaises(ValueError): + anchor_generator.generate(feature_map_shape_list=[(4, 4), (2, 2)], + anchor_strides=[(.5, .5)], + anchor_offsets=[(.25, .25)]) + + # not pairs + with self.assertRaises(ValueError): + anchor_generator.generate(feature_map_shape_list=[(4, 4, 4), (2, 2)], + anchor_strides=[(.25, .25), (.5, .5)], + anchor_offsets=[(.125, .125), (.25, .25)]) + with self.assertRaises(ValueError): + anchor_generator.generate(feature_map_shape_list=[(4, 4), (2, 2)], + anchor_strides=[(.25, .25, .1), (.5, .5)], + anchor_offsets=[(.125, .125), + (.25, .25)]) + with self.assertRaises(ValueError): + anchor_generator.generate(feature_map_shape_list=[(4), (2, 2)], + anchor_strides=[(.25, .25), (.5, .5)], + anchor_offsets=[(.125), (.25)]) + + +class CreateSSDAnchorsTest(tf.test.TestCase): + + def test_create_ssd_anchors_returns_correct_shape(self): + anchor_generator = ag.create_ssd_anchors( + num_layers=6, min_scale=0.2, max_scale=0.95, + aspect_ratios=(1.0, 2.0, 3.0, 1.0/2, 1.0/3), + reduce_boxes_in_lowest_layer=True) + + feature_map_shape_list = [(38, 38), (19, 19), (10, 10), + (5, 5), (3, 3), (1, 1)] + anchors = anchor_generator.generate( + feature_map_shape_list=feature_map_shape_list) + anchor_corners = anchors.get() + with self.test_session(): + anchor_corners_out = anchor_corners.eval() + self.assertEquals(anchor_corners_out.shape, (7308, 4)) + + anchor_generator = ag.create_ssd_anchors( + num_layers=6, min_scale=0.2, max_scale=0.95, + aspect_ratios=(1.0, 2.0, 3.0, 1.0/2, 1.0/3), + reduce_boxes_in_lowest_layer=False) + + feature_map_shape_list = [(38, 38), (19, 19), (10, 10), + (5, 5), (3, 3), (1, 1)] + anchors = anchor_generator.generate( + feature_map_shape_list=feature_map_shape_list) + anchor_corners = anchors.get() + with self.test_session(): + anchor_corners_out = anchor_corners.eval() + self.assertEquals(anchor_corners_out.shape, (11640, 4)) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/box_coders/BUILD b/object_detection/box_coders/BUILD new file mode 100644 index 000000000..ecb3cc7aa --- /dev/null +++ b/object_detection/box_coders/BUILD @@ -0,0 +1,102 @@ +# Tensorflow Object Detection API: Box Coder implementations. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) + +# Apache 2.0 +py_library( + name = "faster_rcnn_box_coder", + srcs = [ + "faster_rcnn_box_coder.py", + ], + deps = [ + "//tensorflow_models/object_detection/core:box_coder", + "//tensorflow_models/object_detection/core:box_list", + ], +) + +py_test( + name = "faster_rcnn_box_coder_test", + srcs = [ + "faster_rcnn_box_coder_test.py", + ], + deps = [ + ":faster_rcnn_box_coder", + "//tensorflow", + "//tensorflow_models/object_detection/core:box_list", + ], +) + +py_library( + name = "keypoint_box_coder", + srcs = [ + "keypoint_box_coder.py", + ], + deps = [ + "//tensorflow_models/object_detection/core:box_coder", + "//tensorflow_models/object_detection/core:box_list", + "//tensorflow_models/object_detection/core:standard_fields", + ], +) + +py_test( + name = "keypoint_box_coder_test", + srcs = [ + "keypoint_box_coder_test.py", + ], + deps = [ + ":keypoint_box_coder", + "//tensorflow", + "//tensorflow_models/object_detection/core:box_list", + "//tensorflow_models/object_detection/core:standard_fields", + ], +) + +py_library( + name = "mean_stddev_box_coder", + srcs = [ + "mean_stddev_box_coder.py", + ], + deps = [ + "//tensorflow_models/object_detection/core:box_coder", + "//tensorflow_models/object_detection/core:box_list", + ], +) + +py_test( + name = "mean_stddev_box_coder_test", + srcs = [ + "mean_stddev_box_coder_test.py", + ], + deps = [ + ":mean_stddev_box_coder", + "//tensorflow", + "//tensorflow_models/object_detection/core:box_list", + ], +) + +py_library( + name = "square_box_coder", + srcs = [ + "square_box_coder.py", + ], + deps = [ + "//tensorflow_models/object_detection/core:box_coder", + "//tensorflow_models/object_detection/core:box_list", + ], +) + +py_test( + name = "square_box_coder_test", + srcs = [ + "square_box_coder_test.py", + ], + deps = [ + ":square_box_coder", + "//tensorflow", + "//tensorflow_models/object_detection/core:box_list", + ], +) diff --git a/object_detection/box_coders/__init__.py b/object_detection/box_coders/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/box_coders/faster_rcnn_box_coder.py b/object_detection/box_coders/faster_rcnn_box_coder.py new file mode 100644 index 000000000..af25e21a1 --- /dev/null +++ b/object_detection/box_coders/faster_rcnn_box_coder.py @@ -0,0 +1,118 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Faster RCNN box coder. + +Faster RCNN box coder follows the coding schema described below: + ty = (y - ya) / ha + tx = (x - xa) / wa + th = log(h / ha) + tw = log(w / wa) + where x, y, w, h denote the box's center coordinates, width and height + respectively. Similarly, xa, ya, wa, ha denote the anchor's center + coordinates, width and height. tx, ty, tw and th denote the anchor-encoded + center, width and height respectively. + + See http://arxiv.org/abs/1506.01497 for details. +""" + +import tensorflow as tf + +from object_detection.core import box_coder +from object_detection.core import box_list + +EPSILON = 1e-8 + + +class FasterRcnnBoxCoder(box_coder.BoxCoder): + """Faster RCNN box coder.""" + + def __init__(self, scale_factors=None): + """Constructor for FasterRcnnBoxCoder. + + Args: + scale_factors: List of 4 positive scalars to scale ty, tx, th and tw. + If set to None, does not perform scaling. For Faster RCNN, + the open-source implementation recommends using [10.0, 10.0, 5.0, 5.0]. + """ + if scale_factors: + assert len(scale_factors) == 4 + for scalar in scale_factors: + assert scalar > 0 + self._scale_factors = scale_factors + + @property + def code_size(self): + return 4 + + def _encode(self, boxes, anchors): + """Encode a box collection with respect to anchor collection. + + Args: + boxes: BoxList holding N boxes to be encoded. + anchors: BoxList of anchors. + + Returns: + a tensor representing N anchor-encoded boxes of the format + [ty, tx, th, tw]. + """ + # Convert anchors to the center coordinate representation. + ycenter_a, xcenter_a, ha, wa = anchors.get_center_coordinates_and_sizes() + ycenter, xcenter, h, w = boxes.get_center_coordinates_and_sizes() + # Avoid NaN in division and log below. + ha += EPSILON + wa += EPSILON + h += EPSILON + w += EPSILON + + tx = (xcenter - xcenter_a) / wa + ty = (ycenter - ycenter_a) / ha + tw = tf.log(w / wa) + th = tf.log(h / ha) + # Scales location targets as used in paper for joint training. + if self._scale_factors: + ty *= self._scale_factors[0] + tx *= self._scale_factors[1] + th *= self._scale_factors[2] + tw *= self._scale_factors[3] + return tf.transpose(tf.stack([ty, tx, th, tw])) + + def _decode(self, rel_codes, anchors): + """Decode relative codes to boxes. + + Args: + rel_codes: a tensor representing N anchor-encoded boxes. + anchors: BoxList of anchors. + + Returns: + boxes: BoxList holding N bounding boxes. + """ + ycenter_a, xcenter_a, ha, wa = anchors.get_center_coordinates_and_sizes() + + ty, tx, th, tw = tf.unstack(tf.transpose(rel_codes)) + if self._scale_factors: + ty /= self._scale_factors[0] + tx /= self._scale_factors[1] + th /= self._scale_factors[2] + tw /= self._scale_factors[3] + w = tf.exp(tw) * wa + h = tf.exp(th) * ha + ycenter = ty * ha + ycenter_a + xcenter = tx * wa + xcenter_a + ymin = ycenter - h / 2. + xmin = xcenter - w / 2. + ymax = ycenter + h / 2. + xmax = xcenter + w / 2. + return box_list.BoxList(tf.transpose(tf.stack([ymin, xmin, ymax, xmax]))) diff --git a/object_detection/box_coders/faster_rcnn_box_coder_test.py b/object_detection/box_coders/faster_rcnn_box_coder_test.py new file mode 100644 index 000000000..b2135f06e --- /dev/null +++ b/object_detection/box_coders/faster_rcnn_box_coder_test.py @@ -0,0 +1,94 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.box_coder.faster_rcnn_box_coder.""" + +import tensorflow as tf + +from object_detection.box_coders import faster_rcnn_box_coder +from object_detection.core import box_list + + +class FasterRcnnBoxCoderTest(tf.test.TestCase): + + def test_get_correct_relative_codes_after_encoding(self): + boxes = [[10.0, 10.0, 20.0, 15.0], [0.2, 0.1, 0.5, 0.4]] + anchors = [[15.0, 12.0, 30.0, 18.0], [0.1, 0.0, 0.7, 0.9]] + expected_rel_codes = [[-0.5, -0.416666, -0.405465, -0.182321], + [-0.083333, -0.222222, -0.693147, -1.098612]] + boxes = box_list.BoxList(tf.constant(boxes)) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = faster_rcnn_box_coder.FasterRcnnBoxCoder() + rel_codes = coder.encode(boxes, anchors) + with self.test_session() as sess: + rel_codes_out, = sess.run([rel_codes]) + self.assertAllClose(rel_codes_out, expected_rel_codes) + + def test_get_correct_relative_codes_after_encoding_with_scaling(self): + boxes = [[10.0, 10.0, 20.0, 15.0], [0.2, 0.1, 0.5, 0.4]] + anchors = [[15.0, 12.0, 30.0, 18.0], [0.1, 0.0, 0.7, 0.9]] + scale_factors = [2, 3, 4, 5] + expected_rel_codes = [[-1., -1.25, -1.62186, -0.911608], + [-0.166667, -0.666667, -2.772588, -5.493062]] + boxes = box_list.BoxList(tf.constant(boxes)) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = faster_rcnn_box_coder.FasterRcnnBoxCoder( + scale_factors=scale_factors) + rel_codes = coder.encode(boxes, anchors) + with self.test_session() as sess: + rel_codes_out, = sess.run([rel_codes]) + self.assertAllClose(rel_codes_out, expected_rel_codes) + + def test_get_correct_boxes_after_decoding(self): + anchors = [[15.0, 12.0, 30.0, 18.0], [0.1, 0.0, 0.7, 0.9]] + rel_codes = [[-0.5, -0.416666, -0.405465, -0.182321], + [-0.083333, -0.222222, -0.693147, -1.098612]] + expected_boxes = [[10.0, 10.0, 20.0, 15.0], [0.2, 0.1, 0.5, 0.4]] + anchors = box_list.BoxList(tf.constant(anchors)) + coder = faster_rcnn_box_coder.FasterRcnnBoxCoder() + boxes = coder.decode(rel_codes, anchors) + with self.test_session() as sess: + boxes_out, = sess.run([boxes.get()]) + self.assertAllClose(boxes_out, expected_boxes) + + def test_get_correct_boxes_after_decoding_with_scaling(self): + anchors = [[15.0, 12.0, 30.0, 18.0], [0.1, 0.0, 0.7, 0.9]] + rel_codes = [[-1., -1.25, -1.62186, -0.911608], + [-0.166667, -0.666667, -2.772588, -5.493062]] + scale_factors = [2, 3, 4, 5] + expected_boxes = [[10.0, 10.0, 20.0, 15.0], [0.2, 0.1, 0.5, 0.4]] + anchors = box_list.BoxList(tf.constant(anchors)) + coder = faster_rcnn_box_coder.FasterRcnnBoxCoder( + scale_factors=scale_factors) + boxes = coder.decode(rel_codes, anchors) + with self.test_session() as sess: + boxes_out, = sess.run([boxes.get()]) + self.assertAllClose(boxes_out, expected_boxes) + + def test_very_small_Width_nan_after_encoding(self): + boxes = [[10.0, 10.0, 10.0000001, 20.0]] + anchors = [[15.0, 12.0, 30.0, 18.0]] + expected_rel_codes = [[-0.833333, 0., -21.128731, 0.510826]] + boxes = box_list.BoxList(tf.constant(boxes)) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = faster_rcnn_box_coder.FasterRcnnBoxCoder() + rel_codes = coder.encode(boxes, anchors) + with self.test_session() as sess: + rel_codes_out, = sess.run([rel_codes]) + self.assertAllClose(rel_codes_out, expected_rel_codes) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/box_coders/keypoint_box_coder.py b/object_detection/box_coders/keypoint_box_coder.py new file mode 100644 index 000000000..34ed1af23 --- /dev/null +++ b/object_detection/box_coders/keypoint_box_coder.py @@ -0,0 +1,171 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Keypoint box coder. + +The keypoint box coder follows the coding schema described below (this is +similar to the FasterRcnnBoxCoder, except that it encodes keypoints in addition +to box coordinates): + ty = (y - ya) / ha + tx = (x - xa) / wa + th = log(h / ha) + tw = log(w / wa) + tky0 = (ky0 - ya) / ha + tkx0 = (kx0 - xa) / ha + tky1 = (ky1 - ya) / ha + tkx1 = (kx1 - xa) / ha + ... + where x, y, w, h denote the box's center coordinates, width and height + respectively. Similarly, xa, ya, wa, ha denote the anchor's center + coordinates, width and height. tx, ty, tw and th denote the anchor-encoded + center, width and height respectively. ky0, kx0, ky1, kx1, ... denote the + keypoints' coordinates, and tky0, tkx0, tky1, tkx1, ... denote the + anchor-encoded keypoint coordinates. +""" + +import tensorflow as tf + +from object_detection.core import box_coder +from object_detection.core import box_list +from object_detection.core import standard_fields as fields + +EPSILON = 1e-8 + + +class KeypointBoxCoder(box_coder.BoxCoder): + """Keypoint box coder.""" + + def __init__(self, num_keypoints, scale_factors=None): + """Constructor for KeypointBoxCoder. + + Args: + num_keypoints: Number of keypoints to encode/decode. + scale_factors: List of 4 positive scalars to scale ty, tx, th and tw. + In addition to scaling ty and tx, the first 2 scalars are used to scale + the y and x coordinates of the keypoints as well. If set to None, does + not perform scaling. + """ + self._num_keypoints = num_keypoints + + if scale_factors: + assert len(scale_factors) == 4 + for scalar in scale_factors: + assert scalar > 0 + self._scale_factors = scale_factors + self._keypoint_scale_factors = None + if scale_factors is not None: + self._keypoint_scale_factors = tf.expand_dims(tf.tile( + [tf.to_float(scale_factors[0]), tf.to_float(scale_factors[1])], + [num_keypoints]), 1) + + @property + def code_size(self): + return 4 + self._num_keypoints * 2 + + def _encode(self, boxes, anchors): + """Encode a box and keypoint collection with respect to anchor collection. + + Args: + boxes: BoxList holding N boxes and keypoints to be encoded. Boxes are + tensors with the shape [N, 4], and keypoints are tensors with the shape + [N, num_keypoints, 2]. + anchors: BoxList of anchors. + + Returns: + a tensor representing N anchor-encoded boxes of the format + [ty, tx, th, tw, tky0, tkx0, tky1, tkx1, ...] where tky0 and tkx0 + represent the y and x coordinates of the first keypoint, tky1 and tkx1 + represent the y and x coordinates of the second keypoint, and so on. + """ + # Convert anchors to the center coordinate representation. + ycenter_a, xcenter_a, ha, wa = anchors.get_center_coordinates_and_sizes() + ycenter, xcenter, h, w = boxes.get_center_coordinates_and_sizes() + keypoints = boxes.get_field(fields.BoxListFields.keypoints) + keypoints = tf.transpose(tf.reshape(keypoints, + [-1, self._num_keypoints * 2])) + num_boxes = boxes.num_boxes() + + # Avoid NaN in division and log below. + ha += EPSILON + wa += EPSILON + h += EPSILON + w += EPSILON + + tx = (xcenter - xcenter_a) / wa + ty = (ycenter - ycenter_a) / ha + tw = tf.log(w / wa) + th = tf.log(h / ha) + + tiled_anchor_centers = tf.tile( + tf.stack([ycenter_a, xcenter_a]), [self._num_keypoints, 1]) + tiled_anchor_sizes = tf.tile( + tf.stack([ha, wa]), [self._num_keypoints, 1]) + tkeypoints = (keypoints - tiled_anchor_centers) / tiled_anchor_sizes + + # Scales location targets as used in paper for joint training. + if self._scale_factors: + ty *= self._scale_factors[0] + tx *= self._scale_factors[1] + th *= self._scale_factors[2] + tw *= self._scale_factors[3] + tkeypoints *= tf.tile(self._keypoint_scale_factors, [1, num_boxes]) + + tboxes = tf.stack([ty, tx, th, tw]) + return tf.transpose(tf.concat([tboxes, tkeypoints], 0)) + + def _decode(self, rel_codes, anchors): + """Decode relative codes to boxes and keypoints. + + Args: + rel_codes: a tensor with shape [N, 4 + 2 * num_keypoints] representing N + anchor-encoded boxes and keypoints + anchors: BoxList of anchors. + + Returns: + boxes: BoxList holding N bounding boxes and keypoints. + """ + ycenter_a, xcenter_a, ha, wa = anchors.get_center_coordinates_and_sizes() + + num_codes = tf.shape(rel_codes)[0] + result = tf.unstack(tf.transpose(rel_codes)) + ty, tx, th, tw = result[:4] + tkeypoints = result[4:] + if self._scale_factors: + ty /= self._scale_factors[0] + tx /= self._scale_factors[1] + th /= self._scale_factors[2] + tw /= self._scale_factors[3] + tkeypoints /= tf.tile(self._keypoint_scale_factors, [1, num_codes]) + + w = tf.exp(tw) * wa + h = tf.exp(th) * ha + ycenter = ty * ha + ycenter_a + xcenter = tx * wa + xcenter_a + ymin = ycenter - h / 2. + xmin = xcenter - w / 2. + ymax = ycenter + h / 2. + xmax = xcenter + w / 2. + decoded_boxes_keypoints = box_list.BoxList( + tf.transpose(tf.stack([ymin, xmin, ymax, xmax]))) + + tiled_anchor_centers = tf.tile( + tf.stack([ycenter_a, xcenter_a]), [self._num_keypoints, 1]) + tiled_anchor_sizes = tf.tile( + tf.stack([ha, wa]), [self._num_keypoints, 1]) + keypoints = tkeypoints * tiled_anchor_sizes + tiled_anchor_centers + keypoints = tf.reshape(tf.transpose(keypoints), + [-1, self._num_keypoints, 2]) + decoded_boxes_keypoints.add_field(fields.BoxListFields.keypoints, keypoints) + return decoded_boxes_keypoints diff --git a/object_detection/box_coders/keypoint_box_coder_test.py b/object_detection/box_coders/keypoint_box_coder_test.py new file mode 100644 index 000000000..330641e58 --- /dev/null +++ b/object_detection/box_coders/keypoint_box_coder_test.py @@ -0,0 +1,140 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.box_coder.keypoint_box_coder.""" + +import tensorflow as tf + +from object_detection.box_coders import keypoint_box_coder +from object_detection.core import box_list +from object_detection.core import standard_fields as fields + + +class KeypointBoxCoderTest(tf.test.TestCase): + + def test_get_correct_relative_codes_after_encoding(self): + boxes = [[10., 10., 20., 15.], + [0.2, 0.1, 0.5, 0.4]] + keypoints = [[[15., 12.], [10., 15.]], + [[0.5, 0.3], [0.2, 0.4]]] + num_keypoints = len(keypoints[0]) + anchors = [[15., 12., 30., 18.], + [0.1, 0.0, 0.7, 0.9]] + expected_rel_codes = [ + [-0.5, -0.416666, -0.405465, -0.182321, + -0.5, -0.5, -0.833333, 0.], + [-0.083333, -0.222222, -0.693147, -1.098612, + 0.166667, -0.166667, -0.333333, -0.055556] + ] + boxes = box_list.BoxList(tf.constant(boxes)) + boxes.add_field(fields.BoxListFields.keypoints, tf.constant(keypoints)) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = keypoint_box_coder.KeypointBoxCoder(num_keypoints) + rel_codes = coder.encode(boxes, anchors) + with self.test_session() as sess: + rel_codes_out, = sess.run([rel_codes]) + self.assertAllClose(rel_codes_out, expected_rel_codes) + + def test_get_correct_relative_codes_after_encoding_with_scaling(self): + boxes = [[10., 10., 20., 15.], + [0.2, 0.1, 0.5, 0.4]] + keypoints = [[[15., 12.], [10., 15.]], + [[0.5, 0.3], [0.2, 0.4]]] + num_keypoints = len(keypoints[0]) + anchors = [[15., 12., 30., 18.], + [0.1, 0.0, 0.7, 0.9]] + scale_factors = [2, 3, 4, 5] + expected_rel_codes = [ + [-1., -1.25, -1.62186, -0.911608, + -1.0, -1.5, -1.666667, 0.], + [-0.166667, -0.666667, -2.772588, -5.493062, + 0.333333, -0.5, -0.666667, -0.166667] + ] + boxes = box_list.BoxList(tf.constant(boxes)) + boxes.add_field(fields.BoxListFields.keypoints, tf.constant(keypoints)) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = keypoint_box_coder.KeypointBoxCoder( + num_keypoints, scale_factors=scale_factors) + rel_codes = coder.encode(boxes, anchors) + with self.test_session() as sess: + rel_codes_out, = sess.run([rel_codes]) + self.assertAllClose(rel_codes_out, expected_rel_codes) + + def test_get_correct_boxes_after_decoding(self): + anchors = [[15., 12., 30., 18.], + [0.1, 0.0, 0.7, 0.9]] + rel_codes = [ + [-0.5, -0.416666, -0.405465, -0.182321, + -0.5, -0.5, -0.833333, 0.], + [-0.083333, -0.222222, -0.693147, -1.098612, + 0.166667, -0.166667, -0.333333, -0.055556] + ] + expected_boxes = [[10., 10., 20., 15.], + [0.2, 0.1, 0.5, 0.4]] + expected_keypoints = [[[15., 12.], [10., 15.]], + [[0.5, 0.3], [0.2, 0.4]]] + num_keypoints = len(expected_keypoints[0]) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = keypoint_box_coder.KeypointBoxCoder(num_keypoints) + boxes = coder.decode(rel_codes, anchors) + with self.test_session() as sess: + boxes_out, keypoints_out = sess.run( + [boxes.get(), boxes.get_field(fields.BoxListFields.keypoints)]) + self.assertAllClose(boxes_out, expected_boxes) + self.assertAllClose(keypoints_out, expected_keypoints) + + def test_get_correct_boxes_after_decoding_with_scaling(self): + anchors = [[15., 12., 30., 18.], + [0.1, 0.0, 0.7, 0.9]] + rel_codes = [ + [-1., -1.25, -1.62186, -0.911608, + -1.0, -1.5, -1.666667, 0.], + [-0.166667, -0.666667, -2.772588, -5.493062, + 0.333333, -0.5, -0.666667, -0.166667] + ] + scale_factors = [2, 3, 4, 5] + expected_boxes = [[10., 10., 20., 15.], + [0.2, 0.1, 0.5, 0.4]] + expected_keypoints = [[[15., 12.], [10., 15.]], + [[0.5, 0.3], [0.2, 0.4]]] + num_keypoints = len(expected_keypoints[0]) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = keypoint_box_coder.KeypointBoxCoder( + num_keypoints, scale_factors=scale_factors) + boxes = coder.decode(rel_codes, anchors) + with self.test_session() as sess: + boxes_out, keypoints_out = sess.run( + [boxes.get(), boxes.get_field(fields.BoxListFields.keypoints)]) + self.assertAllClose(boxes_out, expected_boxes) + self.assertAllClose(keypoints_out, expected_keypoints) + + def test_very_small_width_nan_after_encoding(self): + boxes = [[10., 10., 10.0000001, 20.]] + keypoints = [[[10., 10.], [10.0000001, 20.]]] + anchors = [[15., 12., 30., 18.]] + expected_rel_codes = [[-0.833333, 0., -21.128731, 0.510826, + -0.833333, -0.833333, -0.833333, 0.833333]] + boxes = box_list.BoxList(tf.constant(boxes)) + boxes.add_field(fields.BoxListFields.keypoints, tf.constant(keypoints)) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = keypoint_box_coder.KeypointBoxCoder(2) + rel_codes = coder.encode(boxes, anchors) + with self.test_session() as sess: + rel_codes_out, = sess.run([rel_codes]) + self.assertAllClose(rel_codes_out, expected_rel_codes) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/box_coders/mean_stddev_box_coder.py b/object_detection/box_coders/mean_stddev_box_coder.py new file mode 100644 index 000000000..726b4a61c --- /dev/null +++ b/object_detection/box_coders/mean_stddev_box_coder.py @@ -0,0 +1,70 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Mean stddev box coder. + +This box coder use the following coding schema to encode boxes: +rel_code = (box_corner - anchor_corner_mean) / anchor_corner_stddev. +""" +from object_detection.core import box_coder +from object_detection.core import box_list + + +class MeanStddevBoxCoder(box_coder.BoxCoder): + """Mean stddev box coder.""" + + @property + def code_size(self): + return 4 + + def _encode(self, boxes, anchors): + """Encode a box collection with respect to anchor collection. + + Args: + boxes: BoxList holding N boxes to be encoded. + anchors: BoxList of N anchors. We assume that anchors has an associated + stddev field. + + Returns: + a tensor representing N anchor-encoded boxes + Raises: + ValueError: if the anchors BoxList does not have a stddev field + """ + if not anchors.has_field('stddev'): + raise ValueError('anchors must have a stddev field') + box_corners = boxes.get() + means = anchors.get() + stddev = anchors.get_field('stddev') + return (box_corners - means) / stddev + + def _decode(self, rel_codes, anchors): + """Decode. + + Args: + rel_codes: a tensor representing N anchor-encoded boxes. + anchors: BoxList of anchors. We assume that anchors has an associated + stddev field. + + Returns: + boxes: BoxList holding N bounding boxes + Raises: + ValueError: if the anchors BoxList does not have a stddev field + """ + if not anchors.has_field('stddev'): + raise ValueError('anchors must have a stddev field') + means = anchors.get() + stddevs = anchors.get_field('stddev') + box_corners = rel_codes * stddevs + means + return box_list.BoxList(box_corners) diff --git a/object_detection/box_coders/mean_stddev_box_coder_test.py b/object_detection/box_coders/mean_stddev_box_coder_test.py new file mode 100644 index 000000000..0d3a89528 --- /dev/null +++ b/object_detection/box_coders/mean_stddev_box_coder_test.py @@ -0,0 +1,58 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.box_coder.mean_stddev_boxcoder.""" + +import tensorflow as tf + +from object_detection.box_coders import mean_stddev_box_coder +from object_detection.core import box_list + + +class MeanStddevBoxCoderTest(tf.test.TestCase): + + def testGetCorrectRelativeCodesAfterEncoding(self): + box_corners = [[0.0, 0.0, 0.5, 0.5], [0.0, 0.0, 0.5, 0.5]] + boxes = box_list.BoxList(tf.constant(box_corners)) + expected_rel_codes = [[0.0, 0.0, 0.0, 0.0], [-5.0, -5.0, -5.0, -3.0]] + prior_means = tf.constant([[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 1.0, 0.8]]) + prior_stddevs = tf.constant(2 * [4 * [.1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + coder = mean_stddev_box_coder.MeanStddevBoxCoder() + rel_codes = coder.encode(boxes, priors) + with self.test_session() as sess: + rel_codes_out = sess.run(rel_codes) + self.assertAllClose(rel_codes_out, expected_rel_codes) + + def testGetCorrectBoxesAfterDecoding(self): + rel_codes = tf.constant([[0.0, 0.0, 0.0, 0.0], [-5.0, -5.0, -5.0, -3.0]]) + expected_box_corners = [[0.0, 0.0, 0.5, 0.5], [0.0, 0.0, 0.5, 0.5]] + prior_means = tf.constant([[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 1.0, 0.8]]) + prior_stddevs = tf.constant(2 * [4 * [.1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + coder = mean_stddev_box_coder.MeanStddevBoxCoder() + decoded_boxes = coder.decode(rel_codes, priors) + decoded_box_corners = decoded_boxes.get() + with self.test_session() as sess: + decoded_out = sess.run(decoded_box_corners) + self.assertAllClose(decoded_out, expected_box_corners) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/box_coders/square_box_coder.py b/object_detection/box_coders/square_box_coder.py new file mode 100644 index 000000000..ee46b6895 --- /dev/null +++ b/object_detection/box_coders/square_box_coder.py @@ -0,0 +1,126 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Square box coder. + +Square box coder follows the coding schema described below: +l = sqrt(h * w) +la = sqrt(ha * wa) +ty = (y - ya) / la +tx = (x - xa) / la +tl = log(l / la) +where x, y, w, h denote the box's center coordinates, width, and height, +respectively. Similarly, xa, ya, wa, ha denote the anchor's center +coordinates, width and height. tx, ty, tl denote the anchor-encoded +center, and length, respectively. Because the encoded box is a square, only +one length is encoded. + +This has shown to provide performance improvements over the Faster RCNN box +coder when the objects being detected tend to be square (e.g. faces) and when +the input images are not distorted via resizing. +""" + +import tensorflow as tf + +from object_detection.core import box_coder +from object_detection.core import box_list + +EPSILON = 1e-8 + + +class SquareBoxCoder(box_coder.BoxCoder): + """Encodes a 3-scalar representation of a square box.""" + + def __init__(self, scale_factors=None): + """Constructor for SquareBoxCoder. + + Args: + scale_factors: List of 3 positive scalars to scale ty, tx, and tl. + If set to None, does not perform scaling. For faster RCNN, + the open-source implementation recommends using [10.0, 10.0, 5.0]. + + Raises: + ValueError: If scale_factors is not length 3 or contains values less than + or equal to 0. + """ + if scale_factors: + if len(scale_factors) != 3: + raise ValueError('The argument scale_factors must be a list of length ' + '3.') + if any(scalar <= 0 for scalar in scale_factors): + raise ValueError('The values in scale_factors must all be greater ' + 'than 0.') + self._scale_factors = scale_factors + + @property + def code_size(self): + return 3 + + def _encode(self, boxes, anchors): + """Encodes a box collection with respect to an anchor collection. + + Args: + boxes: BoxList holding N boxes to be encoded. + anchors: BoxList of anchors. + + Returns: + a tensor representing N anchor-encoded boxes of the format + [ty, tx, tl]. + """ + # Convert anchors to the center coordinate representation. + ycenter_a, xcenter_a, ha, wa = anchors.get_center_coordinates_and_sizes() + la = tf.sqrt(ha * wa) + ycenter, xcenter, h, w = boxes.get_center_coordinates_and_sizes() + l = tf.sqrt(h * w) + # Avoid NaN in division and log below. + la += EPSILON + l += EPSILON + + tx = (xcenter - xcenter_a) / la + ty = (ycenter - ycenter_a) / la + tl = tf.log(l / la) + # Scales location targets for joint training. + if self._scale_factors: + ty *= self._scale_factors[0] + tx *= self._scale_factors[1] + tl *= self._scale_factors[2] + return tf.transpose(tf.stack([ty, tx, tl])) + + def _decode(self, rel_codes, anchors): + """Decodes relative codes to boxes. + + Args: + rel_codes: a tensor representing N anchor-encoded boxes. + anchors: BoxList of anchors. + + Returns: + boxes: BoxList holding N bounding boxes. + """ + ycenter_a, xcenter_a, ha, wa = anchors.get_center_coordinates_and_sizes() + la = tf.sqrt(ha * wa) + + ty, tx, tl = tf.unstack(tf.transpose(rel_codes)) + if self._scale_factors: + ty /= self._scale_factors[0] + tx /= self._scale_factors[1] + tl /= self._scale_factors[2] + l = tf.exp(tl) * la + ycenter = ty * la + ycenter_a + xcenter = tx * la + xcenter_a + ymin = ycenter - l / 2. + xmin = xcenter - l / 2. + ymax = ycenter + l / 2. + xmax = xcenter + l / 2. + return box_list.BoxList(tf.transpose(tf.stack([ymin, xmin, ymax, xmax]))) diff --git a/object_detection/box_coders/square_box_coder_test.py b/object_detection/box_coders/square_box_coder_test.py new file mode 100644 index 000000000..7f739c6b4 --- /dev/null +++ b/object_detection/box_coders/square_box_coder_test.py @@ -0,0 +1,97 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.box_coder.square_box_coder.""" + +import tensorflow as tf + +from object_detection.box_coders import square_box_coder +from object_detection.core import box_list + + +class SquareBoxCoderTest(tf.test.TestCase): + + def test_correct_relative_codes_with_default_scale(self): + boxes = [[10.0, 10.0, 20.0, 15.0], [0.2, 0.1, 0.5, 0.4]] + anchors = [[15.0, 12.0, 30.0, 18.0], [0.1, 0.0, 0.7, 0.9]] + scale_factors = None + expected_rel_codes = [[-0.790569, -0.263523, -0.293893], + [-0.068041, -0.272166, -0.89588]] + + boxes = box_list.BoxList(tf.constant(boxes)) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = square_box_coder.SquareBoxCoder(scale_factors=scale_factors) + rel_codes = coder.encode(boxes, anchors) + with self.test_session() as sess: + (rel_codes_out,) = sess.run([rel_codes]) + self.assertAllClose(rel_codes_out, expected_rel_codes) + + def test_correct_relative_codes_with_non_default_scale(self): + boxes = [[10.0, 10.0, 20.0, 15.0], [0.2, 0.1, 0.5, 0.4]] + anchors = [[15.0, 12.0, 30.0, 18.0], [0.1, 0.0, 0.7, 0.9]] + scale_factors = [2, 3, 4] + expected_rel_codes = [[-1.581139, -0.790569, -1.175573], + [-0.136083, -0.816497, -3.583519]] + boxes = box_list.BoxList(tf.constant(boxes)) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = square_box_coder.SquareBoxCoder(scale_factors=scale_factors) + rel_codes = coder.encode(boxes, anchors) + with self.test_session() as sess: + (rel_codes_out,) = sess.run([rel_codes]) + self.assertAllClose(rel_codes_out, expected_rel_codes) + + def test_correct_relative_codes_with_small_width(self): + boxes = [[10.0, 10.0, 10.0000001, 20.0]] + anchors = [[15.0, 12.0, 30.0, 18.0]] + scale_factors = None + expected_rel_codes = [[-1.317616, 0., -20.670586]] + boxes = box_list.BoxList(tf.constant(boxes)) + anchors = box_list.BoxList(tf.constant(anchors)) + coder = square_box_coder.SquareBoxCoder(scale_factors=scale_factors) + rel_codes = coder.encode(boxes, anchors) + with self.test_session() as sess: + (rel_codes_out,) = sess.run([rel_codes]) + self.assertAllClose(rel_codes_out, expected_rel_codes) + + def test_correct_boxes_with_default_scale(self): + anchors = [[15.0, 12.0, 30.0, 18.0], [0.1, 0.0, 0.7, 0.9]] + rel_codes = [[-0.5, -0.416666, -0.405465], + [-0.083333, -0.222222, -0.693147]] + scale_factors = None + expected_boxes = [[14.594306, 7.884875, 20.918861, 14.209432], + [0.155051, 0.102989, 0.522474, 0.470412]] + anchors = box_list.BoxList(tf.constant(anchors)) + coder = square_box_coder.SquareBoxCoder(scale_factors=scale_factors) + boxes = coder.decode(rel_codes, anchors) + with self.test_session() as sess: + (boxes_out,) = sess.run([boxes.get()]) + self.assertAllClose(boxes_out, expected_boxes) + + def test_correct_boxes_with_non_default_scale(self): + anchors = [[15.0, 12.0, 30.0, 18.0], [0.1, 0.0, 0.7, 0.9]] + rel_codes = [[-1., -1.25, -1.62186], [-0.166667, -0.666667, -2.772588]] + scale_factors = [2, 3, 4] + expected_boxes = [[14.594306, 7.884875, 20.918861, 14.209432], + [0.155051, 0.102989, 0.522474, 0.470412]] + anchors = box_list.BoxList(tf.constant(anchors)) + coder = square_box_coder.SquareBoxCoder(scale_factors=scale_factors) + boxes = coder.decode(rel_codes, anchors) + with self.test_session() as sess: + (boxes_out,) = sess.run([boxes.get()]) + self.assertAllClose(boxes_out, expected_boxes) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/BUILD b/object_detection/builders/BUILD new file mode 100644 index 000000000..bb40de5b5 --- /dev/null +++ b/object_detection/builders/BUILD @@ -0,0 +1,296 @@ +# Tensorflow Object Detection API: component builders. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) + +# Apache 2.0 +py_library( + name = "model_builder", + srcs = ["model_builder.py"], + deps = [ + ":anchor_generator_builder", + ":box_coder_builder", + ":box_predictor_builder", + ":hyperparams_builder", + ":image_resizer_builder", + ":losses_builder", + ":matcher_builder", + ":post_processing_builder", + ":region_similarity_calculator_builder", + "//tensorflow_models/object_detection/core:box_predictor", + "//tensorflow_models/object_detection/meta_architectures:faster_rcnn_meta_arch", + "//tensorflow_models/object_detection/meta_architectures:rfcn_meta_arch", + "//tensorflow_models/object_detection/meta_architectures:ssd_meta_arch", + "//tensorflow_models/object_detection/models:faster_rcnn_inception_resnet_v2_feature_extractor", + "//tensorflow_models/object_detection/models:faster_rcnn_resnet_v1_feature_extractor", + "//tensorflow_models/object_detection/models:ssd_inception_v2_feature_extractor", + "//tensorflow_models/object_detection/models:ssd_mobilenet_v1_feature_extractor", + "//tensorflow_models/object_detection/protos:model_py_pb2", + ], +) + +py_test( + name = "model_builder_test", + srcs = ["model_builder_test.py"], + deps = [ + ":model_builder", + "//tensorflow", + "//tensorflow_models/object_detection/meta_architectures:faster_rcnn_meta_arch", + "//tensorflow_models/object_detection/meta_architectures:ssd_meta_arch", + "//tensorflow_models/object_detection/models:ssd_inception_v2_feature_extractor", + "//tensorflow_models/object_detection/models:ssd_mobilenet_v1_feature_extractor", + "//tensorflow_models/object_detection/protos:model_py_pb2", + ], +) + +py_library( + name = "matcher_builder", + srcs = ["matcher_builder.py"], + deps = [ + "//tensorflow_models/object_detection/matchers:argmax_matcher", + "//tensorflow_models/object_detection/matchers:bipartite_matcher", + "//tensorflow_models/object_detection/protos:matcher_py_pb2", + ], +) + +py_test( + name = "matcher_builder_test", + srcs = ["matcher_builder_test.py"], + deps = [ + ":matcher_builder", + "//tensorflow_models/object_detection/matchers:argmax_matcher", + "//tensorflow_models/object_detection/matchers:bipartite_matcher", + "//tensorflow_models/object_detection/protos:matcher_py_pb2", + ], +) + +py_library( + name = "box_coder_builder", + srcs = ["box_coder_builder.py"], + deps = [ + "//tensorflow_models/object_detection/box_coders:faster_rcnn_box_coder", + "//tensorflow_models/object_detection/box_coders:mean_stddev_box_coder", + "//tensorflow_models/object_detection/box_coders:square_box_coder", + "//tensorflow_models/object_detection/protos:box_coder_py_pb2", + ], +) + +py_test( + name = "box_coder_builder_test", + srcs = ["box_coder_builder_test.py"], + deps = [ + ":box_coder_builder", + "//tensorflow", + "//tensorflow_models/object_detection/box_coders:faster_rcnn_box_coder", + "//tensorflow_models/object_detection/box_coders:mean_stddev_box_coder", + "//tensorflow_models/object_detection/box_coders:square_box_coder", + "//tensorflow_models/object_detection/protos:box_coder_py_pb2", + ], +) + +py_library( + name = "anchor_generator_builder", + srcs = ["anchor_generator_builder.py"], + deps = [ + "//tensorflow_models/object_detection/anchor_generators:grid_anchor_generator", + "//tensorflow_models/object_detection/anchor_generators:multiple_grid_anchor_generator", + "//tensorflow_models/object_detection/protos:anchor_generator_py_pb2", + ], +) + +py_test( + name = "anchor_generator_builder_test", + srcs = ["anchor_generator_builder_test.py"], + deps = [ + ":anchor_generator_builder", + "//tensorflow", + "//tensorflow_models/object_detection/anchor_generators:grid_anchor_generator", + "//tensorflow_models/object_detection/anchor_generators:multiple_grid_anchor_generator", + "//tensorflow_models/object_detection/protos:anchor_generator_py_pb2", + ], +) + +py_library( + name = "input_reader_builder", + srcs = ["input_reader_builder.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/data_decoders:tf_example_decoder", + "//tensorflow_models/object_detection/protos:input_reader_py_pb2", + ], +) + +py_test( + name = "input_reader_builder_test", + srcs = [ + "input_reader_builder_test.py", + ], + deps = [ + ":input_reader_builder", + "//tensorflow", + "//tensorflow_models/object_detection/core:standard_fields", + "//tensorflow_models/object_detection/protos:input_reader_py_pb2", + ], +) + +py_library( + name = "losses_builder", + srcs = ["losses_builder.py"], + deps = [ + "//tensorflow_models/object_detection/core:losses", + "//tensorflow_models/object_detection/protos:losses_py_pb2", + ], +) + +py_test( + name = "losses_builder_test", + srcs = ["losses_builder_test.py"], + deps = [ + ":losses_builder", + "//tensorflow_models/object_detection/core:losses", + "//tensorflow_models/object_detection/protos:losses_py_pb2", + ], +) + +py_library( + name = "optimizer_builder", + srcs = ["optimizer_builder.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/utils:learning_schedules", + ], +) + +py_test( + name = "optimizer_builder_test", + srcs = ["optimizer_builder_test.py"], + deps = [ + ":optimizer_builder", + "//tensorflow", + "//tensorflow_models/object_detection/protos:optimizer_py_pb2", + ], +) + +py_library( + name = "post_processing_builder", + srcs = ["post_processing_builder.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/core:post_processing", + "//tensorflow_models/object_detection/protos:post_processing_py_pb2", + ], +) + +py_test( + name = "post_processing_builder_test", + srcs = ["post_processing_builder_test.py"], + deps = [ + ":post_processing_builder", + "//tensorflow", + "//tensorflow_models/object_detection/protos:post_processing_py_pb2", + ], +) + +py_library( + name = "hyperparams_builder", + srcs = ["hyperparams_builder.py"], + deps = [ + "//tensorflow_models/object_detection/protos:hyperparams_py_pb2", + ], +) + +py_test( + name = "hyperparams_builder_test", + srcs = ["hyperparams_builder_test.py"], + deps = [ + ":hyperparams_builder", + "//tensorflow", + "//tensorflow_models/object_detection/protos:hyperparams_py_pb2", + ], +) + +py_library( + name = "box_predictor_builder", + srcs = ["box_predictor_builder.py"], + deps = [ + ":hyperparams_builder", + "//tensorflow_models/object_detection/core:box_predictor", + "//tensorflow_models/object_detection/protos:box_predictor_py_pb2", + ], +) + +py_test( + name = "box_predictor_builder_test", + srcs = ["box_predictor_builder_test.py"], + deps = [ + ":box_predictor_builder", + ":hyperparams_builder", + "//tensorflow", + "//tensorflow_models/object_detection/protos:box_predictor_py_pb2", + "//tensorflow_models/object_detection/protos:hyperparams_py_pb2", + ], +) + +py_library( + name = "region_similarity_calculator_builder", + srcs = ["region_similarity_calculator_builder.py"], + deps = [ + "//tensorflow_models/object_detection/core:region_similarity_calculator", + "//tensorflow_models/object_detection/protos:region_similarity_calculator_py_pb2", + ], +) + +py_test( + name = "region_similarity_calculator_builder_test", + srcs = ["region_similarity_calculator_builder_test.py"], + deps = [ + ":region_similarity_calculator_builder", + "//tensorflow", + ], +) + +py_library( + name = "preprocessor_builder", + srcs = ["preprocessor_builder.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/core:preprocessor", + "//tensorflow_models/object_detection/protos:preprocessor_py_pb2", + ], +) + +py_test( + name = "preprocessor_builder_test", + srcs = [ + "preprocessor_builder_test.py", + ], + deps = [ + ":preprocessor_builder", + "//tensorflow", + "//tensorflow_models/object_detection/core:preprocessor", + "//tensorflow_models/object_detection/protos:preprocessor_py_pb2", + ], +) + +py_library( + name = "image_resizer_builder", + srcs = ["image_resizer_builder.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/core:preprocessor", + "//tensorflow_models/object_detection/protos:image_resizer_py_pb2", + ], +) + +py_test( + name = "image_resizer_builder_test", + srcs = ["image_resizer_builder_test.py"], + deps = [ + ":image_resizer_builder", + "//tensorflow", + "//tensorflow_models/object_detection/protos:image_resizer_py_pb2", + ], +) diff --git a/object_detection/builders/__init__.py b/object_detection/builders/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/builders/anchor_generator_builder.py b/object_detection/builders/anchor_generator_builder.py new file mode 100644 index 000000000..7b08deddb --- /dev/null +++ b/object_detection/builders/anchor_generator_builder.py @@ -0,0 +1,66 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""A function to build an object detection anchor generator from config.""" + +from object_detection.anchor_generators import grid_anchor_generator +from object_detection.anchor_generators import multiple_grid_anchor_generator +from object_detection.protos import anchor_generator_pb2 + + +def build(anchor_generator_config): + """Builds an anchor generator based on the config. + + Args: + anchor_generator_config: An anchor_generator.proto object containing the + config for the desired anchor generator. + + Returns: + Anchor generator based on the config. + + Raises: + ValueError: On empty anchor generator proto. + """ + if not isinstance(anchor_generator_config, + anchor_generator_pb2.AnchorGenerator): + raise ValueError('anchor_generator_config not of type ' + 'anchor_generator_pb2.AnchorGenerator') + if anchor_generator_config.WhichOneof( + 'anchor_generator_oneof') == 'grid_anchor_generator': + grid_anchor_generator_config = anchor_generator_config.grid_anchor_generator + return grid_anchor_generator.GridAnchorGenerator( + scales=[float(scale) for scale in grid_anchor_generator_config.scales], + aspect_ratios=[float(aspect_ratio) + for aspect_ratio + in grid_anchor_generator_config.aspect_ratios], + base_anchor_size=[grid_anchor_generator_config.height, + grid_anchor_generator_config.width], + anchor_stride=[grid_anchor_generator_config.height_stride, + grid_anchor_generator_config.width_stride], + anchor_offset=[grid_anchor_generator_config.height_offset, + grid_anchor_generator_config.width_offset]) + elif anchor_generator_config.WhichOneof( + 'anchor_generator_oneof') == 'ssd_anchor_generator': + ssd_anchor_generator_config = anchor_generator_config.ssd_anchor_generator + return multiple_grid_anchor_generator.create_ssd_anchors( + num_layers=ssd_anchor_generator_config.num_layers, + min_scale=ssd_anchor_generator_config.min_scale, + max_scale=ssd_anchor_generator_config.max_scale, + aspect_ratios=ssd_anchor_generator_config.aspect_ratios, + reduce_boxes_in_lowest_layer=(ssd_anchor_generator_config + .reduce_boxes_in_lowest_layer)) + else: + raise ValueError('Empty anchor generator.') + diff --git a/object_detection/builders/anchor_generator_builder_test.py b/object_detection/builders/anchor_generator_builder_test.py new file mode 100644 index 000000000..657be18ef --- /dev/null +++ b/object_detection/builders/anchor_generator_builder_test.py @@ -0,0 +1,194 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for anchor_generator_builder.""" + +import tensorflow as tf + +from google.protobuf import text_format +from object_detection.anchor_generators import grid_anchor_generator +from object_detection.anchor_generators import multiple_grid_anchor_generator +from object_detection.builders import anchor_generator_builder +from object_detection.protos import anchor_generator_pb2 + + +class AnchorGeneratorBuilderTest(tf.test.TestCase): + + def assert_almost_list_equal(self, expected_list, actual_list, delta=None): + self.assertEqual(len(expected_list), len(actual_list)) + for expected_item, actual_item in zip(expected_list, actual_list): + self.assertAlmostEqual(expected_item, actual_item, delta=delta) + + def test_build_grid_anchor_generator_with_defaults(self): + anchor_generator_text_proto = """ + grid_anchor_generator { + } + """ + anchor_generator_proto = anchor_generator_pb2.AnchorGenerator() + text_format.Merge(anchor_generator_text_proto, anchor_generator_proto) + anchor_generator_object = anchor_generator_builder.build( + anchor_generator_proto) + self.assertTrue(isinstance(anchor_generator_object, + grid_anchor_generator.GridAnchorGenerator)) + self.assertListEqual(anchor_generator_object._scales, []) + self.assertListEqual(anchor_generator_object._aspect_ratios, []) + with self.test_session() as sess: + base_anchor_size, anchor_offset, anchor_stride = sess.run( + [anchor_generator_object._base_anchor_size, + anchor_generator_object._anchor_offset, + anchor_generator_object._anchor_stride]) + self.assertAllEqual(anchor_offset, [0, 0]) + self.assertAllEqual(anchor_stride, [16, 16]) + self.assertAllEqual(base_anchor_size, [256, 256]) + + def test_build_grid_anchor_generator_with_non_default_parameters(self): + anchor_generator_text_proto = """ + grid_anchor_generator { + height: 128 + width: 512 + height_stride: 10 + width_stride: 20 + height_offset: 30 + width_offset: 40 + scales: [0.4, 2.2] + aspect_ratios: [0.3, 4.5] + } + """ + anchor_generator_proto = anchor_generator_pb2.AnchorGenerator() + text_format.Merge(anchor_generator_text_proto, anchor_generator_proto) + anchor_generator_object = anchor_generator_builder.build( + anchor_generator_proto) + self.assertTrue(isinstance(anchor_generator_object, + grid_anchor_generator.GridAnchorGenerator)) + self.assert_almost_list_equal(anchor_generator_object._scales, + [0.4, 2.2]) + self.assert_almost_list_equal(anchor_generator_object._aspect_ratios, + [0.3, 4.5]) + with self.test_session() as sess: + base_anchor_size, anchor_offset, anchor_stride = sess.run( + [anchor_generator_object._base_anchor_size, + anchor_generator_object._anchor_offset, + anchor_generator_object._anchor_stride]) + self.assertAllEqual(anchor_offset, [30, 40]) + self.assertAllEqual(anchor_stride, [10, 20]) + self.assertAllEqual(base_anchor_size, [128, 512]) + + def test_build_ssd_anchor_generator_with_defaults(self): + anchor_generator_text_proto = """ + ssd_anchor_generator { + aspect_ratios: [1.0] + } + """ + anchor_generator_proto = anchor_generator_pb2.AnchorGenerator() + text_format.Merge(anchor_generator_text_proto, anchor_generator_proto) + anchor_generator_object = anchor_generator_builder.build( + anchor_generator_proto) + self.assertTrue(isinstance(anchor_generator_object, + multiple_grid_anchor_generator. + MultipleGridAnchorGenerator)) + for actual_scales, expected_scales in zip( + list(anchor_generator_object._scales), + [(0.1, 0.2, 0.2), + (0.35, 0.418), + (0.499, 0.570), + (0.649, 0.721), + (0.799, 0.871), + (0.949, 0.974)]): + self.assert_almost_list_equal(expected_scales, actual_scales, delta=1e-2) + for actual_aspect_ratio, expected_aspect_ratio in zip( + list(anchor_generator_object._aspect_ratios), + [(1.0, 2.0, 0.5)] + 5 * [(1.0, 1.0)]): + self.assert_almost_list_equal(expected_aspect_ratio, actual_aspect_ratio) + + with self.test_session() as sess: + base_anchor_size = sess.run(anchor_generator_object._base_anchor_size) + self.assertAllClose(base_anchor_size, [1.0, 1.0]) + + def test_build_ssd_anchor_generator_withoud_reduced_boxes(self): + anchor_generator_text_proto = """ + ssd_anchor_generator { + aspect_ratios: [1.0] + reduce_boxes_in_lowest_layer: false + } + """ + anchor_generator_proto = anchor_generator_pb2.AnchorGenerator() + text_format.Merge(anchor_generator_text_proto, anchor_generator_proto) + anchor_generator_object = anchor_generator_builder.build( + anchor_generator_proto) + self.assertTrue(isinstance(anchor_generator_object, + multiple_grid_anchor_generator. + MultipleGridAnchorGenerator)) + + for actual_scales, expected_scales in zip( + list(anchor_generator_object._scales), + [(0.2, 0.264), + (0.35, 0.418), + (0.499, 0.570), + (0.649, 0.721), + (0.799, 0.871), + (0.949, 0.974)]): + self.assert_almost_list_equal(expected_scales, actual_scales, delta=1e-2) + + for actual_aspect_ratio, expected_aspect_ratio in zip( + list(anchor_generator_object._aspect_ratios), + 6 * [(1.0, 1.0)]): + self.assert_almost_list_equal(expected_aspect_ratio, actual_aspect_ratio) + + with self.test_session() as sess: + base_anchor_size = sess.run(anchor_generator_object._base_anchor_size) + self.assertAllClose(base_anchor_size, [1.0, 1.0]) + + def test_build_ssd_anchor_generator_with_non_default_parameters(self): + anchor_generator_text_proto = """ + ssd_anchor_generator { + num_layers: 2 + min_scale: 0.3 + max_scale: 0.8 + aspect_ratios: [2.0] + } + """ + anchor_generator_proto = anchor_generator_pb2.AnchorGenerator() + text_format.Merge(anchor_generator_text_proto, anchor_generator_proto) + anchor_generator_object = anchor_generator_builder.build( + anchor_generator_proto) + self.assertTrue(isinstance(anchor_generator_object, + multiple_grid_anchor_generator. + MultipleGridAnchorGenerator)) + + for actual_scales, expected_scales in zip( + list(anchor_generator_object._scales), + [(0.1, 0.3, 0.3), (0.8,)]): + self.assert_almost_list_equal(expected_scales, actual_scales, delta=1e-2) + + for actual_aspect_ratio, expected_aspect_ratio in zip( + list(anchor_generator_object._aspect_ratios), + [(1.0, 2.0, 0.5), (2.0,)]): + self.assert_almost_list_equal(expected_aspect_ratio, actual_aspect_ratio) + + with self.test_session() as sess: + base_anchor_size = sess.run(anchor_generator_object._base_anchor_size) + self.assertAllClose(base_anchor_size, [1.0, 1.0]) + + def test_raise_value_error_on_empty_anchor_genertor(self): + anchor_generator_text_proto = """ + """ + anchor_generator_proto = anchor_generator_pb2.AnchorGenerator() + text_format.Merge(anchor_generator_text_proto, anchor_generator_proto) + with self.assertRaises(ValueError): + anchor_generator_builder.build(anchor_generator_proto) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/box_coder_builder.py b/object_detection/builders/box_coder_builder.py new file mode 100644 index 000000000..ff7ac01fe --- /dev/null +++ b/object_detection/builders/box_coder_builder.py @@ -0,0 +1,55 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""A function to build an object detection box coder from configuration.""" +from object_detection.box_coders import faster_rcnn_box_coder +from object_detection.box_coders import mean_stddev_box_coder +from object_detection.box_coders import square_box_coder +from object_detection.protos import box_coder_pb2 + + +def build(box_coder_config): + """Builds a box coder object based on the box coder config. + + Args: + box_coder_config: A box_coder.proto object containing the config for the + desired box coder. + + Returns: + BoxCoder based on the config. + + Raises: + ValueError: On empty box coder proto. + """ + if not isinstance(box_coder_config, box_coder_pb2.BoxCoder): + raise ValueError('box_coder_config not of type box_coder_pb2.BoxCoder.') + + if box_coder_config.WhichOneof('box_coder_oneof') == 'faster_rcnn_box_coder': + return faster_rcnn_box_coder.FasterRcnnBoxCoder(scale_factors=[ + box_coder_config.faster_rcnn_box_coder.y_scale, + box_coder_config.faster_rcnn_box_coder.x_scale, + box_coder_config.faster_rcnn_box_coder.height_scale, + box_coder_config.faster_rcnn_box_coder.width_scale + ]) + if (box_coder_config.WhichOneof('box_coder_oneof') == + 'mean_stddev_box_coder'): + return mean_stddev_box_coder.MeanStddevBoxCoder() + if box_coder_config.WhichOneof('box_coder_oneof') == 'square_box_coder': + return square_box_coder.SquareBoxCoder(scale_factors=[ + box_coder_config.square_box_coder.y_scale, + box_coder_config.square_box_coder.x_scale, + box_coder_config.square_box_coder.length_scale + ]) + raise ValueError('Empty box coder.') diff --git a/object_detection/builders/box_coder_builder_test.py b/object_detection/builders/box_coder_builder_test.py new file mode 100644 index 000000000..b5adcad51 --- /dev/null +++ b/object_detection/builders/box_coder_builder_test.py @@ -0,0 +1,107 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for box_coder_builder.""" + +import tensorflow as tf + +from google.protobuf import text_format +from object_detection.box_coders import faster_rcnn_box_coder +from object_detection.box_coders import mean_stddev_box_coder +from object_detection.box_coders import square_box_coder +from object_detection.builders import box_coder_builder +from object_detection.protos import box_coder_pb2 + + +class BoxCoderBuilderTest(tf.test.TestCase): + + def test_build_faster_rcnn_box_coder_with_defaults(self): + box_coder_text_proto = """ + faster_rcnn_box_coder { + } + """ + box_coder_proto = box_coder_pb2.BoxCoder() + text_format.Merge(box_coder_text_proto, box_coder_proto) + box_coder_object = box_coder_builder.build(box_coder_proto) + self.assertTrue(isinstance(box_coder_object, + faster_rcnn_box_coder.FasterRcnnBoxCoder)) + self.assertEqual(box_coder_object._scale_factors, [10.0, 10.0, 5.0, 5.0]) + + def test_build_faster_rcnn_box_coder_with_non_default_parameters(self): + box_coder_text_proto = """ + faster_rcnn_box_coder { + y_scale: 6.0 + x_scale: 3.0 + height_scale: 7.0 + width_scale: 8.0 + } + """ + box_coder_proto = box_coder_pb2.BoxCoder() + text_format.Merge(box_coder_text_proto, box_coder_proto) + box_coder_object = box_coder_builder.build(box_coder_proto) + self.assertTrue(isinstance(box_coder_object, + faster_rcnn_box_coder.FasterRcnnBoxCoder)) + self.assertEqual(box_coder_object._scale_factors, [6.0, 3.0, 7.0, 8.0]) + + def test_build_mean_stddev_box_coder(self): + box_coder_text_proto = """ + mean_stddev_box_coder { + } + """ + box_coder_proto = box_coder_pb2.BoxCoder() + text_format.Merge(box_coder_text_proto, box_coder_proto) + box_coder_object = box_coder_builder.build(box_coder_proto) + self.assertTrue( + isinstance(box_coder_object, + mean_stddev_box_coder.MeanStddevBoxCoder)) + + def test_build_square_box_coder_with_defaults(self): + box_coder_text_proto = """ + square_box_coder { + } + """ + box_coder_proto = box_coder_pb2.BoxCoder() + text_format.Merge(box_coder_text_proto, box_coder_proto) + box_coder_object = box_coder_builder.build(box_coder_proto) + self.assertTrue( + isinstance(box_coder_object, square_box_coder.SquareBoxCoder)) + self.assertEqual(box_coder_object._scale_factors, [10.0, 10.0, 5.0]) + + def test_build_square_box_coder_with_non_default_parameters(self): + box_coder_text_proto = """ + square_box_coder { + y_scale: 6.0 + x_scale: 3.0 + length_scale: 7.0 + } + """ + box_coder_proto = box_coder_pb2.BoxCoder() + text_format.Merge(box_coder_text_proto, box_coder_proto) + box_coder_object = box_coder_builder.build(box_coder_proto) + self.assertTrue( + isinstance(box_coder_object, square_box_coder.SquareBoxCoder)) + self.assertEqual(box_coder_object._scale_factors, [6.0, 3.0, 7.0]) + + def test_raise_error_on_empty_box_coder(self): + box_coder_text_proto = """ + """ + box_coder_proto = box_coder_pb2.BoxCoder() + text_format.Merge(box_coder_text_proto, box_coder_proto) + with self.assertRaises(ValueError): + box_coder_builder.build(box_coder_proto) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/box_predictor_builder.py b/object_detection/builders/box_predictor_builder.py new file mode 100644 index 000000000..4f7c5045e --- /dev/null +++ b/object_detection/builders/box_predictor_builder.py @@ -0,0 +1,106 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Function to build box predictor from configuration.""" + +from object_detection.core import box_predictor +from object_detection.protos import box_predictor_pb2 + + +def build(argscope_fn, box_predictor_config, is_training, num_classes): + """Builds box predictor based on the configuration. + + Builds box predictor based on the configuration. See box_predictor.proto for + configurable options. Also, see box_predictor.py for more details. + + Args: + argscope_fn: A function that takes the following inputs: + * hyperparams_pb2.Hyperparams proto + * a boolean indicating if the model is in training mode. + and returns a tf slim argscope for Conv and FC hyperparameters. + box_predictor_config: box_predictor_pb2.BoxPredictor proto containing + configuration. + is_training: Whether the models is in training mode. + num_classes: Number of classes to predict. + + Returns: + box_predictor: box_predictor.BoxPredictor object. + + Raises: + ValueError: On unknown box predictor. + """ + if not isinstance(box_predictor_config, box_predictor_pb2.BoxPredictor): + raise ValueError('box_predictor_config not of type ' + 'box_predictor_pb2.BoxPredictor.') + + box_predictor_oneof = box_predictor_config.WhichOneof('box_predictor_oneof') + + if box_predictor_oneof == 'convolutional_box_predictor': + conv_box_predictor = box_predictor_config.convolutional_box_predictor + conv_hyperparams = argscope_fn(conv_box_predictor.conv_hyperparams, + is_training) + box_predictor_object = box_predictor.ConvolutionalBoxPredictor( + is_training=is_training, + num_classes=num_classes, + conv_hyperparams=conv_hyperparams, + min_depth=conv_box_predictor.min_depth, + max_depth=conv_box_predictor.max_depth, + num_layers_before_predictor=(conv_box_predictor. + num_layers_before_predictor), + use_dropout=conv_box_predictor.use_dropout, + dropout_keep_prob=conv_box_predictor.dropout_keep_probability, + kernel_size=conv_box_predictor.kernel_size, + box_code_size=conv_box_predictor.box_code_size, + apply_sigmoid_to_scores=conv_box_predictor.apply_sigmoid_to_scores) + return box_predictor_object + + if box_predictor_oneof == 'mask_rcnn_box_predictor': + mask_rcnn_box_predictor = box_predictor_config.mask_rcnn_box_predictor + fc_hyperparams = argscope_fn(mask_rcnn_box_predictor.fc_hyperparams, + is_training) + conv_hyperparams = None + if mask_rcnn_box_predictor.HasField('conv_hyperparams'): + conv_hyperparams = argscope_fn(mask_rcnn_box_predictor.conv_hyperparams, + is_training) + box_predictor_object = box_predictor.MaskRCNNBoxPredictor( + is_training=is_training, + num_classes=num_classes, + fc_hyperparams=fc_hyperparams, + use_dropout=mask_rcnn_box_predictor.use_dropout, + dropout_keep_prob=mask_rcnn_box_predictor.dropout_keep_probability, + box_code_size=mask_rcnn_box_predictor.box_code_size, + conv_hyperparams=conv_hyperparams, + predict_instance_masks=mask_rcnn_box_predictor.predict_instance_masks, + mask_prediction_conv_depth=(mask_rcnn_box_predictor. + mask_prediction_conv_depth), + predict_keypoints=mask_rcnn_box_predictor.predict_keypoints) + return box_predictor_object + + if box_predictor_oneof == 'rfcn_box_predictor': + rfcn_box_predictor = box_predictor_config.rfcn_box_predictor + conv_hyperparams = argscope_fn(rfcn_box_predictor.conv_hyperparams, + is_training) + box_predictor_object = box_predictor.RfcnBoxPredictor( + is_training=is_training, + num_classes=num_classes, + conv_hyperparams=conv_hyperparams, + crop_size=[rfcn_box_predictor.crop_height, + rfcn_box_predictor.crop_width], + num_spatial_bins=[rfcn_box_predictor.num_spatial_bins_height, + rfcn_box_predictor.num_spatial_bins_width], + depth=rfcn_box_predictor.depth, + box_code_size=rfcn_box_predictor.box_code_size) + return box_predictor_object + raise ValueError('Unknown box predictor: {}'.format(box_predictor_oneof)) diff --git a/object_detection/builders/box_predictor_builder_test.py b/object_detection/builders/box_predictor_builder_test.py new file mode 100644 index 000000000..3f6a574a2 --- /dev/null +++ b/object_detection/builders/box_predictor_builder_test.py @@ -0,0 +1,391 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for box_predictor_builder.""" +import mock +import tensorflow as tf + +from google.protobuf import text_format +from object_detection.builders import box_predictor_builder +from object_detection.builders import hyperparams_builder +from object_detection.protos import box_predictor_pb2 +from object_detection.protos import hyperparams_pb2 + + +class ConvolutionalBoxPredictorBuilderTest(tf.test.TestCase): + + def test_box_predictor_calls_conv_argscope_fn(self): + conv_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + weight: 0.0003 + } + } + initializer { + truncated_normal_initializer { + mean: 0.0 + stddev: 0.3 + } + } + activation: RELU_6 + """ + hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, hyperparams_proto) + def mock_conv_argscope_builder(conv_hyperparams_arg, is_training): + return (conv_hyperparams_arg, is_training) + + box_predictor_proto = box_predictor_pb2.BoxPredictor() + box_predictor_proto.convolutional_box_predictor.conv_hyperparams.CopyFrom( + hyperparams_proto) + box_predictor = box_predictor_builder.build( + argscope_fn=mock_conv_argscope_builder, + box_predictor_config=box_predictor_proto, + is_training=False, + num_classes=10) + (conv_hyperparams_actual, is_training) = box_predictor._conv_hyperparams + self.assertAlmostEqual((hyperparams_proto.regularizer. + l1_regularizer.weight), + (conv_hyperparams_actual.regularizer.l1_regularizer. + weight)) + self.assertAlmostEqual((hyperparams_proto.initializer. + truncated_normal_initializer.stddev), + (conv_hyperparams_actual.initializer. + truncated_normal_initializer.stddev)) + self.assertAlmostEqual((hyperparams_proto.initializer. + truncated_normal_initializer.mean), + (conv_hyperparams_actual.initializer. + truncated_normal_initializer.mean)) + self.assertEqual(hyperparams_proto.activation, + conv_hyperparams_actual.activation) + self.assertFalse(is_training) + + def test_construct_non_default_conv_box_predictor(self): + box_predictor_text_proto = """ + convolutional_box_predictor { + min_depth: 2 + max_depth: 16 + num_layers_before_predictor: 2 + use_dropout: false + dropout_keep_probability: 0.4 + kernel_size: 3 + box_code_size: 3 + apply_sigmoid_to_scores: true + } + """ + conv_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + """ + hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, hyperparams_proto) + def mock_conv_argscope_builder(conv_hyperparams_arg, is_training): + return (conv_hyperparams_arg, is_training) + + box_predictor_proto = box_predictor_pb2.BoxPredictor() + text_format.Merge(box_predictor_text_proto, box_predictor_proto) + box_predictor_proto.convolutional_box_predictor.conv_hyperparams.CopyFrom( + hyperparams_proto) + box_predictor = box_predictor_builder.build( + argscope_fn=mock_conv_argscope_builder, + box_predictor_config=box_predictor_proto, + is_training=False, + num_classes=10) + self.assertEqual(box_predictor._min_depth, 2) + self.assertEqual(box_predictor._max_depth, 16) + self.assertEqual(box_predictor._num_layers_before_predictor, 2) + self.assertFalse(box_predictor._use_dropout) + self.assertAlmostEqual(box_predictor._dropout_keep_prob, 0.4) + self.assertTrue(box_predictor._apply_sigmoid_to_scores) + self.assertEqual(box_predictor.num_classes, 10) + self.assertFalse(box_predictor._is_training) + + def test_construct_default_conv_box_predictor(self): + box_predictor_text_proto = """ + convolutional_box_predictor { + conv_hyperparams { + regularizer { + l1_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + }""" + box_predictor_proto = box_predictor_pb2.BoxPredictor() + text_format.Merge(box_predictor_text_proto, box_predictor_proto) + box_predictor = box_predictor_builder.build( + argscope_fn=hyperparams_builder.build, + box_predictor_config=box_predictor_proto, + is_training=True, + num_classes=90) + self.assertEqual(box_predictor._min_depth, 0) + self.assertEqual(box_predictor._max_depth, 0) + self.assertEqual(box_predictor._num_layers_before_predictor, 0) + self.assertTrue(box_predictor._use_dropout) + self.assertAlmostEqual(box_predictor._dropout_keep_prob, 0.8) + self.assertFalse(box_predictor._apply_sigmoid_to_scores) + self.assertEqual(box_predictor.num_classes, 90) + self.assertTrue(box_predictor._is_training) + + +class MaskRCNNBoxPredictorBuilderTest(tf.test.TestCase): + + def test_box_predictor_builder_calls_fc_argscope_fn(self): + fc_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + weight: 0.0003 + } + } + initializer { + truncated_normal_initializer { + mean: 0.0 + stddev: 0.3 + } + } + activation: RELU_6 + op: FC + """ + hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(fc_hyperparams_text_proto, hyperparams_proto) + box_predictor_proto = box_predictor_pb2.BoxPredictor() + box_predictor_proto.mask_rcnn_box_predictor.fc_hyperparams.CopyFrom( + hyperparams_proto) + mock_argscope_fn = mock.Mock(return_value='arg_scope') + box_predictor = box_predictor_builder.build( + argscope_fn=mock_argscope_fn, + box_predictor_config=box_predictor_proto, + is_training=False, + num_classes=10) + mock_argscope_fn.assert_called_with(hyperparams_proto, False) + self.assertEqual(box_predictor._fc_hyperparams, 'arg_scope') + + def test_non_default_mask_rcnn_box_predictor(self): + fc_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + activation: RELU_6 + op: FC + """ + box_predictor_text_proto = """ + mask_rcnn_box_predictor { + use_dropout: true + dropout_keep_probability: 0.8 + box_code_size: 3 + } + """ + hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(fc_hyperparams_text_proto, hyperparams_proto) + def mock_fc_argscope_builder(fc_hyperparams_arg, is_training): + return (fc_hyperparams_arg, is_training) + + box_predictor_proto = box_predictor_pb2.BoxPredictor() + text_format.Merge(box_predictor_text_proto, box_predictor_proto) + box_predictor_proto.mask_rcnn_box_predictor.fc_hyperparams.CopyFrom( + hyperparams_proto) + box_predictor = box_predictor_builder.build( + argscope_fn=mock_fc_argscope_builder, + box_predictor_config=box_predictor_proto, + is_training=True, + num_classes=90) + self.assertTrue(box_predictor._use_dropout) + self.assertAlmostEqual(box_predictor._dropout_keep_prob, 0.8) + self.assertEqual(box_predictor.num_classes, 90) + self.assertTrue(box_predictor._is_training) + self.assertEqual(box_predictor._box_code_size, 3) + + def test_build_default_mask_rcnn_box_predictor(self): + box_predictor_proto = box_predictor_pb2.BoxPredictor() + box_predictor_proto.mask_rcnn_box_predictor.fc_hyperparams.op = ( + hyperparams_pb2.Hyperparams.FC) + box_predictor = box_predictor_builder.build( + argscope_fn=mock.Mock(return_value='arg_scope'), + box_predictor_config=box_predictor_proto, + is_training=True, + num_classes=90) + self.assertFalse(box_predictor._use_dropout) + self.assertAlmostEqual(box_predictor._dropout_keep_prob, 0.5) + self.assertEqual(box_predictor.num_classes, 90) + self.assertTrue(box_predictor._is_training) + self.assertEqual(box_predictor._box_code_size, 4) + self.assertFalse(box_predictor._predict_instance_masks) + self.assertFalse(box_predictor._predict_keypoints) + + def test_build_box_predictor_with_mask_branch(self): + box_predictor_proto = box_predictor_pb2.BoxPredictor() + box_predictor_proto.mask_rcnn_box_predictor.fc_hyperparams.op = ( + hyperparams_pb2.Hyperparams.FC) + box_predictor_proto.mask_rcnn_box_predictor.conv_hyperparams.op = ( + hyperparams_pb2.Hyperparams.CONV) + box_predictor_proto.mask_rcnn_box_predictor.predict_instance_masks = True + box_predictor_proto.mask_rcnn_box_predictor.mask_prediction_conv_depth = 512 + mock_argscope_fn = mock.Mock(return_value='arg_scope') + box_predictor = box_predictor_builder.build( + argscope_fn=mock_argscope_fn, + box_predictor_config=box_predictor_proto, + is_training=True, + num_classes=90) + mock_argscope_fn.assert_has_calls( + [mock.call(box_predictor_proto.mask_rcnn_box_predictor.fc_hyperparams, + True), + mock.call(box_predictor_proto.mask_rcnn_box_predictor.conv_hyperparams, + True)], any_order=True) + self.assertFalse(box_predictor._use_dropout) + self.assertAlmostEqual(box_predictor._dropout_keep_prob, 0.5) + self.assertEqual(box_predictor.num_classes, 90) + self.assertTrue(box_predictor._is_training) + self.assertEqual(box_predictor._box_code_size, 4) + self.assertTrue(box_predictor._predict_instance_masks) + self.assertEqual(box_predictor._mask_prediction_conv_depth, 512) + self.assertFalse(box_predictor._predict_keypoints) + + +class RfcnBoxPredictorBuilderTest(tf.test.TestCase): + + def test_box_predictor_calls_fc_argscope_fn(self): + conv_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + weight: 0.0003 + } + } + initializer { + truncated_normal_initializer { + mean: 0.0 + stddev: 0.3 + } + } + activation: RELU_6 + """ + hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, hyperparams_proto) + def mock_conv_argscope_builder(conv_hyperparams_arg, is_training): + return (conv_hyperparams_arg, is_training) + + box_predictor_proto = box_predictor_pb2.BoxPredictor() + box_predictor_proto.rfcn_box_predictor.conv_hyperparams.CopyFrom( + hyperparams_proto) + box_predictor = box_predictor_builder.build( + argscope_fn=mock_conv_argscope_builder, + box_predictor_config=box_predictor_proto, + is_training=False, + num_classes=10) + (conv_hyperparams_actual, is_training) = box_predictor._conv_hyperparams + self.assertAlmostEqual((hyperparams_proto.regularizer. + l1_regularizer.weight), + (conv_hyperparams_actual.regularizer.l1_regularizer. + weight)) + self.assertAlmostEqual((hyperparams_proto.initializer. + truncated_normal_initializer.stddev), + (conv_hyperparams_actual.initializer. + truncated_normal_initializer.stddev)) + self.assertAlmostEqual((hyperparams_proto.initializer. + truncated_normal_initializer.mean), + (conv_hyperparams_actual.initializer. + truncated_normal_initializer.mean)) + self.assertEqual(hyperparams_proto.activation, + conv_hyperparams_actual.activation) + self.assertFalse(is_training) + + def test_non_default_rfcn_box_predictor(self): + conv_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + activation: RELU_6 + """ + box_predictor_text_proto = """ + rfcn_box_predictor { + num_spatial_bins_height: 4 + num_spatial_bins_width: 4 + depth: 4 + box_code_size: 3 + crop_height: 16 + crop_width: 16 + } + """ + hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, hyperparams_proto) + def mock_conv_argscope_builder(conv_hyperparams_arg, is_training): + return (conv_hyperparams_arg, is_training) + + box_predictor_proto = box_predictor_pb2.BoxPredictor() + text_format.Merge(box_predictor_text_proto, box_predictor_proto) + box_predictor_proto.rfcn_box_predictor.conv_hyperparams.CopyFrom( + hyperparams_proto) + box_predictor = box_predictor_builder.build( + argscope_fn=mock_conv_argscope_builder, + box_predictor_config=box_predictor_proto, + is_training=True, + num_classes=90) + self.assertEqual(box_predictor.num_classes, 90) + self.assertTrue(box_predictor._is_training) + self.assertEqual(box_predictor._box_code_size, 3) + self.assertEqual(box_predictor._num_spatial_bins, [4, 4]) + self.assertEqual(box_predictor._crop_size, [16, 16]) + + def test_default_rfcn_box_predictor(self): + conv_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + activation: RELU_6 + """ + hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, hyperparams_proto) + def mock_conv_argscope_builder(conv_hyperparams_arg, is_training): + return (conv_hyperparams_arg, is_training) + + box_predictor_proto = box_predictor_pb2.BoxPredictor() + box_predictor_proto.rfcn_box_predictor.conv_hyperparams.CopyFrom( + hyperparams_proto) + box_predictor = box_predictor_builder.build( + argscope_fn=mock_conv_argscope_builder, + box_predictor_config=box_predictor_proto, + is_training=True, + num_classes=90) + self.assertEqual(box_predictor.num_classes, 90) + self.assertTrue(box_predictor._is_training) + self.assertEqual(box_predictor._box_code_size, 4) + self.assertEqual(box_predictor._num_spatial_bins, [3, 3]) + self.assertEqual(box_predictor._crop_size, [12, 12]) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/hyperparams_builder.py b/object_detection/builders/hyperparams_builder.py new file mode 100644 index 000000000..6fc62a944 --- /dev/null +++ b/object_detection/builders/hyperparams_builder.py @@ -0,0 +1,169 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Builder function to construct tf-slim arg_scope for convolution, fc ops.""" +import tensorflow as tf + +from object_detection.protos import hyperparams_pb2 + +slim = tf.contrib.slim + + +def build(hyperparams_config, is_training): + """Builds tf-slim arg_scope for convolution ops based on the config. + + Returns an arg_scope to use for convolution ops containing weights + initializer, weights regularizer, activation function, batch norm function + and batch norm parameters based on the configuration. + + Note that if the batch_norm parameteres are not specified in the config + (i.e. left to default) then batch norm is excluded from the arg_scope. + + The batch norm parameters are set for updates based on `is_training` argument + and conv_hyperparams_config.batch_norm.train parameter. During training, they + are updated only if batch_norm.train parameter is true. However, during eval, + no updates are made to the batch norm variables. In both cases, their current + values are used during forward pass. + + Args: + hyperparams_config: hyperparams.proto object containing + hyperparameters. + is_training: Whether the network is in training mode. + + Returns: + arg_scope: tf-slim arg_scope containing hyperparameters for ops. + + Raises: + ValueError: if hyperparams_config is not of type hyperparams.Hyperparams. + """ + if not isinstance(hyperparams_config, + hyperparams_pb2.Hyperparams): + raise ValueError('hyperparams_config not of type ' + 'hyperparams_pb.Hyperparams.') + + batch_norm = None + batch_norm_params = None + if hyperparams_config.HasField('batch_norm'): + batch_norm = slim.batch_norm + batch_norm_params = _build_batch_norm_params( + hyperparams_config.batch_norm, is_training) + + affected_ops = [slim.conv2d, slim.separable_conv2d, slim.conv2d_transpose] + if hyperparams_config.HasField('op') and ( + hyperparams_config.op == hyperparams_pb2.Hyperparams.FC): + affected_ops = [slim.fully_connected] + with slim.arg_scope( + affected_ops, + weights_regularizer=_build_regularizer( + hyperparams_config.regularizer), + weights_initializer=_build_initializer( + hyperparams_config.initializer), + activation_fn=_build_activation_fn(hyperparams_config.activation), + normalizer_fn=batch_norm, + normalizer_params=batch_norm_params) as sc: + return sc + + +def _build_activation_fn(activation_fn): + """Builds a callable activation from config. + + Args: + activation_fn: hyperparams_pb2.Hyperparams.activation + + Returns: + Callable activation function. + + Raises: + ValueError: On unknown activation function. + """ + if activation_fn == hyperparams_pb2.Hyperparams.NONE: + return None + if activation_fn == hyperparams_pb2.Hyperparams.RELU: + return tf.nn.relu + if activation_fn == hyperparams_pb2.Hyperparams.RELU_6: + return tf.nn.relu6 + raise ValueError('Unknown activation function: {}'.format(activation_fn)) + + +def _build_regularizer(regularizer): + """Builds a tf-slim regularizer from config. + + Args: + regularizer: hyperparams_pb2.Hyperparams.regularizer proto. + + Returns: + tf-slim regularizer. + + Raises: + ValueError: On unknown regularizer. + """ + regularizer_oneof = regularizer.WhichOneof('regularizer_oneof') + if regularizer_oneof == 'l1_regularizer': + return slim.l1_regularizer(scale=regularizer.l1_regularizer.weight) + if regularizer_oneof == 'l2_regularizer': + return slim.l2_regularizer(scale=regularizer.l2_regularizer.weight) + raise ValueError('Unknown regularizer function: {}'.format(regularizer_oneof)) + + +def _build_initializer(initializer): + """Build a tf initializer from config. + + Args: + initializer: hyperparams_pb2.Hyperparams.regularizer proto. + + Returns: + tf initializer. + + Raises: + ValueError: On unknown initializer. + """ + initializer_oneof = initializer.WhichOneof('initializer_oneof') + if initializer_oneof == 'truncated_normal_initializer': + return tf.truncated_normal_initializer( + mean=initializer.truncated_normal_initializer.mean, + stddev=initializer.truncated_normal_initializer.stddev) + if initializer_oneof == 'variance_scaling_initializer': + enum_descriptor = (hyperparams_pb2.VarianceScalingInitializer. + DESCRIPTOR.enum_types_by_name['Mode']) + mode = enum_descriptor.values_by_number[initializer. + variance_scaling_initializer. + mode].name + return slim.variance_scaling_initializer( + factor=initializer.variance_scaling_initializer.factor, + mode=mode, + uniform=initializer.variance_scaling_initializer.uniform) + raise ValueError('Unknown initializer function: {}'.format( + initializer_oneof)) + + +def _build_batch_norm_params(batch_norm, is_training): + """Build a dictionary of batch_norm params from config. + + Args: + batch_norm: hyperparams_pb2.ConvHyperparams.batch_norm proto. + is_training: Whether the models is in training mode. + + Returns: + A dictionary containing batch_norm parameters. + """ + batch_norm_params = { + 'decay': batch_norm.decay, + 'center': batch_norm.center, + 'scale': batch_norm.scale, + 'epsilon': batch_norm.epsilon, + 'fused': True, + 'is_training': is_training and batch_norm.train, + } + return batch_norm_params diff --git a/object_detection/builders/hyperparams_builder_test.py b/object_detection/builders/hyperparams_builder_test.py new file mode 100644 index 000000000..7b0572a03 --- /dev/null +++ b/object_detection/builders/hyperparams_builder_test.py @@ -0,0 +1,450 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests object_detection.core.hyperparams_builder.""" + +import numpy as np +import tensorflow as tf + +from google.protobuf import text_format + +# TODO: Rewrite third_party imports. +from object_detection.builders import hyperparams_builder +from object_detection.protos import hyperparams_pb2 + +slim = tf.contrib.slim + + +class HyperparamsBuilderTest(tf.test.TestCase): + + # TODO: Make this a public api in slim arg_scope.py. + def _get_scope_key(self, op): + return getattr(op, '_key_op', str(op)) + + def test_default_arg_scope_has_conv2d_op(self): + conv_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + self.assertTrue(self._get_scope_key(slim.conv2d) in scope) + + def test_default_arg_scope_has_separable_conv2d_op(self): + conv_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + self.assertTrue(self._get_scope_key(slim.separable_conv2d) in scope) + + def test_default_arg_scope_has_conv2d_transpose_op(self): + conv_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + self.assertTrue(self._get_scope_key(slim.conv2d_transpose) in scope) + + def test_explicit_fc_op_arg_scope_has_fully_connected_op(self): + conv_hyperparams_text_proto = """ + op: FC + regularizer { + l1_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + self.assertTrue(self._get_scope_key(slim.fully_connected) in scope) + + def test_separable_conv2d_and_conv2d_and_transpose_have_same_parameters(self): + conv_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + kwargs_1, kwargs_2, kwargs_3 = scope.values() + self.assertDictEqual(kwargs_1, kwargs_2) + self.assertDictEqual(kwargs_1, kwargs_3) + + def test_return_l1_regularized_weights(self): + conv_hyperparams_text_proto = """ + regularizer { + l1_regularizer { + weight: 0.5 + } + } + initializer { + truncated_normal_initializer { + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + regularizer = conv_scope_arguments['weights_regularizer'] + weights = np.array([1., -1, 4., 2.]) + with self.test_session() as sess: + result = sess.run(regularizer(tf.constant(weights))) + self.assertAllClose(np.abs(weights).sum() * 0.5, result) + + def test_return_l2_regularizer_weights(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + weight: 0.42 + } + } + initializer { + truncated_normal_initializer { + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + + regularizer = conv_scope_arguments['weights_regularizer'] + weights = np.array([1., -1, 4., 2.]) + with self.test_session() as sess: + result = sess.run(regularizer(tf.constant(weights))) + self.assertAllClose(np.power(weights, 2).sum() / 2.0 * 0.42, result) + + def test_return_non_default_batch_norm_params_with_train_during_train(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + batch_norm { + decay: 0.7 + center: false + scale: true + epsilon: 0.03 + train: true + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + self.assertEqual(conv_scope_arguments['normalizer_fn'], slim.batch_norm) + batch_norm_params = conv_scope_arguments['normalizer_params'] + self.assertAlmostEqual(batch_norm_params['decay'], 0.7) + self.assertAlmostEqual(batch_norm_params['epsilon'], 0.03) + self.assertFalse(batch_norm_params['center']) + self.assertTrue(batch_norm_params['scale']) + self.assertTrue(batch_norm_params['is_training']) + + def test_return_batch_norm_params_with_notrain_during_eval(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + batch_norm { + decay: 0.7 + center: false + scale: true + epsilon: 0.03 + train: true + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=False) + conv_scope_arguments = scope.values()[0] + self.assertEqual(conv_scope_arguments['normalizer_fn'], slim.batch_norm) + batch_norm_params = conv_scope_arguments['normalizer_params'] + self.assertAlmostEqual(batch_norm_params['decay'], 0.7) + self.assertAlmostEqual(batch_norm_params['epsilon'], 0.03) + self.assertFalse(batch_norm_params['center']) + self.assertTrue(batch_norm_params['scale']) + self.assertFalse(batch_norm_params['is_training']) + + def test_return_batch_norm_params_with_notrain_when_train_is_false(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + batch_norm { + decay: 0.7 + center: false + scale: true + epsilon: 0.03 + train: false + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + self.assertEqual(conv_scope_arguments['normalizer_fn'], slim.batch_norm) + batch_norm_params = conv_scope_arguments['normalizer_params'] + self.assertAlmostEqual(batch_norm_params['decay'], 0.7) + self.assertAlmostEqual(batch_norm_params['epsilon'], 0.03) + self.assertFalse(batch_norm_params['center']) + self.assertTrue(batch_norm_params['scale']) + self.assertFalse(batch_norm_params['is_training']) + + def test_do_not_use_batch_norm_if_default(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + self.assertEqual(conv_scope_arguments['normalizer_fn'], None) + self.assertEqual(conv_scope_arguments['normalizer_params'], None) + + def test_use_none_activation(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + activation: NONE + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + self.assertEqual(conv_scope_arguments['activation_fn'], None) + + def test_use_relu_activation(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + activation: RELU + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + self.assertEqual(conv_scope_arguments['activation_fn'], tf.nn.relu) + + def test_use_relu_6_activation(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + activation: RELU_6 + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + self.assertEqual(conv_scope_arguments['activation_fn'], tf.nn.relu6) + + def _assert_variance_in_range(self, initializer, shape, variance, + tol=1e-2): + with tf.Graph().as_default() as g: + with self.test_session(graph=g) as sess: + var = tf.get_variable( + name='test', + shape=shape, + dtype=tf.float32, + initializer=initializer) + sess.run(tf.global_variables_initializer()) + values = sess.run(var) + self.assertAllClose(np.var(values), variance, tol, tol) + + def test_variance_in_range_with_variance_scaling_initializer_fan_in(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + variance_scaling_initializer { + factor: 2.0 + mode: FAN_IN + uniform: false + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + initializer = conv_scope_arguments['weights_initializer'] + self._assert_variance_in_range(initializer, shape=[100, 40], + variance=2. / 100.) + + def test_variance_in_range_with_variance_scaling_initializer_fan_out(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + variance_scaling_initializer { + factor: 2.0 + mode: FAN_OUT + uniform: false + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + initializer = conv_scope_arguments['weights_initializer'] + self._assert_variance_in_range(initializer, shape=[100, 40], + variance=2. / 40.) + + def test_variance_in_range_with_variance_scaling_initializer_fan_avg(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + variance_scaling_initializer { + factor: 2.0 + mode: FAN_AVG + uniform: false + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + initializer = conv_scope_arguments['weights_initializer'] + self._assert_variance_in_range(initializer, shape=[100, 40], + variance=4. / (100. + 40.)) + + def test_variance_in_range_with_variance_scaling_initializer_uniform(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + variance_scaling_initializer { + factor: 2.0 + mode: FAN_IN + uniform: true + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + initializer = conv_scope_arguments['weights_initializer'] + self._assert_variance_in_range(initializer, shape=[100, 40], + variance=2. / 100.) + + def test_variance_in_range_with_truncated_normal_initializer(self): + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + mean: 0.0 + stddev: 0.8 + } + } + """ + conv_hyperparams_proto = hyperparams_pb2.Hyperparams() + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams_proto) + scope = hyperparams_builder.build(conv_hyperparams_proto, is_training=True) + conv_scope_arguments = scope.values()[0] + initializer = conv_scope_arguments['weights_initializer'] + self._assert_variance_in_range(initializer, shape=[100, 40], + variance=0.49, tol=1e-1) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/image_resizer_builder.py b/object_detection/builders/image_resizer_builder.py new file mode 100644 index 000000000..542e2de03 --- /dev/null +++ b/object_detection/builders/image_resizer_builder.py @@ -0,0 +1,62 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Builder function for image resizing operations.""" +import functools + +from object_detection.core import preprocessor +from object_detection.protos import image_resizer_pb2 + + +def build(image_resizer_config): + """Builds callable for image resizing operations. + + Args: + image_resizer_config: image_resizer.proto object containing parameters for + an image resizing operation. + + Returns: + image_resizer_fn: Callable for image resizing. This callable always takes + a rank-3 image tensor (corresponding to a single image) and returns a + rank-3 image tensor, possibly with new spatial dimensions. + + Raises: + ValueError: if `image_resizer_config` is of incorrect type. + ValueError: if `image_resizer_config.image_resizer_oneof` is of expected + type. + ValueError: if min_dimension > max_dimension when keep_aspect_ratio_resizer + is used. + """ + if not isinstance(image_resizer_config, image_resizer_pb2.ImageResizer): + raise ValueError('image_resizer_config not of type ' + 'image_resizer_pb2.ImageResizer.') + + if image_resizer_config.WhichOneof( + 'image_resizer_oneof') == 'keep_aspect_ratio_resizer': + keep_aspect_ratio_config = image_resizer_config.keep_aspect_ratio_resizer + if not (keep_aspect_ratio_config.min_dimension + <= keep_aspect_ratio_config.max_dimension): + raise ValueError('min_dimension > max_dimension') + return functools.partial( + preprocessor.resize_to_range, + min_dimension=keep_aspect_ratio_config.min_dimension, + max_dimension=keep_aspect_ratio_config.max_dimension) + if image_resizer_config.WhichOneof( + 'image_resizer_oneof') == 'fixed_shape_resizer': + fixed_shape_resizer_config = image_resizer_config.fixed_shape_resizer + return functools.partial(preprocessor.resize_image, + new_height=fixed_shape_resizer_config.height, + new_width=fixed_shape_resizer_config.width) + raise ValueError('Invalid image resizer option.') diff --git a/object_detection/builders/image_resizer_builder_test.py b/object_detection/builders/image_resizer_builder_test.py new file mode 100644 index 000000000..79c6287d4 --- /dev/null +++ b/object_detection/builders/image_resizer_builder_test.py @@ -0,0 +1,70 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.builders.image_resizer_builder.""" +import tensorflow as tf +from google.protobuf import text_format +from object_detection.builders import image_resizer_builder +from object_detection.protos import image_resizer_pb2 + + +class ImageResizerBuilderTest(tf.test.TestCase): + + def _shape_of_resized_random_image_given_text_proto( + self, input_shape, text_proto): + image_resizer_config = image_resizer_pb2.ImageResizer() + text_format.Merge(text_proto, image_resizer_config) + image_resizer_fn = image_resizer_builder.build(image_resizer_config) + images = tf.to_float(tf.random_uniform( + input_shape, minval=0, maxval=255, dtype=tf.int32)) + resized_images = image_resizer_fn(images) + with self.test_session() as sess: + return sess.run(resized_images).shape + + def test_built_keep_aspect_ratio_resizer_returns_expected_shape(self): + image_resizer_text_proto = """ + keep_aspect_ratio_resizer { + min_dimension: 10 + max_dimension: 20 + } + """ + input_shape = (50, 25, 3) + expected_output_shape = (20, 10, 3) + output_shape = self._shape_of_resized_random_image_given_text_proto( + input_shape, image_resizer_text_proto) + self.assertEqual(output_shape, expected_output_shape) + + def test_built_fixed_shape_resizer_returns_expected_shape(self): + image_resizer_text_proto = """ + fixed_shape_resizer { + height: 10 + width: 20 + } + """ + input_shape = (50, 25, 3) + expected_output_shape = (10, 20, 3) + output_shape = self._shape_of_resized_random_image_given_text_proto( + input_shape, image_resizer_text_proto) + self.assertEqual(output_shape, expected_output_shape) + + def test_raises_error_on_invalid_input(self): + invalid_input = 'invalid_input' + with self.assertRaises(ValueError): + image_resizer_builder.build(invalid_input) + + +if __name__ == '__main__': + tf.test.main() + diff --git a/object_detection/builders/input_reader_builder.py b/object_detection/builders/input_reader_builder.py new file mode 100644 index 000000000..98ad6127a --- /dev/null +++ b/object_detection/builders/input_reader_builder.py @@ -0,0 +1,65 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Input reader builder. + +Creates data sources for DetectionModels from an InputReader config. See +input_reader.proto for options. + +Note: If users wishes to also use their own InputReaders with the Object +Detection configuration framework, they should define their own builder function +that wraps the build function. +""" + +import tensorflow as tf + +from object_detection.data_decoders import tf_example_decoder +from object_detection.protos import input_reader_pb2 + +parallel_reader = tf.contrib.slim.parallel_reader + + +def build(input_reader_config): + """Builds a tensor dictionary based on the InputReader config. + + Args: + input_reader_config: A input_reader_pb2.InputReader object. + + Returns: + A tensor dict based on the input_reader_config. + + Raises: + ValueError: On invalid input reader proto. + """ + if not isinstance(input_reader_config, input_reader_pb2.InputReader): + raise ValueError('input_reader_config not of type ' + 'input_reader_pb2.InputReader.') + + if input_reader_config.WhichOneof('input_reader') == 'tf_record_input_reader': + config = input_reader_config.tf_record_input_reader + _, string_tensor = parallel_reader.parallel_read( + config.input_path, + reader_class=tf.TFRecordReader, + num_epochs=(input_reader_config.num_epochs + if input_reader_config.num_epochs else None), + num_readers=input_reader_config.num_readers, + shuffle=input_reader_config.shuffle, + dtypes=[tf.string, tf.string], + capacity=input_reader_config.queue_capacity, + min_after_dequeue=input_reader_config.min_after_dequeue) + + return tf_example_decoder.TfExampleDecoder().Decode(string_tensor) + + raise ValueError('Unsupported input_reader_config.') diff --git a/object_detection/builders/input_reader_builder_test.py b/object_detection/builders/input_reader_builder_test.py new file mode 100644 index 000000000..05b8a95e5 --- /dev/null +++ b/object_detection/builders/input_reader_builder_test.py @@ -0,0 +1,92 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for input_reader_builder.""" + +import os +import numpy as np +import tensorflow as tf + +from google.protobuf import text_format + +from tensorflow.core.example import example_pb2 +from tensorflow.core.example import feature_pb2 +from object_detection.builders import input_reader_builder +from object_detection.core import standard_fields as fields +from object_detection.protos import input_reader_pb2 + + +class InputReaderBuilderTest(tf.test.TestCase): + + def create_tf_record(self): + path = os.path.join(self.get_temp_dir(), 'tfrecord') + writer = tf.python_io.TFRecordWriter(path) + + image_tensor = np.random.randint(255, size=(4, 5, 3)).astype(np.uint8) + with self.test_session(): + encoded_jpeg = tf.image.encode_jpeg(tf.constant(image_tensor)).eval() + example = example_pb2.Example(features=feature_pb2.Features(feature={ + 'image/encoded': feature_pb2.Feature( + bytes_list=feature_pb2.BytesList(value=[encoded_jpeg])), + 'image/format': feature_pb2.Feature( + bytes_list=feature_pb2.BytesList(value=['jpeg'.encode('utf-8')])), + 'image/object/bbox/xmin': feature_pb2.Feature( + float_list=feature_pb2.FloatList(value=[0.0])), + 'image/object/bbox/xmax': feature_pb2.Feature( + float_list=feature_pb2.FloatList(value=[1.0])), + 'image/object/bbox/ymin': feature_pb2.Feature( + float_list=feature_pb2.FloatList(value=[0.0])), + 'image/object/bbox/ymax': feature_pb2.Feature( + float_list=feature_pb2.FloatList(value=[1.0])), + 'image/object/class/label': feature_pb2.Feature( + int64_list=feature_pb2.Int64List(value=[2])), + })) + writer.write(example.SerializeToString()) + writer.close() + + return path + + def test_build_tf_record_input_reader(self): + tf_record_path = self.create_tf_record() + + input_reader_text_proto = """ + shuffle: false + num_readers: 1 + tf_record_input_reader {{ + input_path: '{0}' + }} + """.format(tf_record_path) + input_reader_proto = input_reader_pb2.InputReader() + text_format.Merge(input_reader_text_proto, input_reader_proto) + tensor_dict = input_reader_builder.build(input_reader_proto) + + sv = tf.train.Supervisor(logdir=self.get_temp_dir()) + with sv.prepare_or_wait_for_session() as sess: + sv.start_queue_runners(sess) + output_dict = sess.run(tensor_dict) + + self.assertEquals( + (4, 5, 3), output_dict[fields.InputDataFields.image].shape) + self.assertEquals( + [2], output_dict[fields.InputDataFields.groundtruth_classes]) + self.assertEquals( + (1, 4), output_dict[fields.InputDataFields.groundtruth_boxes].shape) + self.assertAllEqual( + [0.0, 0.0, 1.0, 1.0], + output_dict[fields.InputDataFields.groundtruth_boxes][0]) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/losses_builder.py b/object_detection/builders/losses_builder.py new file mode 100644 index 000000000..7163e4877 --- /dev/null +++ b/object_detection/builders/losses_builder.py @@ -0,0 +1,161 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""A function to build localization and classification losses from config.""" + +from object_detection.core import losses +from object_detection.protos import losses_pb2 + + +def build(loss_config): + """Build losses based on the config. + + Builds classification, localization losses and optionally a hard example miner + based on the config. + + Args: + loss_config: A losses_pb2.Loss object. + + Returns: + classification_loss: Classification loss object. + localization_loss: Localization loss object. + classification_weight: Classification loss weight. + localization_weight: Localization loss weight. + hard_example_miner: Hard example miner object. + """ + classification_loss = _build_classification_loss( + loss_config.classification_loss) + localization_loss = _build_localization_loss( + loss_config.localization_loss) + classification_weight = loss_config.classification_weight + localization_weight = loss_config.localization_weight + hard_example_miner = None + if loss_config.HasField('hard_example_miner'): + hard_example_miner = build_hard_example_miner( + loss_config.hard_example_miner, + classification_weight, + localization_weight) + return (classification_loss, localization_loss, + classification_weight, + localization_weight, hard_example_miner) + + +def build_hard_example_miner(config, + classification_weight, + localization_weight): + """Builds hard example miner based on the config. + + Args: + config: A losses_pb2.HardExampleMiner object. + classification_weight: Classification loss weight. + localization_weight: Localization loss weight. + + Returns: + Hard example miner. + + """ + loss_type = None + if config.loss_type == losses_pb2.HardExampleMiner.BOTH: + loss_type = 'both' + if config.loss_type == losses_pb2.HardExampleMiner.CLASSIFICATION: + loss_type = 'cls' + if config.loss_type == losses_pb2.HardExampleMiner.LOCALIZATION: + loss_type = 'loc' + + max_negatives_per_positive = None + num_hard_examples = None + if config.max_negatives_per_positive > 0: + max_negatives_per_positive = config.max_negatives_per_positive + if config.num_hard_examples > 0: + num_hard_examples = config.num_hard_examples + hard_example_miner = losses.HardExampleMiner( + num_hard_examples=num_hard_examples, + iou_threshold=config.iou_threshold, + loss_type=loss_type, + cls_loss_weight=classification_weight, + loc_loss_weight=localization_weight, + max_negatives_per_positive=max_negatives_per_positive, + min_negatives_per_image=config.min_negatives_per_image) + return hard_example_miner + + +def _build_localization_loss(loss_config): + """Builds a localization loss based on the loss config. + + Args: + loss_config: A losses_pb2.LocalizationLoss object. + + Returns: + Loss based on the config. + + Raises: + ValueError: On invalid loss_config. + """ + if not isinstance(loss_config, losses_pb2.LocalizationLoss): + raise ValueError('loss_config not of type losses_pb2.LocalizationLoss.') + + loss_type = loss_config.WhichOneof('localization_loss') + + if loss_type == 'weighted_l2': + config = loss_config.weighted_l2 + return losses.WeightedL2LocalizationLoss( + anchorwise_output=config.anchorwise_output) + + if loss_type == 'weighted_smooth_l1': + config = loss_config.weighted_smooth_l1 + return losses.WeightedSmoothL1LocalizationLoss( + anchorwise_output=config.anchorwise_output) + + if loss_type == 'weighted_iou': + return losses.WeightedIOULocalizationLoss() + + raise ValueError('Empty loss config.') + + +def _build_classification_loss(loss_config): + """Builds a classification loss based on the loss config. + + Args: + loss_config: A losses_pb2.ClassificationLoss object. + + Returns: + Loss based on the config. + + Raises: + ValueError: On invalid loss_config. + """ + if not isinstance(loss_config, losses_pb2.ClassificationLoss): + raise ValueError('loss_config not of type losses_pb2.ClassificationLoss.') + + loss_type = loss_config.WhichOneof('classification_loss') + + if loss_type == 'weighted_sigmoid': + config = loss_config.weighted_sigmoid + return losses.WeightedSigmoidClassificationLoss( + anchorwise_output=config.anchorwise_output) + + if loss_type == 'weighted_softmax': + config = loss_config.weighted_softmax + return losses.WeightedSoftmaxClassificationLoss( + anchorwise_output=config.anchorwise_output) + + if loss_type == 'bootstrapped_sigmoid': + config = loss_config.bootstrapped_sigmoid + return losses.BootstrappedSigmoidClassificationLoss( + alpha=config.alpha, + bootstrap_type=('hard' if config.hard_bootstrap else 'soft'), + anchorwise_output=config.anchorwise_output) + + raise ValueError('Empty loss config.') diff --git a/object_detection/builders/losses_builder_test.py b/object_detection/builders/losses_builder_test.py new file mode 100644 index 000000000..90e5d639c --- /dev/null +++ b/object_detection/builders/losses_builder_test.py @@ -0,0 +1,323 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for losses_builder.""" + +import tensorflow as tf + +from google.protobuf import text_format +from object_detection.builders import losses_builder +from object_detection.core import losses +from object_detection.protos import losses_pb2 + + +class LocalizationLossBuilderTest(tf.test.TestCase): + + def test_build_weighted_l2_localization_loss(self): + losses_text_proto = """ + localization_loss { + weighted_l2 { + } + } + classification_loss { + weighted_softmax { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + _, localization_loss, _, _, _ = losses_builder.build(losses_proto) + self.assertTrue(isinstance(localization_loss, + losses.WeightedL2LocalizationLoss)) + + def test_build_weighted_smooth_l1_localization_loss(self): + losses_text_proto = """ + localization_loss { + weighted_smooth_l1 { + } + } + classification_loss { + weighted_softmax { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + _, localization_loss, _, _, _ = losses_builder.build(losses_proto) + self.assertTrue(isinstance(localization_loss, + losses.WeightedSmoothL1LocalizationLoss)) + + def test_build_weighted_iou_localization_loss(self): + losses_text_proto = """ + localization_loss { + weighted_iou { + } + } + classification_loss { + weighted_softmax { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + _, localization_loss, _, _, _ = losses_builder.build(losses_proto) + self.assertTrue(isinstance(localization_loss, + losses.WeightedIOULocalizationLoss)) + + def test_anchorwise_output(self): + losses_text_proto = """ + localization_loss { + weighted_smooth_l1 { + anchorwise_output: true + } + } + classification_loss { + weighted_softmax { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + _, localization_loss, _, _, _ = losses_builder.build(losses_proto) + self.assertTrue(isinstance(localization_loss, + losses.WeightedSmoothL1LocalizationLoss)) + predictions = tf.constant([[[0.0, 0.0, 1.0, 1.0], [0.0, 0.0, 1.0, 1.0]]]) + targets = tf.constant([[[0.0, 0.0, 1.0, 1.0], [0.0, 0.0, 1.0, 1.0]]]) + weights = tf.constant([[1.0, 1.0]]) + loss = localization_loss(predictions, targets, weights=weights) + self.assertEqual(loss.shape, [1, 2]) + + def test_raise_error_on_empty_localization_config(self): + losses_text_proto = """ + classification_loss { + weighted_softmax { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + with self.assertRaises(ValueError): + losses_builder._build_localization_loss(losses_proto) + + +class ClassificationLossBuilderTest(tf.test.TestCase): + + def test_build_weighted_sigmoid_classification_loss(self): + losses_text_proto = """ + classification_loss { + weighted_sigmoid { + } + } + localization_loss { + weighted_l2 { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + classification_loss, _, _, _, _ = losses_builder.build(losses_proto) + self.assertTrue(isinstance(classification_loss, + losses.WeightedSigmoidClassificationLoss)) + + def test_build_weighted_softmax_classification_loss(self): + losses_text_proto = """ + classification_loss { + weighted_softmax { + } + } + localization_loss { + weighted_l2 { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + classification_loss, _, _, _, _ = losses_builder.build(losses_proto) + self.assertTrue(isinstance(classification_loss, + losses.WeightedSoftmaxClassificationLoss)) + + def test_build_bootstrapped_sigmoid_classification_loss(self): + losses_text_proto = """ + classification_loss { + bootstrapped_sigmoid { + alpha: 0.5 + } + } + localization_loss { + weighted_l2 { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + classification_loss, _, _, _, _ = losses_builder.build(losses_proto) + self.assertTrue(isinstance(classification_loss, + losses.BootstrappedSigmoidClassificationLoss)) + + def test_anchorwise_output(self): + losses_text_proto = """ + classification_loss { + weighted_sigmoid { + anchorwise_output: true + } + } + localization_loss { + weighted_l2 { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + classification_loss, _, _, _, _ = losses_builder.build(losses_proto) + self.assertTrue(isinstance(classification_loss, + losses.WeightedSigmoidClassificationLoss)) + predictions = tf.constant([[[0.0, 1.0, 0.0], [0.0, 0.5, 0.5]]]) + targets = tf.constant([[[0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]]) + weights = tf.constant([[1.0, 1.0]]) + loss = classification_loss(predictions, targets, weights=weights) + self.assertEqual(loss.shape, [1, 2]) + + def test_raise_error_on_empty_config(self): + losses_text_proto = """ + localization_loss { + weighted_l2 { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + with self.assertRaises(ValueError): + losses_builder.build(losses_proto) + + +class HardExampleMinerBuilderTest(tf.test.TestCase): + + def test_do_not_build_hard_example_miner_by_default(self): + losses_text_proto = """ + localization_loss { + weighted_l2 { + } + } + classification_loss { + weighted_softmax { + } + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + _, _, _, _, hard_example_miner = losses_builder.build(losses_proto) + self.assertEqual(hard_example_miner, None) + + def test_build_hard_example_miner_for_classification_loss(self): + losses_text_proto = """ + localization_loss { + weighted_l2 { + } + } + classification_loss { + weighted_softmax { + } + } + hard_example_miner { + loss_type: CLASSIFICATION + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + _, _, _, _, hard_example_miner = losses_builder.build(losses_proto) + self.assertTrue(isinstance(hard_example_miner, losses.HardExampleMiner)) + self.assertEqual(hard_example_miner._loss_type, 'cls') + + def test_build_hard_example_miner_for_localization_loss(self): + losses_text_proto = """ + localization_loss { + weighted_l2 { + } + } + classification_loss { + weighted_softmax { + } + } + hard_example_miner { + loss_type: LOCALIZATION + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + _, _, _, _, hard_example_miner = losses_builder.build(losses_proto) + self.assertTrue(isinstance(hard_example_miner, losses.HardExampleMiner)) + self.assertEqual(hard_example_miner._loss_type, 'loc') + + def test_build_hard_example_miner_with_non_default_values(self): + losses_text_proto = """ + localization_loss { + weighted_l2 { + } + } + classification_loss { + weighted_softmax { + } + } + hard_example_miner { + num_hard_examples: 32 + iou_threshold: 0.5 + loss_type: LOCALIZATION + max_negatives_per_positive: 10 + min_negatives_per_image: 3 + } + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + _, _, _, _, hard_example_miner = losses_builder.build(losses_proto) + self.assertTrue(isinstance(hard_example_miner, losses.HardExampleMiner)) + self.assertEqual(hard_example_miner._num_hard_examples, 32) + self.assertAlmostEqual(hard_example_miner._iou_threshold, 0.5) + self.assertEqual(hard_example_miner._max_negatives_per_positive, 10) + self.assertEqual(hard_example_miner._min_negatives_per_image, 3) + + +class LossBuilderTest(tf.test.TestCase): + + def test_build_all_loss_parameters(self): + losses_text_proto = """ + localization_loss { + weighted_l2 { + } + } + classification_loss { + weighted_softmax { + } + } + hard_example_miner { + } + classification_weight: 0.8 + localization_weight: 0.2 + """ + losses_proto = losses_pb2.Loss() + text_format.Merge(losses_text_proto, losses_proto) + (classification_loss, localization_loss, + classification_weight, localization_weight, + hard_example_miner) = losses_builder.build(losses_proto) + self.assertTrue(isinstance(hard_example_miner, losses.HardExampleMiner)) + self.assertTrue(isinstance(classification_loss, + losses.WeightedSoftmaxClassificationLoss)) + self.assertTrue(isinstance(localization_loss, + losses.WeightedL2LocalizationLoss)) + self.assertAlmostEqual(classification_weight, 0.8) + self.assertAlmostEqual(localization_weight, 0.2) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/matcher_builder.py b/object_detection/builders/matcher_builder.py new file mode 100644 index 000000000..6ec49da97 --- /dev/null +++ b/object_detection/builders/matcher_builder.py @@ -0,0 +1,51 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""A function to build an object detection matcher from configuration.""" + +from object_detection.matchers import argmax_matcher +from object_detection.matchers import bipartite_matcher +from object_detection.protos import matcher_pb2 + + +def build(matcher_config): + """Builds a matcher object based on the matcher config. + + Args: + matcher_config: A matcher.proto object containing the config for the desired + Matcher. + + Returns: + Matcher based on the config. + + Raises: + ValueError: On empty matcher proto. + """ + if not isinstance(matcher_config, matcher_pb2.Matcher): + raise ValueError('matcher_config not of type matcher_pb2.Matcher.') + if matcher_config.WhichOneof('matcher_oneof') == 'argmax_matcher': + matcher = matcher_config.argmax_matcher + matched_threshold = unmatched_threshold = None + if not matcher.ignore_thresholds: + matched_threshold = matcher.matched_threshold + unmatched_threshold = matcher.unmatched_threshold + return argmax_matcher.ArgMaxMatcher( + matched_threshold=matched_threshold, + unmatched_threshold=unmatched_threshold, + negatives_lower_than_unmatched=matcher.negatives_lower_than_unmatched, + force_match_for_each_row=matcher.force_match_for_each_row) + if matcher_config.WhichOneof('matcher_oneof') == 'bipartite_matcher': + return bipartite_matcher.GreedyBipartiteMatcher() + raise ValueError('Empty matcher.') diff --git a/object_detection/builders/matcher_builder_test.py b/object_detection/builders/matcher_builder_test.py new file mode 100644 index 000000000..c4275aaef --- /dev/null +++ b/object_detection/builders/matcher_builder_test.py @@ -0,0 +1,97 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for matcher_builder.""" + +import tensorflow as tf + +from google.protobuf import text_format +from object_detection.builders import matcher_builder +from object_detection.matchers import argmax_matcher +from object_detection.matchers import bipartite_matcher +from object_detection.protos import matcher_pb2 + + +class MatcherBuilderTest(tf.test.TestCase): + + def test_build_arg_max_matcher_with_defaults(self): + matcher_text_proto = """ + argmax_matcher { + } + """ + matcher_proto = matcher_pb2.Matcher() + text_format.Merge(matcher_text_proto, matcher_proto) + matcher_object = matcher_builder.build(matcher_proto) + self.assertTrue(isinstance(matcher_object, argmax_matcher.ArgMaxMatcher)) + self.assertAlmostEqual(matcher_object._matched_threshold, 0.5) + self.assertAlmostEqual(matcher_object._unmatched_threshold, 0.5) + self.assertTrue(matcher_object._negatives_lower_than_unmatched) + self.assertFalse(matcher_object._force_match_for_each_row) + + def test_build_arg_max_matcher_without_thresholds(self): + matcher_text_proto = """ + argmax_matcher { + ignore_thresholds: true + } + """ + matcher_proto = matcher_pb2.Matcher() + text_format.Merge(matcher_text_proto, matcher_proto) + matcher_object = matcher_builder.build(matcher_proto) + self.assertTrue(isinstance(matcher_object, argmax_matcher.ArgMaxMatcher)) + self.assertEqual(matcher_object._matched_threshold, None) + self.assertEqual(matcher_object._unmatched_threshold, None) + self.assertTrue(matcher_object._negatives_lower_than_unmatched) + self.assertFalse(matcher_object._force_match_for_each_row) + + def test_build_arg_max_matcher_with_non_default_parameters(self): + matcher_text_proto = """ + argmax_matcher { + matched_threshold: 0.7 + unmatched_threshold: 0.3 + negatives_lower_than_unmatched: false + force_match_for_each_row: true + } + """ + matcher_proto = matcher_pb2.Matcher() + text_format.Merge(matcher_text_proto, matcher_proto) + matcher_object = matcher_builder.build(matcher_proto) + self.assertTrue(isinstance(matcher_object, argmax_matcher.ArgMaxMatcher)) + self.assertAlmostEqual(matcher_object._matched_threshold, 0.7) + self.assertAlmostEqual(matcher_object._unmatched_threshold, 0.3) + self.assertFalse(matcher_object._negatives_lower_than_unmatched) + self.assertTrue(matcher_object._force_match_for_each_row) + + def test_build_bipartite_matcher(self): + matcher_text_proto = """ + bipartite_matcher { + } + """ + matcher_proto = matcher_pb2.Matcher() + text_format.Merge(matcher_text_proto, matcher_proto) + matcher_object = matcher_builder.build(matcher_proto) + self.assertTrue( + isinstance(matcher_object, bipartite_matcher.GreedyBipartiteMatcher)) + + def test_raise_error_on_empty_matcher(self): + matcher_text_proto = """ + """ + matcher_proto = matcher_pb2.Matcher() + text_format.Merge(matcher_text_proto, matcher_proto) + with self.assertRaises(ValueError): + matcher_builder.build(matcher_proto) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/model_builder.py b/object_detection/builders/model_builder.py new file mode 100644 index 000000000..7df3959c3 --- /dev/null +++ b/object_detection/builders/model_builder.py @@ -0,0 +1,303 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""A function to build a DetectionModel from configuration.""" +from object_detection.builders import anchor_generator_builder +from object_detection.builders import box_coder_builder +from object_detection.builders import box_predictor_builder +from object_detection.builders import hyperparams_builder +from object_detection.builders import image_resizer_builder +from object_detection.builders import losses_builder +from object_detection.builders import matcher_builder +from object_detection.builders import post_processing_builder +from object_detection.builders import region_similarity_calculator_builder as sim_calc +from object_detection.core import box_predictor +from object_detection.meta_architectures import faster_rcnn_meta_arch +from object_detection.meta_architectures import rfcn_meta_arch +from object_detection.meta_architectures import ssd_meta_arch +from object_detection.models import faster_rcnn_inception_resnet_v2_feature_extractor as frcnn_inc_res +from object_detection.models import faster_rcnn_resnet_v1_feature_extractor as frcnn_resnet_v1 +from object_detection.models.ssd_inception_v2_feature_extractor import SSDInceptionV2FeatureExtractor +from object_detection.models.ssd_mobilenet_v1_feature_extractor import SSDMobileNetV1FeatureExtractor +from object_detection.protos import model_pb2 + +# A map of names to SSD feature extractors. +SSD_FEATURE_EXTRACTOR_CLASS_MAP = { + 'ssd_inception_v2': SSDInceptionV2FeatureExtractor, + 'ssd_mobilenet_v1': SSDMobileNetV1FeatureExtractor, +} + +# A map of names to Faster R-CNN feature extractors. +FASTER_RCNN_FEATURE_EXTRACTOR_CLASS_MAP = { + 'faster_rcnn_resnet50': + frcnn_resnet_v1.FasterRCNNResnet50FeatureExtractor, + 'faster_rcnn_resnet101': + frcnn_resnet_v1.FasterRCNNResnet101FeatureExtractor, + 'faster_rcnn_resnet152': + frcnn_resnet_v1.FasterRCNNResnet152FeatureExtractor, + 'faster_rcnn_inception_resnet_v2': + frcnn_inc_res.FasterRCNNInceptionResnetV2FeatureExtractor +} + + +def build(model_config, is_training): + """Builds a DetectionModel based on the model config. + + Args: + model_config: A model.proto object containing the config for the desired + DetectionModel. + is_training: True if this model is being built for training purposes. + + Returns: + DetectionModel based on the config. + + Raises: + ValueError: On invalid meta architecture or model. + """ + if not isinstance(model_config, model_pb2.DetectionModel): + raise ValueError('model_config not of type model_pb2.DetectionModel.') + meta_architecture = model_config.WhichOneof('model') + if meta_architecture == 'ssd': + return _build_ssd_model(model_config.ssd, is_training) + if meta_architecture == 'faster_rcnn': + return _build_faster_rcnn_model(model_config.faster_rcnn, is_training) + raise ValueError('Unknown meta architecture: {}'.format(meta_architecture)) + + +def _build_ssd_feature_extractor(feature_extractor_config, is_training, + reuse_weights=None): + """Builds a ssd_meta_arch.SSDFeatureExtractor based on config. + + Args: + feature_extractor_config: A SSDFeatureExtractor proto config from ssd.proto. + is_training: True if this feature extractor is being built for training. + reuse_weights: if the feature extractor should reuse weights. + + Returns: + ssd_meta_arch.SSDFeatureExtractor based on config. + + Raises: + ValueError: On invalid feature extractor type. + """ + feature_type = feature_extractor_config.type + depth_multiplier = feature_extractor_config.depth_multiplier + min_depth = feature_extractor_config.min_depth + conv_hyperparams = hyperparams_builder.build( + feature_extractor_config.conv_hyperparams, is_training) + + if feature_type not in SSD_FEATURE_EXTRACTOR_CLASS_MAP: + raise ValueError('Unknown ssd feature_extractor: {}'.format(feature_type)) + + feature_extractor_class = SSD_FEATURE_EXTRACTOR_CLASS_MAP[feature_type] + return feature_extractor_class(depth_multiplier, min_depth, conv_hyperparams, + reuse_weights) + + +def _build_ssd_model(ssd_config, is_training): + """Builds an SSD detection model based on the model config. + + Args: + ssd_config: A ssd.proto object containing the config for the desired + SSDMetaArch. + is_training: True if this model is being built for training purposes. + + Returns: + SSDMetaArch based on the config. + Raises: + ValueError: If ssd_config.type is not recognized (i.e. not registered in + model_class_map). + """ + num_classes = ssd_config.num_classes + + # Feature extractor + feature_extractor = _build_ssd_feature_extractor(ssd_config.feature_extractor, + is_training) + + box_coder = box_coder_builder.build(ssd_config.box_coder) + matcher = matcher_builder.build(ssd_config.matcher) + region_similarity_calculator = sim_calc.build( + ssd_config.similarity_calculator) + ssd_box_predictor = box_predictor_builder.build(hyperparams_builder.build, + ssd_config.box_predictor, + is_training, num_classes) + anchor_generator = anchor_generator_builder.build( + ssd_config.anchor_generator) + image_resizer_fn = image_resizer_builder.build(ssd_config.image_resizer) + non_max_suppression_fn, score_conversion_fn = post_processing_builder.build( + ssd_config.post_processing) + (classification_loss, localization_loss, classification_weight, + localization_weight, + hard_example_miner) = losses_builder.build(ssd_config.loss) + normalize_loss_by_num_matches = ssd_config.normalize_loss_by_num_matches + + return ssd_meta_arch.SSDMetaArch( + is_training, + anchor_generator, + ssd_box_predictor, + box_coder, + feature_extractor, + matcher, + region_similarity_calculator, + image_resizer_fn, + non_max_suppression_fn, + score_conversion_fn, + classification_loss, + localization_loss, + classification_weight, + localization_weight, + normalize_loss_by_num_matches, + hard_example_miner) + + +def _build_faster_rcnn_feature_extractor( + feature_extractor_config, is_training, reuse_weights=None): + """Builds a faster_rcnn_meta_arch.FasterRCNNFeatureExtractor based on config. + + Args: + feature_extractor_config: A FasterRcnnFeatureExtractor proto config from + faster_rcnn.proto. + is_training: True if this feature extractor is being built for training. + reuse_weights: if the feature extractor should reuse weights. + + Returns: + faster_rcnn_meta_arch.FasterRCNNFeatureExtractor based on config. + + Raises: + ValueError: On invalid feature extractor type. + """ + feature_type = feature_extractor_config.type + first_stage_features_stride = ( + feature_extractor_config.first_stage_features_stride) + + if feature_type not in FASTER_RCNN_FEATURE_EXTRACTOR_CLASS_MAP: + raise ValueError('Unknown Faster R-CNN feature_extractor: {}'.format( + feature_type)) + feature_extractor_class = FASTER_RCNN_FEATURE_EXTRACTOR_CLASS_MAP[ + feature_type] + return feature_extractor_class( + is_training, first_stage_features_stride, reuse_weights) + + +def _build_faster_rcnn_model(frcnn_config, is_training): + """Builds a Faster R-CNN or R-FCN detection model based on the model config. + + Builds R-FCN model if the second_stage_box_predictor in the config is of type + `rfcn_box_predictor` else builds a Faster R-CNN model. + + Args: + frcnn_config: A faster_rcnn.proto object containing the config for the + desired FasterRCNNMetaArch or RFCNMetaArch. + is_training: True if this model is being built for training purposes. + + Returns: + FasterRCNNMetaArch based on the config. + Raises: + ValueError: If frcnn_config.type is not recognized (i.e. not registered in + model_class_map). + """ + num_classes = frcnn_config.num_classes + image_resizer_fn = image_resizer_builder.build(frcnn_config.image_resizer) + + feature_extractor = _build_faster_rcnn_feature_extractor( + frcnn_config.feature_extractor, is_training) + + first_stage_only = frcnn_config.first_stage_only + first_stage_anchor_generator = anchor_generator_builder.build( + frcnn_config.first_stage_anchor_generator) + + first_stage_atrous_rate = frcnn_config.first_stage_atrous_rate + first_stage_box_predictor_arg_scope = hyperparams_builder.build( + frcnn_config.first_stage_box_predictor_conv_hyperparams, is_training) + first_stage_box_predictor_kernel_size = ( + frcnn_config.first_stage_box_predictor_kernel_size) + first_stage_box_predictor_depth = frcnn_config.first_stage_box_predictor_depth + first_stage_minibatch_size = frcnn_config.first_stage_minibatch_size + first_stage_positive_balance_fraction = ( + frcnn_config.first_stage_positive_balance_fraction) + first_stage_nms_score_threshold = frcnn_config.first_stage_nms_score_threshold + first_stage_nms_iou_threshold = frcnn_config.first_stage_nms_iou_threshold + first_stage_max_proposals = frcnn_config.first_stage_max_proposals + first_stage_loc_loss_weight = ( + frcnn_config.first_stage_localization_loss_weight) + first_stage_obj_loss_weight = frcnn_config.first_stage_objectness_loss_weight + + initial_crop_size = frcnn_config.initial_crop_size + maxpool_kernel_size = frcnn_config.maxpool_kernel_size + maxpool_stride = frcnn_config.maxpool_stride + + second_stage_box_predictor = box_predictor_builder.build( + hyperparams_builder.build, + frcnn_config.second_stage_box_predictor, + is_training=is_training, + num_classes=num_classes) + second_stage_batch_size = frcnn_config.second_stage_batch_size + second_stage_balance_fraction = frcnn_config.second_stage_balance_fraction + (second_stage_non_max_suppression_fn, second_stage_score_conversion_fn + ) = post_processing_builder.build(frcnn_config.second_stage_post_processing) + second_stage_localization_loss_weight = ( + frcnn_config.second_stage_localization_loss_weight) + second_stage_classification_loss_weight = ( + frcnn_config.second_stage_classification_loss_weight) + + hard_example_miner = None + if frcnn_config.HasField('hard_example_miner'): + hard_example_miner = losses_builder.build_hard_example_miner( + frcnn_config.hard_example_miner, + second_stage_classification_loss_weight, + second_stage_localization_loss_weight) + + common_kwargs = { + 'is_training': is_training, + 'num_classes': num_classes, + 'image_resizer_fn': image_resizer_fn, + 'feature_extractor': feature_extractor, + 'first_stage_only': first_stage_only, + 'first_stage_anchor_generator': first_stage_anchor_generator, + 'first_stage_atrous_rate': first_stage_atrous_rate, + 'first_stage_box_predictor_arg_scope': + first_stage_box_predictor_arg_scope, + 'first_stage_box_predictor_kernel_size': + first_stage_box_predictor_kernel_size, + 'first_stage_box_predictor_depth': first_stage_box_predictor_depth, + 'first_stage_minibatch_size': first_stage_minibatch_size, + 'first_stage_positive_balance_fraction': + first_stage_positive_balance_fraction, + 'first_stage_nms_score_threshold': first_stage_nms_score_threshold, + 'first_stage_nms_iou_threshold': first_stage_nms_iou_threshold, + 'first_stage_max_proposals': first_stage_max_proposals, + 'first_stage_localization_loss_weight': first_stage_loc_loss_weight, + 'first_stage_objectness_loss_weight': first_stage_obj_loss_weight, + 'second_stage_batch_size': second_stage_batch_size, + 'second_stage_balance_fraction': second_stage_balance_fraction, + 'second_stage_non_max_suppression_fn': + second_stage_non_max_suppression_fn, + 'second_stage_score_conversion_fn': second_stage_score_conversion_fn, + 'second_stage_localization_loss_weight': + second_stage_localization_loss_weight, + 'second_stage_classification_loss_weight': + second_stage_classification_loss_weight, + 'hard_example_miner': hard_example_miner} + + if isinstance(second_stage_box_predictor, box_predictor.RfcnBoxPredictor): + return rfcn_meta_arch.RFCNMetaArch( + second_stage_rfcn_box_predictor=second_stage_box_predictor, + **common_kwargs) + else: + return faster_rcnn_meta_arch.FasterRCNNMetaArch( + initial_crop_size=initial_crop_size, + maxpool_kernel_size=maxpool_kernel_size, + maxpool_stride=maxpool_stride, + second_stage_mask_rcnn_box_predictor=second_stage_box_predictor, + **common_kwargs) diff --git a/object_detection/builders/model_builder_test.py b/object_detection/builders/model_builder_test.py new file mode 100644 index 000000000..513c5fab3 --- /dev/null +++ b/object_detection/builders/model_builder_test.py @@ -0,0 +1,456 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.models.model_builder.""" + +import tensorflow as tf + +from google.protobuf import text_format +from object_detection.builders import model_builder +from object_detection.meta_architectures import faster_rcnn_meta_arch +from object_detection.meta_architectures import rfcn_meta_arch +from object_detection.meta_architectures import ssd_meta_arch +from object_detection.models import faster_rcnn_inception_resnet_v2_feature_extractor as frcnn_inc_res +from object_detection.models import faster_rcnn_resnet_v1_feature_extractor as frcnn_resnet_v1 +from object_detection.models.ssd_inception_v2_feature_extractor import SSDInceptionV2FeatureExtractor +from object_detection.models.ssd_mobilenet_v1_feature_extractor import SSDMobileNetV1FeatureExtractor +from object_detection.protos import model_pb2 + +FEATURE_EXTRACTOR_MAPS = { + 'faster_rcnn_resnet50': + frcnn_resnet_v1.FasterRCNNResnet50FeatureExtractor, + 'faster_rcnn_resnet101': + frcnn_resnet_v1.FasterRCNNResnet101FeatureExtractor, + 'faster_rcnn_resnet152': + frcnn_resnet_v1.FasterRCNNResnet152FeatureExtractor +} + + +class ModelBuilderTest(tf.test.TestCase): + + def create_model(self, model_config): + """Builds a DetectionModel based on the model config. + + Args: + model_config: A model.proto object containing the config for the desired + DetectionModel. + + Returns: + DetectionModel based on the config. + """ + return model_builder.build(model_config, is_training=True) + + def test_create_ssd_inception_v2_model_from_config(self): + model_text_proto = """ + ssd { + feature_extractor { + type: 'ssd_inception_v2' + conv_hyperparams { + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + } + box_coder { + faster_rcnn_box_coder { + } + } + matcher { + argmax_matcher { + } + } + similarity_calculator { + iou_similarity { + } + } + anchor_generator { + ssd_anchor_generator { + aspect_ratios: 1.0 + } + } + image_resizer { + fixed_shape_resizer { + height: 320 + width: 320 + } + } + box_predictor { + convolutional_box_predictor { + conv_hyperparams { + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + } + } + loss { + classification_loss { + weighted_softmax { + } + } + localization_loss { + weighted_smooth_l1 { + } + } + } + }""" + model_proto = model_pb2.DetectionModel() + text_format.Merge(model_text_proto, model_proto) + model = self.create_model(model_proto) + self.assertIsInstance(model, ssd_meta_arch.SSDMetaArch) + self.assertIsInstance(model._feature_extractor, + SSDInceptionV2FeatureExtractor) + + def test_create_ssd_mobilenet_v1_model_from_config(self): + model_text_proto = """ + ssd { + feature_extractor { + type: 'ssd_mobilenet_v1' + conv_hyperparams { + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + } + box_coder { + faster_rcnn_box_coder { + } + } + matcher { + argmax_matcher { + } + } + similarity_calculator { + iou_similarity { + } + } + anchor_generator { + ssd_anchor_generator { + aspect_ratios: 1.0 + } + } + image_resizer { + fixed_shape_resizer { + height: 320 + width: 320 + } + } + box_predictor { + convolutional_box_predictor { + conv_hyperparams { + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + } + } + loss { + classification_loss { + weighted_softmax { + } + } + localization_loss { + weighted_smooth_l1 { + } + } + } + }""" + model_proto = model_pb2.DetectionModel() + text_format.Merge(model_text_proto, model_proto) + model = self.create_model(model_proto) + self.assertIsInstance(model, ssd_meta_arch.SSDMetaArch) + self.assertIsInstance(model._feature_extractor, + SSDMobileNetV1FeatureExtractor) + + def test_create_faster_rcnn_resnet_v1_models_from_config(self): + model_text_proto = """ + faster_rcnn { + num_classes: 3 + image_resizer { + keep_aspect_ratio_resizer { + min_dimension: 600 + max_dimension: 1024 + } + } + feature_extractor { + type: 'faster_rcnn_resnet101' + } + first_stage_anchor_generator { + grid_anchor_generator { + scales: [0.25, 0.5, 1.0, 2.0] + aspect_ratios: [0.5, 1.0, 2.0] + height_stride: 16 + width_stride: 16 + } + } + first_stage_box_predictor_conv_hyperparams { + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + initial_crop_size: 14 + maxpool_kernel_size: 2 + maxpool_stride: 2 + second_stage_box_predictor { + mask_rcnn_box_predictor { + fc_hyperparams { + op: FC + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + } + } + second_stage_post_processing { + batch_non_max_suppression { + score_threshold: 0.01 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 300 + } + score_converter: SOFTMAX + } + }""" + model_proto = model_pb2.DetectionModel() + text_format.Merge(model_text_proto, model_proto) + for extractor_type, extractor_class in FEATURE_EXTRACTOR_MAPS.iteritems(): + model_proto.faster_rcnn.feature_extractor.type = extractor_type + model = model_builder.build(model_proto, is_training=True) + self.assertIsInstance(model, faster_rcnn_meta_arch.FasterRCNNMetaArch) + self.assertIsInstance(model._feature_extractor, extractor_class) + + def test_create_faster_rcnn_inception_resnet_v2_model_from_config(self): + model_text_proto = """ + faster_rcnn { + num_classes: 3 + image_resizer { + keep_aspect_ratio_resizer { + min_dimension: 600 + max_dimension: 1024 + } + } + feature_extractor { + type: 'faster_rcnn_inception_resnet_v2' + } + first_stage_anchor_generator { + grid_anchor_generator { + scales: [0.25, 0.5, 1.0, 2.0] + aspect_ratios: [0.5, 1.0, 2.0] + height_stride: 16 + width_stride: 16 + } + } + first_stage_box_predictor_conv_hyperparams { + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + initial_crop_size: 17 + maxpool_kernel_size: 1 + maxpool_stride: 1 + second_stage_box_predictor { + mask_rcnn_box_predictor { + fc_hyperparams { + op: FC + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + } + } + second_stage_post_processing { + batch_non_max_suppression { + score_threshold: 0.01 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 300 + } + score_converter: SOFTMAX + } + }""" + model_proto = model_pb2.DetectionModel() + text_format.Merge(model_text_proto, model_proto) + model = model_builder.build(model_proto, is_training=True) + self.assertIsInstance(model, faster_rcnn_meta_arch.FasterRCNNMetaArch) + self.assertIsInstance( + model._feature_extractor, + frcnn_inc_res.FasterRCNNInceptionResnetV2FeatureExtractor) + + def test_create_faster_rcnn_model_from_config_with_example_miner(self): + model_text_proto = """ + faster_rcnn { + num_classes: 3 + feature_extractor { + type: 'faster_rcnn_inception_resnet_v2' + } + image_resizer { + keep_aspect_ratio_resizer { + min_dimension: 600 + max_dimension: 1024 + } + } + first_stage_anchor_generator { + grid_anchor_generator { + scales: [0.25, 0.5, 1.0, 2.0] + aspect_ratios: [0.5, 1.0, 2.0] + height_stride: 16 + width_stride: 16 + } + } + first_stage_box_predictor_conv_hyperparams { + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + second_stage_box_predictor { + mask_rcnn_box_predictor { + fc_hyperparams { + op: FC + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + } + } + hard_example_miner { + num_hard_examples: 10 + iou_threshold: 0.99 + } + }""" + model_proto = model_pb2.DetectionModel() + text_format.Merge(model_text_proto, model_proto) + model = model_builder.build(model_proto, is_training=True) + self.assertIsNotNone(model._hard_example_miner) + + def test_create_rfcn_resnet_v1_model_from_config(self): + model_text_proto = """ + faster_rcnn { + num_classes: 3 + image_resizer { + keep_aspect_ratio_resizer { + min_dimension: 600 + max_dimension: 1024 + } + } + feature_extractor { + type: 'faster_rcnn_resnet101' + } + first_stage_anchor_generator { + grid_anchor_generator { + scales: [0.25, 0.5, 1.0, 2.0] + aspect_ratios: [0.5, 1.0, 2.0] + height_stride: 16 + width_stride: 16 + } + } + first_stage_box_predictor_conv_hyperparams { + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + initial_crop_size: 14 + maxpool_kernel_size: 2 + maxpool_stride: 2 + second_stage_box_predictor { + rfcn_box_predictor { + conv_hyperparams { + op: CONV + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + } + } + } + second_stage_post_processing { + batch_non_max_suppression { + score_threshold: 0.01 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 300 + } + score_converter: SOFTMAX + } + }""" + model_proto = model_pb2.DetectionModel() + text_format.Merge(model_text_proto, model_proto) + for extractor_type, extractor_class in FEATURE_EXTRACTOR_MAPS.iteritems(): + model_proto.faster_rcnn.feature_extractor.type = extractor_type + model = model_builder.build(model_proto, is_training=True) + self.assertIsInstance(model, rfcn_meta_arch.RFCNMetaArch) + self.assertIsInstance(model._feature_extractor, extractor_class) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/optimizer_builder.py b/object_detection/builders/optimizer_builder.py new file mode 100644 index 000000000..f74b05620 --- /dev/null +++ b/object_detection/builders/optimizer_builder.py @@ -0,0 +1,112 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Functions to build DetectionModel training optimizers.""" + +import tensorflow as tf +from object_detection.utils import learning_schedules + +slim = tf.contrib.slim + + +def build(optimizer_config, global_summaries): + """Create optimizer based on config. + + Args: + optimizer_config: A Optimizer proto message. + global_summaries: A set to attach learning rate summary to. + + Returns: + An optimizer. + + Raises: + ValueError: when using an unsupported input data type. + """ + optimizer_type = optimizer_config.WhichOneof('optimizer') + optimizer = None + + if optimizer_type == 'rms_prop_optimizer': + config = optimizer_config.rms_prop_optimizer + optimizer = tf.train.RMSPropOptimizer( + _create_learning_rate(config.learning_rate, global_summaries), + decay=config.decay, + momentum=config.momentum_optimizer_value, + epsilon=config.epsilon) + + if optimizer_type == 'momentum_optimizer': + config = optimizer_config.momentum_optimizer + optimizer = tf.train.MomentumOptimizer( + _create_learning_rate(config.learning_rate, global_summaries), + momentum=config.momentum_optimizer_value) + + if optimizer_type == 'adam_optimizer': + config = optimizer_config.adam_optimizer + optimizer = tf.train.AdamOptimizer( + _create_learning_rate(config.learning_rate, global_summaries)) + + if optimizer is None: + raise ValueError('Optimizer %s not supported.' % optimizer_type) + + if optimizer_config.use_moving_average: + optimizer = tf.contrib.opt.MovingAverageOptimizer( + optimizer, average_decay=optimizer_config.moving_average_decay) + + return optimizer + + +def _create_learning_rate(learning_rate_config, global_summaries): + """Create optimizer learning rate based on config. + + Args: + learning_rate_config: A LearningRate proto message. + global_summaries: A set to attach learning rate summary to. + + Returns: + A learning rate. + + Raises: + ValueError: when using an unsupported input data type. + """ + learning_rate = None + learning_rate_type = learning_rate_config.WhichOneof('learning_rate') + if learning_rate_type == 'constant_learning_rate': + config = learning_rate_config.constant_learning_rate + learning_rate = config.learning_rate + + if learning_rate_type == 'exponential_decay_learning_rate': + config = learning_rate_config.exponential_decay_learning_rate + learning_rate = tf.train.exponential_decay( + config.initial_learning_rate, + slim.get_or_create_global_step(), + config.decay_steps, + config.decay_factor, + staircase=config.staircase) + + if learning_rate_type == 'manual_step_learning_rate': + config = learning_rate_config.manual_step_learning_rate + if not config.schedule: + raise ValueError('Empty learning rate schedule.') + learning_rate_step_boundaries = [x.step for x in config.schedule] + learning_rate_sequence = [config.initial_learning_rate] + learning_rate_sequence += [x.learning_rate for x in config.schedule] + learning_rate = learning_schedules.manual_stepping( + slim.get_or_create_global_step(), learning_rate_step_boundaries, + learning_rate_sequence) + + if learning_rate is None: + raise ValueError('Learning_rate %s not supported.' % learning_rate_type) + + global_summaries.add(tf.summary.scalar('Learning Rate', learning_rate)) + return learning_rate diff --git a/object_detection/builders/optimizer_builder_test.py b/object_detection/builders/optimizer_builder_test.py new file mode 100644 index 000000000..958d2e1d2 --- /dev/null +++ b/object_detection/builders/optimizer_builder_test.py @@ -0,0 +1,197 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for optimizer_builder.""" + +import tensorflow as tf + +from google.protobuf import text_format + +from object_detection.builders import optimizer_builder +from object_detection.protos import optimizer_pb2 + + +class LearningRateBuilderTest(tf.test.TestCase): + + def testBuildConstantLearningRate(self): + learning_rate_text_proto = """ + constant_learning_rate { + learning_rate: 0.004 + } + """ + global_summaries = set([]) + learning_rate_proto = optimizer_pb2.LearningRate() + text_format.Merge(learning_rate_text_proto, learning_rate_proto) + learning_rate = optimizer_builder._create_learning_rate( + learning_rate_proto, global_summaries) + self.assertAlmostEqual(learning_rate, 0.004) + + def testBuildExponentialDecayLearningRate(self): + learning_rate_text_proto = """ + exponential_decay_learning_rate { + initial_learning_rate: 0.004 + decay_steps: 99999 + decay_factor: 0.85 + staircase: false + } + """ + global_summaries = set([]) + learning_rate_proto = optimizer_pb2.LearningRate() + text_format.Merge(learning_rate_text_proto, learning_rate_proto) + learning_rate = optimizer_builder._create_learning_rate( + learning_rate_proto, global_summaries) + self.assertTrue(isinstance(learning_rate, tf.Tensor)) + + def testBuildManualStepLearningRate(self): + learning_rate_text_proto = """ + manual_step_learning_rate { + schedule { + step: 0 + learning_rate: 0.006 + } + schedule { + step: 90000 + learning_rate: 0.00006 + } + } + """ + global_summaries = set([]) + learning_rate_proto = optimizer_pb2.LearningRate() + text_format.Merge(learning_rate_text_proto, learning_rate_proto) + learning_rate = optimizer_builder._create_learning_rate( + learning_rate_proto, global_summaries) + self.assertTrue(isinstance(learning_rate, tf.Tensor)) + + def testRaiseErrorOnEmptyLearningRate(self): + learning_rate_text_proto = """ + """ + global_summaries = set([]) + learning_rate_proto = optimizer_pb2.LearningRate() + text_format.Merge(learning_rate_text_proto, learning_rate_proto) + with self.assertRaises(ValueError): + optimizer_builder._create_learning_rate( + learning_rate_proto, global_summaries) + + +class OptimizerBuilderTest(tf.test.TestCase): + + def testBuildRMSPropOptimizer(self): + optimizer_text_proto = """ + rms_prop_optimizer: { + learning_rate: { + exponential_decay_learning_rate { + initial_learning_rate: 0.004 + decay_steps: 800720 + decay_factor: 0.95 + } + } + momentum_optimizer_value: 0.9 + decay: 0.9 + epsilon: 1.0 + } + use_moving_average: false + """ + global_summaries = set([]) + optimizer_proto = optimizer_pb2.Optimizer() + text_format.Merge(optimizer_text_proto, optimizer_proto) + optimizer = optimizer_builder.build(optimizer_proto, global_summaries) + self.assertTrue(isinstance(optimizer, tf.train.RMSPropOptimizer)) + + def testBuildMomentumOptimizer(self): + optimizer_text_proto = """ + momentum_optimizer: { + learning_rate: { + constant_learning_rate { + learning_rate: 0.001 + } + } + momentum_optimizer_value: 0.99 + } + use_moving_average: false + """ + global_summaries = set([]) + optimizer_proto = optimizer_pb2.Optimizer() + text_format.Merge(optimizer_text_proto, optimizer_proto) + optimizer = optimizer_builder.build(optimizer_proto, global_summaries) + self.assertTrue(isinstance(optimizer, tf.train.MomentumOptimizer)) + + def testBuildAdamOptimizer(self): + optimizer_text_proto = """ + adam_optimizer: { + learning_rate: { + constant_learning_rate { + learning_rate: 0.002 + } + } + } + use_moving_average: false + """ + global_summaries = set([]) + optimizer_proto = optimizer_pb2.Optimizer() + text_format.Merge(optimizer_text_proto, optimizer_proto) + optimizer = optimizer_builder.build(optimizer_proto, global_summaries) + self.assertTrue(isinstance(optimizer, tf.train.AdamOptimizer)) + + def testBuildMovingAverageOptimizer(self): + optimizer_text_proto = """ + adam_optimizer: { + learning_rate: { + constant_learning_rate { + learning_rate: 0.002 + } + } + } + use_moving_average: True + """ + global_summaries = set([]) + optimizer_proto = optimizer_pb2.Optimizer() + text_format.Merge(optimizer_text_proto, optimizer_proto) + optimizer = optimizer_builder.build(optimizer_proto, global_summaries) + self.assertTrue( + isinstance(optimizer, tf.contrib.opt.MovingAverageOptimizer)) + + def testBuildMovingAverageOptimizerWithNonDefaultDecay(self): + optimizer_text_proto = """ + adam_optimizer: { + learning_rate: { + constant_learning_rate { + learning_rate: 0.002 + } + } + } + use_moving_average: True + moving_average_decay: 0.2 + """ + global_summaries = set([]) + optimizer_proto = optimizer_pb2.Optimizer() + text_format.Merge(optimizer_text_proto, optimizer_proto) + optimizer = optimizer_builder.build(optimizer_proto, global_summaries) + self.assertTrue( + isinstance(optimizer, tf.contrib.opt.MovingAverageOptimizer)) + # TODO: Find a way to not depend on the private members. + self.assertAlmostEqual(optimizer._ema._decay, 0.2) + + def testBuildEmptyOptimizer(self): + optimizer_text_proto = """ + """ + global_summaries = set([]) + optimizer_proto = optimizer_pb2.Optimizer() + text_format.Merge(optimizer_text_proto, optimizer_proto) + with self.assertRaises(ValueError): + optimizer_builder.build(optimizer_proto, global_summaries) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/post_processing_builder.py b/object_detection/builders/post_processing_builder.py new file mode 100644 index 000000000..ab8c04ef9 --- /dev/null +++ b/object_detection/builders/post_processing_builder.py @@ -0,0 +1,111 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Builder function for post processing operations.""" +import functools + +import tensorflow as tf +from object_detection.core import post_processing +from object_detection.protos import post_processing_pb2 + + +def build(post_processing_config): + """Builds callables for post-processing operations. + + Builds callables for non-max suppression and score conversion based on the + configuration. + + Non-max suppression callable takes `boxes`, `scores`, and optionally + `clip_window`, `parallel_iterations` and `scope` as inputs. It returns + `nms_boxes`, `nms_scores`, `nms_nms_classes` and `num_detections`. See + post_processing.batch_multiclass_non_max_suppression for the type and shape + of these tensors. + + Score converter callable should be called with `input` tensor. The callable + returns the output from one of 3 tf operations based on the configuration - + tf.identity, tf.sigmoid or tf.nn.softmax. See tensorflow documentation for + argument and return value descriptions. + + Args: + post_processing_config: post_processing.proto object containing the + parameters for the post-processing operations. + + Returns: + non_max_suppressor_fn: Callable for non-max suppression. + score_converter_fn: Callable for score conversion. + + Raises: + ValueError: if the post_processing_config is of incorrect type. + """ + if not isinstance(post_processing_config, post_processing_pb2.PostProcessing): + raise ValueError('post_processing_config not of type ' + 'post_processing_pb2.Postprocessing.') + non_max_suppressor_fn = _build_non_max_suppressor( + post_processing_config.batch_non_max_suppression) + score_converter_fn = _build_score_converter( + post_processing_config.score_converter) + return non_max_suppressor_fn, score_converter_fn + + +def _build_non_max_suppressor(nms_config): + """Builds non-max suppresson based on the nms config. + + Args: + nms_config: post_processing_pb2.PostProcessing.BatchNonMaxSuppression proto. + + Returns: + non_max_suppressor_fn: Callable non-max suppressor. + + Raises: + ValueError: On incorrect iou_threshold or on incompatible values of + max_total_detections and max_detections_per_class. + """ + if nms_config.iou_threshold < 0 or nms_config.iou_threshold > 1.0: + raise ValueError('iou_threshold not in [0, 1.0].') + if nms_config.max_detections_per_class > nms_config.max_total_detections: + raise ValueError('max_detections_per_class should be no greater than ' + 'max_total_detections.') + + non_max_suppressor_fn = functools.partial( + post_processing.batch_multiclass_non_max_suppression, + score_thresh=nms_config.score_threshold, + iou_thresh=nms_config.iou_threshold, + max_size_per_class=nms_config.max_detections_per_class, + max_total_size=nms_config.max_total_detections) + return non_max_suppressor_fn + + +def _build_score_converter(score_converter_config): + """Builds score converter based on the config. + + Builds one of [tf.identity, tf.sigmoid, tf.softmax] score converters based on + the config. + + Args: + score_converter_config: post_processing_pb2.PostProcessing.score_converter. + + Returns: + Callable score converter op. + + Raises: + ValueError: On unknown score converter. + """ + if score_converter_config == post_processing_pb2.PostProcessing.IDENTITY: + return tf.identity + if score_converter_config == post_processing_pb2.PostProcessing.SIGMOID: + return tf.sigmoid + if score_converter_config == post_processing_pb2.PostProcessing.SOFTMAX: + return tf.nn.softmax + raise ValueError('Unknown score converter.') diff --git a/object_detection/builders/post_processing_builder_test.py b/object_detection/builders/post_processing_builder_test.py new file mode 100644 index 000000000..514ce6d2b --- /dev/null +++ b/object_detection/builders/post_processing_builder_test.py @@ -0,0 +1,73 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for post_processing_builder.""" + +import tensorflow as tf +from google.protobuf import text_format +from object_detection.builders import post_processing_builder +from object_detection.protos import post_processing_pb2 + + +class PostProcessingBuilderTest(tf.test.TestCase): + + def test_build_non_max_suppressor_with_correct_parameters(self): + post_processing_text_proto = """ + batch_non_max_suppression { + score_threshold: 0.7 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 300 + } + """ + post_processing_config = post_processing_pb2.PostProcessing() + text_format.Merge(post_processing_text_proto, post_processing_config) + non_max_suppressor, _ = post_processing_builder.build( + post_processing_config) + self.assertEqual(non_max_suppressor.keywords['max_size_per_class'], 100) + self.assertEqual(non_max_suppressor.keywords['max_total_size'], 300) + self.assertAlmostEqual(non_max_suppressor.keywords['score_thresh'], 0.7) + self.assertAlmostEqual(non_max_suppressor.keywords['iou_thresh'], 0.6) + + def test_build_identity_score_converter(self): + post_processing_text_proto = """ + score_converter: IDENTITY + """ + post_processing_config = post_processing_pb2.PostProcessing() + text_format.Merge(post_processing_text_proto, post_processing_config) + _, score_converter = post_processing_builder.build(post_processing_config) + self.assertEqual(score_converter, tf.identity) + + def test_build_sigmoid_score_converter(self): + post_processing_text_proto = """ + score_converter: SIGMOID + """ + post_processing_config = post_processing_pb2.PostProcessing() + text_format.Merge(post_processing_text_proto, post_processing_config) + _, score_converter = post_processing_builder.build(post_processing_config) + self.assertEqual(score_converter, tf.sigmoid) + + def test_build_softmax_score_converter(self): + post_processing_text_proto = """ + score_converter: SOFTMAX + """ + post_processing_config = post_processing_pb2.PostProcessing() + text_format.Merge(post_processing_text_proto, post_processing_config) + _, score_converter = post_processing_builder.build(post_processing_config) + self.assertEqual(score_converter, tf.nn.softmax) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/preprocessor_builder.py b/object_detection/builders/preprocessor_builder.py new file mode 100644 index 000000000..d88b31b23 --- /dev/null +++ b/object_detection/builders/preprocessor_builder.py @@ -0,0 +1,277 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Builder for preprocessing steps.""" + +import tensorflow as tf + +from object_detection.core import preprocessor +from object_detection.protos import preprocessor_pb2 + + +def _get_step_config_from_proto(preprocessor_step_config, step_name): + """Returns the value of a field named step_name from proto. + + Args: + preprocessor_step_config: A preprocessor_pb2.PreprocessingStep object. + step_name: Name of the field to get value from. + + Returns: + result_dict: a sub proto message from preprocessor_step_config which will be + later converted to a dictionary. + + Raises: + ValueError: If field does not exist in proto. + """ + for field, value in preprocessor_step_config.ListFields(): + if field.name == step_name: + return value + + raise ValueError('Could not get field %s from proto!', step_name) + + +def _get_dict_from_proto(config): + """Helper function to put all proto fields into a dictionary. + + For many preprocessing steps, there's an trivial 1-1 mapping from proto fields + to function arguments. This function automatically populates a dictionary with + the arguments from the proto. + + Protos that CANNOT be trivially populated include: + * nested messages. + * steps that check if an optional field is set (ie. where None != 0). + * protos that don't map 1-1 to arguments (ie. list should be reshaped). + * fields requiring additional validation (ie. repeated field has n elements). + + Args: + config: A protobuf object that does not violate the conditions above. + + Returns: + result_dict: |config| converted into a python dictionary. + """ + result_dict = {} + for field, value in config.ListFields(): + result_dict[field.name] = value + return result_dict + + +# A map from a PreprocessingStep proto config field name to the preprocessing +# function that should be used. The PreprocessingStep proto should be parsable +# with _get_dict_from_proto. +PREPROCESSING_FUNCTION_MAP = { + 'normalize_image': preprocessor.normalize_image, + 'random_horizontal_flip': preprocessor.random_horizontal_flip, + 'random_pixel_value_scale': preprocessor.random_pixel_value_scale, + 'random_image_scale': preprocessor.random_image_scale, + 'random_rgb_to_gray': preprocessor.random_rgb_to_gray, + 'random_adjust_brightness': preprocessor.random_adjust_brightness, + 'random_adjust_contrast': preprocessor.random_adjust_contrast, + 'random_adjust_hue': preprocessor.random_adjust_hue, + 'random_adjust_saturation': preprocessor.random_adjust_saturation, + 'random_distort_color': preprocessor.random_distort_color, + 'random_jitter_boxes': preprocessor.random_jitter_boxes, + 'random_crop_to_aspect_ratio': preprocessor.random_crop_to_aspect_ratio, + 'random_black_patches': preprocessor.random_black_patches, + 'scale_boxes_to_pixel_coordinates': ( + preprocessor.scale_boxes_to_pixel_coordinates), + 'subtract_channel_mean': preprocessor.subtract_channel_mean, +} + + +# A map to convert from preprocessor_pb2.ResizeImage.Method enum to +# tf.image.ResizeMethod. +RESIZE_METHOD_MAP = { + preprocessor_pb2.ResizeImage.AREA: tf.image.ResizeMethod.AREA, + preprocessor_pb2.ResizeImage.BICUBIC: tf.image.ResizeMethod.BICUBIC, + preprocessor_pb2.ResizeImage.BILINEAR: tf.image.ResizeMethod.BILINEAR, + preprocessor_pb2.ResizeImage.NEAREST_NEIGHBOR: ( + tf.image.ResizeMethod.NEAREST_NEIGHBOR), +} + + +def build(preprocessor_step_config): + """Builds preprocessing step based on the configuration. + + Args: + preprocessor_step_config: PreprocessingStep configuration proto. + + Returns: + function, argmap: A callable function and an argument map to call function + with. + + Raises: + ValueError: On invalid configuration. + """ + step_type = preprocessor_step_config.WhichOneof('preprocessing_step') + + if step_type in PREPROCESSING_FUNCTION_MAP: + preprocessing_function = PREPROCESSING_FUNCTION_MAP[step_type] + step_config = _get_step_config_from_proto(preprocessor_step_config, + step_type) + function_args = _get_dict_from_proto(step_config) + return (preprocessing_function, function_args) + + if step_type == 'random_crop_image': + config = preprocessor_step_config.random_crop_image + return (preprocessor.random_crop_image, + { + 'min_object_covered': config.min_object_covered, + 'aspect_ratio_range': (config.min_aspect_ratio, + config.max_aspect_ratio), + 'area_range': (config.min_area, config.max_area), + 'overlap_thresh': config.overlap_thresh, + 'random_coef': config.random_coef, + }) + + if step_type == 'random_pad_image': + config = preprocessor_step_config.random_pad_image + min_image_size = None + if (config.HasField('min_image_height') != + config.HasField('min_image_width')): + raise ValueError('min_image_height and min_image_width should be either ' + 'both set or both unset.') + if config.HasField('min_image_height'): + min_image_size = (config.min_image_height, config.min_image_width) + + max_image_size = None + if (config.HasField('max_image_height') != + config.HasField('max_image_width')): + raise ValueError('max_image_height and max_image_width should be either ' + 'both set or both unset.') + if config.HasField('max_image_height'): + max_image_size = (config.max_image_height, config.max_image_width) + + pad_color = config.pad_color + if pad_color and len(pad_color) != 3: + raise ValueError('pad_color should have 3 elements (RGB) if set!') + if not pad_color: + pad_color = None + return (preprocessor.random_pad_image, + { + 'min_image_size': min_image_size, + 'max_image_size': max_image_size, + 'pad_color': pad_color, + }) + + if step_type == 'random_crop_pad_image': + config = preprocessor_step_config.random_crop_pad_image + min_padded_size_ratio = config.min_padded_size_ratio + if min_padded_size_ratio and len(min_padded_size_ratio) != 2: + raise ValueError('min_padded_size_ratio should have 3 elements if set!') + max_padded_size_ratio = config.max_padded_size_ratio + if max_padded_size_ratio and len(max_padded_size_ratio) != 2: + raise ValueError('max_padded_size_ratio should have 3 elements if set!') + pad_color = config.pad_color + if pad_color and len(pad_color) != 3: + raise ValueError('pad_color should have 3 elements if set!') + return (preprocessor.random_crop_pad_image, + { + 'min_object_covered': config.min_object_covered, + 'aspect_ratio_range': (config.min_aspect_ratio, + config.max_aspect_ratio), + 'area_range': (config.min_area, config.max_area), + 'overlap_thresh': config.overlap_thresh, + 'random_coef': config.random_coef, + 'min_padded_size_ratio': (min_padded_size_ratio if + min_padded_size_ratio else None), + 'max_padded_size_ratio': (max_padded_size_ratio if + max_padded_size_ratio else None), + 'pad_color': (pad_color if pad_color else None), + }) + + if step_type == 'random_resize_method': + config = preprocessor_step_config.random_resize_method + return (preprocessor.random_resize_method, + { + 'target_size': [config.target_height, config.target_width], + }) + + if step_type == 'resize_image': + config = preprocessor_step_config.resize_image + method = RESIZE_METHOD_MAP[config.method] + return (preprocessor.resize_image, + { + 'new_height': config.new_height, + 'new_width': config.new_width, + 'method': method + }) + + if step_type == 'ssd_random_crop': + config = preprocessor_step_config.ssd_random_crop + if config.operations: + min_object_covered = [op.min_object_covered for op in config.operations] + aspect_ratio_range = [(op.min_aspect_ratio, op.max_aspect_ratio) + for op in config.operations] + area_range = [(op.min_area, op.max_area) for op in config.operations] + overlap_thresh = [op.overlap_thresh for op in config.operations] + random_coef = [op.random_coef for op in config.operations] + return (preprocessor.ssd_random_crop, + { + 'min_object_covered': min_object_covered, + 'aspect_ratio_range': aspect_ratio_range, + 'area_range': area_range, + 'overlap_thresh': overlap_thresh, + 'random_coef': random_coef, + }) + return (preprocessor.ssd_random_crop, {}) + + if step_type == 'ssd_random_crop_pad': + config = preprocessor_step_config.ssd_random_crop_pad + if config.operations: + min_object_covered = [op.min_object_covered for op in config.operations] + aspect_ratio_range = [(op.min_aspect_ratio, op.max_aspect_ratio) + for op in config.operations] + area_range = [(op.min_area, op.max_area) for op in config.operations] + overlap_thresh = [op.overlap_thresh for op in config.operations] + random_coef = [op.random_coef for op in config.operations] + min_padded_size_ratio = [ + (op.min_padded_size_ratio[0], op.min_padded_size_ratio[1]) + for op in config.operations] + max_padded_size_ratio = [ + (op.max_padded_size_ratio[0], op.max_padded_size_ratio[1]) + for op in config.operations] + pad_color = [(op.pad_color_r, op.pad_color_g, op.pad_color_b) + for op in config.operations] + return (preprocessor.ssd_random_crop_pad, + { + 'min_object_covered': min_object_covered, + 'aspect_ratio_range': aspect_ratio_range, + 'area_range': area_range, + 'overlap_thresh': overlap_thresh, + 'random_coef': random_coef, + 'min_padded_size_ratio': min_padded_size_ratio, + 'max_padded_size_ratio': max_padded_size_ratio, + 'pad_color': pad_color, + }) + return (preprocessor.ssd_random_crop_pad, {}) + + if step_type == 'ssd_random_crop_fixed_aspect_ratio': + config = preprocessor_step_config.ssd_random_crop_fixed_aspect_ratio + if config.operations: + min_object_covered = [op.min_object_covered for op in config.operations] + area_range = [(op.min_area, op.max_area) for op in config.operations] + overlap_thresh = [op.overlap_thresh for op in config.operations] + random_coef = [op.random_coef for op in config.operations] + return (preprocessor.ssd_random_crop_fixed_aspect_ratio, + { + 'min_object_covered': min_object_covered, + 'aspect_ratio': config.aspect_ratio, + 'area_range': area_range, + 'overlap_thresh': overlap_thresh, + 'random_coef': random_coef, + }) + return (preprocessor.ssd_random_crop_fixed_aspect_ratio, {}) + + raise ValueError('Unknown preprocessing step.') diff --git a/object_detection/builders/preprocessor_builder_test.py b/object_detection/builders/preprocessor_builder_test.py new file mode 100644 index 000000000..8f8ba253d --- /dev/null +++ b/object_detection/builders/preprocessor_builder_test.py @@ -0,0 +1,452 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for preprocessor_builder.""" + +import tensorflow as tf + +from google.protobuf import text_format + +from object_detection.builders import preprocessor_builder +from object_detection.core import preprocessor +from object_detection.protos import preprocessor_pb2 + + +class PreprocessorBuilderTest(tf.test.TestCase): + + def assert_dictionary_close(self, dict1, dict2): + """Helper to check if two dicts with floatst or integers are close.""" + self.assertEqual(sorted(dict1.keys()), sorted(dict2.keys())) + for key in dict1: + value = dict1[key] + if isinstance(value, float): + self.assertAlmostEqual(value, dict2[key]) + else: + self.assertEqual(value, dict2[key]) + + def test_build_normalize_image(self): + preprocessor_text_proto = """ + normalize_image { + original_minval: 0.0 + original_maxval: 255.0 + target_minval: -1.0 + target_maxval: 1.0 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.normalize_image) + self.assertEqual(args, { + 'original_minval': 0.0, + 'original_maxval': 255.0, + 'target_minval': -1.0, + 'target_maxval': 1.0, + }) + + def test_build_random_horizontal_flip(self): + preprocessor_text_proto = """ + random_horizontal_flip { + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_horizontal_flip) + self.assertEqual(args, {}) + + def test_build_random_pixel_value_scale(self): + preprocessor_text_proto = """ + random_pixel_value_scale { + minval: 0.8 + maxval: 1.2 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_pixel_value_scale) + self.assert_dictionary_close(args, {'minval': 0.8, 'maxval': 1.2}) + + def test_build_random_image_scale(self): + preprocessor_text_proto = """ + random_image_scale { + min_scale_ratio: 0.8 + max_scale_ratio: 2.2 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_image_scale) + self.assert_dictionary_close(args, {'min_scale_ratio': 0.8, + 'max_scale_ratio': 2.2}) + + def test_build_random_rgb_to_gray(self): + preprocessor_text_proto = """ + random_rgb_to_gray { + probability: 0.8 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_rgb_to_gray) + self.assert_dictionary_close(args, {'probability': 0.8}) + + def test_build_random_adjust_brightness(self): + preprocessor_text_proto = """ + random_adjust_brightness { + max_delta: 0.2 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_adjust_brightness) + self.assert_dictionary_close(args, {'max_delta': 0.2}) + + def test_build_random_adjust_contrast(self): + preprocessor_text_proto = """ + random_adjust_contrast { + min_delta: 0.7 + max_delta: 1.1 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_adjust_contrast) + self.assert_dictionary_close(args, {'min_delta': 0.7, 'max_delta': 1.1}) + + def test_build_random_adjust_hue(self): + preprocessor_text_proto = """ + random_adjust_hue { + max_delta: 0.01 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_adjust_hue) + self.assert_dictionary_close(args, {'max_delta': 0.01}) + + def test_build_random_adjust_saturation(self): + preprocessor_text_proto = """ + random_adjust_saturation { + min_delta: 0.75 + max_delta: 1.15 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_adjust_saturation) + self.assert_dictionary_close(args, {'min_delta': 0.75, 'max_delta': 1.15}) + + def test_build_random_distort_color(self): + preprocessor_text_proto = """ + random_distort_color { + color_ordering: 1 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_distort_color) + self.assertEqual(args, {'color_ordering': 1}) + + def test_build_random_jitter_boxes(self): + preprocessor_text_proto = """ + random_jitter_boxes { + ratio: 0.1 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_jitter_boxes) + self.assert_dictionary_close(args, {'ratio': 0.1}) + + def test_build_random_crop_image(self): + preprocessor_text_proto = """ + random_crop_image { + min_object_covered: 0.75 + min_aspect_ratio: 0.75 + max_aspect_ratio: 1.5 + min_area: 0.25 + max_area: 0.875 + overlap_thresh: 0.5 + random_coef: 0.125 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_crop_image) + self.assertEqual(args, { + 'min_object_covered': 0.75, + 'aspect_ratio_range': (0.75, 1.5), + 'area_range': (0.25, 0.875), + 'overlap_thresh': 0.5, + 'random_coef': 0.125, + }) + + def test_build_random_pad_image(self): + preprocessor_text_proto = """ + random_pad_image { + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_pad_image) + self.assertEqual(args, { + 'min_image_size': None, + 'max_image_size': None, + 'pad_color': None, + }) + + def test_build_random_crop_pad_image(self): + preprocessor_text_proto = """ + random_crop_pad_image { + min_object_covered: 0.75 + min_aspect_ratio: 0.75 + max_aspect_ratio: 1.5 + min_area: 0.25 + max_area: 0.875 + overlap_thresh: 0.5 + random_coef: 0.125 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_crop_pad_image) + self.assertEqual(args, { + 'min_object_covered': 0.75, + 'aspect_ratio_range': (0.75, 1.5), + 'area_range': (0.25, 0.875), + 'overlap_thresh': 0.5, + 'random_coef': 0.125, + 'min_padded_size_ratio': None, + 'max_padded_size_ratio': None, + 'pad_color': None, + }) + + def test_build_random_crop_to_aspect_ratio(self): + preprocessor_text_proto = """ + random_crop_to_aspect_ratio { + aspect_ratio: 0.85 + overlap_thresh: 0.35 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_crop_to_aspect_ratio) + self.assert_dictionary_close(args, {'aspect_ratio': 0.85, + 'overlap_thresh': 0.35}) + + def test_build_random_black_patches(self): + preprocessor_text_proto = """ + random_black_patches { + max_black_patches: 20 + probability: 0.95 + size_to_image_ratio: 0.12 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_black_patches) + self.assert_dictionary_close(args, {'max_black_patches': 20, + 'probability': 0.95, + 'size_to_image_ratio': 0.12}) + + def test_build_random_resize_method(self): + preprocessor_text_proto = """ + random_resize_method { + target_height: 75 + target_width: 100 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.random_resize_method) + self.assert_dictionary_close(args, {'target_size': [75, 100]}) + + def test_build_scale_boxes_to_pixel_coordinates(self): + preprocessor_text_proto = """ + scale_boxes_to_pixel_coordinates {} + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.scale_boxes_to_pixel_coordinates) + self.assertEqual(args, {}) + + def test_build_resize_image(self): + preprocessor_text_proto = """ + resize_image { + new_height: 75 + new_width: 100 + method: BICUBIC + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.resize_image) + self.assertEqual(args, {'new_height': 75, + 'new_width': 100, + 'method': tf.image.ResizeMethod.BICUBIC}) + + def test_build_subtract_channel_mean(self): + preprocessor_text_proto = """ + subtract_channel_mean { + means: [1.0, 2.0, 3.0] + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.subtract_channel_mean) + self.assertEqual(args, {'means': [1.0, 2.0, 3.0]}) + + def test_build_ssd_random_crop(self): + preprocessor_text_proto = """ + ssd_random_crop { + operations { + min_object_covered: 0.0 + min_aspect_ratio: 0.875 + max_aspect_ratio: 1.125 + min_area: 0.5 + max_area: 1.0 + overlap_thresh: 0.0 + random_coef: 0.375 + } + operations { + min_object_covered: 0.25 + min_aspect_ratio: 0.75 + max_aspect_ratio: 1.5 + min_area: 0.5 + max_area: 1.0 + overlap_thresh: 0.25 + random_coef: 0.375 + } + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.ssd_random_crop) + self.assertEqual(args, {'min_object_covered': [0.0, 0.25], + 'aspect_ratio_range': [(0.875, 1.125), (0.75, 1.5)], + 'area_range': [(0.5, 1.0), (0.5, 1.0)], + 'overlap_thresh': [0.0, 0.25], + 'random_coef': [0.375, 0.375]}) + + def test_build_ssd_random_crop_empty_operations(self): + preprocessor_text_proto = """ + ssd_random_crop { + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.ssd_random_crop) + self.assertEqual(args, {}) + + def test_build_ssd_random_crop_pad(self): + preprocessor_text_proto = """ + ssd_random_crop_pad { + operations { + min_object_covered: 0.0 + min_aspect_ratio: 0.875 + max_aspect_ratio: 1.125 + min_area: 0.5 + max_area: 1.0 + overlap_thresh: 0.0 + random_coef: 0.375 + min_padded_size_ratio: [0.0, 0.0] + max_padded_size_ratio: [2.0, 2.0] + pad_color_r: 0.5 + pad_color_g: 0.5 + pad_color_b: 0.5 + } + operations { + min_object_covered: 0.25 + min_aspect_ratio: 0.75 + max_aspect_ratio: 1.5 + min_area: 0.5 + max_area: 1.0 + overlap_thresh: 0.25 + random_coef: 0.375 + min_padded_size_ratio: [0.0, 0.0] + max_padded_size_ratio: [2.0, 2.0] + pad_color_r: 0.5 + pad_color_g: 0.5 + pad_color_b: 0.5 + } + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.ssd_random_crop_pad) + self.assertEqual(args, {'min_object_covered': [0.0, 0.25], + 'aspect_ratio_range': [(0.875, 1.125), (0.75, 1.5)], + 'area_range': [(0.5, 1.0), (0.5, 1.0)], + 'overlap_thresh': [0.0, 0.25], + 'random_coef': [0.375, 0.375], + 'min_padded_size_ratio': [(0.0, 0.0), (0.0, 0.0)], + 'max_padded_size_ratio': [(2.0, 2.0), (2.0, 2.0)], + 'pad_color': [(0.5, 0.5, 0.5), (0.5, 0.5, 0.5)]}) + + def test_build_ssd_random_crop_fixed_aspect_ratio(self): + preprocessor_text_proto = """ + ssd_random_crop_fixed_aspect_ratio { + operations { + min_object_covered: 0.0 + min_area: 0.5 + max_area: 1.0 + overlap_thresh: 0.0 + random_coef: 0.375 + } + operations { + min_object_covered: 0.25 + min_area: 0.5 + max_area: 1.0 + overlap_thresh: 0.25 + random_coef: 0.375 + } + aspect_ratio: 0.875 + } + """ + preprocessor_proto = preprocessor_pb2.PreprocessingStep() + text_format.Merge(preprocessor_text_proto, preprocessor_proto) + function, args = preprocessor_builder.build(preprocessor_proto) + self.assertEqual(function, preprocessor.ssd_random_crop_fixed_aspect_ratio) + self.assertEqual(args, {'min_object_covered': [0.0, 0.25], + 'aspect_ratio': 0.875, + 'area_range': [(0.5, 1.0), (0.5, 1.0)], + 'overlap_thresh': [0.0, 0.25], + 'random_coef': [0.375, 0.375]}) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/builders/region_similarity_calculator_builder.py b/object_detection/builders/region_similarity_calculator_builder.py new file mode 100644 index 000000000..fa1d67175 --- /dev/null +++ b/object_detection/builders/region_similarity_calculator_builder.py @@ -0,0 +1,56 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Builder for region similarity calculators.""" + +from object_detection.core import region_similarity_calculator +from object_detection.protos import region_similarity_calculator_pb2 + + +def build(region_similarity_calculator_config): + """Builds region similarity calculator based on the configuration. + + Builds one of [IouSimilarity, IoaSimilarity, NegSqDistSimilarity] objects. See + core/region_similarity_calculator.proto for details. + + Args: + region_similarity_calculator_config: RegionSimilarityCalculator + configuration proto. + + Returns: + region_similarity_calculator: RegionSimilarityCalculator object. + + Raises: + ValueError: On unknown region similarity calculator. + """ + + if not isinstance( + region_similarity_calculator_config, + region_similarity_calculator_pb2.RegionSimilarityCalculator): + raise ValueError( + 'region_similarity_calculator_config not of type ' + 'region_similarity_calculator_pb2.RegionsSimilarityCalculator') + + similarity_calculator = region_similarity_calculator_config.WhichOneof( + 'region_similarity') + if similarity_calculator == 'iou_similarity': + return region_similarity_calculator.IouSimilarity() + if similarity_calculator == 'ioa_similarity': + return region_similarity_calculator.IoaSimilarity() + if similarity_calculator == 'neg_sq_dist_similarity': + return region_similarity_calculator.NegSqDistSimilarity() + + raise ValueError('Unknown region similarity calculator.') + diff --git a/object_detection/builders/region_similarity_calculator_builder_test.py b/object_detection/builders/region_similarity_calculator_builder_test.py new file mode 100644 index 000000000..ca3a5512e --- /dev/null +++ b/object_detection/builders/region_similarity_calculator_builder_test.py @@ -0,0 +1,67 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for region_similarity_calculator_builder.""" + +import tensorflow as tf + +from google.protobuf import text_format +from object_detection.builders import region_similarity_calculator_builder +from object_detection.core import region_similarity_calculator +from object_detection.protos import region_similarity_calculator_pb2 as sim_calc_pb2 + + +class RegionSimilarityCalculatorBuilderTest(tf.test.TestCase): + + def testBuildIoaSimilarityCalculator(self): + similarity_calc_text_proto = """ + ioa_similarity { + } + """ + similarity_calc_proto = sim_calc_pb2.RegionSimilarityCalculator() + text_format.Merge(similarity_calc_text_proto, similarity_calc_proto) + similarity_calc = region_similarity_calculator_builder.build( + similarity_calc_proto) + self.assertTrue(isinstance(similarity_calc, + region_similarity_calculator.IoaSimilarity)) + + def testBuildIouSimilarityCalculator(self): + similarity_calc_text_proto = """ + iou_similarity { + } + """ + similarity_calc_proto = sim_calc_pb2.RegionSimilarityCalculator() + text_format.Merge(similarity_calc_text_proto, similarity_calc_proto) + similarity_calc = region_similarity_calculator_builder.build( + similarity_calc_proto) + self.assertTrue(isinstance(similarity_calc, + region_similarity_calculator.IouSimilarity)) + + def testBuildNegSqDistSimilarityCalculator(self): + similarity_calc_text_proto = """ + neg_sq_dist_similarity { + } + """ + similarity_calc_proto = sim_calc_pb2.RegionSimilarityCalculator() + text_format.Merge(similarity_calc_text_proto, similarity_calc_proto) + similarity_calc = region_similarity_calculator_builder.build( + similarity_calc_proto) + self.assertTrue(isinstance(similarity_calc, + region_similarity_calculator. + NegSqDistSimilarity)) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/BUILD b/object_detection/core/BUILD new file mode 100644 index 000000000..a3384bcc0 --- /dev/null +++ b/object_detection/core/BUILD @@ -0,0 +1,362 @@ +# Tensorflow Object Detection API: Core. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) +# Apache 2.0 + +py_library( + name = "batcher", + srcs = ["batcher.py"], + deps = [ + ":prefetcher", + ":preprocessor", + ":standard_fields", + "//tensorflow", + ], +) + +py_test( + name = "batcher_test", + srcs = ["batcher_test.py"], + deps = [ + ":batcher", + "//tensorflow", + ], +) + +py_library( + name = "box_list", + srcs = [ + "box_list.py", + ], + deps = [ + "//tensorflow", + ], +) + +py_test( + name = "box_list_test", + srcs = ["box_list_test.py"], + deps = [ + ":box_list", + ], +) + +py_library( + name = "box_list_ops", + srcs = [ + "box_list_ops.py", + ], + deps = [ + ":box_list", + "//tensorflow", + "//tensorflow_models/object_detection/utils:shape_utils", + ], +) + +py_test( + name = "box_list_ops_test", + srcs = ["box_list_ops_test.py"], + deps = [ + ":box_list", + ":box_list_ops", + ], +) + +py_library( + name = "box_coder", + srcs = [ + "box_coder.py", + ], + deps = [ + "//tensorflow", + ], +) + +py_test( + name = "box_coder_test", + srcs = [ + "box_coder_test.py", + ], + deps = [ + ":box_coder", + ":box_list", + "//tensorflow", + ], +) + +py_library( + name = "keypoint_ops", + srcs = [ + "keypoint_ops.py", + ], + deps = [ + "//tensorflow", + ], +) + +py_test( + name = "keypoint_ops_test", + srcs = ["keypoint_ops_test.py"], + deps = [ + ":keypoint_ops", + ], +) + +py_library( + name = "losses", + srcs = ["losses.py"], + deps = [ + ":box_list", + ":box_list_ops", + "//tensorflow", + "//tensorflow_models/object_detection/utils:ops", + ], +) + +py_library( + name = "matcher", + srcs = [ + "matcher.py", + ], + deps = [ + ], +) + +py_library( + name = "model", + srcs = ["model.py"], + deps = [ + ":standard_fields", + ], +) + +py_test( + name = "matcher_test", + srcs = [ + "matcher_test.py", + ], + deps = [ + ":matcher", + "//tensorflow", + ], +) + +py_library( + name = "prefetcher", + srcs = ["prefetcher.py"], + deps = ["//tensorflow"], +) + +py_library( + name = "preprocessor", + srcs = [ + "preprocessor.py", + ], + deps = [ + ":box_list", + ":box_list_ops", + ":keypoint_ops", + ":standard_fields", + "//tensorflow", + ], +) + +py_test( + name = "preprocessor_test", + srcs = [ + "preprocessor_test.py", + ], + deps = [ + ":preprocessor", + "//tensorflow", + ], +) + +py_test( + name = "losses_test", + srcs = ["losses_test.py"], + deps = [ + ":box_list", + ":losses", + ":matcher", + "//tensorflow", + ], +) + +py_test( + name = "prefetcher_test", + srcs = ["prefetcher_test.py"], + deps = [ + ":prefetcher", + "//tensorflow", + ], +) + +py_library( + name = "standard_fields", + srcs = [ + "standard_fields.py", + ], +) + +py_library( + name = "post_processing", + srcs = ["post_processing.py"], + deps = [ + ":box_list", + ":box_list_ops", + ":standard_fields", + "//tensorflow", + ], +) + +py_test( + name = "post_processing_test", + srcs = ["post_processing_test.py"], + deps = [ + ":box_list", + ":box_list_ops", + ":post_processing", + "//tensorflow", + ], +) + +py_library( + name = "target_assigner", + srcs = [ + "target_assigner.py", + ], + deps = [ + ":box_list", + ":box_list_ops", + ":matcher", + ":region_similarity_calculator", + "//tensorflow", + "//tensorflow_models/object_detection/box_coders:faster_rcnn_box_coder", + "//tensorflow_models/object_detection/box_coders:mean_stddev_box_coder", + "//tensorflow_models/object_detection/core:box_coder", + "//tensorflow_models/object_detection/matchers:argmax_matcher", + "//tensorflow_models/object_detection/matchers:bipartite_matcher", + ], +) + +py_test( + name = "target_assigner_test", + size = "large", + timeout = "long", + srcs = ["target_assigner_test.py"], + deps = [ + ":box_list", + ":region_similarity_calculator", + ":target_assigner", + "//tensorflow", + "//tensorflow_models/object_detection/box_coders:mean_stddev_box_coder", + "//tensorflow_models/object_detection/matchers:bipartite_matcher", + ], +) + +py_library( + name = "data_decoder", + srcs = ["data_decoder.py"], +) + +py_library( + name = "box_predictor", + srcs = ["box_predictor.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/utils:ops", + "//tensorflow_models/object_detection/utils:static_shape", + ], +) + +py_test( + name = "box_predictor_test", + srcs = ["box_predictor_test.py"], + deps = [ + ":box_predictor", + "//tensorflow", + "//tensorflow_models/object_detection/builders:hyperparams_builder", + "//tensorflow_models/object_detection/protos:hyperparams_py_pb2", + ], +) + +py_library( + name = "region_similarity_calculator", + srcs = [ + "region_similarity_calculator.py", + ], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/core:box_list_ops", + ], +) + +py_test( + name = "region_similarity_calculator_test", + srcs = [ + "region_similarity_calculator_test.py", + ], + deps = [ + ":region_similarity_calculator", + "//tensorflow_models/object_detection/core:box_list", + ], +) + +py_library( + name = "anchor_generator", + srcs = [ + "anchor_generator.py", + ], + deps = [ + "//tensorflow", + ], +) + +py_library( + name = "minibatch_sampler", + srcs = [ + "minibatch_sampler.py", + ], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/utils:ops", + ], +) + +py_test( + name = "minibatch_sampler_test", + srcs = [ + "minibatch_sampler_test.py", + ], + deps = [ + ":minibatch_sampler", + "//tensorflow", + ], +) + +py_library( + name = "balanced_positive_negative_sampler", + srcs = [ + "balanced_positive_negative_sampler.py", + ], + deps = [ + ":minibatch_sampler", + "//tensorflow", + ], +) + +py_test( + name = "balanced_positive_negative_sampler_test", + srcs = [ + "balanced_positive_negative_sampler_test.py", + ], + deps = [ + ":balanced_positive_negative_sampler", + "//tensorflow", + ], +) diff --git a/object_detection/core/__init__.py b/object_detection/core/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/core/anchor_generator.py b/object_detection/core/anchor_generator.py new file mode 100644 index 000000000..ed6a2bc54 --- /dev/null +++ b/object_detection/core/anchor_generator.py @@ -0,0 +1,142 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Base anchor generator. + +The job of the anchor generator is to create (or load) a collection +of bounding boxes to be used as anchors. + +Generated anchors are assumed to match some convolutional grid or list of grid +shapes. For example, we might want to generate anchors matching an 8x8 +feature map and a 4x4 feature map. If we place 3 anchors per grid location +on the first feature map and 6 anchors per grid location on the second feature +map, then 3*8*8 + 6*4*4 = 288 anchors are generated in total. + +To support fully convolutional settings, feature map shapes are passed +dynamically at generation time. The number of anchors to place at each location +is static --- implementations of AnchorGenerator must always be able return +the number of anchors that it uses per location for each feature map. +""" +from abc import ABCMeta +from abc import abstractmethod + +import tensorflow as tf + + +class AnchorGenerator(object): + """Abstract base class for anchor generators.""" + __metaclass__ = ABCMeta + + @abstractmethod + def name_scope(self): + """Name scope. + + Must be defined by implementations. + + Returns: + a string representing the name scope of the anchor generation operation. + """ + pass + + @property + def check_num_anchors(self): + """Whether to dynamically check the number of anchors generated. + + Can be overridden by implementations that would like to disable this + behavior. + + Returns: + a boolean controlling whether the Generate function should dynamically + check the number of anchors generated against the mathematically + expected number of anchors. + """ + return True + + @abstractmethod + def num_anchors_per_location(self): + """Returns the number of anchors per spatial location. + + Returns: + a list of integers, one for each expected feature map to be passed to + the `generate` function. + """ + pass + + def generate(self, feature_map_shape_list, **params): + """Generates a collection of bounding boxes to be used as anchors. + + TODO: remove **params from argument list and make stride and offsets (for + multiple_grid_anchor_generator) constructor arguments. + + Args: + feature_map_shape_list: list of (height, width) pairs in the format + [(height_0, width_0), (height_1, width_1), ...] that the generated + anchors must align with. Pairs can be provided as 1-dimensional + integer tensors of length 2 or simply as tuples of integers. + **params: parameters for anchor generation op + + Returns: + boxes: a BoxList holding a collection of N anchor boxes + Raises: + ValueError: if the number of feature map shapes does not match the length + of NumAnchorsPerLocation. + """ + if self.check_num_anchors and ( + len(feature_map_shape_list) != len(self.num_anchors_per_location())): + raise ValueError('Number of feature maps is expected to equal the length ' + 'of `num_anchors_per_location`.') + with tf.name_scope(self.name_scope()): + anchors = self._generate(feature_map_shape_list, **params) + if self.check_num_anchors: + with tf.control_dependencies([ + self._assert_correct_number_of_anchors( + anchors, feature_map_shape_list)]): + anchors.set(tf.identity(anchors.get())) + return anchors + + @abstractmethod + def _generate(self, feature_map_shape_list, **params): + """To be overridden by implementations. + + Args: + feature_map_shape_list: list of (height, width) pairs in the format + [(height_0, width_0), (height_1, width_1), ...] that the generated + anchors must align with. + **params: parameters for anchor generation op + + Returns: + boxes: a BoxList holding a collection of N anchor boxes + """ + pass + + def _assert_correct_number_of_anchors(self, anchors, feature_map_shape_list): + """Assert that correct number of anchors was generated. + + Args: + anchors: box_list.BoxList object holding anchors generated + feature_map_shape_list: list of (height, width) pairs in the format + [(height_0, width_0), (height_1, width_1), ...] that the generated + anchors must align with. + Returns: + Op that raises InvalidArgumentError if the number of anchors does not + match the number of expected anchors. + """ + expected_num_anchors = 0 + for num_anchors_per_location, feature_map_shape in zip( + self.num_anchors_per_location(), feature_map_shape_list): + expected_num_anchors += (num_anchors_per_location + * feature_map_shape[0] + * feature_map_shape[1]) + return tf.assert_equal(expected_num_anchors, anchors.num_boxes()) diff --git a/object_detection/core/balanced_positive_negative_sampler.py b/object_detection/core/balanced_positive_negative_sampler.py new file mode 100644 index 000000000..68844c4f9 --- /dev/null +++ b/object_detection/core/balanced_positive_negative_sampler.py @@ -0,0 +1,92 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Class to subsample minibatches by balancing positives and negatives. + +Subsamples minibatches based on a pre-specified positive fraction in range +[0,1]. The class presumes there are many more negatives than positive examples: +if the desired batch_size cannot be achieved with the pre-specified positive +fraction, it fills the rest with negative examples. If this is not sufficient +for obtaining the desired batch_size, it returns fewer examples. + +The main function to call is Subsample(self, indicator, labels). For convenience +one can also call SubsampleWeights(self, weights, labels) which is defined in +the minibatch_sampler base class. +""" + +import tensorflow as tf + +from object_detection.core import minibatch_sampler + + +class BalancedPositiveNegativeSampler(minibatch_sampler.MinibatchSampler): + """Subsamples minibatches to a desired balance of positives and negatives.""" + + def __init__(self, positive_fraction=0.5): + """Constructs a minibatch sampler. + + Args: + positive_fraction: desired fraction of positive examples (scalar in [0,1]) + + Raises: + ValueError: if positive_fraction < 0, or positive_fraction > 1 + """ + if positive_fraction < 0 or positive_fraction > 1: + raise ValueError('positive_fraction should be in range [0,1]. ' + 'Received: %s.' % positive_fraction) + self._positive_fraction = positive_fraction + + def subsample(self, indicator, batch_size, labels): + """Returns subsampled minibatch. + + Args: + indicator: boolean tensor of shape [N] whose True entries can be sampled. + batch_size: desired batch size. + labels: boolean tensor of shape [N] denoting positive(=True) and negative + (=False) examples. + + Returns: + is_sampled: boolean tensor of shape [N], True for entries which are + sampled. + + Raises: + ValueError: if labels and indicator are not 1D boolean tensors. + """ + if len(indicator.get_shape().as_list()) != 1: + raise ValueError('indicator must be 1 dimensional, got a tensor of ' + 'shape %s' % indicator.get_shape()) + if len(labels.get_shape().as_list()) != 1: + raise ValueError('labels must be 1 dimensional, got a tensor of ' + 'shape %s' % labels.get_shape()) + if labels.dtype != tf.bool: + raise ValueError('labels should be of type bool. Received: %s' % + labels.dtype) + if indicator.dtype != tf.bool: + raise ValueError('indicator should be of type bool. Received: %s' % + indicator.dtype) + + # Only sample from indicated samples + negative_idx = tf.logical_not(labels) + positive_idx = tf.logical_and(labels, indicator) + negative_idx = tf.logical_and(negative_idx, indicator) + + # Sample positive and negative samples separately + max_num_pos = int(self._positive_fraction * batch_size) + sampled_pos_idx = self.subsample_indicator(positive_idx, max_num_pos) + max_num_neg = batch_size - tf.reduce_sum(tf.cast(sampled_pos_idx, tf.int32)) + sampled_neg_idx = self.subsample_indicator(negative_idx, max_num_neg) + + sampled_idx = tf.logical_or(sampled_pos_idx, sampled_neg_idx) + return sampled_idx diff --git a/object_detection/core/balanced_positive_negative_sampler_test.py b/object_detection/core/balanced_positive_negative_sampler_test.py new file mode 100644 index 000000000..23991cf56 --- /dev/null +++ b/object_detection/core/balanced_positive_negative_sampler_test.py @@ -0,0 +1,83 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.balanced_positive_negative_sampler.""" + +import numpy as np +import tensorflow as tf + +from object_detection.core import balanced_positive_negative_sampler + + +class BalancedPositiveNegativeSamplerTest(tf.test.TestCase): + + def test_subsample_all_examples(self): + numpy_labels = np.random.permutation(300) + indicator = tf.constant(np.ones(300) == 1) + numpy_labels = (numpy_labels - 200) > 0 + + labels = tf.constant(numpy_labels) + + sampler = (balanced_positive_negative_sampler. + BalancedPositiveNegativeSampler()) + is_sampled = sampler.subsample(indicator, 64, labels) + with self.test_session() as sess: + is_sampled = sess.run(is_sampled) + self.assertTrue(sum(is_sampled) == 64) + self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 32) + self.assertTrue(sum(np.logical_and( + np.logical_not(numpy_labels), is_sampled)) == 32) + + def test_subsample_selection(self): + # Test random sampling when only some examples can be sampled: + # 100 samples, 20 positives, 10 positives cannot be sampled + numpy_labels = np.arange(100) + numpy_indicator = numpy_labels < 90 + indicator = tf.constant(numpy_indicator) + numpy_labels = (numpy_labels - 80) >= 0 + + labels = tf.constant(numpy_labels) + + sampler = (balanced_positive_negative_sampler. + BalancedPositiveNegativeSampler()) + is_sampled = sampler.subsample(indicator, 64, labels) + with self.test_session() as sess: + is_sampled = sess.run(is_sampled) + self.assertTrue(sum(is_sampled) == 64) + self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 10) + self.assertTrue(sum(np.logical_and( + np.logical_not(numpy_labels), is_sampled)) == 54) + self.assertAllEqual(is_sampled, np.logical_and(is_sampled, + numpy_indicator)) + + def test_raises_error_with_incorrect_label_shape(self): + labels = tf.constant([[True, False, False]]) + indicator = tf.constant([True, False, True]) + sampler = (balanced_positive_negative_sampler. + BalancedPositiveNegativeSampler()) + with self.assertRaises(ValueError): + sampler.subsample(indicator, 64, labels) + + def test_raises_error_with_incorrect_indicator_shape(self): + labels = tf.constant([True, False, False]) + indicator = tf.constant([[True, False, True]]) + sampler = (balanced_positive_negative_sampler. + BalancedPositiveNegativeSampler()) + with self.assertRaises(ValueError): + sampler.subsample(indicator, 64, labels) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/batcher.py b/object_detection/core/batcher.py new file mode 100644 index 000000000..fdd698c43 --- /dev/null +++ b/object_detection/core/batcher.py @@ -0,0 +1,133 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Provides functions to batch a dictionary of input tensors.""" +import collections + +import tensorflow as tf + +from object_detection.core import prefetcher + + +class BatchQueue(object): + """BatchQueue class. + + This class creates a batch queue to asynchronously enqueue tensors_dict. + It also adds a FIFO prefetcher so that the batches are readily available + for the consumers. Dequeue ops for a BatchQueue object can be created via + the Dequeue method which evaluates to a batch of tensor_dict. + + Example input pipeline with batching: + ------------------------------------ + key, string_tensor = slim.parallel_reader.parallel_read(...) + tensor_dict = decoder.decode(string_tensor) + tensor_dict = preprocessor.preprocess(tensor_dict, ...) + batch_queue = batcher.BatchQueue(tensor_dict, + batch_size=32, + batch_queue_capacity=2000, + num_batch_queue_threads=8, + prefetch_queue_capacity=20) + tensor_dict = batch_queue.dequeue() + outputs = Model(tensor_dict) + ... + ----------------------------------- + + Notes: + ----- + This class batches tensors of unequal sizes by zero padding and unpadding + them after generating a batch. This can be computationally expensive when + batching tensors (such as images) that are of vastly different sizes. So it is + recommended that the shapes of such tensors be fully defined in tensor_dict + while other lightweight tensors such as bounding box corners and class labels + can be of varying sizes. Use either crop or resize operations to fully define + the shape of an image in tensor_dict. + + It is also recommended to perform any preprocessing operations on tensors + before passing to BatchQueue and subsequently calling the Dequeue method. + + Another caveat is that this class does not read the last batch if it is not + full. The current implementation makes it hard to support that use case. So, + for evaluation, when it is critical to run all the examples through your + network use the input pipeline example mentioned in core/prefetcher.py. + """ + + def __init__(self, tensor_dict, batch_size, batch_queue_capacity, + num_batch_queue_threads, prefetch_queue_capacity): + """Constructs a batch queue holding tensor_dict. + + Args: + tensor_dict: dictionary of tensors to batch. + batch_size: batch size. + batch_queue_capacity: max capacity of the queue from which the tensors are + batched. + num_batch_queue_threads: number of threads to use for batching. + prefetch_queue_capacity: max capacity of the queue used to prefetch + assembled batches. + """ + # Remember static shapes to set shapes of batched tensors. + static_shapes = collections.OrderedDict( + {key: tensor.get_shape() for key, tensor in tensor_dict.iteritems()}) + # Remember runtime shapes to unpad tensors after batching. + runtime_shapes = collections.OrderedDict( + {(key, 'runtime_shapes'): tf.shape(tensor) + for key, tensor in tensor_dict.iteritems()}) + all_tensors = tensor_dict + all_tensors.update(runtime_shapes) + batched_tensors = tf.train.batch( + all_tensors, + capacity=batch_queue_capacity, + batch_size=batch_size, + dynamic_pad=True, + num_threads=num_batch_queue_threads) + + self._queue = prefetcher.prefetch(batched_tensors, + prefetch_queue_capacity) + self._static_shapes = static_shapes + self._batch_size = batch_size + + def dequeue(self): + """Dequeues a batch of tensor_dict from the BatchQueue. + + TODO: use allow_smaller_final_batch to allow running over the whole eval set + + Returns: + A list of tensor_dicts of the requested batch_size. + """ + batched_tensors = self._queue.dequeue() + # Separate input tensors from tensors containing their runtime shapes. + tensors = {} + shapes = {} + for key, batched_tensor in batched_tensors.iteritems(): + unbatched_tensor_list = tf.unstack(batched_tensor) + for i, unbatched_tensor in enumerate(unbatched_tensor_list): + if isinstance(key, tuple) and key[1] == 'runtime_shapes': + shapes[(key[0], i)] = unbatched_tensor + else: + tensors[(key, i)] = unbatched_tensor + + # Undo that padding using shapes and create a list of size `batch_size` that + # contains tensor dictionaries. + tensor_dict_list = [] + batch_size = self._batch_size + for batch_id in range(batch_size): + tensor_dict = {} + for key in self._static_shapes: + tensor_dict[key] = tf.slice(tensors[(key, batch_id)], + tf.zeros_like(shapes[(key, batch_id)]), + shapes[(key, batch_id)]) + tensor_dict[key].set_shape(self._static_shapes[key]) + tensor_dict_list.append(tensor_dict) + + return tensor_dict_list diff --git a/object_detection/core/batcher_test.py b/object_detection/core/batcher_test.py new file mode 100644 index 000000000..61b4390b4 --- /dev/null +++ b/object_detection/core/batcher_test.py @@ -0,0 +1,158 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.batcher.""" + +import numpy as np +import tensorflow as tf + +from object_detection.core import batcher + +slim = tf.contrib.slim + + +class BatcherTest(tf.test.TestCase): + + def test_batch_and_unpad_2d_tensors_of_different_sizes_in_1st_dimension(self): + with self.test_session() as sess: + batch_size = 3 + num_batches = 2 + examples = tf.Variable(tf.constant(2, dtype=tf.int32)) + counter = examples.count_up_to(num_batches * batch_size + 2) + boxes = tf.tile( + tf.reshape(tf.range(4), [1, 4]), tf.stack([counter, tf.constant(1)])) + batch_queue = batcher.BatchQueue( + tensor_dict={'boxes': boxes}, + batch_size=batch_size, + batch_queue_capacity=100, + num_batch_queue_threads=1, + prefetch_queue_capacity=100) + batch = batch_queue.dequeue() + + for tensor_dict in batch: + for tensor in tensor_dict.values(): + self.assertAllEqual([None, 4], tensor.get_shape().as_list()) + + tf.initialize_all_variables().run() + with slim.queues.QueueRunners(sess): + i = 2 + for _ in range(num_batches): + batch_np = sess.run(batch) + for tensor_dict in batch_np: + for tensor in tensor_dict.values(): + self.assertAllEqual(tensor, np.tile(np.arange(4), (i, 1))) + i += 1 + with self.assertRaises(tf.errors.OutOfRangeError): + sess.run(batch) + + def test_batch_and_unpad_2d_tensors_of_different_sizes_in_all_dimensions( + self): + with self.test_session() as sess: + batch_size = 3 + num_batches = 2 + examples = tf.Variable(tf.constant(2, dtype=tf.int32)) + counter = examples.count_up_to(num_batches * batch_size + 2) + image = tf.reshape( + tf.range(counter * counter), tf.stack([counter, counter])) + batch_queue = batcher.BatchQueue( + tensor_dict={'image': image}, + batch_size=batch_size, + batch_queue_capacity=100, + num_batch_queue_threads=1, + prefetch_queue_capacity=100) + batch = batch_queue.dequeue() + + for tensor_dict in batch: + for tensor in tensor_dict.values(): + self.assertAllEqual([None, None], tensor.get_shape().as_list()) + + tf.initialize_all_variables().run() + with slim.queues.QueueRunners(sess): + i = 2 + for _ in range(num_batches): + batch_np = sess.run(batch) + for tensor_dict in batch_np: + for tensor in tensor_dict.values(): + self.assertAllEqual(tensor, np.arange(i * i).reshape((i, i))) + i += 1 + with self.assertRaises(tf.errors.OutOfRangeError): + sess.run(batch) + + def test_batch_and_unpad_2d_tensors_of_same_size_in_all_dimensions(self): + with self.test_session() as sess: + batch_size = 3 + num_batches = 2 + examples = tf.Variable(tf.constant(1, dtype=tf.int32)) + counter = examples.count_up_to(num_batches * batch_size + 1) + image = tf.reshape(tf.range(1, 13), [4, 3]) * counter + batch_queue = batcher.BatchQueue( + tensor_dict={'image': image}, + batch_size=batch_size, + batch_queue_capacity=100, + num_batch_queue_threads=1, + prefetch_queue_capacity=100) + batch = batch_queue.dequeue() + + for tensor_dict in batch: + for tensor in tensor_dict.values(): + self.assertAllEqual([4, 3], tensor.get_shape().as_list()) + + tf.initialize_all_variables().run() + with slim.queues.QueueRunners(sess): + i = 1 + for _ in range(num_batches): + batch_np = sess.run(batch) + for tensor_dict in batch_np: + for tensor in tensor_dict.values(): + self.assertAllEqual(tensor, np.arange(1, 13).reshape((4, 3)) * i) + i += 1 + with self.assertRaises(tf.errors.OutOfRangeError): + sess.run(batch) + + def test_batcher_when_batch_size_is_one(self): + with self.test_session() as sess: + batch_size = 1 + num_batches = 2 + examples = tf.Variable(tf.constant(2, dtype=tf.int32)) + counter = examples.count_up_to(num_batches * batch_size + 2) + image = tf.reshape( + tf.range(counter * counter), tf.stack([counter, counter])) + batch_queue = batcher.BatchQueue( + tensor_dict={'image': image}, + batch_size=batch_size, + batch_queue_capacity=100, + num_batch_queue_threads=1, + prefetch_queue_capacity=100) + batch = batch_queue.dequeue() + + for tensor_dict in batch: + for tensor in tensor_dict.values(): + self.assertAllEqual([None, None], tensor.get_shape().as_list()) + + tf.initialize_all_variables().run() + with slim.queues.QueueRunners(sess): + i = 2 + for _ in range(num_batches): + batch_np = sess.run(batch) + for tensor_dict in batch_np: + for tensor in tensor_dict.values(): + self.assertAllEqual(tensor, np.arange(i * i).reshape((i, i))) + i += 1 + with self.assertRaises(tf.errors.OutOfRangeError): + sess.run(batch) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/box_coder.py b/object_detection/core/box_coder.py new file mode 100644 index 000000000..f20ac956d --- /dev/null +++ b/object_detection/core/box_coder.py @@ -0,0 +1,151 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Base box coder. + +Box coders convert between coordinate frames, namely image-centric +(with (0,0) on the top left of image) and anchor-centric (with (0,0) being +defined by a specific anchor). + +Users of a BoxCoder can call two methods: + encode: which encodes a box with respect to a given anchor + (or rather, a tensor of boxes wrt a corresponding tensor of anchors) and + decode: which inverts this encoding with a decode operation. +In both cases, the arguments are assumed to be in 1-1 correspondence already; +it is not the job of a BoxCoder to perform matching. +""" +from abc import ABCMeta +from abc import abstractmethod +from abc import abstractproperty + +import tensorflow as tf + + +# Box coder types. +FASTER_RCNN = 'faster_rcnn' +KEYPOINT = 'keypoint' +MEAN_STDDEV = 'mean_stddev' +SQUARE = 'square' + + +class BoxCoder(object): + """Abstract base class for box coder.""" + __metaclass__ = ABCMeta + + @abstractproperty + def code_size(self): + """Return the size of each code. + + This number is a constant and should agree with the output of the `encode` + op (e.g. if rel_codes is the output of self.encode(...), then it should have + shape [N, code_size()]). This abstractproperty should be overridden by + implementations. + + Returns: + an integer constant + """ + pass + + def encode(self, boxes, anchors): + """Encode a box list relative to an anchor collection. + + Args: + boxes: BoxList holding N boxes to be encoded + anchors: BoxList of N anchors + + Returns: + a tensor representing N relative-encoded boxes + """ + with tf.name_scope('Encode'): + return self._encode(boxes, anchors) + + def decode(self, rel_codes, anchors): + """Decode boxes that are encoded relative to an anchor collection. + + Args: + rel_codes: a tensor representing N relative-encoded boxes + anchors: BoxList of anchors + + Returns: + boxlist: BoxList holding N boxes encoded in the ordinary way (i.e., + with corners y_min, x_min, y_max, x_max) + """ + with tf.name_scope('Decode'): + return self._decode(rel_codes, anchors) + + @abstractmethod + def _encode(self, boxes, anchors): + """Method to be overriden by implementations. + + Args: + boxes: BoxList holding N boxes to be encoded + anchors: BoxList of N anchors + + Returns: + a tensor representing N relative-encoded boxes + """ + pass + + @abstractmethod + def _decode(self, rel_codes, anchors): + """Method to be overriden by implementations. + + Args: + rel_codes: a tensor representing N relative-encoded boxes + anchors: BoxList of anchors + + Returns: + boxlist: BoxList holding N boxes encoded in the ordinary way (i.e., + with corners y_min, x_min, y_max, x_max) + """ + pass + + +def batch_decode(encoded_boxes, box_coder, anchors): + """Decode a batch of encoded boxes. + + This op takes a batch of encoded bounding boxes and transforms + them to a batch of bounding boxes specified by their corners in + the order of [y_min, x_min, y_max, x_max]. + + Args: + encoded_boxes: a float32 tensor of shape [batch_size, num_anchors, + code_size] representing the location of the objects. + box_coder: a BoxCoder object. + anchors: a BoxList of anchors used to encode `encoded_boxes`. + + Returns: + decoded_boxes: a float32 tensor of shape [batch_size, num_anchors, + coder_size] representing the corners of the objects in the order + of [y_min, x_min, y_max, x_max]. + + Raises: + ValueError: if batch sizes of the inputs are inconsistent, or if + the number of anchors inferred from encoded_boxes and anchors are + inconsistent. + """ + encoded_boxes.get_shape().assert_has_rank(3) + if encoded_boxes.get_shape()[1].value != anchors.num_boxes_static(): + raise ValueError('The number of anchors inferred from encoded_boxes' + ' and anchors are inconsistent: shape[1] of encoded_boxes' + ' %s should be equal to the number of anchors: %s.' % + (encoded_boxes.get_shape()[1].value, + anchors.num_boxes_static())) + + decoded_boxes = tf.stack([ + box_coder.decode(boxes, anchors).get() + for boxes in tf.unstack(encoded_boxes) + ]) + return decoded_boxes diff --git a/object_detection/core/box_coder_test.py b/object_detection/core/box_coder_test.py new file mode 100644 index 000000000..c087a3252 --- /dev/null +++ b/object_detection/core/box_coder_test.py @@ -0,0 +1,61 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.box_coder.""" + +import tensorflow as tf + +from object_detection.core import box_coder +from object_detection.core import box_list + + +class MockBoxCoder(box_coder.BoxCoder): + """Test BoxCoder that encodes/decodes using the multiply-by-two function.""" + + def code_size(self): + return 4 + + def _encode(self, boxes, anchors): + return 2.0 * boxes.get() + + def _decode(self, rel_codes, anchors): + return box_list.BoxList(rel_codes / 2.0) + + +class BoxCoderTest(tf.test.TestCase): + + def test_batch_decode(self): + mock_anchor_corners = tf.constant( + [[0, 0.1, 0.2, 0.3], [0.2, 0.4, 0.4, 0.6]], tf.float32) + mock_anchors = box_list.BoxList(mock_anchor_corners) + mock_box_coder = MockBoxCoder() + + expected_boxes = [[[0.0, 0.1, 0.5, 0.6], [0.5, 0.6, 0.7, 0.8]], + [[0.1, 0.2, 0.3, 0.4], [0.7, 0.8, 0.9, 1.0]]] + + encoded_boxes_list = [mock_box_coder.encode( + box_list.BoxList(tf.constant(boxes)), mock_anchors) + for boxes in expected_boxes] + encoded_boxes = tf.stack(encoded_boxes_list) + decoded_boxes = box_coder.batch_decode( + encoded_boxes, mock_box_coder, mock_anchors) + + with self.test_session() as sess: + decoded_boxes_result = sess.run(decoded_boxes) + self.assertAllClose(expected_boxes, decoded_boxes_result) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/box_list.py b/object_detection/core/box_list.py new file mode 100644 index 000000000..c0196f053 --- /dev/null +++ b/object_detection/core/box_list.py @@ -0,0 +1,207 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Bounding Box List definition. + +BoxList represents a list of bounding boxes as tensorflow +tensors, where each bounding box is represented as a row of 4 numbers, +[y_min, x_min, y_max, x_max]. It is assumed that all bounding boxes +within a given list correspond to a single image. See also +box_list_ops.py for common box related operations (such as area, iou, etc). + +Optionally, users can add additional related fields (such as weights). +We assume the following things to be true about fields: +* they correspond to boxes in the box_list along the 0th dimension +* they have inferrable rank at graph construction time +* all dimensions except for possibly the 0th can be inferred + (i.e., not None) at graph construction time. + +Some other notes: + * Following tensorflow conventions, we use height, width ordering, + and correspondingly, y,x (or ymin, xmin, ymax, xmax) ordering + * Tensors are always provided as (flat) [N, 4] tensors. +""" + +import tensorflow as tf + + +class BoxList(object): + """Box collection.""" + + def __init__(self, boxes): + """Constructs box collection. + + Args: + boxes: a tensor of shape [N, 4] representing box corners + + Raises: + ValueError: if invalid dimensions for bbox data or if bbox data is not in + float32 format. + """ + if len(boxes.get_shape()) != 2 or boxes.get_shape()[-1] != 4: + raise ValueError('Invalid dimensions for box data.') + if boxes.dtype != tf.float32: + raise ValueError('Invalid tensor type: should be tf.float32') + self.data = {'boxes': boxes} + + def num_boxes(self): + """Returns number of boxes held in collection. + + Returns: + a tensor representing the number of boxes held in the collection. + """ + return tf.shape(self.data['boxes'])[0] + + def num_boxes_static(self): + """Returns number of boxes held in collection. + + This number is inferred at graph construction time rather than run-time. + + Returns: + Number of boxes held in collection (integer) or None if this is not + inferrable at graph construction time. + """ + return self.data['boxes'].get_shape()[0].value + + def get_all_fields(self): + """Returns all fields.""" + return self.data.keys() + + def get_extra_fields(self): + """Returns all non-box fields (i.e., everything not named 'boxes').""" + return [k for k in self.data.keys() if k != 'boxes'] + + def add_field(self, field, field_data): + """Add field to box list. + + This method can be used to add related box data such as + weights/labels, etc. + + Args: + field: a string key to access the data via `get` + field_data: a tensor containing the data to store in the BoxList + """ + self.data[field] = field_data + + def has_field(self, field): + return field in self.data + + def get(self): + """Convenience function for accessing box coordinates. + + Returns: + a tensor with shape [N, 4] representing box coordinates. + """ + return self.get_field('boxes') + + def set(self, boxes): + """Convenience function for setting box coordinates. + + Args: + boxes: a tensor of shape [N, 4] representing box corners + + Raises: + ValueError: if invalid dimensions for bbox data + """ + if len(boxes.get_shape()) != 2 or boxes.get_shape()[-1] != 4: + raise ValueError('Invalid dimensions for box data.') + self.data['boxes'] = boxes + + def get_field(self, field): + """Accesses a box collection and associated fields. + + This function returns specified field with object; if no field is specified, + it returns the box coordinates. + + Args: + field: this optional string parameter can be used to specify + a related field to be accessed. + + Returns: + a tensor representing the box collection or an associated field. + + Raises: + ValueError: if invalid field + """ + if not self.has_field(field): + raise ValueError('field ' + str(field) + ' does not exist') + return self.data[field] + + def set_field(self, field, value): + """Sets the value of a field. + + Updates the field of a box_list with a given value. + + Args: + field: (string) name of the field to set value. + value: the value to assign to the field. + + Raises: + ValueError: if the box_list does not have specified field. + """ + if not self.has_field(field): + raise ValueError('field %s does not exist' % field) + self.data[field] = value + + def get_center_coordinates_and_sizes(self, scope=None): + """Computes the center coordinates, height and width of the boxes. + + Args: + scope: name scope of the function. + + Returns: + a list of 4 1-D tensors [ycenter, xcenter, height, width]. + """ + with tf.name_scope(scope, 'get_center_coordinates_and_sizes'): + box_corners = self.get() + ymin, xmin, ymax, xmax = tf.unstack(tf.transpose(box_corners)) + width = xmax - xmin + height = ymax - ymin + ycenter = ymin + height / 2. + xcenter = xmin + width / 2. + return [ycenter, xcenter, height, width] + + def transpose_coordinates(self, scope=None): + """Transpose the coordinate representation in a boxlist. + + Args: + scope: name scope of the function. + """ + with tf.name_scope(scope, 'transpose_coordinates'): + y_min, x_min, y_max, x_max = tf.split( + value=self.get(), num_or_size_splits=4, axis=1) + self.set(tf.concat([x_min, y_min, x_max, y_max], 1)) + + def as_tensor_dict(self, fields=None): + """Retrieves specified fields as a dictionary of tensors. + + Args: + fields: (optional) list of fields to return in the dictionary. + If None (default), all fields are returned. + + Returns: + tensor_dict: A dictionary of tensors specified by fields. + + Raises: + ValueError: if specified field is not contained in boxlist. + """ + tensor_dict = {} + if fields is None: + fields = self.get_all_fields() + for field in fields: + if not self.has_field(field): + raise ValueError('boxlist must contain all specified fields') + tensor_dict[field] = self.get_field(field) + return tensor_dict diff --git a/object_detection/core/box_list_ops.py b/object_detection/core/box_list_ops.py new file mode 100644 index 000000000..b083fabfb --- /dev/null +++ b/object_detection/core/box_list_ops.py @@ -0,0 +1,975 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Bounding Box List operations. + +Example box operations that are supported: + * areas: compute bounding box areas + * iou: pairwise intersection-over-union scores + * sq_dist: pairwise distances between bounding boxes + +Whenever box_list_ops functions output a BoxList, the fields of the incoming +BoxList are retained unless documented otherwise. +""" +import tensorflow as tf + +from object_detection.core import box_list +from object_detection.utils import shape_utils + + +class SortOrder(object): + """Enum class for sort order. + + Attributes: + ascend: ascend order. + descend: descend order. + """ + ascend = 1 + descend = 2 + + +def area(boxlist, scope=None): + """Computes area of boxes. + + Args: + boxlist: BoxList holding N boxes + scope: name scope. + + Returns: + a tensor with shape [N] representing box areas. + """ + with tf.name_scope(scope, 'Area'): + y_min, x_min, y_max, x_max = tf.split( + value=boxlist.get(), num_or_size_splits=4, axis=1) + return tf.squeeze((y_max - y_min) * (x_max - x_min), [1]) + + +def height_width(boxlist, scope=None): + """Computes height and width of boxes in boxlist. + + Args: + boxlist: BoxList holding N boxes + scope: name scope. + + Returns: + Height: A tensor with shape [N] representing box heights. + Width: A tensor with shape [N] representing box widths. + """ + with tf.name_scope(scope, 'HeightWidth'): + y_min, x_min, y_max, x_max = tf.split( + value=boxlist.get(), num_or_size_splits=4, axis=1) + return tf.squeeze(y_max - y_min, [1]), tf.squeeze(x_max - x_min, [1]) + + +def scale(boxlist, y_scale, x_scale, scope=None): + """scale box coordinates in x and y dimensions. + + Args: + boxlist: BoxList holding N boxes + y_scale: (float) scalar tensor + x_scale: (float) scalar tensor + scope: name scope. + + Returns: + boxlist: BoxList holding N boxes + """ + with tf.name_scope(scope, 'Scale'): + y_scale = tf.cast(y_scale, tf.float32) + x_scale = tf.cast(x_scale, tf.float32) + y_min, x_min, y_max, x_max = tf.split( + value=boxlist.get(), num_or_size_splits=4, axis=1) + y_min = y_scale * y_min + y_max = y_scale * y_max + x_min = x_scale * x_min + x_max = x_scale * x_max + scaled_boxlist = box_list.BoxList( + tf.concat([y_min, x_min, y_max, x_max], 1)) + return _copy_extra_fields(scaled_boxlist, boxlist) + + +def clip_to_window(boxlist, window, filter_nonoverlapping=True, scope=None): + """Clip bounding boxes to a window. + + This op clips any input bounding boxes (represented by bounding box + corners) to a window, optionally filtering out boxes that do not + overlap at all with the window. + + Args: + boxlist: BoxList holding M_in boxes + window: a tensor of shape [4] representing the [y_min, x_min, y_max, x_max] + window to which the op should clip boxes. + filter_nonoverlapping: whether to filter out boxes that do not overlap at + all with the window. + scope: name scope. + + Returns: + a BoxList holding M_out boxes where M_out <= M_in + """ + with tf.name_scope(scope, 'ClipToWindow'): + y_min, x_min, y_max, x_max = tf.split( + value=boxlist.get(), num_or_size_splits=4, axis=1) + win_y_min, win_x_min, win_y_max, win_x_max = tf.unstack(window) + y_min_clipped = tf.maximum(tf.minimum(y_min, win_y_max), win_y_min) + y_max_clipped = tf.maximum(tf.minimum(y_max, win_y_max), win_y_min) + x_min_clipped = tf.maximum(tf.minimum(x_min, win_x_max), win_x_min) + x_max_clipped = tf.maximum(tf.minimum(x_max, win_x_max), win_x_min) + clipped = box_list.BoxList( + tf.concat([y_min_clipped, x_min_clipped, y_max_clipped, x_max_clipped], + 1)) + clipped = _copy_extra_fields(clipped, boxlist) + if filter_nonoverlapping: + areas = area(clipped) + nonzero_area_indices = tf.cast( + tf.reshape(tf.where(tf.greater(areas, 0.0)), [-1]), tf.int32) + clipped = gather(clipped, nonzero_area_indices) + return clipped + + +def prune_outside_window(boxlist, window, scope=None): + """Prunes bounding boxes that fall outside a given window. + + This function prunes bounding boxes that even partially fall outside the given + window. See also clip_to_window which only prunes bounding boxes that fall + completely outside the window, and clips any bounding boxes that partially + overflow. + + Args: + boxlist: a BoxList holding M_in boxes. + window: a float tensor of shape [4] representing [ymin, xmin, ymax, xmax] + of the window + scope: name scope. + + Returns: + pruned_corners: a tensor with shape [M_out, 4] where M_out <= M_in + valid_indices: a tensor with shape [M_out] indexing the valid bounding boxes + in the input tensor. + """ + with tf.name_scope(scope, 'PruneOutsideWindow'): + y_min, x_min, y_max, x_max = tf.split( + value=boxlist.get(), num_or_size_splits=4, axis=1) + win_y_min, win_x_min, win_y_max, win_x_max = tf.unstack(window) + coordinate_violations = tf.concat([ + tf.less(y_min, win_y_min), tf.less(x_min, win_x_min), + tf.greater(y_max, win_y_max), tf.greater(x_max, win_x_max) + ], 1) + valid_indices = tf.reshape( + tf.where(tf.logical_not(tf.reduce_any(coordinate_violations, 1))), [-1]) + return gather(boxlist, valid_indices), valid_indices + + +def prune_completely_outside_window(boxlist, window, scope=None): + """Prunes bounding boxes that fall completely outside of the given window. + + The function clip_to_window prunes bounding boxes that fall + completely outside the window, but also clips any bounding boxes that + partially overflow. This function does not clip partially overflowing boxes. + + Args: + boxlist: a BoxList holding M_in boxes. + window: a float tensor of shape [4] representing [ymin, xmin, ymax, xmax] + of the window + scope: name scope. + + Returns: + pruned_corners: a tensor with shape [M_out, 4] where M_out <= M_in + valid_indices: a tensor with shape [M_out] indexing the valid bounding boxes + in the input tensor. + """ + with tf.name_scope(scope, 'PruneCompleteleyOutsideWindow'): + y_min, x_min, y_max, x_max = tf.split( + value=boxlist.get(), num_or_size_splits=4, axis=1) + win_y_min, win_x_min, win_y_max, win_x_max = tf.unstack(window) + coordinate_violations = tf.concat([ + tf.greater_equal(y_min, win_y_max), tf.greater_equal(x_min, win_x_max), + tf.less_equal(y_max, win_y_min), tf.less_equal(x_max, win_x_min) + ], 1) + valid_indices = tf.reshape( + tf.where(tf.logical_not(tf.reduce_any(coordinate_violations, 1))), [-1]) + return gather(boxlist, valid_indices), valid_indices + + +def intersection(boxlist1, boxlist2, scope=None): + """Compute pairwise intersection areas between boxes. + + Args: + boxlist1: BoxList holding N boxes + boxlist2: BoxList holding M boxes + scope: name scope. + + Returns: + a tensor with shape [N, M] representing pairwise intersections + """ + with tf.name_scope(scope, 'Intersection'): + y_min1, x_min1, y_max1, x_max1 = tf.split( + value=boxlist1.get(), num_or_size_splits=4, axis=1) + y_min2, x_min2, y_max2, x_max2 = tf.split( + value=boxlist2.get(), num_or_size_splits=4, axis=1) + all_pairs_min_ymax = tf.minimum(y_max1, tf.transpose(y_max2)) + all_pairs_max_ymin = tf.maximum(y_min1, tf.transpose(y_min2)) + intersect_heights = tf.maximum(0.0, all_pairs_min_ymax - all_pairs_max_ymin) + all_pairs_min_xmax = tf.minimum(x_max1, tf.transpose(x_max2)) + all_pairs_max_xmin = tf.maximum(x_min1, tf.transpose(x_min2)) + intersect_widths = tf.maximum(0.0, all_pairs_min_xmax - all_pairs_max_xmin) + return intersect_heights * intersect_widths + + +def matched_intersection(boxlist1, boxlist2, scope=None): + """Compute intersection areas between corresponding boxes in two boxlists. + + Args: + boxlist1: BoxList holding N boxes + boxlist2: BoxList holding N boxes + scope: name scope. + + Returns: + a tensor with shape [N] representing pairwise intersections + """ + with tf.name_scope(scope, 'MatchedIntersection'): + y_min1, x_min1, y_max1, x_max1 = tf.split( + value=boxlist1.get(), num_or_size_splits=4, axis=1) + y_min2, x_min2, y_max2, x_max2 = tf.split( + value=boxlist2.get(), num_or_size_splits=4, axis=1) + min_ymax = tf.minimum(y_max1, y_max2) + max_ymin = tf.maximum(y_min1, y_min2) + intersect_heights = tf.maximum(0.0, min_ymax - max_ymin) + min_xmax = tf.minimum(x_max1, x_max2) + max_xmin = tf.maximum(x_min1, x_min2) + intersect_widths = tf.maximum(0.0, min_xmax - max_xmin) + return tf.reshape(intersect_heights * intersect_widths, [-1]) + + +def iou(boxlist1, boxlist2, scope=None): + """Computes pairwise intersection-over-union between box collections. + + Args: + boxlist1: BoxList holding N boxes + boxlist2: BoxList holding M boxes + scope: name scope. + + Returns: + a tensor with shape [N, M] representing pairwise iou scores. + """ + with tf.name_scope(scope, 'IOU'): + intersections = intersection(boxlist1, boxlist2) + areas1 = area(boxlist1) + areas2 = area(boxlist2) + unions = ( + tf.expand_dims(areas1, 1) + tf.expand_dims(areas2, 0) - intersections) + return tf.where( + tf.equal(intersections, 0.0), + tf.zeros_like(intersections), tf.truediv(intersections, unions)) + + +def matched_iou(boxlist1, boxlist2, scope=None): + """Compute intersection-over-union between corresponding boxes in boxlists. + + Args: + boxlist1: BoxList holding N boxes + boxlist2: BoxList holding N boxes + scope: name scope. + + Returns: + a tensor with shape [N] representing pairwise iou scores. + """ + with tf.name_scope(scope, 'MatchedIOU'): + intersections = matched_intersection(boxlist1, boxlist2) + areas1 = area(boxlist1) + areas2 = area(boxlist2) + unions = areas1 + areas2 - intersections + return tf.where( + tf.equal(intersections, 0.0), + tf.zeros_like(intersections), tf.truediv(intersections, unions)) + + +def ioa(boxlist1, boxlist2, scope=None): + """Computes pairwise intersection-over-area between box collections. + + intersection-over-area (IOA) between two boxes box1 and box2 is defined as + their intersection area over box2's area. Note that ioa is not symmetric, + that is, ioa(box1, box2) != ioa(box2, box1). + + Args: + boxlist1: BoxList holding N boxes + boxlist2: BoxList holding M boxes + scope: name scope. + + Returns: + a tensor with shape [N, M] representing pairwise ioa scores. + """ + with tf.name_scope(scope, 'IOA'): + intersections = intersection(boxlist1, boxlist2) + areas = tf.expand_dims(area(boxlist2), 0) + return tf.truediv(intersections, areas) + + +def prune_non_overlapping_boxes( + boxlist1, boxlist2, min_overlap=0.0, scope=None): + """Prunes the boxes in boxlist1 that overlap less than thresh with boxlist2. + + For each box in boxlist1, we want its IOA to be more than minoverlap with + at least one of the boxes in boxlist2. If it does not, we remove it. + + Args: + boxlist1: BoxList holding N boxes. + boxlist2: BoxList holding M boxes. + min_overlap: Minimum required overlap between boxes, to count them as + overlapping. + scope: name scope. + + Returns: + new_boxlist1: A pruned boxlist with size [N', 4]. + keep_inds: A tensor with shape [N'] indexing kept bounding boxes in the + first input BoxList `boxlist1`. + """ + with tf.name_scope(scope, 'PruneNonOverlappingBoxes'): + ioa_ = ioa(boxlist2, boxlist1) # [M, N] tensor + ioa_ = tf.reduce_max(ioa_, reduction_indices=[0]) # [N] tensor + keep_bool = tf.greater_equal(ioa_, tf.constant(min_overlap)) + keep_inds = tf.squeeze(tf.where(keep_bool), squeeze_dims=[1]) + new_boxlist1 = gather(boxlist1, keep_inds) + return new_boxlist1, keep_inds + + +def prune_small_boxes(boxlist, min_side, scope=None): + """Prunes small boxes in the boxlist which have a side smaller than min_side. + + Args: + boxlist: BoxList holding N boxes. + min_side: Minimum width AND height of box to survive pruning. + scope: name scope. + + Returns: + A pruned boxlist. + """ + with tf.name_scope(scope, 'PruneSmallBoxes'): + height, width = height_width(boxlist) + is_valid = tf.logical_and(tf.greater_equal(width, min_side), + tf.greater_equal(height, min_side)) + return gather(boxlist, tf.reshape(tf.where(is_valid), [-1])) + + +def change_coordinate_frame(boxlist, window, scope=None): + """Change coordinate frame of the boxlist to be relative to window's frame. + + Given a window of the form [ymin, xmin, ymax, xmax], + changes bounding box coordinates from boxlist to be relative to this window + (e.g., the min corner maps to (0,0) and the max corner maps to (1,1)). + + An example use case is data augmentation: where we are given groundtruth + boxes (boxlist) and would like to randomly crop the image to some + window (window). In this case we need to change the coordinate frame of + each groundtruth box to be relative to this new window. + + Args: + boxlist: A BoxList object holding N boxes. + window: A rank 1 tensor [4]. + scope: name scope. + + Returns: + Returns a BoxList object with N boxes. + """ + with tf.name_scope(scope, 'ChangeCoordinateFrame'): + win_height = window[2] - window[0] + win_width = window[3] - window[1] + boxlist_new = scale(box_list.BoxList( + boxlist.get() - [window[0], window[1], window[0], window[1]]), + 1.0 / win_height, 1.0 / win_width) + boxlist_new = _copy_extra_fields(boxlist_new, boxlist) + return boxlist_new + + +def sq_dist(boxlist1, boxlist2, scope=None): + """Computes the pairwise squared distances between box corners. + + This op treats each box as if it were a point in a 4d Euclidean space and + computes pairwise squared distances. + + Mathematically, we are given two matrices of box coordinates X and Y, + where X(i,:) is the i'th row of X, containing the 4 numbers defining the + corners of the i'th box in boxlist1. Similarly Y(j,:) corresponds to + boxlist2. We compute + Z(i,j) = ||X(i,:) - Y(j,:)||^2 + = ||X(i,:)||^2 + ||Y(j,:)||^2 - 2 X(i,:)' * Y(j,:), + + Args: + boxlist1: BoxList holding N boxes + boxlist2: BoxList holding M boxes + scope: name scope. + + Returns: + a tensor with shape [N, M] representing pairwise distances + """ + with tf.name_scope(scope, 'SqDist'): + sqnorm1 = tf.reduce_sum(tf.square(boxlist1.get()), 1, keep_dims=True) + sqnorm2 = tf.reduce_sum(tf.square(boxlist2.get()), 1, keep_dims=True) + innerprod = tf.matmul(boxlist1.get(), boxlist2.get(), + transpose_a=False, transpose_b=True) + return sqnorm1 + tf.transpose(sqnorm2) - 2.0 * innerprod + + +def boolean_mask(boxlist, indicator, fields=None, scope=None): + """Select boxes from BoxList according to indicator and return new BoxList. + + `boolean_mask` returns the subset of boxes that are marked as "True" by the + indicator tensor. By default, `boolean_mask` returns boxes corresponding to + the input index list, as well as all additional fields stored in the boxlist + (indexing into the first dimension). However one can optionally only draw + from a subset of fields. + + Args: + boxlist: BoxList holding N boxes + indicator: a rank-1 boolean tensor + fields: (optional) list of fields to also gather from. If None (default), + all fields are gathered from. Pass an empty fields list to only gather + the box coordinates. + scope: name scope. + + Returns: + subboxlist: a BoxList corresponding to the subset of the input BoxList + specified by indicator + Raises: + ValueError: if `indicator` is not a rank-1 boolean tensor. + """ + with tf.name_scope(scope, 'BooleanMask'): + if indicator.shape.ndims != 1: + raise ValueError('indicator should have rank 1') + if indicator.dtype != tf.bool: + raise ValueError('indicator should be a boolean tensor') + subboxlist = box_list.BoxList(tf.boolean_mask(boxlist.get(), indicator)) + if fields is None: + fields = boxlist.get_extra_fields() + for field in fields: + if not boxlist.has_field(field): + raise ValueError('boxlist must contain all specified fields') + subfieldlist = tf.boolean_mask(boxlist.get_field(field), indicator) + subboxlist.add_field(field, subfieldlist) + return subboxlist + + +def gather(boxlist, indices, fields=None, scope=None): + """Gather boxes from BoxList according to indices and return new BoxList. + + By default, `gather` returns boxes corresponding to the input index list, as + well as all additional fields stored in the boxlist (indexing into the + first dimension). However one can optionally only gather from a + subset of fields. + + Args: + boxlist: BoxList holding N boxes + indices: a rank-1 tensor of type int32 / int64 + fields: (optional) list of fields to also gather from. If None (default), + all fields are gathered from. Pass an empty fields list to only gather + the box coordinates. + scope: name scope. + + Returns: + subboxlist: a BoxList corresponding to the subset of the input BoxList + specified by indices + Raises: + ValueError: if specified field is not contained in boxlist or if the + indices are not of type int32 + """ + with tf.name_scope(scope, 'Gather'): + if len(indices.shape.as_list()) != 1: + raise ValueError('indices should have rank 1') + if indices.dtype != tf.int32 and indices.dtype != tf.int64: + raise ValueError('indices should be an int32 / int64 tensor') + subboxlist = box_list.BoxList(tf.gather(boxlist.get(), indices)) + if fields is None: + fields = boxlist.get_extra_fields() + for field in fields: + if not boxlist.has_field(field): + raise ValueError('boxlist must contain all specified fields') + subfieldlist = tf.gather(boxlist.get_field(field), indices) + subboxlist.add_field(field, subfieldlist) + return subboxlist + + +def concatenate(boxlists, fields=None, scope=None): + """Concatenate list of BoxLists. + + This op concatenates a list of input BoxLists into a larger BoxList. It also + handles concatenation of BoxList fields as long as the field tensor shapes + are equal except for the first dimension. + + Args: + boxlists: list of BoxList objects + fields: optional list of fields to also concatenate. By default, all + fields from the first BoxList in the list are included in the + concatenation. + scope: name scope. + + Returns: + a BoxList with number of boxes equal to + sum([boxlist.num_boxes() for boxlist in BoxList]) + Raises: + ValueError: if boxlists is invalid (i.e., is not a list, is empty, or + contains non BoxList objects), or if requested fields are not contained in + all boxlists + """ + with tf.name_scope(scope, 'Concatenate'): + if not isinstance(boxlists, list): + raise ValueError('boxlists should be a list') + if not boxlists: + raise ValueError('boxlists should have nonzero length') + for boxlist in boxlists: + if not isinstance(boxlist, box_list.BoxList): + raise ValueError('all elements of boxlists should be BoxList objects') + concatenated = box_list.BoxList( + tf.concat([boxlist.get() for boxlist in boxlists], 0)) + if fields is None: + fields = boxlists[0].get_extra_fields() + for field in fields: + first_field_shape = boxlists[0].get_field(field).get_shape().as_list() + first_field_shape[0] = -1 + if None in first_field_shape: + raise ValueError('field %s must have fully defined shape except for the' + ' 0th dimension.' % field) + for boxlist in boxlists: + if not boxlist.has_field(field): + raise ValueError('boxlist must contain all requested fields') + field_shape = boxlist.get_field(field).get_shape().as_list() + field_shape[0] = -1 + if field_shape != first_field_shape: + raise ValueError('field %s must have same shape for all boxlists ' + 'except for the 0th dimension.' % field) + concatenated_field = tf.concat( + [boxlist.get_field(field) for boxlist in boxlists], 0) + concatenated.add_field(field, concatenated_field) + return concatenated + + +def sort_by_field(boxlist, field, order=SortOrder.descend, scope=None): + """Sort boxes and associated fields according to a scalar field. + + A common use case is reordering the boxes according to descending scores. + + Args: + boxlist: BoxList holding N boxes. + field: A BoxList field for sorting and reordering the BoxList. + order: (Optional) descend or ascend. Default is descend. + scope: name scope. + + Returns: + sorted_boxlist: A sorted BoxList with the field in the specified order. + + Raises: + ValueError: if specified field does not exist + ValueError: if the order is not either descend or ascend + """ + with tf.name_scope(scope, 'SortByField'): + if order != SortOrder.descend and order != SortOrder.ascend: + raise ValueError('Invalid sort order') + + field_to_sort = boxlist.get_field(field) + if len(field_to_sort.shape.as_list()) != 1: + raise ValueError('Field should have rank 1') + + num_boxes = boxlist.num_boxes() + num_entries = tf.size(field_to_sort) + length_assert = tf.Assert( + tf.equal(num_boxes, num_entries), + ['Incorrect field size: actual vs expected.', num_entries, num_boxes]) + + with tf.control_dependencies([length_assert]): + # TODO: Remove with tf.device when top_k operation runs correctly on GPU. + with tf.device('/cpu:0'): + _, sorted_indices = tf.nn.top_k(field_to_sort, num_boxes, sorted=True) + + if order == SortOrder.ascend: + sorted_indices = tf.reverse_v2(sorted_indices, [0]) + + return gather(boxlist, sorted_indices) + + +def visualize_boxes_in_image(image, boxlist, normalized=False, scope=None): + """Overlay bounding box list on image. + + Currently this visualization plots a 1 pixel thick red bounding box on top + of the image. Note that tf.image.draw_bounding_boxes essentially is + 1 indexed. + + Args: + image: an image tensor with shape [height, width, 3] + boxlist: a BoxList + normalized: (boolean) specify whether corners are to be interpreted + as absolute coordinates in image space or normalized with respect to the + image size. + scope: name scope. + + Returns: + image_and_boxes: an image tensor with shape [height, width, 3] + """ + with tf.name_scope(scope, 'VisualizeBoxesInImage'): + if not normalized: + height, width, _ = tf.unstack(tf.shape(image)) + boxlist = scale(boxlist, + 1.0 / tf.cast(height, tf.float32), + 1.0 / tf.cast(width, tf.float32)) + corners = tf.expand_dims(boxlist.get(), 0) + image = tf.expand_dims(image, 0) + return tf.squeeze(tf.image.draw_bounding_boxes(image, corners), [0]) + + +def filter_field_value_equals(boxlist, field, value, scope=None): + """Filter to keep only boxes with field entries equal to the given value. + + Args: + boxlist: BoxList holding N boxes. + field: field name for filtering. + value: scalar value. + scope: name scope. + + Returns: + a BoxList holding M boxes where M <= N + + Raises: + ValueError: if boxlist not a BoxList object or if it does not have + the specified field. + """ + with tf.name_scope(scope, 'FilterFieldValueEquals'): + if not isinstance(boxlist, box_list.BoxList): + raise ValueError('boxlist must be a BoxList') + if not boxlist.has_field(field): + raise ValueError('boxlist must contain the specified field') + filter_field = boxlist.get_field(field) + gather_index = tf.reshape(tf.where(tf.equal(filter_field, value)), [-1]) + return gather(boxlist, gather_index) + + +def filter_greater_than(boxlist, thresh, scope=None): + """Filter to keep only boxes with score exceeding a given threshold. + + This op keeps the collection of boxes whose corresponding scores are + greater than the input threshold. + + TODO: Change function name to FilterScoresGreaterThan + + Args: + boxlist: BoxList holding N boxes. Must contain a 'scores' field + representing detection scores. + thresh: scalar threshold + scope: name scope. + + Returns: + a BoxList holding M boxes where M <= N + + Raises: + ValueError: if boxlist not a BoxList object or if it does not + have a scores field + """ + with tf.name_scope(scope, 'FilterGreaterThan'): + if not isinstance(boxlist, box_list.BoxList): + raise ValueError('boxlist must be a BoxList') + if not boxlist.has_field('scores'): + raise ValueError('input boxlist must have \'scores\' field') + scores = boxlist.get_field('scores') + if len(scores.shape.as_list()) > 2: + raise ValueError('Scores should have rank 1 or 2') + if len(scores.shape.as_list()) == 2 and scores.shape.as_list()[1] != 1: + raise ValueError('Scores should have rank 1 or have shape ' + 'consistent with [None, 1]') + high_score_indices = tf.cast(tf.reshape( + tf.where(tf.greater(scores, thresh)), + [-1]), tf.int32) + return gather(boxlist, high_score_indices) + + +def non_max_suppression(boxlist, thresh, max_output_size, scope=None): + """Non maximum suppression. + + This op greedily selects a subset of detection bounding boxes, pruning + away boxes that have high IOU (intersection over union) overlap (> thresh) + with already selected boxes. Note that this only works for a single class --- + to apply NMS to multi-class predictions, use MultiClassNonMaxSuppression. + + Args: + boxlist: BoxList holding N boxes. Must contain a 'scores' field + representing detection scores. + thresh: scalar threshold + max_output_size: maximum number of retained boxes + scope: name scope. + + Returns: + a BoxList holding M boxes where M <= max_output_size + Raises: + ValueError: if thresh is not in [0, 1] + """ + with tf.name_scope(scope, 'NonMaxSuppression'): + if not 0 <= thresh <= 1.0: + raise ValueError('thresh must be between 0 and 1') + if not isinstance(boxlist, box_list.BoxList): + raise ValueError('boxlist must be a BoxList') + if not boxlist.has_field('scores'): + raise ValueError('input boxlist must have \'scores\' field') + selected_indices = tf.image.non_max_suppression( + boxlist.get(), boxlist.get_field('scores'), + max_output_size, iou_threshold=thresh) + return gather(boxlist, selected_indices) + + +def _copy_extra_fields(boxlist_to_copy_to, boxlist_to_copy_from): + """Copies the extra fields of boxlist_to_copy_from to boxlist_to_copy_to. + + Args: + boxlist_to_copy_to: BoxList to which extra fields are copied. + boxlist_to_copy_from: BoxList from which fields are copied. + + Returns: + boxlist_to_copy_to with extra fields. + """ + for field in boxlist_to_copy_from.get_extra_fields(): + boxlist_to_copy_to.add_field(field, boxlist_to_copy_from.get_field(field)) + return boxlist_to_copy_to + + +def to_normalized_coordinates(boxlist, height, width, + check_range=True, scope=None): + """Converts absolute box coordinates to normalized coordinates in [0, 1]. + + Usually one uses the dynamic shape of the image or conv-layer tensor: + boxlist = box_list_ops.to_normalized_coordinates(boxlist, + tf.shape(images)[1], + tf.shape(images)[2]), + + This function raises an assertion failed error at graph execution time when + the maximum coordinate is smaller than 1.01 (which means that coordinates are + already normalized). The value 1.01 is to deal with small rounding errors. + + Args: + boxlist: BoxList with coordinates in terms of pixel-locations. + height: Maximum value for height of absolute box coordinates. + width: Maximum value for width of absolute box coordinates. + check_range: If True, checks if the coordinates are normalized or not. + scope: name scope. + + Returns: + boxlist with normalized coordinates in [0, 1]. + """ + with tf.name_scope(scope, 'ToNormalizedCoordinates'): + height = tf.cast(height, tf.float32) + width = tf.cast(width, tf.float32) + + if check_range: + max_val = tf.reduce_max(boxlist.get()) + max_assert = tf.Assert(tf.greater(max_val, 1.01), + ['max value is lower than 1.01: ', max_val]) + with tf.control_dependencies([max_assert]): + width = tf.identity(width) + + return scale(boxlist, 1 / height, 1 / width) + + +def to_absolute_coordinates(boxlist, height, width, + check_range=True, scope=None): + """Converts normalized box coordinates to absolute pixel coordinates. + + This function raises an assertion failed error when the maximum box coordinate + value is larger than 1.01 (in which case coordinates are already absolute). + + Args: + boxlist: BoxList with coordinates in range [0, 1]. + height: Maximum value for height of absolute box coordinates. + width: Maximum value for width of absolute box coordinates. + check_range: If True, checks if the coordinates are normalized or not. + scope: name scope. + + Returns: + boxlist with absolute coordinates in terms of the image size. + + """ + with tf.name_scope(scope, 'ToAbsoluteCoordinates'): + height = tf.cast(height, tf.float32) + width = tf.cast(width, tf.float32) + + # Ensure range of input boxes is correct. + if check_range: + box_maximum = tf.reduce_max(boxlist.get()) + max_assert = tf.Assert(tf.greater_equal(1.01, box_maximum), + ['maximum box coordinate value is larger ' + 'than 1.01: ', box_maximum]) + with tf.control_dependencies([max_assert]): + width = tf.identity(width) + + return scale(boxlist, height, width) + + +def refine_boxes_multi_class(pool_boxes, + num_classes, + nms_iou_thresh, + nms_max_detections, + voting_iou_thresh=0.5): + """Refines a pool of boxes using non max suppression and box voting. + + Box refinement is done independently for each class. + + Args: + pool_boxes: (BoxList) A collection of boxes to be refined. pool_boxes must + have a rank 1 'scores' field and a rank 1 'classes' field. + num_classes: (int scalar) Number of classes. + nms_iou_thresh: (float scalar) iou threshold for non max suppression (NMS). + nms_max_detections: (int scalar) maximum output size for NMS. + voting_iou_thresh: (float scalar) iou threshold for box voting. + + Returns: + BoxList of refined boxes. + + Raises: + ValueError: if + a) nms_iou_thresh or voting_iou_thresh is not in [0, 1]. + b) pool_boxes is not a BoxList. + c) pool_boxes does not have a scores and classes field. + """ + if not 0.0 <= nms_iou_thresh <= 1.0: + raise ValueError('nms_iou_thresh must be between 0 and 1') + if not 0.0 <= voting_iou_thresh <= 1.0: + raise ValueError('voting_iou_thresh must be between 0 and 1') + if not isinstance(pool_boxes, box_list.BoxList): + raise ValueError('pool_boxes must be a BoxList') + if not pool_boxes.has_field('scores'): + raise ValueError('pool_boxes must have a \'scores\' field') + if not pool_boxes.has_field('classes'): + raise ValueError('pool_boxes must have a \'classes\' field') + + refined_boxes = [] + for i in range(num_classes): + boxes_class = filter_field_value_equals(pool_boxes, 'classes', i) + refined_boxes_class = refine_boxes(boxes_class, nms_iou_thresh, + nms_max_detections, voting_iou_thresh) + refined_boxes.append(refined_boxes_class) + return sort_by_field(concatenate(refined_boxes), 'scores') + + +def refine_boxes(pool_boxes, + nms_iou_thresh, + nms_max_detections, + voting_iou_thresh=0.5): + """Refines a pool of boxes using non max suppression and box voting. + + Args: + pool_boxes: (BoxList) A collection of boxes to be refined. pool_boxes must + have a rank 1 'scores' field. + nms_iou_thresh: (float scalar) iou threshold for non max suppression (NMS). + nms_max_detections: (int scalar) maximum output size for NMS. + voting_iou_thresh: (float scalar) iou threshold for box voting. + + Returns: + BoxList of refined boxes. + + Raises: + ValueError: if + a) nms_iou_thresh or voting_iou_thresh is not in [0, 1]. + b) pool_boxes is not a BoxList. + c) pool_boxes does not have a scores field. + """ + if not 0.0 <= nms_iou_thresh <= 1.0: + raise ValueError('nms_iou_thresh must be between 0 and 1') + if not 0.0 <= voting_iou_thresh <= 1.0: + raise ValueError('voting_iou_thresh must be between 0 and 1') + if not isinstance(pool_boxes, box_list.BoxList): + raise ValueError('pool_boxes must be a BoxList') + if not pool_boxes.has_field('scores'): + raise ValueError('pool_boxes must have a \'scores\' field') + + nms_boxes = non_max_suppression( + pool_boxes, nms_iou_thresh, nms_max_detections) + return box_voting(nms_boxes, pool_boxes, voting_iou_thresh) + + +def box_voting(selected_boxes, pool_boxes, iou_thresh=0.5): + """Performs box voting as described in S. Gidaris and N. Komodakis, ICCV 2015. + + Performs box voting as described in 'Object detection via a multi-region & + semantic segmentation-aware CNN model', Gidaris and Komodakis, ICCV 2015. For + each box 'B' in selected_boxes, we find the set 'S' of boxes in pool_boxes + with iou overlap >= iou_thresh. The location of B is set to the weighted + average location of boxes in S (scores are used for weighting). And the score + of B is set to the average score of boxes in S. + + Args: + selected_boxes: BoxList containing a subset of boxes in pool_boxes. These + boxes are usually selected from pool_boxes using non max suppression. + pool_boxes: BoxList containing a set of (possibly redundant) boxes. + iou_thresh: (float scalar) iou threshold for matching boxes in + selected_boxes and pool_boxes. + + Returns: + BoxList containing averaged locations and scores for each box in + selected_boxes. + + Raises: + ValueError: if + a) selected_boxes or pool_boxes is not a BoxList. + b) if iou_thresh is not in [0, 1]. + c) pool_boxes does not have a scores field. + """ + if not 0.0 <= iou_thresh <= 1.0: + raise ValueError('iou_thresh must be between 0 and 1') + if not isinstance(selected_boxes, box_list.BoxList): + raise ValueError('selected_boxes must be a BoxList') + if not isinstance(pool_boxes, box_list.BoxList): + raise ValueError('pool_boxes must be a BoxList') + if not pool_boxes.has_field('scores'): + raise ValueError('pool_boxes must have a \'scores\' field') + + iou_ = iou(selected_boxes, pool_boxes) + match_indicator = tf.to_float(tf.greater(iou_, iou_thresh)) + num_matches = tf.reduce_sum(match_indicator, 1) + # TODO: Handle the case where some boxes in selected_boxes do not match to any + # boxes in pool_boxes. For such boxes without any matches, we should return + # the original boxes without voting. + match_assert = tf.Assert( + tf.reduce_all(tf.greater(num_matches, 0)), + ['Each box in selected_boxes must match with at least one box ' + 'in pool_boxes.']) + + scores = tf.expand_dims(pool_boxes.get_field('scores'), 1) + scores_assert = tf.Assert( + tf.reduce_all(tf.greater_equal(scores, 0)), + ['Scores must be non negative.']) + + with tf.control_dependencies([scores_assert, match_assert]): + sum_scores = tf.matmul(match_indicator, scores) + averaged_scores = tf.reshape(sum_scores, [-1]) / num_matches + + box_locations = tf.matmul(match_indicator, + pool_boxes.get() * scores) / sum_scores + averaged_boxes = box_list.BoxList(box_locations) + _copy_extra_fields(averaged_boxes, selected_boxes) + averaged_boxes.add_field('scores', averaged_scores) + return averaged_boxes + + +def pad_or_clip_box_list(boxlist, num_boxes, scope=None): + """Pads or clips all fields of a BoxList. + + Args: + boxlist: A BoxList with arbitrary of number of boxes. + num_boxes: First num_boxes in boxlist are kept. + The fields are zero-padded if num_boxes is bigger than the + actual number of boxes. + scope: name scope. + + Returns: + BoxList with all fields padded or clipped. + """ + with tf.name_scope(scope, 'PadOrClipBoxList'): + subboxlist = box_list.BoxList(shape_utils.pad_or_clip_tensor( + boxlist.get(), num_boxes)) + for field in boxlist.get_extra_fields(): + subfield = shape_utils.pad_or_clip_tensor( + boxlist.get_field(field), num_boxes) + subboxlist.add_field(field, subfield) + return subboxlist diff --git a/object_detection/core/box_list_ops_test.py b/object_detection/core/box_list_ops_test.py new file mode 100644 index 000000000..467bb3c67 --- /dev/null +++ b/object_detection/core/box_list_ops_test.py @@ -0,0 +1,962 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.box_list_ops.""" +import numpy as np +import tensorflow as tf +from tensorflow.python.framework import errors + +from object_detection.core import box_list +from object_detection.core import box_list_ops + + +class BoxListOpsTest(tf.test.TestCase): + """Tests for common bounding box operations.""" + + def test_area(self): + corners = tf.constant([[0.0, 0.0, 10.0, 20.0], [1.0, 2.0, 3.0, 4.0]]) + exp_output = [200.0, 4.0] + boxes = box_list.BoxList(corners) + areas = box_list_ops.area(boxes) + with self.test_session() as sess: + areas_output = sess.run(areas) + self.assertAllClose(areas_output, exp_output) + + def test_height_width(self): + corners = tf.constant([[0.0, 0.0, 10.0, 20.0], [1.0, 2.0, 3.0, 4.0]]) + exp_output_heights = [10., 2.] + exp_output_widths = [20., 2.] + boxes = box_list.BoxList(corners) + heights, widths = box_list_ops.height_width(boxes) + with self.test_session() as sess: + output_heights, output_widths = sess.run([heights, widths]) + self.assertAllClose(output_heights, exp_output_heights) + self.assertAllClose(output_widths, exp_output_widths) + + def test_scale(self): + corners = tf.constant([[0, 0, 100, 200], [50, 120, 100, 140]], + dtype=tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('extra_data', tf.constant([[1], [2]])) + + y_scale = tf.constant(1.0/100) + x_scale = tf.constant(1.0/200) + scaled_boxes = box_list_ops.scale(boxes, y_scale, x_scale) + exp_output = [[0, 0, 1, 1], [0.5, 0.6, 1.0, 0.7]] + with self.test_session() as sess: + scaled_corners_out = sess.run(scaled_boxes.get()) + self.assertAllClose(scaled_corners_out, exp_output) + extra_data_out = sess.run(scaled_boxes.get_field('extra_data')) + self.assertAllEqual(extra_data_out, [[1], [2]]) + + def test_clip_to_window_filter_boxes_which_fall_outside_the_window( + self): + window = tf.constant([0, 0, 9, 14], tf.float32) + corners = tf.constant([[5.0, 5.0, 6.0, 6.0], + [-1.0, -2.0, 4.0, 5.0], + [2.0, 3.0, 5.0, 9.0], + [0.0, 0.0, 9.0, 14.0], + [-100.0, -100.0, 300.0, 600.0], + [-10.0, -10.0, -9.0, -9.0]]) + boxes = box_list.BoxList(corners) + boxes.add_field('extra_data', tf.constant([[1], [2], [3], [4], [5], [6]])) + exp_output = [[5.0, 5.0, 6.0, 6.0], [0.0, 0.0, 4.0, 5.0], + [2.0, 3.0, 5.0, 9.0], [0.0, 0.0, 9.0, 14.0], + [0.0, 0.0, 9.0, 14.0]] + pruned = box_list_ops.clip_to_window( + boxes, window, filter_nonoverlapping=True) + with self.test_session() as sess: + pruned_output = sess.run(pruned.get()) + self.assertAllClose(pruned_output, exp_output) + extra_data_out = sess.run(pruned.get_field('extra_data')) + self.assertAllEqual(extra_data_out, [[1], [2], [3], [4], [5]]) + + def test_clip_to_window_without_filtering_boxes_which_fall_outside_the_window( + self): + window = tf.constant([0, 0, 9, 14], tf.float32) + corners = tf.constant([[5.0, 5.0, 6.0, 6.0], + [-1.0, -2.0, 4.0, 5.0], + [2.0, 3.0, 5.0, 9.0], + [0.0, 0.0, 9.0, 14.0], + [-100.0, -100.0, 300.0, 600.0], + [-10.0, -10.0, -9.0, -9.0]]) + boxes = box_list.BoxList(corners) + boxes.add_field('extra_data', tf.constant([[1], [2], [3], [4], [5], [6]])) + exp_output = [[5.0, 5.0, 6.0, 6.0], [0.0, 0.0, 4.0, 5.0], + [2.0, 3.0, 5.0, 9.0], [0.0, 0.0, 9.0, 14.0], + [0.0, 0.0, 9.0, 14.0], [0.0, 0.0, 0.0, 0.0]] + pruned = box_list_ops.clip_to_window( + boxes, window, filter_nonoverlapping=False) + with self.test_session() as sess: + pruned_output = sess.run(pruned.get()) + self.assertAllClose(pruned_output, exp_output) + extra_data_out = sess.run(pruned.get_field('extra_data')) + self.assertAllEqual(extra_data_out, [[1], [2], [3], [4], [5], [6]]) + + def test_prune_outside_window_filters_boxes_which_fall_outside_the_window( + self): + window = tf.constant([0, 0, 9, 14], tf.float32) + corners = tf.constant([[5.0, 5.0, 6.0, 6.0], + [-1.0, -2.0, 4.0, 5.0], + [2.0, 3.0, 5.0, 9.0], + [0.0, 0.0, 9.0, 14.0], + [-10.0, -10.0, -9.0, -9.0], + [-100.0, -100.0, 300.0, 600.0]]) + boxes = box_list.BoxList(corners) + boxes.add_field('extra_data', tf.constant([[1], [2], [3], [4], [5], [6]])) + exp_output = [[5.0, 5.0, 6.0, 6.0], + [2.0, 3.0, 5.0, 9.0], + [0.0, 0.0, 9.0, 14.0]] + pruned, keep_indices = box_list_ops.prune_outside_window(boxes, window) + with self.test_session() as sess: + pruned_output = sess.run(pruned.get()) + self.assertAllClose(pruned_output, exp_output) + keep_indices_out = sess.run(keep_indices) + self.assertAllEqual(keep_indices_out, [0, 2, 3]) + extra_data_out = sess.run(pruned.get_field('extra_data')) + self.assertAllEqual(extra_data_out, [[1], [3], [4]]) + + def test_prune_completely_outside_window(self): + window = tf.constant([0, 0, 9, 14], tf.float32) + corners = tf.constant([[5.0, 5.0, 6.0, 6.0], + [-1.0, -2.0, 4.0, 5.0], + [2.0, 3.0, 5.0, 9.0], + [0.0, 0.0, 9.0, 14.0], + [-10.0, -10.0, -9.0, -9.0], + [-100.0, -100.0, 300.0, 600.0]]) + boxes = box_list.BoxList(corners) + boxes.add_field('extra_data', tf.constant([[1], [2], [3], [4], [5], [6]])) + exp_output = [[5.0, 5.0, 6.0, 6.0], + [-1.0, -2.0, 4.0, 5.0], + [2.0, 3.0, 5.0, 9.0], + [0.0, 0.0, 9.0, 14.0], + [-100.0, -100.0, 300.0, 600.0]] + pruned, keep_indices = box_list_ops.prune_completely_outside_window(boxes, + window) + with self.test_session() as sess: + pruned_output = sess.run(pruned.get()) + self.assertAllClose(pruned_output, exp_output) + keep_indices_out = sess.run(keep_indices) + self.assertAllEqual(keep_indices_out, [0, 1, 2, 3, 5]) + extra_data_out = sess.run(pruned.get_field('extra_data')) + self.assertAllEqual(extra_data_out, [[1], [2], [3], [4], [6]]) + + def test_intersection(self): + corners1 = tf.constant([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]]) + corners2 = tf.constant([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]]) + exp_output = [[2.0, 0.0, 6.0], [1.0, 0.0, 5.0]] + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + intersect = box_list_ops.intersection(boxes1, boxes2) + with self.test_session() as sess: + intersect_output = sess.run(intersect) + self.assertAllClose(intersect_output, exp_output) + + def test_matched_intersection(self): + corners1 = tf.constant([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]]) + corners2 = tf.constant([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0]]) + exp_output = [2.0, 0.0] + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + intersect = box_list_ops.matched_intersection(boxes1, boxes2) + with self.test_session() as sess: + intersect_output = sess.run(intersect) + self.assertAllClose(intersect_output, exp_output) + + def test_iou(self): + corners1 = tf.constant([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]]) + corners2 = tf.constant([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]]) + exp_output = [[2.0 / 16.0, 0, 6.0 / 400.0], [1.0 / 16.0, 0.0, 5.0 / 400.0]] + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + iou = box_list_ops.iou(boxes1, boxes2) + with self.test_session() as sess: + iou_output = sess.run(iou) + self.assertAllClose(iou_output, exp_output) + + def test_matched_iou(self): + corners1 = tf.constant([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]]) + corners2 = tf.constant([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0]]) + exp_output = [2.0 / 16.0, 0] + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + iou = box_list_ops.matched_iou(boxes1, boxes2) + with self.test_session() as sess: + iou_output = sess.run(iou) + self.assertAllClose(iou_output, exp_output) + + def test_iouworks_on_empty_inputs(self): + corners1 = tf.constant([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]]) + corners2 = tf.constant([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]]) + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + boxes_empty = box_list.BoxList(tf.zeros((0, 4))) + iou_empty_1 = box_list_ops.iou(boxes1, boxes_empty) + iou_empty_2 = box_list_ops.iou(boxes_empty, boxes2) + iou_empty_3 = box_list_ops.iou(boxes_empty, boxes_empty) + with self.test_session() as sess: + iou_output_1, iou_output_2, iou_output_3 = sess.run( + [iou_empty_1, iou_empty_2, iou_empty_3]) + self.assertAllEqual(iou_output_1.shape, (2, 0)) + self.assertAllEqual(iou_output_2.shape, (0, 3)) + self.assertAllEqual(iou_output_3.shape, (0, 0)) + + def test_ioa(self): + corners1 = tf.constant([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]]) + corners2 = tf.constant([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]]) + exp_output_1 = [[2.0 / 12.0, 0, 6.0 / 400.0], + [1.0 / 12.0, 0.0, 5.0 / 400.0]] + exp_output_2 = [[2.0 / 6.0, 1.0 / 5.0], + [0, 0], + [6.0 / 6.0, 5.0 / 5.0]] + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + ioa_1 = box_list_ops.ioa(boxes1, boxes2) + ioa_2 = box_list_ops.ioa(boxes2, boxes1) + with self.test_session() as sess: + ioa_output_1, ioa_output_2 = sess.run([ioa_1, ioa_2]) + self.assertAllClose(ioa_output_1, exp_output_1) + self.assertAllClose(ioa_output_2, exp_output_2) + + def test_prune_non_overlapping_boxes(self): + corners1 = tf.constant([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]]) + corners2 = tf.constant([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]]) + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + minoverlap = 0.5 + + exp_output_1 = boxes1 + exp_output_2 = box_list.BoxList(tf.constant(0.0, shape=[0, 4])) + output_1, keep_indices_1 = box_list_ops.prune_non_overlapping_boxes( + boxes1, boxes2, min_overlap=minoverlap) + output_2, keep_indices_2 = box_list_ops.prune_non_overlapping_boxes( + boxes2, boxes1, min_overlap=minoverlap) + with self.test_session() as sess: + (output_1_, keep_indices_1_, output_2_, keep_indices_2_, exp_output_1_, + exp_output_2_) = sess.run( + [output_1.get(), keep_indices_1, + output_2.get(), keep_indices_2, + exp_output_1.get(), exp_output_2.get()]) + self.assertAllClose(output_1_, exp_output_1_) + self.assertAllClose(output_2_, exp_output_2_) + self.assertAllEqual(keep_indices_1_, [0, 1]) + self.assertAllEqual(keep_indices_2_, []) + + def test_prune_small_boxes(self): + boxes = tf.constant([[4.0, 3.0, 7.0, 5.0], + [5.0, 6.0, 10.0, 7.0], + [3.0, 4.0, 6.0, 8.0], + [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]]) + exp_boxes = [[3.0, 4.0, 6.0, 8.0], + [0.0, 0.0, 20.0, 20.0]] + boxes = box_list.BoxList(boxes) + pruned_boxes = box_list_ops.prune_small_boxes(boxes, 3) + with self.test_session() as sess: + pruned_boxes = sess.run(pruned_boxes.get()) + self.assertAllEqual(pruned_boxes, exp_boxes) + + def test_prune_small_boxes_prunes_boxes_with_negative_side(self): + boxes = tf.constant([[4.0, 3.0, 7.0, 5.0], + [5.0, 6.0, 10.0, 7.0], + [3.0, 4.0, 6.0, 8.0], + [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0], + [2.0, 3.0, 1.5, 7.0], # negative height + [2.0, 3.0, 5.0, 1.7]]) # negative width + exp_boxes = [[3.0, 4.0, 6.0, 8.0], + [0.0, 0.0, 20.0, 20.0]] + boxes = box_list.BoxList(boxes) + pruned_boxes = box_list_ops.prune_small_boxes(boxes, 3) + with self.test_session() as sess: + pruned_boxes = sess.run(pruned_boxes.get()) + self.assertAllEqual(pruned_boxes, exp_boxes) + + def test_change_coordinate_frame(self): + corners = tf.constant([[0.25, 0.5, 0.75, 0.75], [0.5, 0.0, 1.0, 1.0]]) + window = tf.constant([0.25, 0.25, 0.75, 0.75]) + boxes = box_list.BoxList(corners) + + expected_corners = tf.constant([[0, 0.5, 1.0, 1.0], [0.5, -0.5, 1.5, 1.5]]) + expected_boxes = box_list.BoxList(expected_corners) + output = box_list_ops.change_coordinate_frame(boxes, window) + + with self.test_session() as sess: + output_, expected_boxes_ = sess.run([output.get(), expected_boxes.get()]) + self.assertAllClose(output_, expected_boxes_) + + def test_ioaworks_on_empty_inputs(self): + corners1 = tf.constant([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]]) + corners2 = tf.constant([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]]) + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + boxes_empty = box_list.BoxList(tf.zeros((0, 4))) + ioa_empty_1 = box_list_ops.ioa(boxes1, boxes_empty) + ioa_empty_2 = box_list_ops.ioa(boxes_empty, boxes2) + ioa_empty_3 = box_list_ops.ioa(boxes_empty, boxes_empty) + with self.test_session() as sess: + ioa_output_1, ioa_output_2, ioa_output_3 = sess.run( + [ioa_empty_1, ioa_empty_2, ioa_empty_3]) + self.assertAllEqual(ioa_output_1.shape, (2, 0)) + self.assertAllEqual(ioa_output_2.shape, (0, 3)) + self.assertAllEqual(ioa_output_3.shape, (0, 0)) + + def test_pairwise_distances(self): + corners1 = tf.constant([[0.0, 0.0, 0.0, 0.0], + [1.0, 1.0, 0.0, 2.0]]) + corners2 = tf.constant([[3.0, 4.0, 1.0, 0.0], + [-4.0, 0.0, 0.0, 3.0], + [0.0, 0.0, 0.0, 0.0]]) + exp_output = [[26, 25, 0], [18, 27, 6]] + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + dist_matrix = box_list_ops.sq_dist(boxes1, boxes2) + with self.test_session() as sess: + dist_output = sess.run(dist_matrix) + self.assertAllClose(dist_output, exp_output) + + def test_boolean_mask(self): + corners = tf.constant( + [4 * [0.0], 4 * [1.0], 4 * [2.0], 4 * [3.0], 4 * [4.0]]) + indicator = tf.constant([True, False, True, False, True], tf.bool) + expected_subset = [4 * [0.0], 4 * [2.0], 4 * [4.0]] + boxes = box_list.BoxList(corners) + subset = box_list_ops.boolean_mask(boxes, indicator) + with self.test_session() as sess: + subset_output = sess.run(subset.get()) + self.assertAllClose(subset_output, expected_subset) + + def test_boolean_mask_with_field(self): + corners = tf.constant( + [4 * [0.0], 4 * [1.0], 4 * [2.0], 4 * [3.0], 4 * [4.0]]) + indicator = tf.constant([True, False, True, False, True], tf.bool) + weights = tf.constant([[.1], [.3], [.5], [.7], [.9]], tf.float32) + expected_subset = [4 * [0.0], 4 * [2.0], 4 * [4.0]] + expected_weights = [[.1], [.5], [.9]] + + boxes = box_list.BoxList(corners) + boxes.add_field('weights', weights) + subset = box_list_ops.boolean_mask(boxes, indicator, ['weights']) + with self.test_session() as sess: + subset_output, weights_output = sess.run( + [subset.get(), subset.get_field('weights')]) + self.assertAllClose(subset_output, expected_subset) + self.assertAllClose(weights_output, expected_weights) + + def test_gather(self): + corners = tf.constant( + [4 * [0.0], 4 * [1.0], 4 * [2.0], 4 * [3.0], 4 * [4.0]]) + indices = tf.constant([0, 2, 4], tf.int32) + expected_subset = [4 * [0.0], 4 * [2.0], 4 * [4.0]] + boxes = box_list.BoxList(corners) + subset = box_list_ops.gather(boxes, indices) + with self.test_session() as sess: + subset_output = sess.run(subset.get()) + self.assertAllClose(subset_output, expected_subset) + + def test_gather_with_field(self): + corners = tf.constant([4*[0.0], 4*[1.0], 4*[2.0], 4*[3.0], 4*[4.0]]) + indices = tf.constant([0, 2, 4], tf.int32) + weights = tf.constant([[.1], [.3], [.5], [.7], [.9]], tf.float32) + expected_subset = [4 * [0.0], 4 * [2.0], 4 * [4.0]] + expected_weights = [[.1], [.5], [.9]] + + boxes = box_list.BoxList(corners) + boxes.add_field('weights', weights) + subset = box_list_ops.gather(boxes, indices, ['weights']) + with self.test_session() as sess: + subset_output, weights_output = sess.run( + [subset.get(), subset.get_field('weights')]) + self.assertAllClose(subset_output, expected_subset) + self.assertAllClose(weights_output, expected_weights) + + def test_gather_with_invalid_field(self): + corners = tf.constant([4 * [0.0], 4 * [1.0]]) + indices = tf.constant([0, 1], tf.int32) + weights = tf.constant([[.1], [.3]], tf.float32) + + boxes = box_list.BoxList(corners) + boxes.add_field('weights', weights) + with self.assertRaises(ValueError): + box_list_ops.gather(boxes, indices, ['foo', 'bar']) + + def test_gather_with_invalid_inputs(self): + corners = tf.constant( + [4 * [0.0], 4 * [1.0], 4 * [2.0], 4 * [3.0], 4 * [4.0]]) + indices_float32 = tf.constant([0, 2, 4], tf.float32) + boxes = box_list.BoxList(corners) + with self.assertRaises(ValueError): + _ = box_list_ops.gather(boxes, indices_float32) + indices_2d = tf.constant([[0, 2, 4]], tf.int32) + boxes = box_list.BoxList(corners) + with self.assertRaises(ValueError): + _ = box_list_ops.gather(boxes, indices_2d) + + def test_gather_with_dynamic_indexing(self): + corners = tf.constant([4 * [0.0], 4 * [1.0], 4 * [2.0], 4 * [3.0], 4 * [4.0] + ]) + weights = tf.constant([.5, .3, .7, .1, .9], tf.float32) + indices = tf.reshape(tf.where(tf.greater(weights, 0.4)), [-1]) + expected_subset = [4 * [0.0], 4 * [2.0], 4 * [4.0]] + expected_weights = [.5, .7, .9] + + boxes = box_list.BoxList(corners) + boxes.add_field('weights', weights) + subset = box_list_ops.gather(boxes, indices, ['weights']) + with self.test_session() as sess: + subset_output, weights_output = sess.run([subset.get(), subset.get_field( + 'weights')]) + self.assertAllClose(subset_output, expected_subset) + self.assertAllClose(weights_output, expected_weights) + + def test_sort_by_field_ascending_order(self): + exp_corners = [[0, 0, 1, 1], [0, 0.1, 1, 1.1], [0, -0.1, 1, 0.9], + [0, 10, 1, 11], [0, 10.1, 1, 11.1], [0, 100, 1, 101]] + exp_scores = [.95, .9, .75, .6, .5, .3] + exp_weights = [.2, .45, .6, .75, .8, .92] + shuffle = [2, 4, 0, 5, 1, 3] + corners = tf.constant([exp_corners[i] for i in shuffle], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('scores', tf.constant( + [exp_scores[i] for i in shuffle], tf.float32)) + boxes.add_field('weights', tf.constant( + [exp_weights[i] for i in shuffle], tf.float32)) + sort_by_weight = box_list_ops.sort_by_field( + boxes, + 'weights', + order=box_list_ops.SortOrder.ascend) + with self.test_session() as sess: + corners_out, scores_out, weights_out = sess.run([ + sort_by_weight.get(), + sort_by_weight.get_field('scores'), + sort_by_weight.get_field('weights')]) + self.assertAllClose(corners_out, exp_corners) + self.assertAllClose(scores_out, exp_scores) + self.assertAllClose(weights_out, exp_weights) + + def test_sort_by_field_descending_order(self): + exp_corners = [[0, 0, 1, 1], [0, 0.1, 1, 1.1], [0, -0.1, 1, 0.9], + [0, 10, 1, 11], [0, 10.1, 1, 11.1], [0, 100, 1, 101]] + exp_scores = [.95, .9, .75, .6, .5, .3] + exp_weights = [.2, .45, .6, .75, .8, .92] + shuffle = [2, 4, 0, 5, 1, 3] + + corners = tf.constant([exp_corners[i] for i in shuffle], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('scores', tf.constant( + [exp_scores[i] for i in shuffle], tf.float32)) + boxes.add_field('weights', tf.constant( + [exp_weights[i] for i in shuffle], tf.float32)) + + sort_by_score = box_list_ops.sort_by_field(boxes, 'scores') + with self.test_session() as sess: + corners_out, scores_out, weights_out = sess.run([sort_by_score.get( + ), sort_by_score.get_field('scores'), sort_by_score.get_field('weights')]) + self.assertAllClose(corners_out, exp_corners) + self.assertAllClose(scores_out, exp_scores) + self.assertAllClose(weights_out, exp_weights) + + def test_sort_by_field_invalid_inputs(self): + corners = tf.constant([4 * [0.0], 4 * [0.5], 4 * [1.0], 4 * [2.0], 4 * + [3.0], 4 * [4.0]]) + misc = tf.constant([[.95, .9], [.5, .3]], tf.float32) + weights = tf.constant([.1, .2], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('misc', misc) + boxes.add_field('weights', weights) + + with self.test_session() as sess: + with self.assertRaises(ValueError): + box_list_ops.sort_by_field(boxes, 'area') + + with self.assertRaises(ValueError): + box_list_ops.sort_by_field(boxes, 'misc') + + with self.assertRaisesWithPredicateMatch(errors.InvalidArgumentError, + 'Incorrect field size'): + sess.run(box_list_ops.sort_by_field(boxes, 'weights').get()) + + def test_visualize_boxes_in_image(self): + image = tf.zeros((6, 4, 3)) + corners = tf.constant([[0, 0, 5, 3], + [0, 0, 3, 2]], tf.float32) + boxes = box_list.BoxList(corners) + image_and_boxes = box_list_ops.visualize_boxes_in_image(image, boxes) + image_and_boxes_bw = tf.to_float( + tf.greater(tf.reduce_sum(image_and_boxes, 2), 0.0)) + exp_result = [[1, 1, 1, 0], + [1, 1, 1, 0], + [1, 1, 1, 0], + [1, 0, 1, 0], + [1, 1, 1, 0], + [0, 0, 0, 0]] + with self.test_session() as sess: + output = sess.run(image_and_boxes_bw) + self.assertAllEqual(output.astype(int), exp_result) + + def test_filter_field_value_equals(self): + corners = tf.constant([[0, 0, 1, 1], + [0, 0.1, 1, 1.1], + [0, -0.1, 1, 0.9], + [0, 10, 1, 11], + [0, 10.1, 1, 11.1], + [0, 100, 1, 101]], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('classes', tf.constant([1, 2, 1, 2, 2, 1])) + exp_output1 = [[0, 0, 1, 1], [0, -0.1, 1, 0.9], [0, 100, 1, 101]] + exp_output2 = [[0, 0.1, 1, 1.1], [0, 10, 1, 11], [0, 10.1, 1, 11.1]] + + filtered_boxes1 = box_list_ops.filter_field_value_equals( + boxes, 'classes', 1) + filtered_boxes2 = box_list_ops.filter_field_value_equals( + boxes, 'classes', 2) + with self.test_session() as sess: + filtered_output1, filtered_output2 = sess.run([filtered_boxes1.get(), + filtered_boxes2.get()]) + self.assertAllClose(filtered_output1, exp_output1) + self.assertAllClose(filtered_output2, exp_output2) + + def test_filter_greater_than(self): + corners = tf.constant([[0, 0, 1, 1], + [0, 0.1, 1, 1.1], + [0, -0.1, 1, 0.9], + [0, 10, 1, 11], + [0, 10.1, 1, 11.1], + [0, 100, 1, 101]], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('scores', tf.constant([.1, .75, .9, .5, .5, .8])) + thresh = .6 + exp_output = [[0, 0.1, 1, 1.1], [0, -0.1, 1, 0.9], [0, 100, 1, 101]] + + filtered_boxes = box_list_ops.filter_greater_than(boxes, thresh) + with self.test_session() as sess: + filtered_output = sess.run(filtered_boxes.get()) + self.assertAllClose(filtered_output, exp_output) + + def test_clip_box_list(self): + boxlist = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5], + [0.6, 0.6, 0.8, 0.8], [0.2, 0.2, 0.3, 0.3]], tf.float32)) + boxlist.add_field('classes', tf.constant([0, 0, 1, 1])) + boxlist.add_field('scores', tf.constant([0.75, 0.65, 0.3, 0.2])) + num_boxes = 2 + clipped_boxlist = box_list_ops.pad_or_clip_box_list(boxlist, num_boxes) + + expected_boxes = [[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5]] + expected_classes = [0, 0] + expected_scores = [0.75, 0.65] + with self.test_session() as sess: + boxes_out, classes_out, scores_out = sess.run( + [clipped_boxlist.get(), clipped_boxlist.get_field('classes'), + clipped_boxlist.get_field('scores')]) + + self.assertAllClose(expected_boxes, boxes_out) + self.assertAllEqual(expected_classes, classes_out) + self.assertAllClose(expected_scores, scores_out) + + def test_pad_box_list(self): + boxlist = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5]], tf.float32)) + boxlist.add_field('classes', tf.constant([0, 1])) + boxlist.add_field('scores', tf.constant([0.75, 0.2])) + num_boxes = 4 + padded_boxlist = box_list_ops.pad_or_clip_box_list(boxlist, num_boxes) + + expected_boxes = [[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5], + [0, 0, 0, 0], [0, 0, 0, 0]] + expected_classes = [0, 1, 0, 0] + expected_scores = [0.75, 0.2, 0, 0] + with self.test_session() as sess: + boxes_out, classes_out, scores_out = sess.run( + [padded_boxlist.get(), padded_boxlist.get_field('classes'), + padded_boxlist.get_field('scores')]) + + self.assertAllClose(expected_boxes, boxes_out) + self.assertAllEqual(expected_classes, classes_out) + self.assertAllClose(expected_scores, scores_out) + + +class ConcatenateTest(tf.test.TestCase): + + def test_invalid_input_box_list_list(self): + with self.assertRaises(ValueError): + box_list_ops.concatenate(None) + with self.assertRaises(ValueError): + box_list_ops.concatenate([]) + with self.assertRaises(ValueError): + corners = tf.constant([[0, 0, 0, 0]], tf.float32) + boxlist = box_list.BoxList(corners) + box_list_ops.concatenate([boxlist, 2]) + + def test_concatenate_with_missing_fields(self): + corners1 = tf.constant([[0, 0, 0, 0], [1, 2, 3, 4]], tf.float32) + scores1 = tf.constant([1.0, 2.1]) + corners2 = tf.constant([[0, 3, 1, 6], [2, 4, 3, 8]], tf.float32) + boxlist1 = box_list.BoxList(corners1) + boxlist1.add_field('scores', scores1) + boxlist2 = box_list.BoxList(corners2) + with self.assertRaises(ValueError): + box_list_ops.concatenate([boxlist1, boxlist2]) + + def test_concatenate_with_incompatible_field_shapes(self): + corners1 = tf.constant([[0, 0, 0, 0], [1, 2, 3, 4]], tf.float32) + scores1 = tf.constant([1.0, 2.1]) + corners2 = tf.constant([[0, 3, 1, 6], [2, 4, 3, 8]], tf.float32) + scores2 = tf.constant([[1.0, 1.0], [2.1, 3.2]]) + boxlist1 = box_list.BoxList(corners1) + boxlist1.add_field('scores', scores1) + boxlist2 = box_list.BoxList(corners2) + boxlist2.add_field('scores', scores2) + with self.assertRaises(ValueError): + box_list_ops.concatenate([boxlist1, boxlist2]) + + def test_concatenate_is_correct(self): + corners1 = tf.constant([[0, 0, 0, 0], [1, 2, 3, 4]], tf.float32) + scores1 = tf.constant([1.0, 2.1]) + corners2 = tf.constant([[0, 3, 1, 6], [2, 4, 3, 8], [1, 0, 5, 10]], + tf.float32) + scores2 = tf.constant([1.0, 2.1, 5.6]) + + exp_corners = [[0, 0, 0, 0], + [1, 2, 3, 4], + [0, 3, 1, 6], + [2, 4, 3, 8], + [1, 0, 5, 10]] + exp_scores = [1.0, 2.1, 1.0, 2.1, 5.6] + + boxlist1 = box_list.BoxList(corners1) + boxlist1.add_field('scores', scores1) + boxlist2 = box_list.BoxList(corners2) + boxlist2.add_field('scores', scores2) + result = box_list_ops.concatenate([boxlist1, boxlist2]) + with self.test_session() as sess: + corners_output, scores_output = sess.run( + [result.get(), result.get_field('scores')]) + self.assertAllClose(corners_output, exp_corners) + self.assertAllClose(scores_output, exp_scores) + + +class NonMaxSuppressionTest(tf.test.TestCase): + + def test_with_invalid_scores_field(self): + corners = tf.constant([[0, 0, 1, 1], + [0, 0.1, 1, 1.1], + [0, -0.1, 1, 0.9], + [0, 10, 1, 11], + [0, 10.1, 1, 11.1], + [0, 100, 1, 101]], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('scores', tf.constant([.9, .75, .6, .95, .5])) + iou_thresh = .5 + max_output_size = 3 + nms = box_list_ops.non_max_suppression( + boxes, iou_thresh, max_output_size) + with self.test_session() as sess: + with self.assertRaisesWithPredicateMatch( + errors.InvalidArgumentError, 'scores has incompatible shape'): + sess.run(nms.get()) + + def test_select_from_three_clusters(self): + corners = tf.constant([[0, 0, 1, 1], + [0, 0.1, 1, 1.1], + [0, -0.1, 1, 0.9], + [0, 10, 1, 11], + [0, 10.1, 1, 11.1], + [0, 100, 1, 101]], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('scores', tf.constant([.9, .75, .6, .95, .5, .3])) + iou_thresh = .5 + max_output_size = 3 + + exp_nms = [[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 100, 1, 101]] + nms = box_list_ops.non_max_suppression( + boxes, iou_thresh, max_output_size) + with self.test_session() as sess: + nms_output = sess.run(nms.get()) + self.assertAllClose(nms_output, exp_nms) + + def test_select_at_most_two_boxes_from_three_clusters(self): + corners = tf.constant([[0, 0, 1, 1], + [0, 0.1, 1, 1.1], + [0, -0.1, 1, 0.9], + [0, 10, 1, 11], + [0, 10.1, 1, 11.1], + [0, 100, 1, 101]], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('scores', tf.constant([.9, .75, .6, .95, .5, .3])) + iou_thresh = .5 + max_output_size = 2 + + exp_nms = [[0, 10, 1, 11], + [0, 0, 1, 1]] + nms = box_list_ops.non_max_suppression( + boxes, iou_thresh, max_output_size) + with self.test_session() as sess: + nms_output = sess.run(nms.get()) + self.assertAllClose(nms_output, exp_nms) + + def test_select_at_most_thirty_boxes_from_three_clusters(self): + corners = tf.constant([[0, 0, 1, 1], + [0, 0.1, 1, 1.1], + [0, -0.1, 1, 0.9], + [0, 10, 1, 11], + [0, 10.1, 1, 11.1], + [0, 100, 1, 101]], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('scores', tf.constant([.9, .75, .6, .95, .5, .3])) + iou_thresh = .5 + max_output_size = 30 + + exp_nms = [[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 100, 1, 101]] + nms = box_list_ops.non_max_suppression( + boxes, iou_thresh, max_output_size) + with self.test_session() as sess: + nms_output = sess.run(nms.get()) + self.assertAllClose(nms_output, exp_nms) + + def test_select_single_box(self): + corners = tf.constant([[0, 0, 1, 1]], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('scores', tf.constant([.9])) + iou_thresh = .5 + max_output_size = 3 + + exp_nms = [[0, 0, 1, 1]] + nms = box_list_ops.non_max_suppression( + boxes, iou_thresh, max_output_size) + with self.test_session() as sess: + nms_output = sess.run(nms.get()) + self.assertAllClose(nms_output, exp_nms) + + def test_select_from_ten_identical_boxes(self): + corners = tf.constant(10 * [[0, 0, 1, 1]], tf.float32) + boxes = box_list.BoxList(corners) + boxes.add_field('scores', tf.constant(10 * [.9])) + iou_thresh = .5 + max_output_size = 3 + + exp_nms = [[0, 0, 1, 1]] + nms = box_list_ops.non_max_suppression( + boxes, iou_thresh, max_output_size) + with self.test_session() as sess: + nms_output = sess.run(nms.get()) + self.assertAllClose(nms_output, exp_nms) + + def test_copy_extra_fields(self): + corners = tf.constant([[0, 0, 1, 1], + [0, 0.1, 1, 1.1]], tf.float32) + boxes = box_list.BoxList(corners) + tensor1 = np.array([[1], [4]]) + tensor2 = np.array([[1, 1], [2, 2]]) + boxes.add_field('tensor1', tf.constant(tensor1)) + boxes.add_field('tensor2', tf.constant(tensor2)) + new_boxes = box_list.BoxList(tf.constant([[0, 0, 10, 10], + [1, 3, 5, 5]], tf.float32)) + new_boxes = box_list_ops._copy_extra_fields(new_boxes, boxes) + with self.test_session() as sess: + self.assertAllClose(tensor1, sess.run(new_boxes.get_field('tensor1'))) + self.assertAllClose(tensor2, sess.run(new_boxes.get_field('tensor2'))) + + +class CoordinatesConversionTest(tf.test.TestCase): + + def test_to_normalized_coordinates(self): + coordinates = tf.constant([[0, 0, 100, 100], + [25, 25, 75, 75]], tf.float32) + img = tf.ones((128, 100, 100, 3)) + boxlist = box_list.BoxList(coordinates) + normalized_boxlist = box_list_ops.to_normalized_coordinates( + boxlist, tf.shape(img)[1], tf.shape(img)[2]) + expected_boxes = [[0, 0, 1, 1], + [0.25, 0.25, 0.75, 0.75]] + + with self.test_session() as sess: + normalized_boxes = sess.run(normalized_boxlist.get()) + self.assertAllClose(normalized_boxes, expected_boxes) + + def test_to_normalized_coordinates_already_normalized(self): + coordinates = tf.constant([[0, 0, 1, 1], + [0.25, 0.25, 0.75, 0.75]], tf.float32) + img = tf.ones((128, 100, 100, 3)) + boxlist = box_list.BoxList(coordinates) + normalized_boxlist = box_list_ops.to_normalized_coordinates( + boxlist, tf.shape(img)[1], tf.shape(img)[2]) + + with self.test_session() as sess: + with self.assertRaisesOpError('assertion failed'): + sess.run(normalized_boxlist.get()) + + def test_to_absolute_coordinates(self): + coordinates = tf.constant([[0, 0, 1, 1], + [0.25, 0.25, 0.75, 0.75]], tf.float32) + img = tf.ones((128, 100, 100, 3)) + boxlist = box_list.BoxList(coordinates) + absolute_boxlist = box_list_ops.to_absolute_coordinates(boxlist, + tf.shape(img)[1], + tf.shape(img)[2]) + expected_boxes = [[0, 0, 100, 100], + [25, 25, 75, 75]] + + with self.test_session() as sess: + absolute_boxes = sess.run(absolute_boxlist.get()) + self.assertAllClose(absolute_boxes, expected_boxes) + + def test_to_absolute_coordinates_already_abolute(self): + coordinates = tf.constant([[0, 0, 100, 100], + [25, 25, 75, 75]], tf.float32) + img = tf.ones((128, 100, 100, 3)) + boxlist = box_list.BoxList(coordinates) + absolute_boxlist = box_list_ops.to_absolute_coordinates(boxlist, + tf.shape(img)[1], + tf.shape(img)[2]) + + with self.test_session() as sess: + with self.assertRaisesOpError('assertion failed'): + sess.run(absolute_boxlist.get()) + + def test_convert_to_normalized_and_back(self): + coordinates = np.random.uniform(size=(100, 4)) + coordinates = np.round(np.sort(coordinates) * 200) + coordinates[:, 2:4] += 1 + coordinates[99, :] = [0, 0, 201, 201] + img = tf.ones((128, 202, 202, 3)) + + boxlist = box_list.BoxList(tf.constant(coordinates, tf.float32)) + boxlist = box_list_ops.to_normalized_coordinates(boxlist, + tf.shape(img)[1], + tf.shape(img)[2]) + boxlist = box_list_ops.to_absolute_coordinates(boxlist, + tf.shape(img)[1], + tf.shape(img)[2]) + + with self.test_session() as sess: + out = sess.run(boxlist.get()) + self.assertAllClose(out, coordinates) + + def test_convert_to_absolute_and_back(self): + coordinates = np.random.uniform(size=(100, 4)) + coordinates = np.sort(coordinates) + coordinates[99, :] = [0, 0, 1, 1] + img = tf.ones((128, 202, 202, 3)) + + boxlist = box_list.BoxList(tf.constant(coordinates, tf.float32)) + boxlist = box_list_ops.to_absolute_coordinates(boxlist, + tf.shape(img)[1], + tf.shape(img)[2]) + boxlist = box_list_ops.to_normalized_coordinates(boxlist, + tf.shape(img)[1], + tf.shape(img)[2]) + + with self.test_session() as sess: + out = sess.run(boxlist.get()) + self.assertAllClose(out, coordinates) + + +class BoxRefinementTest(tf.test.TestCase): + + def test_box_voting(self): + candidates = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4], [0.6, 0.6, 0.8, 0.8]], tf.float32)) + candidates.add_field('ExtraField', tf.constant([1, 2])) + pool = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5], + [0.6, 0.6, 0.8, 0.8]], tf.float32)) + pool.add_field('scores', tf.constant([0.75, 0.25, 0.3])) + averaged_boxes = box_list_ops.box_voting(candidates, pool) + expected_boxes = [[0.1, 0.1, 0.425, 0.425], [0.6, 0.6, 0.8, 0.8]] + expected_scores = [0.5, 0.3] + with self.test_session() as sess: + boxes_out, scores_out, extra_field_out = sess.run( + [averaged_boxes.get(), averaged_boxes.get_field('scores'), + averaged_boxes.get_field('ExtraField')]) + + self.assertAllClose(expected_boxes, boxes_out) + self.assertAllClose(expected_scores, scores_out) + self.assertAllEqual(extra_field_out, [1, 2]) + + def test_box_voting_fails_with_negative_scores(self): + candidates = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4]], tf.float32)) + pool = box_list.BoxList(tf.constant([[0.1, 0.1, 0.4, 0.4]], tf.float32)) + pool.add_field('scores', tf.constant([-0.2])) + averaged_boxes = box_list_ops.box_voting(candidates, pool) + + with self.test_session() as sess: + with self.assertRaisesOpError('Scores must be non negative'): + sess.run([averaged_boxes.get()]) + + def test_box_voting_fails_when_unmatched(self): + candidates = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4]], tf.float32)) + pool = box_list.BoxList(tf.constant([[0.6, 0.6, 0.8, 0.8]], tf.float32)) + pool.add_field('scores', tf.constant([0.2])) + averaged_boxes = box_list_ops.box_voting(candidates, pool) + + with self.test_session() as sess: + with self.assertRaisesOpError('Each box in selected_boxes must match ' + 'with at least one box in pool_boxes.'): + sess.run([averaged_boxes.get()]) + + def test_refine_boxes(self): + pool = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5], + [0.6, 0.6, 0.8, 0.8]], tf.float32)) + pool.add_field('ExtraField', tf.constant([1, 2, 3])) + pool.add_field('scores', tf.constant([0.75, 0.25, 0.3])) + refined_boxes = box_list_ops.refine_boxes(pool, 0.5, 10) + + expected_boxes = [[0.1, 0.1, 0.425, 0.425], [0.6, 0.6, 0.8, 0.8]] + expected_scores = [0.5, 0.3] + with self.test_session() as sess: + boxes_out, scores_out, extra_field_out = sess.run( + [refined_boxes.get(), refined_boxes.get_field('scores'), + refined_boxes.get_field('ExtraField')]) + + self.assertAllClose(expected_boxes, boxes_out) + self.assertAllClose(expected_scores, scores_out) + self.assertAllEqual(extra_field_out, [1, 3]) + + def test_refine_boxes_multi_class(self): + pool = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5], + [0.6, 0.6, 0.8, 0.8], [0.2, 0.2, 0.3, 0.3]], tf.float32)) + pool.add_field('classes', tf.constant([0, 0, 1, 1])) + pool.add_field('scores', tf.constant([0.75, 0.25, 0.3, 0.2])) + refined_boxes = box_list_ops.refine_boxes_multi_class(pool, 3, 0.5, 10) + + expected_boxes = [[0.1, 0.1, 0.425, 0.425], [0.6, 0.6, 0.8, 0.8], + [0.2, 0.2, 0.3, 0.3]] + expected_scores = [0.5, 0.3, 0.2] + with self.test_session() as sess: + boxes_out, scores_out, extra_field_out = sess.run( + [refined_boxes.get(), refined_boxes.get_field('scores'), + refined_boxes.get_field('classes')]) + + self.assertAllClose(expected_boxes, boxes_out) + self.assertAllClose(expected_scores, scores_out) + self.assertAllEqual(extra_field_out, [0, 1, 1]) + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/box_list_test.py b/object_detection/core/box_list_test.py new file mode 100644 index 000000000..edc00ebbc --- /dev/null +++ b/object_detection/core/box_list_test.py @@ -0,0 +1,134 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.box_list.""" + +import tensorflow as tf + +from object_detection.core import box_list + + +class BoxListTest(tf.test.TestCase): + """Tests for BoxList class.""" + + def test_num_boxes(self): + data = tf.constant([[0, 0, 1, 1], [1, 1, 2, 3], [3, 4, 5, 5]], tf.float32) + expected_num_boxes = 3 + + boxes = box_list.BoxList(data) + with self.test_session() as sess: + num_boxes_output = sess.run(boxes.num_boxes()) + self.assertEquals(num_boxes_output, expected_num_boxes) + + def test_get_correct_center_coordinates_and_sizes(self): + boxes = [[10.0, 10.0, 20.0, 15.0], [0.2, 0.1, 0.5, 0.4]] + boxes = box_list.BoxList(tf.constant(boxes)) + centers_sizes = boxes.get_center_coordinates_and_sizes() + expected_centers_sizes = [[15, 0.35], [12.5, 0.25], [10, 0.3], [5, 0.3]] + with self.test_session() as sess: + centers_sizes_out = sess.run(centers_sizes) + self.assertAllClose(centers_sizes_out, expected_centers_sizes) + + def test_create_box_list_with_dynamic_shape(self): + data = tf.constant([[0, 0, 1, 1], [1, 1, 2, 3], [3, 4, 5, 5]], tf.float32) + indices = tf.reshape(tf.where(tf.greater([1, 0, 1], 0)), [-1]) + data = tf.gather(data, indices) + assert data.get_shape().as_list() == [None, 4] + expected_num_boxes = 2 + + boxes = box_list.BoxList(data) + with self.test_session() as sess: + num_boxes_output = sess.run(boxes.num_boxes()) + self.assertEquals(num_boxes_output, expected_num_boxes) + + def test_transpose_coordinates(self): + boxes = [[10.0, 10.0, 20.0, 15.0], [0.2, 0.1, 0.5, 0.4]] + boxes = box_list.BoxList(tf.constant(boxes)) + boxes.transpose_coordinates() + expected_corners = [[10.0, 10.0, 15.0, 20.0], [0.1, 0.2, 0.4, 0.5]] + with self.test_session() as sess: + corners_out = sess.run(boxes.get()) + self.assertAllClose(corners_out, expected_corners) + + def test_box_list_invalid_inputs(self): + data0 = tf.constant([[[0, 0, 1, 1], [3, 4, 5, 5]]], tf.float32) + data1 = tf.constant([[0, 0, 1], [1, 1, 2], [3, 4, 5]], tf.float32) + data2 = tf.constant([[0, 0, 1], [1, 1, 2], [3, 4, 5]], tf.int32) + + with self.assertRaises(ValueError): + _ = box_list.BoxList(data0) + with self.assertRaises(ValueError): + _ = box_list.BoxList(data1) + with self.assertRaises(ValueError): + _ = box_list.BoxList(data2) + + def test_num_boxes_static(self): + box_corners = [[10.0, 10.0, 20.0, 15.0], [0.2, 0.1, 0.5, 0.4]] + boxes = box_list.BoxList(tf.constant(box_corners)) + self.assertEquals(boxes.num_boxes_static(), 2) + self.assertEquals(type(boxes.num_boxes_static()), int) + + def test_num_boxes_static_for_uninferrable_shape(self): + placeholder = tf.placeholder(tf.float32, shape=[None, 4]) + boxes = box_list.BoxList(placeholder) + self.assertEquals(boxes.num_boxes_static(), None) + + def test_as_tensor_dict(self): + boxlist = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5]], tf.float32)) + boxlist.add_field('classes', tf.constant([0, 1])) + boxlist.add_field('scores', tf.constant([0.75, 0.2])) + tensor_dict = boxlist.as_tensor_dict() + + expected_boxes = [[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5]] + expected_classes = [0, 1] + expected_scores = [0.75, 0.2] + + with self.test_session() as sess: + tensor_dict_out = sess.run(tensor_dict) + self.assertAllEqual(3, len(tensor_dict_out)) + self.assertAllClose(expected_boxes, tensor_dict_out['boxes']) + self.assertAllEqual(expected_classes, tensor_dict_out['classes']) + self.assertAllClose(expected_scores, tensor_dict_out['scores']) + + def test_as_tensor_dict_with_features(self): + boxlist = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5]], tf.float32)) + boxlist.add_field('classes', tf.constant([0, 1])) + boxlist.add_field('scores', tf.constant([0.75, 0.2])) + tensor_dict = boxlist.as_tensor_dict(['boxes', 'classes', 'scores']) + + expected_boxes = [[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5]] + expected_classes = [0, 1] + expected_scores = [0.75, 0.2] + + with self.test_session() as sess: + tensor_dict_out = sess.run(tensor_dict) + self.assertAllEqual(3, len(tensor_dict_out)) + self.assertAllClose(expected_boxes, tensor_dict_out['boxes']) + self.assertAllEqual(expected_classes, tensor_dict_out['classes']) + self.assertAllClose(expected_scores, tensor_dict_out['scores']) + + def test_as_tensor_dict_missing_field(self): + boxlist = box_list.BoxList( + tf.constant([[0.1, 0.1, 0.4, 0.4], [0.1, 0.1, 0.5, 0.5]], tf.float32)) + boxlist.add_field('classes', tf.constant([0, 1])) + boxlist.add_field('scores', tf.constant([0.75, 0.2])) + with self.assertRaises(ValueError): + boxlist.as_tensor_dict(['foo', 'bar']) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/box_predictor.py b/object_detection/core/box_predictor.py new file mode 100644 index 000000000..71540c11f --- /dev/null +++ b/object_detection/core/box_predictor.py @@ -0,0 +1,546 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Box predictor for object detectors. + +Box predictors are classes that take a high level +image feature map as input and produce two predictions, +(1) a tensor encoding box locations, and +(2) a tensor encoding classes for each box. + +These components are passed directly to loss functions +in our detection models. + +These modules are separated from the main model since the same +few box predictor architectures are shared across many models. +""" +from abc import abstractmethod +import tensorflow as tf +from object_detection.utils import ops +from object_detection.utils import static_shape + +slim = tf.contrib.slim + +BOX_ENCODINGS = 'box_encodings' +CLASS_PREDICTIONS_WITH_BACKGROUND = 'class_predictions_with_background' +MASK_PREDICTIONS = 'mask_predictions' + + +class BoxPredictor(object): + """BoxPredictor.""" + + def __init__(self, is_training, num_classes): + """Constructor. + + Args: + is_training: Indicates whether the BoxPredictor is in training mode. + num_classes: number of classes. Note that num_classes *does not* + include the background category, so if groundtruth labels take values + in {0, 1, .., K-1}, num_classes=K (and not K+1, even though the + assigned classification targets can range from {0,... K}). + """ + self._is_training = is_training + self._num_classes = num_classes + + @property + def num_classes(self): + return self._num_classes + + def predict(self, image_features, num_predictions_per_location, scope, + **params): + """Computes encoded object locations and corresponding confidences. + + Takes a high level image feature map as input and produce two predictions, + (1) a tensor encoding box locations, and + (2) a tensor encoding class scores for each corresponding box. + In this interface, we only assume that two tensors are returned as output + and do not assume anything about their shapes. + + Args: + image_features: A float tensor of shape [batch_size, height, width, + channels] containing features for a batch of images. + num_predictions_per_location: an integer representing the number of box + predictions to be made per spatial location in the feature map. + scope: Variable and Op scope name. + **params: Additional keyword arguments for specific implementations of + BoxPredictor. + + Returns: + A dictionary containing at least the following tensors. + box_encodings: A float tensor of shape + [batch_size, num_anchors, q, code_size] representing the location of + the objects, where q is 1 or the number of classes. + class_predictions_with_background: A float tensor of shape + [batch_size, num_anchors, num_classes + 1] representing the class + predictions for the proposals. + """ + with tf.variable_scope(scope): + return self._predict(image_features, num_predictions_per_location, + **params) + + # TODO: num_predictions_per_location could be moved to constructor. + # This is currently only used by ConvolutionalBoxPredictor. + @abstractmethod + def _predict(self, image_features, num_predictions_per_location, **params): + """Implementations must override this method. + + Args: + image_features: A float tensor of shape [batch_size, height, width, + channels] containing features for a batch of images. + num_predictions_per_location: an integer representing the number of box + predictions to be made per spatial location in the feature map. + **params: Additional keyword arguments for specific implementations of + BoxPredictor. + + Returns: + A dictionary containing at least the following tensors. + box_encodings: A float tensor of shape + [batch_size, num_anchors, q, code_size] representing the location of + the objects, where q is 1 or the number of classes. + class_predictions_with_background: A float tensor of shape + [batch_size, num_anchors, num_classes + 1] representing the class + predictions for the proposals. + """ + pass + + +class RfcnBoxPredictor(BoxPredictor): + """RFCN Box Predictor. + + Applies a position sensitve ROI pooling on position sensitive feature maps to + predict classes and refined locations. See https://arxiv.org/abs/1605.06409 + for details. + + This is used for the second stage of the RFCN meta architecture. Notice that + locations are *not* shared across classes, thus for each anchor, a separate + prediction is made for each class. + """ + + def __init__(self, + is_training, + num_classes, + conv_hyperparams, + num_spatial_bins, + depth, + crop_size, + box_code_size): + """Constructor. + + Args: + is_training: Indicates whether the BoxPredictor is in training mode. + num_classes: number of classes. Note that num_classes *does not* + include the background category, so if groundtruth labels take values + in {0, 1, .., K-1}, num_classes=K (and not K+1, even though the + assigned classification targets can range from {0,... K}). + conv_hyperparams: Slim arg_scope with hyperparameters for conolutional + layers. + num_spatial_bins: A list of two integers `[spatial_bins_y, + spatial_bins_x]`. + depth: Target depth to reduce the input feature maps to. + crop_size: A list of two integers `[crop_height, crop_width]`. + box_code_size: Size of encoding for each box. + """ + super(RfcnBoxPredictor, self).__init__(is_training, num_classes) + self._conv_hyperparams = conv_hyperparams + self._num_spatial_bins = num_spatial_bins + self._depth = depth + self._crop_size = crop_size + self._box_code_size = box_code_size + + @property + def num_classes(self): + return self._num_classes + + def _predict(self, image_features, num_predictions_per_location, + proposal_boxes): + """Computes encoded object locations and corresponding confidences. + + Args: + image_features: A float tensor of shape [batch_size, height, width, + channels] containing features for a batch of images. + num_predictions_per_location: an integer representing the number of box + predictions to be made per spatial location in the feature map. + Currently, this must be set to 1, or an error will be raised. + proposal_boxes: A float tensor of shape [batch_size, num_proposals, + box_code_size]. + + Returns: + box_encodings: A float tensor of shape + [batch_size, 1, num_classes, code_size] representing the + location of the objects. + class_predictions_with_background: A float tensor of shape + [batch_size, 1, num_classes + 1] representing the class + predictions for the proposals. + Raises: + ValueError: if num_predictions_per_location is not 1. + """ + if num_predictions_per_location != 1: + raise ValueError('Currently RfcnBoxPredictor only supports ' + 'predicting a single box per class per location.') + + batch_size = tf.shape(proposal_boxes)[0] + num_boxes = tf.shape(proposal_boxes)[1] + def get_box_indices(proposals): + proposals_shape = proposals.get_shape().as_list() + if any(dim is None for dim in proposals_shape): + proposals_shape = tf.shape(proposals) + ones_mat = tf.ones(proposals_shape[:2], dtype=tf.int32) + multiplier = tf.expand_dims( + tf.range(start=0, limit=proposals_shape[0]), 1) + return tf.reshape(ones_mat * multiplier, [-1]) + + net = image_features + with slim.arg_scope(self._conv_hyperparams): + net = slim.conv2d(net, self._depth, [1, 1], scope='reduce_depth') + # Location predictions. + location_feature_map_depth = (self._num_spatial_bins[0] * + self._num_spatial_bins[1] * + self.num_classes * + self._box_code_size) + location_feature_map = slim.conv2d(net, location_feature_map_depth, + [1, 1], activation_fn=None, + scope='refined_locations') + box_encodings = ops.position_sensitive_crop_regions( + location_feature_map, + boxes=tf.reshape(proposal_boxes, [-1, self._box_code_size]), + box_ind=get_box_indices(proposal_boxes), + crop_size=self._crop_size, + num_spatial_bins=self._num_spatial_bins, + global_pool=True) + box_encodings = tf.squeeze(box_encodings, squeeze_dims=[1, 2]) + box_encodings = tf.reshape(box_encodings, + [batch_size * num_boxes, 1, self.num_classes, + self._box_code_size]) + + # Class predictions. + total_classes = self.num_classes + 1 # Account for background class. + class_feature_map_depth = (self._num_spatial_bins[0] * + self._num_spatial_bins[1] * + total_classes) + class_feature_map = slim.conv2d(net, class_feature_map_depth, [1, 1], + activation_fn=None, + scope='class_predictions') + class_predictions_with_background = ops.position_sensitive_crop_regions( + class_feature_map, + boxes=tf.reshape(proposal_boxes, [-1, self._box_code_size]), + box_ind=get_box_indices(proposal_boxes), + crop_size=self._crop_size, + num_spatial_bins=self._num_spatial_bins, + global_pool=True) + class_predictions_with_background = tf.squeeze( + class_predictions_with_background, squeeze_dims=[1, 2]) + class_predictions_with_background = tf.reshape( + class_predictions_with_background, + [batch_size * num_boxes, 1, total_classes]) + + return {BOX_ENCODINGS: box_encodings, + CLASS_PREDICTIONS_WITH_BACKGROUND: + class_predictions_with_background} + + +class MaskRCNNBoxPredictor(BoxPredictor): + """Mask R-CNN Box Predictor. + + See Mask R-CNN: He, K., Gkioxari, G., Dollar, P., & Girshick, R. (2017). + Mask R-CNN. arXiv preprint arXiv:1703.06870. + + This is used for the second stage of the Mask R-CNN detector where proposals + cropped from an image are arranged along the batch dimension of the input + image_features tensor. Notice that locations are *not* shared across classes, + thus for each anchor, a separate prediction is made for each class. + + In addition to predicting boxes and classes, optionally this class allows + predicting masks and/or keypoints inside detection boxes. + + Currently this box predictor makes per-class predictions; that is, each + anchor makes a separate box prediction for each class. + """ + + def __init__(self, + is_training, + num_classes, + fc_hyperparams, + use_dropout, + dropout_keep_prob, + box_code_size, + conv_hyperparams=None, + predict_instance_masks=False, + mask_prediction_conv_depth=256, + predict_keypoints=False): + """Constructor. + + Args: + is_training: Indicates whether the BoxPredictor is in training mode. + num_classes: number of classes. Note that num_classes *does not* + include the background category, so if groundtruth labels take values + in {0, 1, .., K-1}, num_classes=K (and not K+1, even though the + assigned classification targets can range from {0,... K}). + fc_hyperparams: Slim arg_scope with hyperparameters for fully + connected ops. + use_dropout: Option to use dropout or not. Note that a single dropout + op is applied here prior to both box and class predictions, which stands + in contrast to the ConvolutionalBoxPredictor below. + dropout_keep_prob: Keep probability for dropout. + This is only used if use_dropout is True. + box_code_size: Size of encoding for each box. + conv_hyperparams: Slim arg_scope with hyperparameters for convolution + ops. + predict_instance_masks: Whether to predict object masks inside detection + boxes. + mask_prediction_conv_depth: The depth for the first conv2d_transpose op + applied to the image_features in the mask prediciton branch. + predict_keypoints: Whether to predict keypoints insde detection boxes. + + + Raises: + ValueError: If predict_instance_masks or predict_keypoints is true. + """ + super(MaskRCNNBoxPredictor, self).__init__(is_training, num_classes) + self._fc_hyperparams = fc_hyperparams + self._use_dropout = use_dropout + self._box_code_size = box_code_size + self._dropout_keep_prob = dropout_keep_prob + self._conv_hyperparams = conv_hyperparams + self._predict_instance_masks = predict_instance_masks + self._mask_prediction_conv_depth = mask_prediction_conv_depth + self._predict_keypoints = predict_keypoints + if self._predict_keypoints: + raise ValueError('Keypoint prediction is unimplemented.') + if ((self._predict_instance_masks or self._predict_keypoints) and + self._conv_hyperparams is None): + raise ValueError('`conv_hyperparams` must be provided when predicting ' + 'masks.') + + @property + def num_classes(self): + return self._num_classes + + def _predict(self, image_features, num_predictions_per_location): + """Computes encoded object locations and corresponding confidences. + + Flattens image_features and applies fully connected ops (with no + non-linearity) to predict box encodings and class predictions. In this + setting, anchors are not spatially arranged in any way and are assumed to + have been folded into the batch dimension. Thus we output 1 for the + anchors dimension. + + Args: + image_features: A float tensor of shape [batch_size, height, width, + channels] containing features for a batch of images. + num_predictions_per_location: an integer representing the number of box + predictions to be made per spatial location in the feature map. + Currently, this must be set to 1, or an error will be raised. + + Returns: + A dictionary containing the following tensors. + box_encodings: A float tensor of shape + [batch_size, 1, num_classes, code_size] representing the + location of the objects. + class_predictions_with_background: A float tensor of shape + [batch_size, 1, num_classes + 1] representing the class + predictions for the proposals. + If predict_masks is True the dictionary also contains: + instance_masks: A float tensor of shape + [batch_size, 1, num_classes, image_height, image_width] + If predict_keypoints is True the dictionary also contains: + keypoints: [batch_size, 1, num_keypoints, 2] + + Raises: + ValueError: if num_predictions_per_location is not 1. + """ + if num_predictions_per_location != 1: + raise ValueError('Currently FullyConnectedBoxPredictor only supports ' + 'predicting a single box per class per location.') + spatial_averaged_image_features = tf.reduce_mean(image_features, [1, 2], + keep_dims=True, + name='AvgPool') + flattened_image_features = slim.flatten(spatial_averaged_image_features) + if self._use_dropout: + flattened_image_features = slim.dropout(flattened_image_features, + keep_prob=self._dropout_keep_prob, + is_training=self._is_training) + with slim.arg_scope(self._fc_hyperparams): + box_encodings = slim.fully_connected( + flattened_image_features, + self._num_classes * self._box_code_size, + activation_fn=None, + scope='BoxEncodingPredictor') + class_predictions_with_background = slim.fully_connected( + flattened_image_features, + self._num_classes + 1, + activation_fn=None, + scope='ClassPredictor') + box_encodings = tf.reshape( + box_encodings, [-1, 1, self._num_classes, self._box_code_size]) + class_predictions_with_background = tf.reshape( + class_predictions_with_background, [-1, 1, self._num_classes + 1]) + + predictions_dict = { + BOX_ENCODINGS: box_encodings, + CLASS_PREDICTIONS_WITH_BACKGROUND: class_predictions_with_background + } + + if self._predict_instance_masks: + with slim.arg_scope(self._conv_hyperparams): + upsampled_features = slim.conv2d_transpose( + image_features, + num_outputs=self._mask_prediction_conv_depth, + kernel_size=[2, 2], + stride=2) + mask_predictions = slim.conv2d(upsampled_features, + num_outputs=self.num_classes, + activation_fn=None, + kernel_size=[1, 1]) + instance_masks = tf.expand_dims(tf.transpose(mask_predictions, + perm=[0, 3, 1, 2]), + axis=1, + name='MaskPredictor') + predictions_dict[MASK_PREDICTIONS] = instance_masks + return predictions_dict + + +class ConvolutionalBoxPredictor(BoxPredictor): + """Convolutional Box Predictor. + + Optionally add an intermediate 1x1 convolutional layer after features and + predict in parallel branches box_encodings and + class_predictions_with_background. + + Currently this box predictor assumes that predictions are "shared" across + classes --- that is each anchor makes box predictions which do not depend + on class. + """ + + def __init__(self, + is_training, + num_classes, + conv_hyperparams, + min_depth, + max_depth, + num_layers_before_predictor, + use_dropout, + dropout_keep_prob, + kernel_size, + box_code_size, + apply_sigmoid_to_scores=False): + """Constructor. + + Args: + is_training: Indicates whether the BoxPredictor is in training mode. + num_classes: number of classes. Note that num_classes *does not* + include the background category, so if groundtruth labels take values + in {0, 1, .., K-1}, num_classes=K (and not K+1, even though the + assigned classification targets can range from {0,... K}). + conv_hyperparams: Slim arg_scope with hyperparameters for convolution ops. + min_depth: Minumum feature depth prior to predicting box encodings + and class predictions. + max_depth: Maximum feature depth prior to predicting box encodings + and class predictions. If max_depth is set to 0, no additional + feature map will be inserted before location and class predictions. + num_layers_before_predictor: Number of the additional conv layers before + the predictor. + use_dropout: Option to use dropout for class prediction or not. + dropout_keep_prob: Keep probability for dropout. + This is only used if use_dropout is True. + kernel_size: Size of final convolution kernel. If the + spatial resolution of the feature map is smaller than the kernel size, + then the kernel size is automatically set to be + min(feature_width, feature_height). + box_code_size: Size of encoding for each box. + apply_sigmoid_to_scores: if True, apply the sigmoid on the output + class_predictions. + + Raises: + ValueError: if min_depth > max_depth. + """ + super(ConvolutionalBoxPredictor, self).__init__(is_training, num_classes) + if min_depth > max_depth: + raise ValueError('min_depth should be less than or equal to max_depth') + self._conv_hyperparams = conv_hyperparams + self._min_depth = min_depth + self._max_depth = max_depth + self._num_layers_before_predictor = num_layers_before_predictor + self._use_dropout = use_dropout + self._kernel_size = kernel_size + self._box_code_size = box_code_size + self._dropout_keep_prob = dropout_keep_prob + self._apply_sigmoid_to_scores = apply_sigmoid_to_scores + + def _predict(self, image_features, num_predictions_per_location): + """Computes encoded object locations and corresponding confidences. + + Args: + image_features: A float tensor of shape [batch_size, height, width, + channels] containing features for a batch of images. + num_predictions_per_location: an integer representing the number of box + predictions to be made per spatial location in the feature map. + + Returns: + A dictionary containing the following tensors. + box_encodings: A float tensor of shape [batch_size, num_anchors, 1, + code_size] representing the location of the objects, where + num_anchors = feat_height * feat_width * num_predictions_per_location + class_predictions_with_background: A float tensor of shape + [batch_size, num_anchors, num_classes + 1] representing the class + predictions for the proposals. + """ + features_depth = static_shape.get_depth(image_features.get_shape()) + depth = max(min(features_depth, self._max_depth), self._min_depth) + + # Add a slot for the background class. + num_class_slots = self.num_classes + 1 + net = image_features + with slim.arg_scope(self._conv_hyperparams), \ + slim.arg_scope([slim.dropout], is_training=self._is_training): + # Add additional conv layers before the predictor. + if depth > 0 and self._num_layers_before_predictor > 0: + for i in range(self._num_layers_before_predictor): + net = slim.conv2d( + net, depth, [1, 1], scope='Conv2d_%d_1x1_%d' % (i, depth)) + with slim.arg_scope([slim.conv2d], activation_fn=None, + normalizer_fn=None, normalizer_params=None): + box_encodings = slim.conv2d( + net, num_predictions_per_location * self._box_code_size, + [self._kernel_size, self._kernel_size], + scope='BoxEncodingPredictor') + if self._use_dropout: + net = slim.dropout(net, keep_prob=self._dropout_keep_prob) + class_predictions_with_background = slim.conv2d( + net, num_predictions_per_location * num_class_slots, + [self._kernel_size, self._kernel_size], scope='ClassPredictor') + if self._apply_sigmoid_to_scores: + class_predictions_with_background = tf.sigmoid( + class_predictions_with_background) + + batch_size = static_shape.get_batch_size(image_features.get_shape()) + if batch_size is None: + features_height = static_shape.get_height(image_features.get_shape()) + features_width = static_shape.get_width(image_features.get_shape()) + flattened_predictions_size = (features_height * features_width * + num_predictions_per_location) + box_encodings = tf.reshape( + box_encodings, + [-1, flattened_predictions_size, 1, self._box_code_size]) + class_predictions_with_background = tf.reshape( + class_predictions_with_background, + [-1, flattened_predictions_size, num_class_slots]) + else: + box_encodings = tf.reshape( + box_encodings, [batch_size, -1, 1, self._box_code_size]) + class_predictions_with_background = tf.reshape( + class_predictions_with_background, [batch_size, -1, num_class_slots]) + return {BOX_ENCODINGS: box_encodings, + CLASS_PREDICTIONS_WITH_BACKGROUND: + class_predictions_with_background} diff --git a/object_detection/core/box_predictor_test.py b/object_detection/core/box_predictor_test.py new file mode 100644 index 000000000..e5e5a3c9a --- /dev/null +++ b/object_detection/core/box_predictor_test.py @@ -0,0 +1,323 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.box_predictor.""" + +import numpy as np +import tensorflow as tf + +from google.protobuf import text_format +from object_detection.builders import hyperparams_builder +from object_detection.core import box_predictor +from object_detection.protos import hyperparams_pb2 + + +class MaskRCNNBoxPredictorTest(tf.test.TestCase): + + def _build_arg_scope_with_hyperparams(self, + op_type=hyperparams_pb2.Hyperparams.FC): + hyperparams = hyperparams_pb2.Hyperparams() + hyperparams_text_proto = """ + activation: NONE + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + """ + text_format.Merge(hyperparams_text_proto, hyperparams) + hyperparams.op = op_type + return hyperparams_builder.build(hyperparams, is_training=True) + + def test_get_boxes_with_five_classes(self): + image_features = tf.random_uniform([2, 7, 7, 3], dtype=tf.float32) + mask_box_predictor = box_predictor.MaskRCNNBoxPredictor( + is_training=False, + num_classes=5, + fc_hyperparams=self._build_arg_scope_with_hyperparams(), + use_dropout=False, + dropout_keep_prob=0.5, + box_code_size=4, + ) + box_predictions = mask_box_predictor.predict( + image_features, num_predictions_per_location=1, scope='BoxPredictor') + box_encodings = box_predictions[box_predictor.BOX_ENCODINGS] + class_predictions_with_background = box_predictions[ + box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND] + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + (box_encodings_shape, + class_predictions_with_background_shape) = sess.run( + [tf.shape(box_encodings), + tf.shape(class_predictions_with_background)]) + self.assertAllEqual(box_encodings_shape, [2, 1, 5, 4]) + self.assertAllEqual(class_predictions_with_background_shape, [2, 1, 6]) + + def test_value_error_on_predict_instance_masks_with_no_conv_hyperparms(self): + with self.assertRaises(ValueError): + box_predictor.MaskRCNNBoxPredictor( + is_training=False, + num_classes=5, + fc_hyperparams=self._build_arg_scope_with_hyperparams(), + use_dropout=False, + dropout_keep_prob=0.5, + box_code_size=4, + predict_instance_masks=True) + + def test_get_instance_masks(self): + image_features = tf.random_uniform([2, 7, 7, 3], dtype=tf.float32) + mask_box_predictor = box_predictor.MaskRCNNBoxPredictor( + is_training=False, + num_classes=5, + fc_hyperparams=self._build_arg_scope_with_hyperparams(), + use_dropout=False, + dropout_keep_prob=0.5, + box_code_size=4, + conv_hyperparams=self._build_arg_scope_with_hyperparams( + op_type=hyperparams_pb2.Hyperparams.CONV), + predict_instance_masks=True) + box_predictions = mask_box_predictor.predict( + image_features, num_predictions_per_location=1, scope='BoxPredictor') + mask_predictions = box_predictions[box_predictor.MASK_PREDICTIONS] + self.assertListEqual([2, 1, 5, 14, 14], + mask_predictions.get_shape().as_list()) + + def test_do_not_return_instance_masks_and_keypoints_without_request(self): + image_features = tf.random_uniform([2, 7, 7, 3], dtype=tf.float32) + mask_box_predictor = box_predictor.MaskRCNNBoxPredictor( + is_training=False, + num_classes=5, + fc_hyperparams=self._build_arg_scope_with_hyperparams(), + use_dropout=False, + dropout_keep_prob=0.5, + box_code_size=4) + box_predictions = mask_box_predictor.predict( + image_features, num_predictions_per_location=1, scope='BoxPredictor') + self.assertEqual(len(box_predictions), 2) + self.assertTrue(box_predictor.BOX_ENCODINGS in box_predictions) + self.assertTrue(box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND + in box_predictions) + + def test_value_error_on_predict_keypoints(self): + with self.assertRaises(ValueError): + box_predictor.MaskRCNNBoxPredictor( + is_training=False, + num_classes=5, + fc_hyperparams=self._build_arg_scope_with_hyperparams(), + use_dropout=False, + dropout_keep_prob=0.5, + box_code_size=4, + predict_keypoints=True) + + +class RfcnBoxPredictorTest(tf.test.TestCase): + + def _build_arg_scope_with_conv_hyperparams(self): + conv_hyperparams = hyperparams_pb2.Hyperparams() + conv_hyperparams_text_proto = """ + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + """ + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams) + return hyperparams_builder.build(conv_hyperparams, is_training=True) + + def test_get_correct_box_encoding_and_class_prediction_shapes(self): + image_features = tf.random_uniform([4, 8, 8, 64], dtype=tf.float32) + proposal_boxes = tf.random_normal([4, 2, 4], dtype=tf.float32) + rfcn_box_predictor = box_predictor.RfcnBoxPredictor( + is_training=False, + num_classes=2, + conv_hyperparams=self._build_arg_scope_with_conv_hyperparams(), + num_spatial_bins=[3, 3], + depth=4, + crop_size=[12, 12], + box_code_size=4 + ) + box_predictions = rfcn_box_predictor.predict( + image_features, num_predictions_per_location=1, scope='BoxPredictor', + proposal_boxes=proposal_boxes) + box_encodings = box_predictions[box_predictor.BOX_ENCODINGS] + class_predictions_with_background = box_predictions[ + box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND] + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + (box_encodings_shape, + class_predictions_shape) = sess.run( + [tf.shape(box_encodings), + tf.shape(class_predictions_with_background)]) + self.assertAllEqual(box_encodings_shape, [8, 1, 2, 4]) + self.assertAllEqual(class_predictions_shape, [8, 1, 3]) + + +class ConvolutionalBoxPredictorTest(tf.test.TestCase): + + def _build_arg_scope_with_conv_hyperparams(self): + conv_hyperparams = hyperparams_pb2.Hyperparams() + conv_hyperparams_text_proto = """ + activation: RELU_6 + regularizer { + l2_regularizer { + } + } + initializer { + truncated_normal_initializer { + } + } + """ + text_format.Merge(conv_hyperparams_text_proto, conv_hyperparams) + return hyperparams_builder.build(conv_hyperparams, is_training=True) + + def test_get_boxes_for_five_aspect_ratios_per_location(self): + image_features = tf.random_uniform([4, 8, 8, 64], dtype=tf.float32) + conv_box_predictor = box_predictor.ConvolutionalBoxPredictor( + is_training=False, + num_classes=0, + conv_hyperparams=self._build_arg_scope_with_conv_hyperparams(), + min_depth=0, + max_depth=32, + num_layers_before_predictor=1, + use_dropout=True, + dropout_keep_prob=0.8, + kernel_size=1, + box_code_size=4 + ) + box_predictions = conv_box_predictor.predict( + image_features, num_predictions_per_location=5, scope='BoxPredictor') + box_encodings = box_predictions[box_predictor.BOX_ENCODINGS] + objectness_predictions = box_predictions[ + box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND] + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + (box_encodings_shape, + objectness_predictions_shape) = sess.run( + [tf.shape(box_encodings), tf.shape(objectness_predictions)]) + self.assertAllEqual(box_encodings_shape, [4, 320, 1, 4]) + self.assertAllEqual(objectness_predictions_shape, [4, 320, 1]) + + def test_get_boxes_for_one_aspect_ratio_per_location(self): + image_features = tf.random_uniform([4, 8, 8, 64], dtype=tf.float32) + conv_box_predictor = box_predictor.ConvolutionalBoxPredictor( + is_training=False, + num_classes=0, + conv_hyperparams=self._build_arg_scope_with_conv_hyperparams(), + min_depth=0, + max_depth=32, + num_layers_before_predictor=1, + use_dropout=True, + dropout_keep_prob=0.8, + kernel_size=1, + box_code_size=4 + ) + box_predictions = conv_box_predictor.predict( + image_features, num_predictions_per_location=1, scope='BoxPredictor') + box_encodings = box_predictions[box_predictor.BOX_ENCODINGS] + objectness_predictions = box_predictions[ + box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND] + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + (box_encodings_shape, + objectness_predictions_shape) = sess.run( + [tf.shape(box_encodings), tf.shape(objectness_predictions)]) + self.assertAllEqual(box_encodings_shape, [4, 64, 1, 4]) + self.assertAllEqual(objectness_predictions_shape, [4, 64, 1]) + + def test_get_multi_class_predictions_for_five_aspect_ratios_per_location( + self): + num_classes_without_background = 6 + image_features = tf.random_uniform([4, 8, 8, 64], dtype=tf.float32) + conv_box_predictor = box_predictor.ConvolutionalBoxPredictor( + is_training=False, + num_classes=num_classes_without_background, + conv_hyperparams=self._build_arg_scope_with_conv_hyperparams(), + min_depth=0, + max_depth=32, + num_layers_before_predictor=1, + use_dropout=True, + dropout_keep_prob=0.8, + kernel_size=1, + box_code_size=4 + ) + box_predictions = conv_box_predictor.predict( + image_features, + num_predictions_per_location=5, + scope='BoxPredictor') + box_encodings = box_predictions[box_predictor.BOX_ENCODINGS] + class_predictions_with_background = box_predictions[ + box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND] + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + (box_encodings_shape, class_predictions_with_background_shape + ) = sess.run([ + tf.shape(box_encodings), tf.shape(class_predictions_with_background)]) + self.assertAllEqual(box_encodings_shape, [4, 320, 1, 4]) + self.assertAllEqual(class_predictions_with_background_shape, + [4, 320, num_classes_without_background+1]) + + def test_get_boxes_for_five_aspect_ratios_per_location_fully_convolutional( + self): + image_features = tf.placeholder(dtype=tf.float32, shape=[4, None, None, 64]) + conv_box_predictor = box_predictor.ConvolutionalBoxPredictor( + is_training=False, + num_classes=0, + conv_hyperparams=self._build_arg_scope_with_conv_hyperparams(), + min_depth=0, + max_depth=32, + num_layers_before_predictor=1, + use_dropout=True, + dropout_keep_prob=0.8, + kernel_size=1, + box_code_size=4 + ) + box_predictions = conv_box_predictor.predict( + image_features, num_predictions_per_location=5, scope='BoxPredictor') + box_encodings = box_predictions[box_predictor.BOX_ENCODINGS] + objectness_predictions = box_predictions[ + box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND] + init_op = tf.global_variables_initializer() + + resolution = 32 + expected_num_anchors = resolution*resolution*5 + with self.test_session() as sess: + sess.run(init_op) + (box_encodings_shape, + objectness_predictions_shape) = sess.run( + [tf.shape(box_encodings), tf.shape(objectness_predictions)], + feed_dict={image_features: + np.random.rand(4, resolution, resolution, 64)}) + self.assertAllEqual(box_encodings_shape, [4, expected_num_anchors, 1, 4]) + self.assertAllEqual(objectness_predictions_shape, + [4, expected_num_anchors, 1]) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/data_decoder.py b/object_detection/core/data_decoder.py new file mode 100644 index 000000000..84be4db59 --- /dev/null +++ b/object_detection/core/data_decoder.py @@ -0,0 +1,42 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Interface for data decoders. + +Data decoders decode the input data and return a dictionary of tensors keyed by +the entries in core.reader.Fields. +""" +from abc import ABCMeta +from abc import abstractmethod + + +class DataDecoder(object): + """Interface for data decoders.""" + __metaclass__ = ABCMeta + + # TODO: snake_case this method. + @abstractmethod + def Decode(self, data): + """Return a single image and associated labels. + + Args: + data: a string tensor holding a serialized protocol buffer corresponding + to data for a single image. + + Returns: + tensor_dict: a dictionary containing tensors. Possible keys are defined in + reader.Fields. + """ + pass diff --git a/object_detection/core/keypoint_ops.py b/object_detection/core/keypoint_ops.py new file mode 100644 index 000000000..4a550d3c9 --- /dev/null +++ b/object_detection/core/keypoint_ops.py @@ -0,0 +1,231 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Keypoint operations. + +Keypoints are represented as tensors of shape [num_instances, num_keypoints, 2], +where the last dimension holds rank 2 tensors of the form [y, x] representing +the coordinates of the keypoint. +""" +import numpy as np +import tensorflow as tf + + +def scale(keypoints, y_scale, x_scale, scope=None): + """Scales keypoint coordinates in x and y dimensions. + + Args: + keypoints: a tensor of shape [num_instances, num_keypoints, 2] + y_scale: (float) scalar tensor + x_scale: (float) scalar tensor + scope: name scope. + + Returns: + new_keypoints: a tensor of shape [num_instances, num_keypoints, 2] + """ + with tf.name_scope(scope, 'Scale'): + y_scale = tf.cast(y_scale, tf.float32) + x_scale = tf.cast(x_scale, tf.float32) + new_keypoints = keypoints * [[[y_scale, x_scale]]] + return new_keypoints + + +def clip_to_window(keypoints, window, scope=None): + """Clips keypoints to a window. + + This op clips any input keypoints to a window. + + Args: + keypoints: a tensor of shape [num_instances, num_keypoints, 2] + window: a tensor of shape [4] representing the [y_min, x_min, y_max, x_max] + window to which the op should clip the keypoints. + scope: name scope. + + Returns: + new_keypoints: a tensor of shape [num_instances, num_keypoints, 2] + """ + with tf.name_scope(scope, 'ClipToWindow'): + y, x = tf.split(value=keypoints, num_or_size_splits=2, axis=2) + win_y_min, win_x_min, win_y_max, win_x_max = tf.unstack(window) + y = tf.maximum(tf.minimum(y, win_y_max), win_y_min) + x = tf.maximum(tf.minimum(x, win_x_max), win_x_min) + new_keypoints = tf.concat([y, x], 2) + return new_keypoints + + +def prune_outside_window(keypoints, window, scope=None): + """Prunes keypoints that fall outside a given window. + + This function replaces keypoints that fall outside the given window with nan. + See also clip_to_window which clips any keypoints that fall outside the given + window. + + Args: + keypoints: a tensor of shape [num_instances, num_keypoints, 2] + window: a tensor of shape [4] representing the [y_min, x_min, y_max, x_max] + window outside of which the op should prune the keypoints. + scope: name scope. + + Returns: + new_keypoints: a tensor of shape [num_instances, num_keypoints, 2] + """ + with tf.name_scope(scope, 'PruneOutsideWindow'): + y, x = tf.split(value=keypoints, num_or_size_splits=2, axis=2) + win_y_min, win_x_min, win_y_max, win_x_max = tf.unstack(window) + + valid_indices = tf.logical_and( + tf.logical_and(y >= win_y_min, y <= win_y_max), + tf.logical_and(x >= win_x_min, x <= win_x_max)) + + new_y = tf.where(valid_indices, y, np.nan * tf.ones_like(y)) + new_x = tf.where(valid_indices, x, np.nan * tf.ones_like(x)) + new_keypoints = tf.concat([new_y, new_x], 2) + + return new_keypoints + + +def change_coordinate_frame(keypoints, window, scope=None): + """Changes coordinate frame of the keypoints to be relative to window's frame. + + Given a window of the form [y_min, x_min, y_max, x_max], changes keypoint + coordinates from keypoints of shape [num_instances, num_keypoints, 2] + to be relative to this window. + + An example use case is data augmentation: where we are given groundtruth + keypoints and would like to randomly crop the image to some window. In this + case we need to change the coordinate frame of each groundtruth keypoint to be + relative to this new window. + + Args: + keypoints: a tensor of shape [num_instances, num_keypoints, 2] + window: a tensor of shape [4] representing the [y_min, x_min, y_max, x_max] + window we should change the coordinate frame to. + scope: name scope. + + Returns: + new_keypoints: a tensor of shape [num_instances, num_keypoints, 2] + """ + with tf.name_scope(scope, 'ChangeCoordinateFrame'): + win_height = window[2] - window[0] + win_width = window[3] - window[1] + new_keypoints = scale(keypoints - [window[0], window[1]], 1.0 / win_height, + 1.0 / win_width) + return new_keypoints + + +def to_normalized_coordinates(keypoints, height, width, + check_range=True, scope=None): + """Converts absolute keypoint coordinates to normalized coordinates in [0, 1]. + + Usually one uses the dynamic shape of the image or conv-layer tensor: + keypoints = keypoint_ops.to_normalized_coordinates(keypoints, + tf.shape(images)[1], + tf.shape(images)[2]), + + This function raises an assertion failed error at graph execution time when + the maximum coordinate is smaller than 1.01 (which means that coordinates are + already normalized). The value 1.01 is to deal with small rounding errors. + + Args: + keypoints: A tensor of shape [num_instances, num_keypoints, 2]. + height: Maximum value for y coordinate of absolute keypoint coordinates. + width: Maximum value for x coordinate of absolute keypoint coordinates. + check_range: If True, checks if the coordinates are normalized. + scope: name scope. + + Returns: + tensor of shape [num_instances, num_keypoints, 2] with normalized + coordinates in [0, 1]. + """ + with tf.name_scope(scope, 'ToNormalizedCoordinates'): + height = tf.cast(height, tf.float32) + width = tf.cast(width, tf.float32) + + if check_range: + max_val = tf.reduce_max(keypoints) + max_assert = tf.Assert(tf.greater(max_val, 1.01), + ['max value is lower than 1.01: ', max_val]) + with tf.control_dependencies([max_assert]): + width = tf.identity(width) + + return scale(keypoints, 1.0 / height, 1.0 / width) + + +def to_absolute_coordinates(keypoints, height, width, + check_range=True, scope=None): + """Converts normalized keypoint coordinates to absolute pixel coordinates. + + This function raises an assertion failed error when the maximum keypoint + coordinate value is larger than 1.01 (in which case coordinates are already + absolute). + + Args: + keypoints: A tensor of shape [num_instances, num_keypoints, 2] + height: Maximum value for y coordinate of absolute keypoint coordinates. + width: Maximum value for x coordinate of absolute keypoint coordinates. + check_range: If True, checks if the coordinates are normalized or not. + scope: name scope. + + Returns: + tensor of shape [num_instances, num_keypoints, 2] with absolute coordinates + in terms of the image size. + + """ + with tf.name_scope(scope, 'ToAbsoluteCoordinates'): + height = tf.cast(height, tf.float32) + width = tf.cast(width, tf.float32) + + # Ensure range of input keypoints is correct. + if check_range: + max_val = tf.reduce_max(keypoints) + max_assert = tf.Assert(tf.greater_equal(1.01, max_val), + ['maximum keypoint coordinate value is larger ' + 'than 1.01: ', max_val]) + with tf.control_dependencies([max_assert]): + width = tf.identity(width) + + return scale(keypoints, height, width) + + +def flip_horizontal(keypoints, flip_point, flip_permutation, scope=None): + """Flips the keypoints horizontally around the flip_point. + + This operation flips the x coordinate for each keypoint around the flip_point + and also permutes the keypoints in a manner specified by flip_permutation. + + Args: + keypoints: a tensor of shape [num_instances, num_keypoints, 2] + flip_point: (float) scalar tensor representing the x coordinate to flip the + keypoints around. + flip_permutation: rank 1 int32 tensor containing the keypoint flip + permutation. This specifies the mapping from original keypoint indices + to the flipped keypoint indices. This is used primarily for keypoints + that are not reflection invariant. E.g. Suppose there are 3 keypoints + representing ['head', 'right_eye', 'left_eye'], then a logical choice for + flip_permutation might be [0, 2, 1] since we want to swap the 'left_eye' + and 'right_eye' after a horizontal flip. + scope: name scope. + + Returns: + new_keypoints: a tensor of shape [num_instances, num_keypoints, 2] + """ + with tf.name_scope(scope, 'FlipHorizontal'): + keypoints = tf.transpose(keypoints, [1, 0, 2]) + keypoints = tf.gather(keypoints, flip_permutation) + v, u = tf.split(value=keypoints, num_or_size_splits=2, axis=2) + u = flip_point * 2.0 - u + new_keypoints = tf.concat([v, u], 2) + new_keypoints = tf.transpose(new_keypoints, [1, 0, 2]) + return new_keypoints diff --git a/object_detection/core/keypoint_ops_test.py b/object_detection/core/keypoint_ops_test.py new file mode 100644 index 000000000..27c227bcf --- /dev/null +++ b/object_detection/core/keypoint_ops_test.py @@ -0,0 +1,168 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.keypoint_ops.""" +import numpy as np +import tensorflow as tf + +from object_detection.core import keypoint_ops + + +class KeypointOpsTest(tf.test.TestCase): + """Tests for common keypoint operations.""" + + def test_scale(self): + keypoints = tf.constant([ + [[0.0, 0.0], [100.0, 200.0]], + [[50.0, 120.0], [100.0, 140.0]] + ]) + y_scale = tf.constant(1.0 / 100) + x_scale = tf.constant(1.0 / 200) + + expected_keypoints = tf.constant([ + [[0., 0.], [1.0, 1.0]], + [[0.5, 0.6], [1.0, 0.7]] + ]) + output = keypoint_ops.scale(keypoints, y_scale, x_scale) + + with self.test_session() as sess: + output_, expected_keypoints_ = sess.run([output, expected_keypoints]) + self.assertAllClose(output_, expected_keypoints_) + + def test_clip_to_window(self): + keypoints = tf.constant([ + [[0.25, 0.5], [0.75, 0.75]], + [[0.5, 0.0], [1.0, 1.0]] + ]) + window = tf.constant([0.25, 0.25, 0.75, 0.75]) + + expected_keypoints = tf.constant([ + [[0.25, 0.5], [0.75, 0.75]], + [[0.5, 0.25], [0.75, 0.75]] + ]) + output = keypoint_ops.clip_to_window(keypoints, window) + + with self.test_session() as sess: + output_, expected_keypoints_ = sess.run([output, expected_keypoints]) + self.assertAllClose(output_, expected_keypoints_) + + def test_prune_outside_window(self): + keypoints = tf.constant([ + [[0.25, 0.5], [0.75, 0.75]], + [[0.5, 0.0], [1.0, 1.0]] + ]) + window = tf.constant([0.25, 0.25, 0.75, 0.75]) + + expected_keypoints = tf.constant([[[0.25, 0.5], [0.75, 0.75]], + [[np.nan, np.nan], [np.nan, np.nan]]]) + output = keypoint_ops.prune_outside_window(keypoints, window) + + with self.test_session() as sess: + output_, expected_keypoints_ = sess.run([output, expected_keypoints]) + self.assertAllClose(output_, expected_keypoints_) + + def test_change_coordinate_frame(self): + keypoints = tf.constant([ + [[0.25, 0.5], [0.75, 0.75]], + [[0.5, 0.0], [1.0, 1.0]] + ]) + window = tf.constant([0.25, 0.25, 0.75, 0.75]) + + expected_keypoints = tf.constant([ + [[0, 0.5], [1.0, 1.0]], + [[0.5, -0.5], [1.5, 1.5]] + ]) + output = keypoint_ops.change_coordinate_frame(keypoints, window) + + with self.test_session() as sess: + output_, expected_keypoints_ = sess.run([output, expected_keypoints]) + self.assertAllClose(output_, expected_keypoints_) + + def test_to_normalized_coordinates(self): + keypoints = tf.constant([ + [[10., 30.], [30., 45.]], + [[20., 0.], [40., 60.]] + ]) + output = keypoint_ops.to_normalized_coordinates( + keypoints, 40, 60) + expected_keypoints = tf.constant([ + [[0.25, 0.5], [0.75, 0.75]], + [[0.5, 0.0], [1.0, 1.0]] + ]) + + with self.test_session() as sess: + output_, expected_keypoints_ = sess.run([output, expected_keypoints]) + self.assertAllClose(output_, expected_keypoints_) + + def test_to_normalized_coordinates_already_normalized(self): + keypoints = tf.constant([ + [[0.25, 0.5], [0.75, 0.75]], + [[0.5, 0.0], [1.0, 1.0]] + ]) + output = keypoint_ops.to_normalized_coordinates( + keypoints, 40, 60) + + with self.test_session() as sess: + with self.assertRaisesOpError('assertion failed'): + sess.run(output) + + def test_to_absolute_coordinates(self): + keypoints = tf.constant([ + [[0.25, 0.5], [0.75, 0.75]], + [[0.5, 0.0], [1.0, 1.0]] + ]) + output = keypoint_ops.to_absolute_coordinates( + keypoints, 40, 60) + expected_keypoints = tf.constant([ + [[10., 30.], [30., 45.]], + [[20., 0.], [40., 60.]] + ]) + + with self.test_session() as sess: + output_, expected_keypoints_ = sess.run([output, expected_keypoints]) + self.assertAllClose(output_, expected_keypoints_) + + def test_to_absolute_coordinates_already_absolute(self): + keypoints = tf.constant([ + [[10., 30.], [30., 45.]], + [[20., 0.], [40., 60.]] + ]) + output = keypoint_ops.to_absolute_coordinates( + keypoints, 40, 60) + + with self.test_session() as sess: + with self.assertRaisesOpError('assertion failed'): + sess.run(output) + + def test_flip_horizontal(self): + keypoints = tf.constant([ + [[0.1, 0.1], [0.2, 0.2], [0.3, 0.3]], + [[0.4, 0.4], [0.5, 0.5], [0.6, 0.6]] + ]) + flip_permutation = [0, 2, 1] + + expected_keypoints = tf.constant([ + [[0.1, 0.9], [0.3, 0.7], [0.2, 0.8]], + [[0.4, 0.6], [0.6, 0.4], [0.5, 0.5]], + ]) + output = keypoint_ops.flip_horizontal(keypoints, 0.5, flip_permutation) + + with self.test_session() as sess: + output_, expected_keypoints_ = sess.run([output, expected_keypoints]) + self.assertAllClose(output_, expected_keypoints_) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/losses.py b/object_detection/core/losses.py new file mode 100644 index 000000000..75c7b5fc4 --- /dev/null +++ b/object_detection/core/losses.py @@ -0,0 +1,551 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Classification and regression loss functions for object detection. + +Localization losses: + * WeightedL2LocalizationLoss + * WeightedSmoothL1LocalizationLoss + * WeightedIOULocalizationLoss + +Classification losses: + * WeightedSigmoidClassificationLoss + * WeightedSoftmaxClassificationLoss + * BootstrappedSigmoidClassificationLoss +""" +from abc import ABCMeta +from abc import abstractmethod + +import tensorflow as tf + +from object_detection.core import box_list +from object_detection.core import box_list_ops +from object_detection.utils import ops + +slim = tf.contrib.slim + + +class Loss(object): + """Abstract base class for loss functions.""" + __metaclass__ = ABCMeta + + def __call__(self, + prediction_tensor, + target_tensor, + ignore_nan_targets=False, + scope=None, + **params): + """Call the loss function. + + Args: + prediction_tensor: a tensor representing predicted quantities. + target_tensor: a tensor representing regression or classification targets. + ignore_nan_targets: whether to ignore nan targets in the loss computation. + E.g. can be used if the target tensor is missing groundtruth data that + shouldn't be factored into the loss. + scope: Op scope name. Defaults to 'Loss' if None. + **params: Additional keyword arguments for specific implementations of + the Loss. + + Returns: + loss: a tensor representing the value of the loss function. + """ + with tf.name_scope(scope, 'Loss', + [prediction_tensor, target_tensor, params]) as scope: + if ignore_nan_targets: + target_tensor = tf.where(tf.is_nan(target_tensor), + prediction_tensor, + target_tensor) + return self._compute_loss(prediction_tensor, target_tensor, **params) + + @abstractmethod + def _compute_loss(self, prediction_tensor, target_tensor, **params): + """Method to be overriden by implementations. + + Args: + prediction_tensor: a tensor representing predicted quantities + target_tensor: a tensor representing regression or classification targets + **params: Additional keyword arguments for specific implementations of + the Loss. + + Returns: + loss: a tensor representing the value of the loss function + """ + pass + + +class WeightedL2LocalizationLoss(Loss): + """L2 localization loss function with anchorwise output support. + + Loss[b,a] = .5 * ||weights[b,a] * (prediction[b,a,:] - target[b,a,:])||^2 + """ + + def __init__(self, anchorwise_output=False): + """Constructor. + + Args: + anchorwise_output: Outputs loss per anchor. (default False) + + """ + self._anchorwise_output = anchorwise_output + + def _compute_loss(self, prediction_tensor, target_tensor, weights): + """Compute loss function. + + Args: + prediction_tensor: A float tensor of shape [batch_size, num_anchors, + code_size] representing the (encoded) predicted locations of objects. + target_tensor: A float tensor of shape [batch_size, num_anchors, + code_size] representing the regression targets + weights: a float tensor of shape [batch_size, num_anchors] + + Returns: + loss: a (scalar) tensor representing the value of the loss function + or a float tensor of shape [batch_size, num_anchors] + """ + weighted_diff = (prediction_tensor - target_tensor) * tf.expand_dims( + weights, 2) + square_diff = 0.5 * tf.square(weighted_diff) + if self._anchorwise_output: + return tf.reduce_sum(square_diff, 2) + return tf.reduce_sum(square_diff) + + +class WeightedSmoothL1LocalizationLoss(Loss): + """Smooth L1 localization loss function. + + The smooth L1_loss is defined elementwise as .5 x^2 if |x|<1 and |x|-.5 + otherwise, where x is the difference between predictions and target. + + See also Equation (3) in the Fast R-CNN paper by Ross Girshick (ICCV 2015) + """ + + def __init__(self, anchorwise_output=False): + """Constructor. + + Args: + anchorwise_output: Outputs loss per anchor. (default False) + + """ + self._anchorwise_output = anchorwise_output + + def _compute_loss(self, prediction_tensor, target_tensor, weights): + """Compute loss function. + + Args: + prediction_tensor: A float tensor of shape [batch_size, num_anchors, + code_size] representing the (encoded) predicted locations of objects. + target_tensor: A float tensor of shape [batch_size, num_anchors, + code_size] representing the regression targets + weights: a float tensor of shape [batch_size, num_anchors] + + Returns: + loss: a (scalar) tensor representing the value of the loss function + """ + diff = prediction_tensor - target_tensor + abs_diff = tf.abs(diff) + abs_diff_lt_1 = tf.less(abs_diff, 1) + anchorwise_smooth_l1norm = tf.reduce_sum( + tf.where(abs_diff_lt_1, 0.5 * tf.square(abs_diff), abs_diff - 0.5), + 2) * weights + if self._anchorwise_output: + return anchorwise_smooth_l1norm + return tf.reduce_sum(anchorwise_smooth_l1norm) + + +class WeightedIOULocalizationLoss(Loss): + """IOU localization loss function. + + Sums the IOU for corresponding pairs of predicted/groundtruth boxes + and for each pair assign a loss of 1 - IOU. We then compute a weighted + sum over all pairs which is returned as the total loss. + """ + + def _compute_loss(self, prediction_tensor, target_tensor, weights): + """Compute loss function. + + Args: + prediction_tensor: A float tensor of shape [batch_size, num_anchors, 4] + representing the decoded predicted boxes + target_tensor: A float tensor of shape [batch_size, num_anchors, 4] + representing the decoded target boxes + weights: a float tensor of shape [batch_size, num_anchors] + + Returns: + loss: a (scalar) tensor representing the value of the loss function + """ + predicted_boxes = box_list.BoxList(tf.reshape(prediction_tensor, [-1, 4])) + target_boxes = box_list.BoxList(tf.reshape(target_tensor, [-1, 4])) + per_anchor_iou_loss = 1.0 - box_list_ops.matched_iou(predicted_boxes, + target_boxes) + return tf.reduce_sum(tf.reshape(weights, [-1]) * per_anchor_iou_loss) + + +class WeightedSigmoidClassificationLoss(Loss): + """Sigmoid cross entropy classification loss function.""" + + def __init__(self, anchorwise_output=False): + """Constructor. + + Args: + anchorwise_output: Outputs loss per anchor. (default False) + + """ + self._anchorwise_output = anchorwise_output + + def _compute_loss(self, + prediction_tensor, + target_tensor, + weights, + class_indices=None): + """Compute loss function. + + Args: + prediction_tensor: A float tensor of shape [batch_size, num_anchors, + num_classes] representing the predicted logits for each class + target_tensor: A float tensor of shape [batch_size, num_anchors, + num_classes] representing one-hot encoded classification targets + weights: a float tensor of shape [batch_size, num_anchors] + class_indices: (Optional) A 1-D integer tensor of class indices. + If provided, computes loss only for the specified class indices. + + Returns: + loss: a (scalar) tensor representing the value of the loss function + or a float tensor of shape [batch_size, num_anchors] + """ + weights = tf.expand_dims(weights, 2) + if class_indices is not None: + weights *= tf.reshape( + ops.indices_to_dense_vector(class_indices, + tf.shape(prediction_tensor)[2]), + [1, 1, -1]) + per_entry_cross_ent = (tf.nn.sigmoid_cross_entropy_with_logits( + labels=target_tensor, logits=prediction_tensor)) + if self._anchorwise_output: + return tf.reduce_sum(per_entry_cross_ent * weights, 2) + return tf.reduce_sum(per_entry_cross_ent * weights) + + +class WeightedSoftmaxClassificationLoss(Loss): + """Softmax loss function.""" + + def __init__(self, anchorwise_output=False): + """Constructor. + + Args: + anchorwise_output: Whether to output loss per anchor (default False) + + """ + self._anchorwise_output = anchorwise_output + + def _compute_loss(self, prediction_tensor, target_tensor, weights): + """Compute loss function. + + Args: + prediction_tensor: A float tensor of shape [batch_size, num_anchors, + num_classes] representing the predicted logits for each class + target_tensor: A float tensor of shape [batch_size, num_anchors, + num_classes] representing one-hot encoded classification targets + weights: a float tensor of shape [batch_size, num_anchors] + + Returns: + loss: a (scalar) tensor representing the value of the loss function + """ + num_classes = prediction_tensor.get_shape().as_list()[-1] + per_row_cross_ent = (tf.nn.softmax_cross_entropy_with_logits( + labels=tf.reshape(target_tensor, [-1, num_classes]), + logits=tf.reshape(prediction_tensor, [-1, num_classes]))) + if self._anchorwise_output: + return tf.reshape(per_row_cross_ent, tf.shape(weights)) * weights + return tf.reduce_sum(per_row_cross_ent * tf.reshape(weights, [-1])) + + +class BootstrappedSigmoidClassificationLoss(Loss): + """Bootstrapped sigmoid cross entropy classification loss function. + + This loss uses a convex combination of training labels and the current model's + predictions as training targets in the classification loss. The idea is that + as the model improves over time, its predictions can be trusted more and we + can use these predictions to mitigate the damage of noisy/incorrect labels, + because incorrect labels are likely to be eventually highly inconsistent with + other stimuli predicted to have the same label by the model. + + In "soft" bootstrapping, we use all predicted class probabilities, whereas in + "hard" bootstrapping, we use the single class favored by the model. + + See also Training Deep Neural Networks On Noisy Labels with Bootstrapping by + Reed et al. (ICLR 2015). + """ + + def __init__(self, alpha, bootstrap_type='soft', anchorwise_output=False): + """Constructor. + + Args: + alpha: a float32 scalar tensor between 0 and 1 representing interpolation + weight + bootstrap_type: set to either 'hard' or 'soft' (default) + anchorwise_output: Outputs loss per anchor. (default False) + + Raises: + ValueError: if bootstrap_type is not either 'hard' or 'soft' + """ + if bootstrap_type != 'hard' and bootstrap_type != 'soft': + raise ValueError('Unrecognized bootstrap_type: must be one of ' + '\'hard\' or \'soft.\'') + self._alpha = alpha + self._bootstrap_type = bootstrap_type + self._anchorwise_output = anchorwise_output + + def _compute_loss(self, prediction_tensor, target_tensor, weights): + """Compute loss function. + + Args: + prediction_tensor: A float tensor of shape [batch_size, num_anchors, + num_classes] representing the predicted logits for each class + target_tensor: A float tensor of shape [batch_size, num_anchors, + num_classes] representing one-hot encoded classification targets + weights: a float tensor of shape [batch_size, num_anchors] + + Returns: + loss: a (scalar) tensor representing the value of the loss function + or a float tensor of shape [batch_size, num_anchors] + """ + if self._bootstrap_type == 'soft': + bootstrap_target_tensor = self._alpha * target_tensor + ( + 1.0 - self._alpha) * tf.sigmoid(prediction_tensor) + else: + bootstrap_target_tensor = self._alpha * target_tensor + ( + 1.0 - self._alpha) * tf.cast( + tf.sigmoid(prediction_tensor) > 0.5, tf.float32) + per_entry_cross_ent = (tf.nn.sigmoid_cross_entropy_with_logits( + labels=bootstrap_target_tensor, logits=prediction_tensor)) + if self._anchorwise_output: + return tf.reduce_sum(per_entry_cross_ent * tf.expand_dims(weights, 2), 2) + return tf.reduce_sum(per_entry_cross_ent * tf.expand_dims(weights, 2)) + + +class HardExampleMiner(object): + """Hard example mining for regions in a list of images. + + Implements hard example mining to select a subset of regions to be + back-propagated. For each image, selects the regions with highest losses, + subject to the condition that a newly selected region cannot have + an IOU > iou_threshold with any of the previously selected regions. + This can be achieved by re-using a greedy non-maximum suppression algorithm. + A constraint on the number of negatives mined per positive region can also be + enforced. + + Reference papers: "Training Region-based Object Detectors with Online + Hard Example Mining" (CVPR 2016) by Srivastava et al., and + "SSD: Single Shot MultiBox Detector" (ECCV 2016) by Liu et al. + """ + + def __init__(self, + num_hard_examples=64, + iou_threshold=0.7, + loss_type='both', + cls_loss_weight=0.05, + loc_loss_weight=0.06, + max_negatives_per_positive=None, + min_negatives_per_image=0): + """Constructor. + + The hard example mining implemented by this class can replicate the behavior + in the two aforementioned papers (Srivastava et al., and Liu et al). + To replicate the A2 paper (Srivastava et al), num_hard_examples is set + to a fixed parameter (64 by default) and iou_threshold is set to .7 for + running non-max-suppression the predicted boxes prior to hard mining. + In order to replicate the SSD paper (Liu et al), num_hard_examples should + be set to None, max_negatives_per_positive should be 3 and iou_threshold + should be 1.0 (in order to effectively turn off NMS). + + Args: + num_hard_examples: maximum number of hard examples to be + selected per image (prior to enforcing max negative to positive ratio + constraint). If set to None, all examples obtained after NMS are + considered. + iou_threshold: minimum intersection over union for an example + to be discarded during NMS. + loss_type: use only classification losses ('cls', default), + localization losses ('loc') or both losses ('both'). + In the last case, cls_loss_weight and loc_loss_weight are used to + compute weighted sum of the two losses. + cls_loss_weight: weight for classification loss. + loc_loss_weight: weight for location loss. + max_negatives_per_positive: maximum number of negatives to retain for + each positive anchor. By default, num_negatives_per_positive is None, + which means that we do not enforce a prespecified negative:positive + ratio. Note also that num_negatives_per_positives can be a float + (and will be converted to be a float even if it is passed in otherwise). + min_negatives_per_image: minimum number of negative anchors to sample for + a given image. Setting this to a positive number allows sampling + negatives in an image without any positive anchors and thus not biased + towards at least one detection per image. + """ + self._num_hard_examples = num_hard_examples + self._iou_threshold = iou_threshold + self._loss_type = loss_type + self._cls_loss_weight = cls_loss_weight + self._loc_loss_weight = loc_loss_weight + self._max_negatives_per_positive = max_negatives_per_positive + self._min_negatives_per_image = min_negatives_per_image + if self._max_negatives_per_positive is not None: + self._max_negatives_per_positive = float(self._max_negatives_per_positive) + self._num_positives_list = None + self._num_negatives_list = None + + def __call__(self, + location_losses, + cls_losses, + decoded_boxlist_list, + match_list=None): + """Computes localization and classification losses after hard mining. + + Args: + location_losses: a float tensor of shape [num_images, num_anchors] + representing anchorwise localization losses. + cls_losses: a float tensor of shape [num_images, num_anchors] + representing anchorwise classification losses. + decoded_boxlist_list: a list of decoded BoxList representing location + predictions for each image. + match_list: an optional list of matcher.Match objects encoding the match + between anchors and groundtruth boxes for each image of the batch, + with rows of the Match objects corresponding to groundtruth boxes + and columns corresponding to anchors. Match objects in match_list are + used to reference which anchors are positive, negative or ignored. If + self._max_negatives_per_positive exists, these are then used to enforce + a prespecified negative to positive ratio. + + Returns: + mined_location_loss: a float scalar with sum of localization losses from + selected hard examples. + mined_cls_loss: a float scalar with sum of classification losses from + selected hard examples. + Raises: + ValueError: if location_losses, cls_losses and decoded_boxlist_list do + not have compatible shapes (i.e., they must correspond to the same + number of images). + ValueError: if match_list is specified but its length does not match + len(decoded_boxlist_list). + """ + mined_location_losses = [] + mined_cls_losses = [] + location_losses = tf.unstack(location_losses) + cls_losses = tf.unstack(cls_losses) + num_images = len(decoded_boxlist_list) + if not match_list: + match_list = num_images * [None] + if not len(location_losses) == len(decoded_boxlist_list) == len(cls_losses): + raise ValueError('location_losses, cls_losses and decoded_boxlist_list ' + 'do not have compatible shapes.') + if not isinstance(match_list, list): + raise ValueError('match_list must be a list.') + if len(match_list) != len(decoded_boxlist_list): + raise ValueError('match_list must either be None or have ' + 'length=len(decoded_boxlist_list).') + num_positives_list = [] + num_negatives_list = [] + for ind, detection_boxlist in enumerate(decoded_boxlist_list): + box_locations = detection_boxlist.get() + match = match_list[ind] + image_losses = cls_losses[ind] + if self._loss_type == 'loc': + image_losses = location_losses[ind] + elif self._loss_type == 'both': + image_losses *= self._cls_loss_weight + image_losses += location_losses[ind] * self._loc_loss_weight + if self._num_hard_examples is not None: + num_hard_examples = self._num_hard_examples + else: + num_hard_examples = detection_boxlist.num_boxes() + selected_indices = tf.image.non_max_suppression( + box_locations, image_losses, num_hard_examples, self._iou_threshold) + if self._max_negatives_per_positive is not None and match: + (selected_indices, num_positives, + num_negatives) = self._subsample_selection_to_desired_neg_pos_ratio( + selected_indices, match, self._max_negatives_per_positive, + self._min_negatives_per_image) + num_positives_list.append(num_positives) + num_negatives_list.append(num_negatives) + mined_location_losses.append( + tf.reduce_sum(tf.gather(location_losses[ind], selected_indices))) + mined_cls_losses.append( + tf.reduce_sum(tf.gather(cls_losses[ind], selected_indices))) + location_loss = tf.reduce_sum(tf.stack(mined_location_losses)) + cls_loss = tf.reduce_sum(tf.stack(mined_cls_losses)) + if match and self._max_negatives_per_positive: + self._num_positives_list = num_positives_list + self._num_negatives_list = num_negatives_list + return (location_loss, cls_loss) + + def summarize(self): + """Summarize the number of positives and negatives after mining.""" + if self._num_positives_list and self._num_negatives_list: + avg_num_positives = tf.reduce_mean(tf.to_float(self._num_positives_list)) + avg_num_negatives = tf.reduce_mean(tf.to_float(self._num_negatives_list)) + tf.summary.scalar('HardExampleMiner/NumPositives', avg_num_positives) + tf.summary.scalar('HardExampleMiner/NumNegatives', avg_num_negatives) + + def _subsample_selection_to_desired_neg_pos_ratio(self, + indices, + match, + max_negatives_per_positive, + min_negatives_per_image=0): + """Subsample a collection of selected indices to a desired neg:pos ratio. + + This function takes a subset of M indices (indexing into a large anchor + collection of N anchors where M=0, + meaning that column i is matched with row match_results[i]. + (2) match_results[i]=-1, meaning that column i is not matched. + (3) match_results[i]=-2, meaning that column i is ignored. + + Raises: + ValueError: if match_results does not have rank 1 or is not an + integer int32 scalar tensor + """ + if match_results.shape.ndims != 1: + raise ValueError('match_results should have rank 1') + if match_results.dtype != tf.int32: + raise ValueError('match_results should be an int32 or int64 scalar ' + 'tensor') + self._match_results = match_results + + @property + def match_results(self): + """The accessor for match results. + + Returns: + the tensor which encodes the match results. + """ + return self._match_results + + def matched_column_indices(self): + """Returns column indices that match to some row. + + The indices returned by this op are always sorted in increasing order. + + Returns: + column_indices: int32 tensor of shape [K] with column indices. + """ + return self._reshape_and_cast(tf.where(tf.greater(self._match_results, -1))) + + def matched_column_indicator(self): + """Returns column indices that are matched. + + Returns: + column_indices: int32 tensor of shape [K] with column indices. + """ + return tf.greater_equal(self._match_results, 0) + + def num_matched_columns(self): + """Returns number (int32 scalar tensor) of matched columns.""" + return tf.size(self.matched_column_indices()) + + def unmatched_column_indices(self): + """Returns column indices that do not match any row. + + The indices returned by this op are always sorted in increasing order. + + Returns: + column_indices: int32 tensor of shape [K] with column indices. + """ + return self._reshape_and_cast(tf.where(tf.equal(self._match_results, -1))) + + def unmatched_column_indicator(self): + """Returns column indices that are unmatched. + + Returns: + column_indices: int32 tensor of shape [K] with column indices. + """ + return tf.equal(self._match_results, -1) + + def num_unmatched_columns(self): + """Returns number (int32 scalar tensor) of unmatched columns.""" + return tf.size(self.unmatched_column_indices()) + + def ignored_column_indices(self): + """Returns column indices that are ignored (neither Matched nor Unmatched). + + The indices returned by this op are always sorted in increasing order. + + Returns: + column_indices: int32 tensor of shape [K] with column indices. + """ + return self._reshape_and_cast(tf.where(self.ignored_column_indicator())) + + def ignored_column_indicator(self): + """Returns boolean column indicator where True means the colum is ignored. + + Returns: + column_indicator: boolean vector which is True for all ignored column + indices. + """ + return tf.equal(self._match_results, -2) + + def num_ignored_columns(self): + """Returns number (int32 scalar tensor) of matched columns.""" + return tf.size(self.ignored_column_indices()) + + def unmatched_or_ignored_column_indices(self): + """Returns column indices that are unmatched or ignored. + + The indices returned by this op are always sorted in increasing order. + + Returns: + column_indices: int32 tensor of shape [K] with column indices. + """ + return self._reshape_and_cast(tf.where(tf.greater(0, self._match_results))) + + def matched_row_indices(self): + """Returns row indices that match some column. + + The indices returned by this op are ordered so as to be in correspondence + with the output of matched_column_indicator(). For example if + self.matched_column_indicator() is [0,2], and self.matched_row_indices() is + [7, 3], then we know that column 0 was matched to row 7 and column 2 was + matched to row 3. + + Returns: + row_indices: int32 tensor of shape [K] with row indices. + """ + return self._reshape_and_cast( + tf.gather(self._match_results, self.matched_column_indices())) + + def _reshape_and_cast(self, t): + return tf.cast(tf.reshape(t, [-1]), tf.int32) + + +class Matcher(object): + """Abstract base class for matcher. + """ + __metaclass__ = ABCMeta + + def match(self, similarity_matrix, scope=None, **params): + """Computes matches among row and column indices and returns the result. + + Computes matches among the row and column indices based on the similarity + matrix and optional arguments. + + Args: + similarity_matrix: Float tensor of shape [N, M] with pairwise similarity + where higher value means more similar. + scope: Op scope name. Defaults to 'Match' if None. + **params: Additional keyword arguments for specific implementations of + the Matcher. + + Returns: + A Match object with the results of matching. + """ + with tf.name_scope(scope, 'Match', [similarity_matrix, params]) as scope: + return Match(self._match(similarity_matrix, **params)) + + @abstractmethod + def _match(self, similarity_matrix, **params): + """Method to be overriden by implementations. + + Args: + similarity_matrix: Float tensor of shape [N, M] with pairwise similarity + where higher value means more similar. + **params: Additional keyword arguments for specific implementations of + the Matcher. + + Returns: + match_results: Integer tensor of shape [M]: match_results[i]>=0 means + that column i is matched to row match_results[i], match_results[i]=-1 + means that the column is not matched. match_results[i]=-2 means that + the column is ignored (usually this happens when there is a very weak + match which one neither wants as positive nor negative example). + """ + pass diff --git a/object_detection/core/matcher_test.py b/object_detection/core/matcher_test.py new file mode 100644 index 000000000..7054015f2 --- /dev/null +++ b/object_detection/core/matcher_test.py @@ -0,0 +1,150 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.matcher.""" +import numpy as np +import tensorflow as tf + +from object_detection.core import matcher + + +class AnchorMatcherTest(tf.test.TestCase): + + def test_get_correct_matched_columnIndices(self): + match_results = tf.constant([3, 1, -1, 0, -1, 5, -2]) + match = matcher.Match(match_results) + expected_column_indices = [0, 1, 3, 5] + matched_column_indices = match.matched_column_indices() + self.assertEquals(matched_column_indices.dtype, tf.int32) + with self.test_session() as sess: + matched_column_indices = sess.run(matched_column_indices) + self.assertAllEqual(matched_column_indices, expected_column_indices) + + def test_get_correct_counts(self): + match_results = tf.constant([3, 1, -1, 0, -1, 5, -2]) + match = matcher.Match(match_results) + exp_num_matched_columns = 4 + exp_num_unmatched_columns = 2 + exp_num_ignored_columns = 1 + num_matched_columns = match.num_matched_columns() + num_unmatched_columns = match.num_unmatched_columns() + num_ignored_columns = match.num_ignored_columns() + self.assertEquals(num_matched_columns.dtype, tf.int32) + self.assertEquals(num_unmatched_columns.dtype, tf.int32) + self.assertEquals(num_ignored_columns.dtype, tf.int32) + with self.test_session() as sess: + (num_matched_columns_out, num_unmatched_columns_out, + num_ignored_columns_out) = sess.run( + [num_matched_columns, num_unmatched_columns, num_ignored_columns]) + self.assertAllEqual(num_matched_columns_out, exp_num_matched_columns) + self.assertAllEqual(num_unmatched_columns_out, exp_num_unmatched_columns) + self.assertAllEqual(num_ignored_columns_out, exp_num_ignored_columns) + + def testGetCorrectUnmatchedColumnIndices(self): + match_results = tf.constant([3, 1, -1, 0, -1, 5, -2]) + match = matcher.Match(match_results) + expected_column_indices = [2, 4] + unmatched_column_indices = match.unmatched_column_indices() + self.assertEquals(unmatched_column_indices.dtype, tf.int32) + with self.test_session() as sess: + unmatched_column_indices = sess.run(unmatched_column_indices) + self.assertAllEqual(unmatched_column_indices, expected_column_indices) + + def testGetCorrectMatchedRowIndices(self): + match_results = tf.constant([3, 1, -1, 0, -1, 5, -2]) + match = matcher.Match(match_results) + expected_row_indices = [3, 1, 0, 5] + matched_row_indices = match.matched_row_indices() + self.assertEquals(matched_row_indices.dtype, tf.int32) + with self.test_session() as sess: + matched_row_inds = sess.run(matched_row_indices) + self.assertAllEqual(matched_row_inds, expected_row_indices) + + def test_get_correct_ignored_column_indices(self): + match_results = tf.constant([3, 1, -1, 0, -1, 5, -2]) + match = matcher.Match(match_results) + expected_column_indices = [6] + ignored_column_indices = match.ignored_column_indices() + self.assertEquals(ignored_column_indices.dtype, tf.int32) + with self.test_session() as sess: + ignored_column_indices = sess.run(ignored_column_indices) + self.assertAllEqual(ignored_column_indices, expected_column_indices) + + def test_get_correct_matched_column_indicator(self): + match_results = tf.constant([3, 1, -1, 0, -1, 5, -2]) + match = matcher.Match(match_results) + expected_column_indicator = [True, True, False, True, False, True, False] + matched_column_indicator = match.matched_column_indicator() + self.assertEquals(matched_column_indicator.dtype, tf.bool) + with self.test_session() as sess: + matched_column_indicator = sess.run(matched_column_indicator) + self.assertAllEqual(matched_column_indicator, expected_column_indicator) + + def test_get_correct_unmatched_column_indicator(self): + match_results = tf.constant([3, 1, -1, 0, -1, 5, -2]) + match = matcher.Match(match_results) + expected_column_indicator = [False, False, True, False, True, False, False] + unmatched_column_indicator = match.unmatched_column_indicator() + self.assertEquals(unmatched_column_indicator.dtype, tf.bool) + with self.test_session() as sess: + unmatched_column_indicator = sess.run(unmatched_column_indicator) + self.assertAllEqual(unmatched_column_indicator, expected_column_indicator) + + def test_get_correct_ignored_column_indicator(self): + match_results = tf.constant([3, 1, -1, 0, -1, 5, -2]) + match = matcher.Match(match_results) + expected_column_indicator = [False, False, False, False, False, False, True] + ignored_column_indicator = match.ignored_column_indicator() + self.assertEquals(ignored_column_indicator.dtype, tf.bool) + with self.test_session() as sess: + ignored_column_indicator = sess.run(ignored_column_indicator) + self.assertAllEqual(ignored_column_indicator, expected_column_indicator) + + def test_get_correct_unmatched_ignored_column_indices(self): + match_results = tf.constant([3, 1, -1, 0, -1, 5, -2]) + match = matcher.Match(match_results) + expected_column_indices = [2, 4, 6] + unmatched_ignored_column_indices = (match. + unmatched_or_ignored_column_indices()) + self.assertEquals(unmatched_ignored_column_indices.dtype, tf.int32) + with self.test_session() as sess: + unmatched_ignored_column_indices = sess.run( + unmatched_ignored_column_indices) + self.assertAllEqual(unmatched_ignored_column_indices, + expected_column_indices) + + def test_all_columns_accounted_for(self): + # Note: deliberately setting to small number so not always + # all possibilities appear (matched, unmatched, ignored) + num_matches = 10 + match_results = tf.random_uniform( + [num_matches], minval=-2, maxval=5, dtype=tf.int32) + match = matcher.Match(match_results) + matched_column_indices = match.matched_column_indices() + unmatched_column_indices = match.unmatched_column_indices() + ignored_column_indices = match.ignored_column_indices() + with self.test_session() as sess: + matched, unmatched, ignored = sess.run([ + matched_column_indices, unmatched_column_indices, + ignored_column_indices + ]) + all_indices = np.hstack((matched, unmatched, ignored)) + all_indices_sorted = np.sort(all_indices) + self.assertAllEqual(all_indices_sorted, + np.arange(num_matches, dtype=np.int32)) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/minibatch_sampler.py b/object_detection/core/minibatch_sampler.py new file mode 100644 index 000000000..dc622221a --- /dev/null +++ b/object_detection/core/minibatch_sampler.py @@ -0,0 +1,90 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Base minibatch sampler module. + +The job of the minibatch_sampler is to subsample a minibatch based on some +criterion. + +The main function call is: + subsample(indicator, batch_size, **params). +Indicator is a 1d boolean tensor where True denotes which examples can be +sampled. It returns a boolean indicator where True denotes an example has been +sampled.. + +Subclasses should implement the Subsample function and can make use of the +@staticmethod SubsampleIndicator. +""" + +from abc import ABCMeta +from abc import abstractmethod + +import tensorflow as tf + +from object_detection.utils import ops + + +class MinibatchSampler(object): + """Abstract base class for subsampling minibatches.""" + __metaclass__ = ABCMeta + + def __init__(self): + """Constructs a minibatch sampler.""" + pass + + @abstractmethod + def subsample(self, indicator, batch_size, **params): + """Returns subsample of entries in indicator. + + Args: + indicator: boolean tensor of shape [N] whose True entries can be sampled. + batch_size: desired batch size. + **params: additional keyword arguments for specific implementations of + the MinibatchSampler. + + Returns: + sample_indicator: boolean tensor of shape [N] whose True entries have been + sampled. If sum(indicator) >= batch_size, sum(is_sampled) = batch_size + """ + pass + + @staticmethod + def subsample_indicator(indicator, num_samples): + """Subsample indicator vector. + + Given a boolean indicator vector with M elements set to `True`, the function + assigns all but `num_samples` of these previously `True` elements to + `False`. If `num_samples` is greater than M, the original indicator vector + is returned. + + Args: + indicator: a 1-dimensional boolean tensor indicating which elements + are allowed to be sampled and which are not. + num_samples: int32 scalar tensor + + Returns: + a boolean tensor with the same shape as input (indicator) tensor + """ + indices = tf.where(indicator) + indices = tf.random_shuffle(indices) + indices = tf.reshape(indices, [-1]) + + num_samples = tf.minimum(tf.size(indices), num_samples) + selected_indices = tf.slice(indices, [0], tf.reshape(num_samples, [1])) + + selected_indicator = ops.indices_to_dense_vector(selected_indices, + tf.shape(indicator)[0]) + + return tf.equal(selected_indicator, 1) diff --git a/object_detection/core/minibatch_sampler_test.py b/object_detection/core/minibatch_sampler_test.py new file mode 100644 index 000000000..7420ae5d0 --- /dev/null +++ b/object_detection/core/minibatch_sampler_test.py @@ -0,0 +1,82 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for google3.research.vale.object_detection.minibatch_sampler.""" + +import numpy as np +import tensorflow as tf + +from object_detection.core import minibatch_sampler + + +class MinibatchSamplerTest(tf.test.TestCase): + + def test_subsample_indicator_when_more_true_elements_than_num_samples(self): + np_indicator = [True, False, True, False, True, True, False] + indicator = tf.constant(np_indicator) + samples = minibatch_sampler.MinibatchSampler.subsample_indicator( + indicator, 3) + with self.test_session() as sess: + samples_out = sess.run(samples) + self.assertTrue(np.sum(samples_out), 3) + self.assertAllEqual(samples_out, + np.logical_and(samples_out, np_indicator)) + + def test_subsample_when_more_true_elements_than_num_samples_no_shape(self): + np_indicator = [True, False, True, False, True, True, False] + indicator = tf.placeholder(tf.bool) + feed_dict = {indicator: np_indicator} + + samples = minibatch_sampler.MinibatchSampler.subsample_indicator( + indicator, 3) + with self.test_session() as sess: + samples_out = sess.run(samples, feed_dict=feed_dict) + self.assertTrue(np.sum(samples_out), 3) + self.assertAllEqual(samples_out, + np.logical_and(samples_out, np_indicator)) + + def test_subsample_indicator_when_less_true_elements_than_num_samples(self): + np_indicator = [True, False, True, False, True, True, False] + indicator = tf.constant(np_indicator) + samples = minibatch_sampler.MinibatchSampler.subsample_indicator( + indicator, 5) + with self.test_session() as sess: + samples_out = sess.run(samples) + self.assertTrue(np.sum(samples_out), 4) + self.assertAllEqual(samples_out, + np.logical_and(samples_out, np_indicator)) + + def test_subsample_indicator_when_num_samples_is_zero(self): + np_indicator = [True, False, True, False, True, True, False] + indicator = tf.constant(np_indicator) + samples_none = minibatch_sampler.MinibatchSampler.subsample_indicator( + indicator, 0) + with self.test_session() as sess: + samples_none_out = sess.run(samples_none) + self.assertAllEqual( + np.zeros_like(samples_none_out, dtype=bool), + samples_none_out) + + def test_subsample_indicator_when_indicator_all_false(self): + indicator_empty = tf.zeros([0], dtype=tf.bool) + samples_empty = minibatch_sampler.MinibatchSampler.subsample_indicator( + indicator_empty, 4) + with self.test_session() as sess: + samples_empty_out = sess.run(samples_empty) + self.assertEqual(0, samples_empty_out.size) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/model.py b/object_detection/core/model.py new file mode 100644 index 000000000..b8a448b65 --- /dev/null +++ b/object_detection/core/model.py @@ -0,0 +1,252 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Abstract detection model. + +This file defines a generic base class for detection models. Programs that are +designed to work with arbitrary detection models should only depend on this +class. We intend for the functions in this class to follow tensor-in/tensor-out +design, thus all functions have tensors or lists/dictionaries holding tensors as +inputs and outputs. + +Abstractly, detection models predict output tensors given input images +which can be passed to a loss function at training time or passed to a +postprocessing function at eval time. The computation graphs at a high level +consequently look as follows: + +Training time: +inputs (images tensor) -> preprocess -> predict -> loss -> outputs (loss tensor) + +Evaluation time: +inputs (images tensor) -> preprocess -> predict -> postprocess + -> outputs (boxes tensor, scores tensor, classes tensor, num_detections tensor) + +DetectionModels must thus implement four functions (1) preprocess, (2) predict, +(3) postprocess and (4) loss. DetectionModels should make no assumptions about +the input size or aspect ratio --- they are responsible for doing any +resize/reshaping necessary (see docstring for the preprocess function). +Output classes are always integers in the range [0, num_classes). Any mapping +of these integers to semantic labels is to be handled outside of this class. + +By default, DetectionModels produce bounding box detections; However, we support +a handful of auxiliary annotations associated with each bounding box, namely, +instance masks and keypoints. +""" +from abc import ABCMeta +from abc import abstractmethod + +from object_detection.core import standard_fields as fields + + +class DetectionModel(object): + """Abstract base class for detection models.""" + __metaclass__ = ABCMeta + + def __init__(self, num_classes): + """Constructor. + + Args: + num_classes: number of classes. Note that num_classes *does not* include + background categories that might be implicitly be predicted in various + implementations. + """ + self._num_classes = num_classes + self._groundtruth_lists = {} + + @property + def num_classes(self): + return self._num_classes + + def groundtruth_lists(self, field): + """Access list of groundtruth tensors. + + Args: + field: a string key, options are + fields.BoxListFields.{boxes,classes,masks,keypoints} + + Returns: + a list of tensors holding groundtruth information (see also + provide_groundtruth function below), with one entry for each image in the + batch. + Raises: + RuntimeError: if the field has not been provided via provide_groundtruth. + """ + if field not in self._groundtruth_lists: + raise RuntimeError('Groundtruth tensor %s has not been provided', field) + return self._groundtruth_lists[field] + + @abstractmethod + def preprocess(self, inputs): + """Input preprocessing. + + To be overridden by implementations. + + This function is responsible for any scaling/shifting of input values that + is necessary prior to running the detector on an input image. + It is also responsible for any resizing that might be necessary as images + are assumed to arrive in arbitrary sizes. While this function could + conceivably be part of the predict method (below), it is often convenient + to keep these separate --- for example, we may want to preprocess on one + device, place onto a queue, and let another device (e.g., the GPU) handle + prediction. + + A few important notes about the preprocess function: + + We assume that this operation does not have any trainable variables nor + does it affect the groundtruth annotations in any way (thus data + augmentation operations such as random cropping should be performed + externally). + + There is no assumption that the batchsize in this function is the same as + the batch size in the predict function. In fact, we recommend calling the + preprocess function prior to calling any batching operations (which should + happen outside of the model) and thus assuming that batch sizes are equal + to 1 in the preprocess function. + + There is also no explicit assumption that the output resolutions + must be fixed across inputs --- this is to support "fully convolutional" + settings in which input images can have different shapes/resolutions. + + Args: + inputs: a [batch, height_in, width_in, channels] float32 tensor + representing a batch of images with values between 0 and 255.0. + + Returns: + preprocessed_inputs: a [batch, height_out, width_out, channels] float32 + tensor representing a batch of images. + """ + pass + + @abstractmethod + def predict(self, preprocessed_inputs): + """Predict prediction tensors from inputs tensor. + + Outputs of this function can be passed to loss or postprocess functions. + + Args: + preprocessed_inputs: a [batch, height, width, channels] float32 tensor + representing a batch of images. + + Returns: + prediction_dict: a dictionary holding prediction tensors to be + passed to the Loss or Postprocess functions. + """ + pass + + @abstractmethod + def postprocess(self, prediction_dict, **params): + """Convert predicted output tensors to final detections. + + Outputs adhere to the following conventions: + * Classes are integers in [0, num_classes); background classes are removed + and the first non-background class is mapped to 0. + * Boxes are to be interpreted as being in [y_min, x_min, y_max, x_max] + format and normalized relative to the image window. + * `num_detections` is provided for settings where detections are padded to a + fixed number of boxes. + * We do not specifically assume any kind of probabilistic interpretation + of the scores --- the only important thing is their relative ordering. + Thus implementations of the postprocess function are free to output + logits, probabilities, calibrated probabilities, or anything else. + + Args: + prediction_dict: a dictionary holding prediction tensors. + **params: Additional keyword arguments for specific implementations of + DetectionModel. + + Returns: + detections: a dictionary containing the following fields + detection_boxes: [batch, max_detections, 4] + detection_scores: [batch, max_detections] + detection_classes: [batch, max_detections] + instance_masks: [batch, max_detections, image_height, image_width] + (optional) + keypoints: [batch, max_detections, num_keypoints, 2] (optional) + num_detections: [batch] + """ + pass + + @abstractmethod + def loss(self, prediction_dict): + """Compute scalar loss tensors with respect to provided groundtruth. + + Calling this function requires that groundtruth tensors have been + provided via the provide_groundtruth function. + + Args: + prediction_dict: a dictionary holding predicted tensors + + Returns: + a dictionary mapping strings (loss names) to scalar tensors representing + loss values. + """ + pass + + def provide_groundtruth(self, + groundtruth_boxes_list, + groundtruth_classes_list, + groundtruth_masks_list=None, + groundtruth_keypoints_list=None): + """Provide groundtruth tensors. + + Args: + groundtruth_boxes_list: a list of 2-D tf.float32 tensors of shape + [num_boxes, 4] containing coordinates of the groundtruth boxes. + Groundtruth boxes are provided in [y_min, x_min, y_max, x_max] + format and assumed to be normalized and clipped + relative to the image window with y_min <= y_max and x_min <= x_max. + groundtruth_classes_list: a list of 2-D tf.float32 one-hot (or k-hot) + tensors of shape [num_boxes, num_classes] containing the class targets + with the 0th index assumed to map to the first non-background class. + groundtruth_masks_list: a list of 2-D tf.float32 tensors of + shape [max_detections, height_in, width_in] containing instance + masks with values in {0, 1}. If None, no masks are provided. + Mask resolution `height_in`x`width_in` must agree with the resolution + of the input image tensor provided to the `preprocess` function. + groundtruth_keypoints_list: a list of 2-D tf.float32 tensors of + shape [batch, max_detections, num_keypoints, 2] containing keypoints. + Keypoints are assumed to be provided in normalized coordinates and + missing keypoints should be encoded as NaN. + """ + self._groundtruth_lists[fields.BoxListFields.boxes] = groundtruth_boxes_list + self._groundtruth_lists[ + fields.BoxListFields.classes] = groundtruth_classes_list + if groundtruth_masks_list: + self._groundtruth_lists[ + fields.BoxListFields.masks] = groundtruth_masks_list + if groundtruth_keypoints_list: + self._groundtruth_lists[ + fields.BoxListFields.keypoints] = groundtruth_keypoints_list + + @abstractmethod + def restore_fn(self, checkpoint_path, from_detection_checkpoint=True): + """Return callable for loading a foreign checkpoint into tensorflow graph. + + Loads variables from a different tensorflow graph (typically feature + extractor variables). This enables the model to initialize based on weights + from another task. For example, the feature extractor variables from a + classification model can be used to bootstrap training of an object + detector. When loading from an object detection model, the checkpoint model + should have the same parameters as this detection model with exception of + the num_classes parameter. + + Args: + checkpoint_path: path to checkpoint to restore. + from_detection_checkpoint: whether to restore from a full detection + checkpoint (with compatible variable names) or to restore from a + classification checkpoint for initialization prior to training. + + Returns: + a callable which takes a tf.Session as input and loads a checkpoint when + run. + """ + pass diff --git a/object_detection/core/post_processing.py b/object_detection/core/post_processing.py new file mode 100644 index 000000000..cda26f25e --- /dev/null +++ b/object_detection/core/post_processing.py @@ -0,0 +1,298 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Post-processing operations on detected boxes.""" + +import tensorflow as tf + +from object_detection.core import box_list +from object_detection.core import box_list_ops +from object_detection.core import standard_fields as fields + + +def multiclass_non_max_suppression(boxes, + scores, + score_thresh, + iou_thresh, + max_size_per_class, + max_total_size=0, + clip_window=None, + change_coordinate_frame=False, + masks=None, + additional_fields=None, + scope=None): + """Multi-class version of non maximum suppression. + + This op greedily selects a subset of detection bounding boxes, pruning + away boxes that have high IOU (intersection over union) overlap (> thresh) + with already selected boxes. It operates independently for each class for + which scores are provided (via the scores field of the input box_list), + pruning boxes with score less than a provided threshold prior to + applying NMS. + + Please note that this operation is performed on *all* classes, therefore any + background classes should be removed prior to calling this function. + + Args: + boxes: A [k, q, 4] float32 tensor containing k detections. `q` can be either + number of classes or 1 depending on whether a separate box is predicted + per class. + scores: A [k, num_classes] float32 tensor containing the scores for each of + the k detections. + score_thresh: scalar threshold for score (low scoring boxes are removed). + iou_thresh: scalar threshold for IOU (new boxes that have high IOU overlap + with previously selected boxes are removed). + max_size_per_class: maximum number of retained boxes per class. + max_total_size: maximum number of boxes retained over all classes. By + default returns all boxes retained after capping boxes per class. + clip_window: A float32 tensor of the form [y_min, x_min, y_max, x_max] + representing the window to clip and normalize boxes to before performing + non-max suppression. + change_coordinate_frame: Whether to normalize coordinates after clipping + relative to clip_window (this can only be set to True if a clip_window + is provided) + masks: (optional) a [k, q, mask_height, mask_width] float32 tensor + containing box masks. `q` can be either number of classes or 1 depending + on whether a separate mask is predicted per class. + additional_fields: (optional) If not None, a dictionary that maps keys to + tensors whose first dimensions are all of size `k`. After non-maximum + suppression, all tensors corresponding to the selected boxes will be + added to resulting BoxList. + scope: name scope. + + Returns: + a BoxList holding M boxes with a rank-1 scores field representing + corresponding scores for each box with scores sorted in decreasing order + and a rank-1 classes field representing a class label for each box. + If masks, keypoints, keypoint_heatmaps is not None, the boxlist will + contain masks, keypoints, keypoint_heatmaps corresponding to boxes. + + Raises: + ValueError: if iou_thresh is not in [0, 1] or if input boxlist does not have + a valid scores field. + """ + if not 0 <= iou_thresh <= 1.0: + raise ValueError('iou_thresh must be between 0 and 1') + if scores.shape.ndims != 2: + raise ValueError('scores field must be of rank 2') + if scores.shape[1].value is None: + raise ValueError('scores must have statically defined second ' + 'dimension') + if boxes.shape.ndims != 3: + raise ValueError('boxes must be of rank 3.') + if not (boxes.shape[1].value == scores.shape[1].value or + boxes.shape[1].value == 1): + raise ValueError('second dimension of boxes must be either 1 or equal ' + 'to the second dimension of scores') + if boxes.shape[2].value != 4: + raise ValueError('last dimension of boxes must be of size 4.') + if change_coordinate_frame and clip_window is None: + raise ValueError('if change_coordinate_frame is True, then a clip_window' + 'must be specified.') + + with tf.name_scope(scope, 'MultiClassNonMaxSuppression'): + num_boxes = tf.shape(boxes)[0] + num_scores = tf.shape(scores)[0] + num_classes = scores.get_shape()[1] + + length_assert = tf.Assert( + tf.equal(num_boxes, num_scores), + ['Incorrect scores field length: actual vs expected.', + num_scores, num_boxes]) + + selected_boxes_list = [] + per_class_boxes_list = tf.unstack(boxes, axis=1) + if masks is not None: + per_class_masks_list = tf.unstack(masks, axis=1) + boxes_ids = (range(num_classes) if len(per_class_boxes_list) > 1 + else [0] * num_classes) + for class_idx, boxes_idx in zip(range(num_classes), boxes_ids): + per_class_boxes = per_class_boxes_list[boxes_idx] + boxlist_and_class_scores = box_list.BoxList(per_class_boxes) + with tf.control_dependencies([length_assert]): + class_scores = tf.reshape( + tf.slice(scores, [0, class_idx], tf.stack([num_scores, 1])), [-1]) + boxlist_and_class_scores.add_field(fields.BoxListFields.scores, + class_scores) + if masks is not None: + per_class_masks = per_class_masks_list[boxes_idx] + boxlist_and_class_scores.add_field(fields.BoxListFields.masks, + per_class_masks) + if additional_fields is not None: + for key, tensor in additional_fields.iteritems(): + boxlist_and_class_scores.add_field(key, tensor) + boxlist_filtered = box_list_ops.filter_greater_than( + boxlist_and_class_scores, score_thresh) + if clip_window is not None: + boxlist_filtered = box_list_ops.clip_to_window( + boxlist_filtered, clip_window) + if change_coordinate_frame: + boxlist_filtered = box_list_ops.change_coordinate_frame( + boxlist_filtered, clip_window) + max_selection_size = tf.minimum(max_size_per_class, + boxlist_filtered.num_boxes()) + selected_indices = tf.image.non_max_suppression( + boxlist_filtered.get(), + boxlist_filtered.get_field(fields.BoxListFields.scores), + max_selection_size, + iou_threshold=iou_thresh) + nms_result = box_list_ops.gather(boxlist_filtered, selected_indices) + nms_result.add_field( + fields.BoxListFields.classes, (tf.zeros_like( + nms_result.get_field(fields.BoxListFields.scores)) + class_idx)) + selected_boxes_list.append(nms_result) + selected_boxes = box_list_ops.concatenate(selected_boxes_list) + sorted_boxes = box_list_ops.sort_by_field(selected_boxes, + fields.BoxListFields.scores) + if max_total_size: + max_total_size = tf.minimum(max_total_size, + sorted_boxes.num_boxes()) + sorted_boxes = box_list_ops.gather(sorted_boxes, + tf.range(max_total_size)) + return sorted_boxes + + +def batch_multiclass_non_max_suppression(boxes, + scores, + score_thresh, + iou_thresh, + max_size_per_class, + max_total_size=0, + clip_window=None, + change_coordinate_frame=False, + num_valid_boxes=None, + masks=None, + scope=None): + """Multi-class version of non maximum suppression that operates on a batch. + + This op is similar to `multiclass_non_max_suppression` but operates on a batch + of boxes and scores. See documentation for `multiclass_non_max_suppression` + for details. + + Args: + boxes: A [batch_size, num_anchors, q, 4] float32 tensor containing + detections. If `q` is 1 then same boxes are used for all classes + otherwise, if `q` is equal to number of classes, class-specific boxes + are used. + scores: A [batch_size, num_anchors, num_classes] float32 tensor containing + the scores for each of the `num_anchors` detections. + score_thresh: scalar threshold for score (low scoring boxes are removed). + iou_thresh: scalar threshold for IOU (new boxes that have high IOU overlap + with previously selected boxes are removed). + max_size_per_class: maximum number of retained boxes per class. + max_total_size: maximum number of boxes retained over all classes. By + default returns all boxes retained after capping boxes per class. + clip_window: A float32 tensor of the form [y_min, x_min, y_max, x_max] + representing the window to clip boxes to before performing non-max + suppression. + change_coordinate_frame: Whether to normalize coordinates after clipping + relative to clip_window (this can only be set to True if a clip_window + is provided) + num_valid_boxes: (optional) a Tensor of type `int32`. A 1-D tensor of shape + [batch_size] representing the number of valid boxes to be considered + for each image in the batch. This parameter allows for ignoring zero + paddings. + masks: (optional) a [batch_size, num_anchors, q, mask_height, mask_width] + float32 tensor containing box masks. `q` can be either number of classes + or 1 depending on whether a separate mask is predicted per class. + scope: tf scope name. + + Returns: + A dictionary containing the following entries: + 'detection_boxes': A [batch_size, max_detections, 4] float32 tensor + containing the non-max suppressed boxes. + 'detection_scores': A [bath_size, max_detections] float32 tensor containing + the scores for the boxes. + 'detection_classes': A [batch_size, max_detections] float32 tensor + containing the class for boxes. + 'num_detections': A [batchsize] float32 tensor indicating the number of + valid detections per batch item. Only the top num_detections[i] entries in + nms_boxes[i], nms_scores[i] and nms_class[i] are valid. the rest of the + entries are zero paddings. + 'detection_masks': (optional) a + [batch_size, max_detections, mask_height, mask_width] float32 tensor + containing masks for each selected box. + + Raises: + ValueError: if iou_thresh is not in [0, 1] or if input boxlist does not have + a valid scores field. + """ + q = boxes.shape[2].value + num_classes = scores.shape[2].value + if q != 1 and q != num_classes: + raise ValueError('third dimension of boxes must be either 1 or equal ' + 'to the third dimension of scores') + + with tf.name_scope(scope, 'BatchMultiClassNonMaxSuppression'): + per_image_boxes_list = tf.unstack(boxes) + per_image_scores_list = tf.unstack(scores) + num_valid_boxes_list = len(per_image_boxes_list) * [None] + per_image_masks_list = len(per_image_boxes_list) * [None] + if num_valid_boxes is not None: + num_valid_boxes_list = tf.unstack(num_valid_boxes) + if masks is not None: + per_image_masks_list = tf.unstack(masks) + + detection_boxes_list = [] + detection_scores_list = [] + detection_classes_list = [] + num_detections_list = [] + detection_masks_list = [] + for (per_image_boxes, per_image_scores, per_image_masks, num_valid_boxes + ) in zip(per_image_boxes_list, per_image_scores_list, + per_image_masks_list, num_valid_boxes_list): + if num_valid_boxes is not None: + per_image_boxes = tf.reshape( + tf.slice(per_image_boxes, 3*[0], + tf.stack([num_valid_boxes, -1, -1])), [-1, q, 4]) + per_image_scores = tf.reshape( + tf.slice(per_image_scores, [0, 0], + tf.stack([num_valid_boxes, -1])), [-1, num_classes]) + if masks is not None: + per_image_masks = tf.reshape( + tf.slice(per_image_masks, 4*[0], + tf.stack([num_valid_boxes, -1, -1, -1])), + [-1, q, masks.shape[3].value, masks.shape[4].value]) + nmsed_boxlist = multiclass_non_max_suppression( + per_image_boxes, + per_image_scores, + score_thresh, + iou_thresh, + max_size_per_class, + max_total_size, + masks=per_image_masks, + clip_window=clip_window, + change_coordinate_frame=change_coordinate_frame) + num_detections_list.append(tf.to_float(nmsed_boxlist.num_boxes())) + padded_boxlist = box_list_ops.pad_or_clip_box_list(nmsed_boxlist, + max_total_size) + detection_boxes_list.append(padded_boxlist.get()) + detection_scores_list.append( + padded_boxlist.get_field(fields.BoxListFields.scores)) + detection_classes_list.append( + padded_boxlist.get_field(fields.BoxListFields.classes)) + if masks is not None: + detection_masks_list.append( + padded_boxlist.get_field(fields.BoxListFields.masks)) + + nms_dict = { + 'detection_boxes': tf.stack(detection_boxes_list), + 'detection_scores': tf.stack(detection_scores_list), + 'detection_classes': tf.stack(detection_classes_list), + 'num_detections': tf.stack(num_detections_list) + } + if masks is not None: + nms_dict['detection_masks'] = tf.stack(detection_masks_list) + return nms_dict diff --git a/object_detection/core/post_processing_test.py b/object_detection/core/post_processing_test.py new file mode 100644 index 000000000..d2fccec73 --- /dev/null +++ b/object_detection/core/post_processing_test.py @@ -0,0 +1,673 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for tensorflow_models.object_detection.core.post_processing.""" +import numpy as np +import tensorflow as tf +from object_detection.core import post_processing +from object_detection.core import standard_fields as fields + + +class MulticlassNonMaxSuppressionTest(tf.test.TestCase): + + def test_with_invalid_scores_size(self): + boxes = tf.constant([[[0, 0, 1, 1]], + [[0, 0.1, 1, 1.1]], + [[0, -0.1, 1, 0.9]], + [[0, 10, 1, 11]], + [[0, 10.1, 1, 11.1]], + [[0, 100, 1, 101]]], tf.float32) + scores = tf.constant([[.9], [.75], [.6], [.95], [.5]]) + iou_thresh = .5 + score_thresh = 0.6 + max_output_size = 3 + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_output_size) + with self.test_session() as sess: + with self.assertRaisesWithPredicateMatch( + tf.errors.InvalidArgumentError, 'Incorrect scores field length'): + sess.run(nms.get()) + + def test_multiclass_nms_select_with_shared_boxes(self): + boxes = tf.constant([[[0, 0, 1, 1]], + [[0, 0.1, 1, 1.1]], + [[0, -0.1, 1, 0.9]], + [[0, 10, 1, 11]], + [[0, 10.1, 1, 11.1]], + [[0, 100, 1, 101]], + [[0, 1000, 1, 1002]], + [[0, 1000, 1, 1002.1]]], tf.float32) + scores = tf.constant([[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0], + [.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]) + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 4 + + exp_nms_corners = [[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 1000, 1, 1002], + [0, 100, 1, 101]] + exp_nms_scores = [.95, .9, .85, .3] + exp_nms_classes = [0, 0, 1, 0] + + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_output_size) + with self.test_session() as sess: + nms_corners_output, nms_scores_output, nms_classes_output = sess.run( + [nms.get(), nms.get_field(fields.BoxListFields.scores), + nms.get_field(fields.BoxListFields.classes)]) + self.assertAllClose(nms_corners_output, exp_nms_corners) + self.assertAllClose(nms_scores_output, exp_nms_scores) + self.assertAllClose(nms_classes_output, exp_nms_classes) + + def test_multiclass_nms_select_with_shared_boxes_given_keypoints(self): + boxes = tf.constant([[[0, 0, 1, 1]], + [[0, 0.1, 1, 1.1]], + [[0, -0.1, 1, 0.9]], + [[0, 10, 1, 11]], + [[0, 10.1, 1, 11.1]], + [[0, 100, 1, 101]], + [[0, 1000, 1, 1002]], + [[0, 1000, 1, 1002.1]]], tf.float32) + scores = tf.constant([[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0], + [.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]) + num_keypoints = 6 + keypoints = tf.tile( + tf.reshape(tf.range(8), [8, 1, 1]), + [1, num_keypoints, 2]) + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 4 + + exp_nms_corners = [[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 1000, 1, 1002], + [0, 100, 1, 101]] + exp_nms_scores = [.95, .9, .85, .3] + exp_nms_classes = [0, 0, 1, 0] + exp_nms_keypoints_tensor = tf.tile( + tf.reshape(tf.constant([3, 0, 6, 5], dtype=tf.float32), [4, 1, 1]), + [1, num_keypoints, 2]) + + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_output_size, + additional_fields={ + fields.BoxListFields.keypoints: keypoints}) + + with self.test_session() as sess: + (nms_corners_output, + nms_scores_output, + nms_classes_output, + nms_keypoints, + exp_nms_keypoints) = sess.run([ + nms.get(), + nms.get_field(fields.BoxListFields.scores), + nms.get_field(fields.BoxListFields.classes), + nms.get_field(fields.BoxListFields.keypoints), + exp_nms_keypoints_tensor + ]) + self.assertAllClose(nms_corners_output, exp_nms_corners) + self.assertAllClose(nms_scores_output, exp_nms_scores) + self.assertAllClose(nms_classes_output, exp_nms_classes) + self.assertAllEqual(nms_keypoints, exp_nms_keypoints) + + def test_multiclass_nms_with_shared_boxes_given_keypoint_heatmaps(self): + boxes = tf.constant([[[0, 0, 1, 1]], + [[0, 0.1, 1, 1.1]], + [[0, -0.1, 1, 0.9]], + [[0, 10, 1, 11]], + [[0, 10.1, 1, 11.1]], + [[0, 100, 1, 101]], + [[0, 1000, 1, 1002]], + [[0, 1000, 1, 1002.1]]], tf.float32) + + scores = tf.constant([[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0], + [.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]) + + num_boxes = tf.shape(boxes)[0] + heatmap_height = 5 + heatmap_width = 5 + num_keypoints = 17 + keypoint_heatmaps = tf.ones( + [num_boxes, heatmap_height, heatmap_width, num_keypoints], + dtype=tf.float32) + + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 4 + exp_nms_corners = [[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 1000, 1, 1002], + [0, 100, 1, 101]] + + exp_nms_scores = [.95, .9, .85, .3] + exp_nms_classes = [0, 0, 1, 0] + exp_nms_keypoint_heatmaps = np.ones( + (4, heatmap_height, heatmap_width, num_keypoints), dtype=np.float32) + + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_output_size, + additional_fields={ + fields.BoxListFields.keypoint_heatmaps: keypoint_heatmaps}) + + with self.test_session() as sess: + (nms_corners_output, + nms_scores_output, + nms_classes_output, + nms_keypoint_heatmaps) = sess.run( + [nms.get(), + nms.get_field(fields.BoxListFields.scores), + nms.get_field(fields.BoxListFields.classes), + nms.get_field(fields.BoxListFields.keypoint_heatmaps)]) + + self.assertAllClose(nms_corners_output, exp_nms_corners) + self.assertAllClose(nms_scores_output, exp_nms_scores) + self.assertAllClose(nms_classes_output, exp_nms_classes) + self.assertAllEqual(nms_keypoint_heatmaps, exp_nms_keypoint_heatmaps) + + def test_multiclass_nms_with_additional_fields(self): + boxes = tf.constant([[[0, 0, 1, 1]], + [[0, 0.1, 1, 1.1]], + [[0, -0.1, 1, 0.9]], + [[0, 10, 1, 11]], + [[0, 10.1, 1, 11.1]], + [[0, 100, 1, 101]], + [[0, 1000, 1, 1002]], + [[0, 1000, 1, 1002.1]]], tf.float32) + + scores = tf.constant([[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0], + [.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]) + + coarse_boxes_key = 'coarse_boxes' + coarse_boxes = tf.constant([[0.1, 0.1, 1.1, 1.1], + [0.1, 0.2, 1.1, 1.2], + [0.1, -0.2, 1.1, 1.0], + [0.1, 10.1, 1.1, 11.1], + [0.1, 10.2, 1.1, 11.2], + [0.1, 100.1, 1.1, 101.1], + [0.1, 1000.1, 1.1, 1002.1], + [0.1, 1000.1, 1.1, 1002.2]], tf.float32) + + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 4 + + exp_nms_corners = np.array([[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 1000, 1, 1002], + [0, 100, 1, 101]], dtype=np.float32) + + exp_nms_coarse_corners = np.array([[0.1, 10.1, 1.1, 11.1], + [0.1, 0.1, 1.1, 1.1], + [0.1, 1000.1, 1.1, 1002.1], + [0.1, 100.1, 1.1, 101.1]], + dtype=np.float32) + + exp_nms_scores = [.95, .9, .85, .3] + exp_nms_classes = [0, 0, 1, 0] + + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_output_size, + additional_fields={coarse_boxes_key: coarse_boxes}) + + with self.test_session() as sess: + (nms_corners_output, + nms_scores_output, + nms_classes_output, + nms_coarse_corners) = sess.run( + [nms.get(), + nms.get_field(fields.BoxListFields.scores), + nms.get_field(fields.BoxListFields.classes), + nms.get_field(coarse_boxes_key)]) + + self.assertAllClose(nms_corners_output, exp_nms_corners) + self.assertAllClose(nms_scores_output, exp_nms_scores) + self.assertAllClose(nms_classes_output, exp_nms_classes) + self.assertAllEqual(nms_coarse_corners, exp_nms_coarse_corners) + + def test_multiclass_nms_select_with_shared_boxes_given_masks(self): + boxes = tf.constant([[[0, 0, 1, 1]], + [[0, 0.1, 1, 1.1]], + [[0, -0.1, 1, 0.9]], + [[0, 10, 1, 11]], + [[0, 10.1, 1, 11.1]], + [[0, 100, 1, 101]], + [[0, 1000, 1, 1002]], + [[0, 1000, 1, 1002.1]]], tf.float32) + scores = tf.constant([[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0], + [.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]) + num_classes = 2 + mask_height = 3 + mask_width = 3 + masks = tf.tile( + tf.reshape(tf.range(8), [8, 1, 1, 1]), + [1, num_classes, mask_height, mask_width]) + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 4 + + exp_nms_corners = [[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 1000, 1, 1002], + [0, 100, 1, 101]] + exp_nms_scores = [.95, .9, .85, .3] + exp_nms_classes = [0, 0, 1, 0] + exp_nms_masks_tensor = tf.tile( + tf.reshape(tf.constant([3, 0, 6, 5], dtype=tf.float32), [4, 1, 1]), + [1, mask_height, mask_width]) + + nms = post_processing.multiclass_non_max_suppression(boxes, scores, + score_thresh, + iou_thresh, + max_output_size, + masks=masks) + with self.test_session() as sess: + (nms_corners_output, + nms_scores_output, + nms_classes_output, + nms_masks, + exp_nms_masks) = sess.run([nms.get(), + nms.get_field(fields.BoxListFields.scores), + nms.get_field(fields.BoxListFields.classes), + nms.get_field(fields.BoxListFields.masks), + exp_nms_masks_tensor]) + self.assertAllClose(nms_corners_output, exp_nms_corners) + self.assertAllClose(nms_scores_output, exp_nms_scores) + self.assertAllClose(nms_classes_output, exp_nms_classes) + self.assertAllEqual(nms_masks, exp_nms_masks) + + def test_multiclass_nms_select_with_clip_window(self): + boxes = tf.constant([[[0, 0, 10, 10]], + [[1, 1, 11, 11]]], tf.float32) + scores = tf.constant([[.9], [.75]]) + clip_window = tf.constant([5, 4, 8, 7], tf.float32) + score_thresh = 0.0 + iou_thresh = 0.5 + max_output_size = 100 + + exp_nms_corners = [[5, 4, 8, 7]] + exp_nms_scores = [.9] + exp_nms_classes = [0] + + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_output_size, + clip_window=clip_window) + with self.test_session() as sess: + nms_corners_output, nms_scores_output, nms_classes_output = sess.run( + [nms.get(), nms.get_field(fields.BoxListFields.scores), + nms.get_field(fields.BoxListFields.classes)]) + self.assertAllClose(nms_corners_output, exp_nms_corners) + self.assertAllClose(nms_scores_output, exp_nms_scores) + self.assertAllClose(nms_classes_output, exp_nms_classes) + + def test_multiclass_nms_select_with_clip_window_change_coordinate_frame(self): + boxes = tf.constant([[[0, 0, 10, 10]], + [[1, 1, 11, 11]]], tf.float32) + scores = tf.constant([[.9], [.75]]) + clip_window = tf.constant([5, 4, 8, 7], tf.float32) + score_thresh = 0.0 + iou_thresh = 0.5 + max_output_size = 100 + + exp_nms_corners = [[0, 0, 1, 1]] + exp_nms_scores = [.9] + exp_nms_classes = [0] + + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_output_size, + clip_window=clip_window, change_coordinate_frame=True) + with self.test_session() as sess: + nms_corners_output, nms_scores_output, nms_classes_output = sess.run( + [nms.get(), nms.get_field(fields.BoxListFields.scores), + nms.get_field(fields.BoxListFields.classes)]) + self.assertAllClose(nms_corners_output, exp_nms_corners) + self.assertAllClose(nms_scores_output, exp_nms_scores) + self.assertAllClose(nms_classes_output, exp_nms_classes) + + def test_multiclass_nms_select_with_per_class_cap(self): + boxes = tf.constant([[[0, 0, 1, 1]], + [[0, 0.1, 1, 1.1]], + [[0, -0.1, 1, 0.9]], + [[0, 10, 1, 11]], + [[0, 10.1, 1, 11.1]], + [[0, 100, 1, 101]], + [[0, 1000, 1, 1002]], + [[0, 1000, 1, 1002.1]]], tf.float32) + scores = tf.constant([[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0], + [.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]) + score_thresh = 0.1 + iou_thresh = .5 + max_size_per_class = 2 + + exp_nms_corners = [[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 1000, 1, 1002]] + exp_nms_scores = [.95, .9, .85] + exp_nms_classes = [0, 0, 1] + + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_size_per_class) + with self.test_session() as sess: + nms_corners_output, nms_scores_output, nms_classes_output = sess.run( + [nms.get(), nms.get_field(fields.BoxListFields.scores), + nms.get_field(fields.BoxListFields.classes)]) + self.assertAllClose(nms_corners_output, exp_nms_corners) + self.assertAllClose(nms_scores_output, exp_nms_scores) + self.assertAllClose(nms_classes_output, exp_nms_classes) + + def test_multiclass_nms_select_with_total_cap(self): + boxes = tf.constant([[[0, 0, 1, 1]], + [[0, 0.1, 1, 1.1]], + [[0, -0.1, 1, 0.9]], + [[0, 10, 1, 11]], + [[0, 10.1, 1, 11.1]], + [[0, 100, 1, 101]], + [[0, 1000, 1, 1002]], + [[0, 1000, 1, 1002.1]]], tf.float32) + scores = tf.constant([[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0], + [.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]) + score_thresh = 0.1 + iou_thresh = .5 + max_size_per_class = 4 + max_total_size = 2 + + exp_nms_corners = [[0, 10, 1, 11], + [0, 0, 1, 1]] + exp_nms_scores = [.95, .9] + exp_nms_classes = [0, 0] + + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_size_per_class, + max_total_size) + with self.test_session() as sess: + nms_corners_output, nms_scores_output, nms_classes_output = sess.run( + [nms.get(), nms.get_field(fields.BoxListFields.scores), + nms.get_field(fields.BoxListFields.classes)]) + self.assertAllClose(nms_corners_output, exp_nms_corners) + self.assertAllClose(nms_scores_output, exp_nms_scores) + self.assertAllClose(nms_classes_output, exp_nms_classes) + + def test_multiclass_nms_threshold_then_select_with_shared_boxes(self): + boxes = tf.constant([[[0, 0, 1, 1]], + [[0, 0.1, 1, 1.1]], + [[0, -0.1, 1, 0.9]], + [[0, 10, 1, 11]], + [[0, 10.1, 1, 11.1]], + [[0, 100, 1, 101]], + [[0, 1000, 1, 1002]], + [[0, 1000, 1, 1002.1]]], tf.float32) + scores = tf.constant([[.9], [.75], [.6], [.95], [.5], [.3], [.01], [.01]]) + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 3 + + exp_nms = [[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 100, 1, 101]] + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_output_size) + with self.test_session() as sess: + nms_output = sess.run(nms.get()) + self.assertAllClose(nms_output, exp_nms) + + def test_multiclass_nms_select_with_separate_boxes(self): + boxes = tf.constant([[[0, 0, 1, 1], [0, 0, 4, 5]], + [[0, 0.1, 1, 1.1], [0, 0.1, 2, 1.1]], + [[0, -0.1, 1, 0.9], [0, -0.1, 1, 0.9]], + [[0, 10, 1, 11], [0, 10, 1, 11]], + [[0, 10.1, 1, 11.1], [0, 10.1, 1, 11.1]], + [[0, 100, 1, 101], [0, 100, 1, 101]], + [[0, 1000, 1, 1002], [0, 999, 2, 1004]], + [[0, 1000, 1, 1002.1], [0, 999, 2, 1002.7]]], + tf.float32) + scores = tf.constant([[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0], + [.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]) + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 4 + + exp_nms_corners = [[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 999, 2, 1004], + [0, 100, 1, 101]] + exp_nms_scores = [.95, .9, .85, .3] + exp_nms_classes = [0, 0, 1, 0] + + nms = post_processing.multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, max_output_size) + with self.test_session() as sess: + nms_corners_output, nms_scores_output, nms_classes_output = sess.run( + [nms.get(), nms.get_field(fields.BoxListFields.scores), + nms.get_field(fields.BoxListFields.classes)]) + self.assertAllClose(nms_corners_output, exp_nms_corners) + self.assertAllClose(nms_scores_output, exp_nms_scores) + self.assertAllClose(nms_classes_output, exp_nms_classes) + + def test_batch_multiclass_nms_with_batch_size_1(self): + boxes = tf.constant([[[[0, 0, 1, 1], [0, 0, 4, 5]], + [[0, 0.1, 1, 1.1], [0, 0.1, 2, 1.1]], + [[0, -0.1, 1, 0.9], [0, -0.1, 1, 0.9]], + [[0, 10, 1, 11], [0, 10, 1, 11]], + [[0, 10.1, 1, 11.1], [0, 10.1, 1, 11.1]], + [[0, 100, 1, 101], [0, 100, 1, 101]], + [[0, 1000, 1, 1002], [0, 999, 2, 1004]], + [[0, 1000, 1, 1002.1], [0, 999, 2, 1002.7]]]], + tf.float32) + scores = tf.constant([[[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0], + [.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]]) + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 4 + + exp_nms_corners = [[[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 999, 2, 1004], + [0, 100, 1, 101]]] + exp_nms_scores = [[.95, .9, .85, .3]] + exp_nms_classes = [[0, 0, 1, 0]] + + nms_dict = post_processing.batch_multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, + max_size_per_class=max_output_size, max_total_size=max_output_size) + with self.test_session() as sess: + nms_output = sess.run(nms_dict) + self.assertAllClose(nms_output['detection_boxes'], exp_nms_corners) + self.assertAllClose(nms_output['detection_scores'], exp_nms_scores) + self.assertAllClose(nms_output['detection_classes'], exp_nms_classes) + self.assertEqual(nms_output['num_detections'], [4]) + + def test_batch_multiclass_nms_with_batch_size_2(self): + boxes = tf.constant([[[[0, 0, 1, 1], [0, 0, 4, 5]], + [[0, 0.1, 1, 1.1], [0, 0.1, 2, 1.1]], + [[0, -0.1, 1, 0.9], [0, -0.1, 1, 0.9]], + [[0, 10, 1, 11], [0, 10, 1, 11]]], + [[[0, 10.1, 1, 11.1], [0, 10.1, 1, 11.1]], + [[0, 100, 1, 101], [0, 100, 1, 101]], + [[0, 1000, 1, 1002], [0, 999, 2, 1004]], + [[0, 1000, 1, 1002.1], [0, 999, 2, 1002.7]]]], + tf.float32) + scores = tf.constant([[[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0]], + [[.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]]) + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 4 + + exp_nms_corners = [[[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 0, 0, 0], + [0, 0, 0, 0]], + [[0, 999, 2, 1004], + [0, 10.1, 1, 11.1], + [0, 100, 1, 101], + [0, 0, 0, 0]]] + exp_nms_scores = [[.95, .9, 0, 0], + [.85, .5, .3, 0]] + exp_nms_classes = [[0, 0, 0, 0], + [1, 0, 0, 0]] + + nms_dict = post_processing.batch_multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, + max_size_per_class=max_output_size, max_total_size=max_output_size) + with self.test_session() as sess: + nms_output = sess.run(nms_dict) + self.assertAllClose(nms_output['detection_boxes'], exp_nms_corners) + self.assertAllClose(nms_output['detection_scores'], exp_nms_scores) + self.assertAllClose(nms_output['detection_classes'], exp_nms_classes) + self.assertAllClose(nms_output['num_detections'], [2, 3]) + + def test_batch_multiclass_nms_with_masks(self): + boxes = tf.constant([[[[0, 0, 1, 1], [0, 0, 4, 5]], + [[0, 0.1, 1, 1.1], [0, 0.1, 2, 1.1]], + [[0, -0.1, 1, 0.9], [0, -0.1, 1, 0.9]], + [[0, 10, 1, 11], [0, 10, 1, 11]]], + [[[0, 10.1, 1, 11.1], [0, 10.1, 1, 11.1]], + [[0, 100, 1, 101], [0, 100, 1, 101]], + [[0, 1000, 1, 1002], [0, 999, 2, 1004]], + [[0, 1000, 1, 1002.1], [0, 999, 2, 1002.7]]]], + tf.float32) + scores = tf.constant([[[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0]], + [[.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]]) + masks = tf.constant([[[[[0, 1], [2, 3]], [[1, 2], [3, 4]]], + [[[2, 3], [4, 5]], [[3, 4], [5, 6]]], + [[[4, 5], [6, 7]], [[5, 6], [7, 8]]], + [[[6, 7], [8, 9]], [[7, 8], [9, 10]]]], + [[[[8, 9], [10, 11]], [[9, 10], [11, 12]]], + [[[10, 11], [12, 13]], [[11, 12], [13, 14]]], + [[[12, 13], [14, 15]], [[13, 14], [15, 16]]], + [[[14, 15], [16, 17]], [[15, 16], [17, 18]]]]], + tf.float32) + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 4 + + exp_nms_corners = [[[0, 10, 1, 11], + [0, 0, 1, 1], + [0, 0, 0, 0], + [0, 0, 0, 0]], + [[0, 999, 2, 1004], + [0, 10.1, 1, 11.1], + [0, 100, 1, 101], + [0, 0, 0, 0]]] + exp_nms_scores = [[.95, .9, 0, 0], + [.85, .5, .3, 0]] + exp_nms_classes = [[0, 0, 0, 0], + [1, 0, 0, 0]] + exp_nms_masks = [[[[6, 7], [8, 9]], + [[0, 1], [2, 3]], + [[0, 0], [0, 0]], + [[0, 0], [0, 0]]], + [[[13, 14], [15, 16]], + [[8, 9], [10, 11]], + [[10, 11], [12, 13]], + [[0, 0], [0, 0]]]] + + nms_dict = post_processing.batch_multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, + max_size_per_class=max_output_size, max_total_size=max_output_size, + masks=masks) + with self.test_session() as sess: + nms_output = sess.run(nms_dict) + self.assertAllClose(nms_output['detection_boxes'], exp_nms_corners) + self.assertAllClose(nms_output['detection_scores'], exp_nms_scores) + self.assertAllClose(nms_output['detection_classes'], exp_nms_classes) + self.assertAllClose(nms_output['num_detections'], [2, 3]) + self.assertAllClose(nms_output['detection_masks'], exp_nms_masks) + + def test_batch_multiclass_nms_with_masks_and_num_valid_boxes(self): + boxes = tf.constant([[[[0, 0, 1, 1], [0, 0, 4, 5]], + [[0, 0.1, 1, 1.1], [0, 0.1, 2, 1.1]], + [[0, -0.1, 1, 0.9], [0, -0.1, 1, 0.9]], + [[0, 10, 1, 11], [0, 10, 1, 11]]], + [[[0, 10.1, 1, 11.1], [0, 10.1, 1, 11.1]], + [[0, 100, 1, 101], [0, 100, 1, 101]], + [[0, 1000, 1, 1002], [0, 999, 2, 1004]], + [[0, 1000, 1, 1002.1], [0, 999, 2, 1002.7]]]], + tf.float32) + scores = tf.constant([[[.9, 0.01], [.75, 0.05], + [.6, 0.01], [.95, 0]], + [[.5, 0.01], [.3, 0.01], + [.01, .85], [.01, .5]]]) + masks = tf.constant([[[[[0, 1], [2, 3]], [[1, 2], [3, 4]]], + [[[2, 3], [4, 5]], [[3, 4], [5, 6]]], + [[[4, 5], [6, 7]], [[5, 6], [7, 8]]], + [[[6, 7], [8, 9]], [[7, 8], [9, 10]]]], + [[[[8, 9], [10, 11]], [[9, 10], [11, 12]]], + [[[10, 11], [12, 13]], [[11, 12], [13, 14]]], + [[[12, 13], [14, 15]], [[13, 14], [15, 16]]], + [[[14, 15], [16, 17]], [[15, 16], [17, 18]]]]], + tf.float32) + num_valid_boxes = tf.constant([1, 1], tf.int32) + score_thresh = 0.1 + iou_thresh = .5 + max_output_size = 4 + + exp_nms_corners = [[[0, 0, 1, 1], + [0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 0]], + [[0, 10.1, 1, 11.1], + [0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 0]]] + exp_nms_scores = [[.9, 0, 0, 0], + [.5, 0, 0, 0]] + exp_nms_classes = [[0, 0, 0, 0], + [0, 0, 0, 0]] + exp_nms_masks = [[[[0, 1], [2, 3]], + [[0, 0], [0, 0]], + [[0, 0], [0, 0]], + [[0, 0], [0, 0]]], + [[[8, 9], [10, 11]], + [[0, 0], [0, 0]], + [[0, 0], [0, 0]], + [[0, 0], [0, 0]]]] + + nms_dict = post_processing.batch_multiclass_non_max_suppression( + boxes, scores, score_thresh, iou_thresh, + max_size_per_class=max_output_size, max_total_size=max_output_size, + num_valid_boxes=num_valid_boxes, masks=masks) + with self.test_session() as sess: + nms_output = sess.run(nms_dict) + self.assertAllClose(nms_output['detection_boxes'], exp_nms_corners) + self.assertAllClose(nms_output['detection_scores'], exp_nms_scores) + self.assertAllClose(nms_output['detection_classes'], exp_nms_classes) + self.assertAllClose(nms_output['num_detections'], [1, 1]) + self.assertAllClose(nms_output['detection_masks'], exp_nms_masks) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/prefetcher.py b/object_detection/core/prefetcher.py new file mode 100644 index 000000000..ba5958f62 --- /dev/null +++ b/object_detection/core/prefetcher.py @@ -0,0 +1,61 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Provides functions to prefetch tensors to feed into models.""" +import tensorflow as tf + + +def prefetch(tensor_dict, capacity): + """Creates a prefetch queue for tensors. + + Creates a FIFO queue to asynchronously enqueue tensor_dicts and returns a + dequeue op that evaluates to a tensor_dict. This function is useful in + prefetching preprocessed tensors so that the data is readily available for + consumers. + + Example input pipeline when you don't need batching: + ---------------------------------------------------- + key, string_tensor = slim.parallel_reader.parallel_read(...) + tensor_dict = decoder.decode(string_tensor) + tensor_dict = preprocessor.preprocess(tensor_dict, ...) + prefetch_queue = prefetcher.prefetch(tensor_dict, capacity=20) + tensor_dict = prefetch_queue.dequeue() + outputs = Model(tensor_dict) + ... + ---------------------------------------------------- + + For input pipelines with batching, refer to core/batcher.py + + Args: + tensor_dict: a dictionary of tensors to prefetch. + capacity: the size of the prefetch queue. + + Returns: + a FIFO prefetcher queue + """ + names = tensor_dict.keys() + dtypes = [t.dtype for t in tensor_dict.values()] + shapes = [t.get_shape() for t in tensor_dict.values()] + prefetch_queue = tf.PaddingFIFOQueue(capacity, dtypes=dtypes, + shapes=shapes, + names=names, + name='prefetch_queue') + enqueue_op = prefetch_queue.enqueue(tensor_dict) + tf.train.queue_runner.add_queue_runner(tf.train.queue_runner.QueueRunner( + prefetch_queue, [enqueue_op])) + tf.summary.scalar('queue/%s/fraction_of_%d_full' % (prefetch_queue.name, + capacity), + tf.to_float(prefetch_queue.size()) * (1. / capacity)) + return prefetch_queue diff --git a/object_detection/core/prefetcher_test.py b/object_detection/core/prefetcher_test.py new file mode 100644 index 000000000..63f557e33 --- /dev/null +++ b/object_detection/core/prefetcher_test.py @@ -0,0 +1,101 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.prefetcher.""" +import tensorflow as tf + +from object_detection.core import prefetcher + +slim = tf.contrib.slim + + +class PrefetcherTest(tf.test.TestCase): + + def test_prefetch_tensors_with_fully_defined_shapes(self): + with self.test_session() as sess: + batch_size = 10 + image_size = 32 + num_batches = 5 + examples = tf.Variable(tf.constant(0, dtype=tf.int64)) + counter = examples.count_up_to(num_batches) + image = tf.random_normal([batch_size, image_size, + image_size, 3], + dtype=tf.float32, + name='images') + label = tf.random_uniform([batch_size, 1], 0, 10, + dtype=tf.int32, name='labels') + + prefetch_queue = prefetcher.prefetch(tensor_dict={'counter': counter, + 'image': image, + 'label': label}, + capacity=100) + tensor_dict = prefetch_queue.dequeue() + + self.assertAllEqual(tensor_dict['image'].get_shape().as_list(), + [batch_size, image_size, image_size, 3]) + self.assertAllEqual(tensor_dict['label'].get_shape().as_list(), + [batch_size, 1]) + + tf.initialize_all_variables().run() + with slim.queues.QueueRunners(sess): + for _ in range(num_batches): + results = sess.run(tensor_dict) + self.assertEquals(results['image'].shape, + (batch_size, image_size, image_size, 3)) + self.assertEquals(results['label'].shape, (batch_size, 1)) + with self.assertRaises(tf.errors.OutOfRangeError): + sess.run(tensor_dict) + + def test_prefetch_tensors_with_partially_defined_shapes(self): + with self.test_session() as sess: + batch_size = 10 + image_size = 32 + num_batches = 5 + examples = tf.Variable(tf.constant(0, dtype=tf.int64)) + counter = examples.count_up_to(num_batches) + image = tf.random_normal([batch_size, + tf.Variable(image_size), + tf.Variable(image_size), 3], + dtype=tf.float32, + name='image') + image.set_shape([batch_size, None, None, 3]) + label = tf.random_uniform([batch_size, tf.Variable(1)], 0, + 10, dtype=tf.int32, name='label') + label.set_shape([batch_size, None]) + + prefetch_queue = prefetcher.prefetch(tensor_dict={'counter': counter, + 'image': image, + 'label': label}, + capacity=100) + tensor_dict = prefetch_queue.dequeue() + + self.assertAllEqual(tensor_dict['image'].get_shape().as_list(), + [batch_size, None, None, 3]) + self.assertAllEqual(tensor_dict['label'].get_shape().as_list(), + [batch_size, None]) + + tf.initialize_all_variables().run() + with slim.queues.QueueRunners(sess): + for _ in range(num_batches): + results = sess.run(tensor_dict) + self.assertEquals(results['image'].shape, + (batch_size, image_size, image_size, 3)) + self.assertEquals(results['label'].shape, (batch_size, 1)) + with self.assertRaises(tf.errors.OutOfRangeError): + sess.run(tensor_dict) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/preprocessor.py b/object_detection/core/preprocessor.py new file mode 100644 index 000000000..3fdcb6138 --- /dev/null +++ b/object_detection/core/preprocessor.py @@ -0,0 +1,1922 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Preprocess images and bounding boxes for detection. + +We perform two sets of operations in preprocessing stage: +(a) operations that are applied to both training and testing data, +(b) operations that are applied only to training data for the purpose of + data augmentation. + +A preprocessing function receives a set of inputs, +e.g. an image and bounding boxes, +performs an operation on them, and returns them. +Some examples are: randomly cropping the image, randomly mirroring the image, + randomly changing the brightness, contrast, hue and + randomly jittering the bounding boxes. + +The preprocess function receives a tensor_dict which is a dictionary that maps +different field names to their tensors. For example, +tensor_dict[fields.InputDataFields.image] holds the image tensor. +The image is a rank 4 tensor: [1, height, width, channels] with +dtype=tf.float32. The groundtruth_boxes is a rank 2 tensor: [N, 4] where +in each row there is a box with [ymin xmin ymax xmax]. +Boxes are in normalized coordinates meaning +their coordinate values range in [0, 1] + +Important Note: In tensor_dict, images is a rank 4 tensor, but preprocessing +functions receive a rank 3 tensor for processing the image. Thus, inside the +preprocess function we squeeze the image to become a rank 3 tensor and then +we pass it to the functions. At the end of the preprocess we expand the image +back to rank 4. +""" + +import sys +import tensorflow as tf + +from tensorflow.python.ops import control_flow_ops + +from object_detection.core import box_list +from object_detection.core import box_list_ops +from object_detection.core import keypoint_ops +from object_detection.core import standard_fields as fields + + +def _apply_with_random_selector(x, func, num_cases): + """Computes func(x, sel), with sel sampled from [0...num_cases-1]. + + Args: + x: input Tensor. + func: Python function to apply. + num_cases: Python int32, number of cases to sample sel from. + + Returns: + The result of func(x, sel), where func receives the value of the + selector as a python integer, but sel is sampled dynamically. + """ + rand_sel = tf.random_uniform([], maxval=num_cases, dtype=tf.int32) + # Pass the real x only to one of the func calls. + return control_flow_ops.merge([func( + control_flow_ops.switch(x, tf.equal(rand_sel, case))[1], case) + for case in range(num_cases)])[0] + + +def _apply_with_random_selector_tuples(x, func, num_cases): + """Computes func(x, sel), with sel sampled from [0...num_cases-1]. + + Args: + x: A tuple of input tensors. + func: Python function to apply. + num_cases: Python int32, number of cases to sample sel from. + + Returns: + The result of func(x, sel), where func receives the value of the + selector as a python integer, but sel is sampled dynamically. + """ + num_inputs = len(x) + rand_sel = tf.random_uniform([], maxval=num_cases, dtype=tf.int32) + # Pass the real x only to one of the func calls. + + tuples = [list() for t in x] + for case in range(num_cases): + new_x = [control_flow_ops.switch(t, tf.equal(rand_sel, case))[1] for t in x] + output = func(tuple(new_x), case) + for j in range(num_inputs): + tuples[j].append(output[j]) + + for i in range(num_inputs): + tuples[i] = control_flow_ops.merge(tuples[i])[0] + return tuple(tuples) + + +def _random_integer(minval, maxval, seed): + """Returns a random 0-D tensor between minval and maxval. + + Args: + minval: minimum value of the random tensor. + maxval: maximum value of the random tensor. + seed: random seed. + + Returns: + A random 0-D tensor between minval and maxval. + """ + return tf.random_uniform( + [], minval=minval, maxval=maxval, dtype=tf.int32, seed=seed) + + +def normalize_image(image, original_minval, original_maxval, target_minval, + target_maxval): + """Normalizes pixel values in the image. + + Moves the pixel values from the current [original_minval, original_maxval] + range to a the [target_minval, target_maxval] range. + + Args: + image: rank 3 float32 tensor containing 1 + image -> [height, width, channels]. + original_minval: current image minimum value. + original_maxval: current image maximum value. + target_minval: target image minimum value. + target_maxval: target image maximum value. + + Returns: + image: image which is the same shape as input image. + """ + with tf.name_scope('NormalizeImage', values=[image]): + original_minval = float(original_minval) + original_maxval = float(original_maxval) + target_minval = float(target_minval) + target_maxval = float(target_maxval) + image = tf.to_float(image) + image = tf.subtract(image, original_minval) + image = tf.multiply(image, (target_maxval - target_minval) / + (original_maxval - original_minval)) + image = tf.add(image, target_minval) + return image + + +def flip_boxes(boxes): + """Left-right flip the boxes. + + Args: + boxes: rank 2 float32 tensor containing the bounding boxes -> [N, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + + Returns: + Flipped boxes. + """ + # Flip boxes. + ymin, xmin, ymax, xmax = tf.split(value=boxes, num_or_size_splits=4, axis=1) + flipped_xmin = tf.subtract(1.0, xmax) + flipped_xmax = tf.subtract(1.0, xmin) + flipped_boxes = tf.concat([ymin, flipped_xmin, ymax, flipped_xmax], 1) + return flipped_boxes + + +def retain_boxes_above_threshold( + boxes, labels, label_scores, masks=None, keypoints=None, threshold=0.0): + """Retains boxes whose label score is above a given threshold. + + If the label score for a box is missing (represented by NaN), the box is + retained. The boxes that don't pass the threshold will not appear in the + returned tensor. + + Args: + boxes: float32 tensor of shape [num_instance, 4] representing boxes + location in normalized coordinates. + labels: rank 1 int32 tensor of shape [num_instance] containing the object + classes. + label_scores: float32 tensor of shape [num_instance] representing the + score for each box. + masks: (optional) rank 3 float32 tensor with shape + [num_instances, height, width] containing instance masks. The masks are of + the same height, width as the input `image`. + keypoints: (optional) rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2]. The keypoints are in y-x normalized + coordinates. + threshold: scalar python float. + + Returns: + retained_boxes: [num_retained_instance, 4] + retianed_labels: [num_retained_instance] + retained_label_scores: [num_retained_instance] + + If masks, or keypoints are not None, the function also returns: + + retained_masks: [num_retained_instance, height, width] + retained_keypoints: [num_retained_instance, num_keypoints, 2] + """ + with tf.name_scope('RetainBoxesAboveThreshold', + values=[boxes, labels, label_scores]): + indices = tf.where( + tf.logical_or(label_scores > threshold, tf.is_nan(label_scores))) + indices = tf.squeeze(indices, axis=1) + retained_boxes = tf.gather(boxes, indices) + retained_labels = tf.gather(labels, indices) + retained_label_scores = tf.gather(label_scores, indices) + result = [retained_boxes, retained_labels, retained_label_scores] + + if masks is not None: + retained_masks = tf.gather(masks, indices) + result.append(retained_masks) + + if keypoints is not None: + retained_keypoints = tf.gather(keypoints, indices) + result.append(retained_keypoints) + + return result + + +def _flip_masks(masks): + """Left-right flips masks. + + Args: + masks: rank 3 float32 tensor with shape + [num_instances, height, width] representing instance masks. + + Returns: + flipped masks: rank 3 float32 tensor with shape + [num_instances, height, width] representing instance masks. + """ + return masks[:, :, ::-1] + + +def random_horizontal_flip( + image, + boxes=None, + masks=None, + keypoints=None, + keypoint_flip_permutation=None, + seed=None): + """Randomly decides whether to mirror the image and detections or not. + + The probability of flipping the image is 50%. + + Args: + image: rank 3 float32 tensor with shape [height, width, channels]. + boxes: (optional) rank 2 float32 tensor with shape [N, 4] + containing the bounding boxes. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + masks: (optional) rank 3 float32 tensor with shape + [num_instances, height, width] containing instance masks. The masks + are of the same height, width as the input `image`. + keypoints: (optional) rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2]. The keypoints are in y-x + normalized coordinates. + keypoint_flip_permutation: rank 1 int32 tensor containing keypoint flip + permutation. + seed: random seed + + Returns: + image: image which is the same shape as input image. + + If boxes, masks, keypoints, and keypoint_flip_permutation is not None, + the function also returns the following tensors. + + boxes: rank 2 float32 tensor containing the bounding boxes -> [N, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + masks: rank 3 float32 tensor with shape [num_instances, height, width] + containing instance masks. + keypoints: rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2] + + Raises: + ValueError: if keypoints are provided but keypoint_flip_permutation is not. + """ + def _flip_image(image): + # flip image + image_flipped = tf.image.flip_left_right(image) + return image_flipped + + if keypoints is not None and keypoint_flip_permutation is None: + raise ValueError( + 'keypoints are provided but keypoints_flip_permutation is not provided') + + with tf.name_scope('RandomHorizontalFlip', values=[image, boxes]): + result = [] + # random variable defining whether to do flip or not + do_a_flip_random = tf.random_uniform([], seed=seed) + # flip only if there are bounding boxes in image! + do_a_flip_random = tf.logical_and( + tf.greater(tf.size(boxes), 0), tf.greater(do_a_flip_random, 0.5)) + + # flip image + image = tf.cond(do_a_flip_random, lambda: _flip_image(image), lambda: image) + result.append(image) + + # flip boxes + if boxes is not None: + boxes = tf.cond( + do_a_flip_random, lambda: flip_boxes(boxes), lambda: boxes) + result.append(boxes) + + # flip masks + if masks is not None: + masks = tf.cond( + do_a_flip_random, lambda: _flip_masks(masks), lambda: masks) + result.append(masks) + + # flip keypoints + if keypoints is not None and keypoint_flip_permutation is not None: + permutation = keypoint_flip_permutation + keypoints = tf.cond( + do_a_flip_random, + lambda: keypoint_ops.flip_horizontal(keypoints, 0.5, permutation), + lambda: keypoints) + result.append(keypoints) + + return tuple(result) + + +def random_pixel_value_scale(image, minval=0.9, maxval=1.1, seed=None): + """Scales each value in the pixels of the image. + + This function scales each pixel independent of the other ones. + For each value in image tensor, draws a random number between + minval and maxval and multiples the values with them. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + minval: lower ratio of scaling pixel values. + maxval: upper ratio of scaling pixel values. + seed: random seed. + + Returns: + image: image which is the same shape as input image. + boxes: boxes which is the same shape as input boxes. + """ + with tf.name_scope('RandomPixelValueScale', values=[image]): + color_coef = tf.random_uniform( + tf.shape(image), + minval=minval, + maxval=maxval, + dtype=tf.float32, + seed=seed) + image = tf.multiply(image, color_coef) + image = tf.clip_by_value(image, 0.0, 1.0) + + return image + + +def random_image_scale(image, + masks=None, + min_scale_ratio=0.5, + max_scale_ratio=2.0, + seed=None): + """Scales the image size. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels]. + masks: (optional) rank 3 float32 tensor containing masks with + size [height, width, num_masks]. The value is set to None if there are no + masks. + min_scale_ratio: minimum scaling ratio. + max_scale_ratio: maximum scaling ratio. + seed: random seed. + + Returns: + image: image which is the same rank as input image. + masks: If masks is not none, resized masks which are the same rank as input + masks will be returned. + """ + with tf.name_scope('RandomImageScale', values=[image]): + result = [] + image_shape = tf.shape(image) + image_height = image_shape[0] + image_width = image_shape[1] + size_coef = tf.random_uniform([], + minval=min_scale_ratio, + maxval=max_scale_ratio, + dtype=tf.float32, seed=seed) + image_newysize = tf.to_int32( + tf.multiply(tf.to_float(image_height), size_coef)) + image_newxsize = tf.to_int32( + tf.multiply(tf.to_float(image_width), size_coef)) + image = tf.image.resize_images( + image, [image_newysize, image_newxsize], align_corners=True) + result.append(image) + if masks: + masks = tf.image.resize_nearest_neighbor( + masks, [image_newysize, image_newxsize], align_corners=True) + result.append(masks) + return tuple(result) + + +def random_rgb_to_gray(image, probability=0.1, seed=None): + """Changes the image from RGB to Grayscale with the given probability. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + probability: the probability of returning a grayscale image. + The probability should be a number between [0, 1]. + seed: random seed. + + Returns: + image: image which is the same shape as input image. + """ + def _image_to_gray(image): + image_gray1 = tf.image.rgb_to_grayscale(image) + image_gray3 = tf.image.grayscale_to_rgb(image_gray1) + return image_gray3 + + with tf.name_scope('RandomRGBtoGray', values=[image]): + # random variable defining whether to do flip or not + do_gray_random = tf.random_uniform([], seed=seed) + + image = tf.cond( + tf.greater(do_gray_random, probability), lambda: image, + lambda: _image_to_gray(image)) + + return image + + +def random_adjust_brightness(image, max_delta=0.2): + """Randomly adjusts brightness. + + Makes sure the output image is still between 0 and 1. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + max_delta: how much to change the brightness. A value between [0, 1). + + Returns: + image: image which is the same shape as input image. + boxes: boxes which is the same shape as input boxes. + """ + with tf.name_scope('RandomAdjustBrightness', values=[image]): + image = tf.image.random_brightness(image, max_delta) + image = tf.clip_by_value(image, clip_value_min=0.0, clip_value_max=1.0) + return image + + +def random_adjust_contrast(image, min_delta=0.8, max_delta=1.25): + """Randomly adjusts contrast. + + Makes sure the output image is still between 0 and 1. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + min_delta: see max_delta. + max_delta: how much to change the contrast. Contrast will change with a + value between min_delta and max_delta. This value will be + multiplied to the current contrast of the image. + + Returns: + image: image which is the same shape as input image. + """ + with tf.name_scope('RandomAdjustContrast', values=[image]): + image = tf.image.random_contrast(image, min_delta, max_delta) + image = tf.clip_by_value(image, clip_value_min=0.0, clip_value_max=1.0) + return image + + +def random_adjust_hue(image, max_delta=0.02): + """Randomly adjusts hue. + + Makes sure the output image is still between 0 and 1. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + max_delta: change hue randomly with a value between 0 and max_delta. + + Returns: + image: image which is the same shape as input image. + """ + with tf.name_scope('RandomAdjustHue', values=[image]): + image = tf.image.random_hue(image, max_delta) + image = tf.clip_by_value(image, clip_value_min=0.0, clip_value_max=1.0) + return image + + +def random_adjust_saturation(image, min_delta=0.8, max_delta=1.25): + """Randomly adjusts saturation. + + Makes sure the output image is still between 0 and 1. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + min_delta: see max_delta. + max_delta: how much to change the saturation. Saturation will change with a + value between min_delta and max_delta. This value will be + multiplied to the current saturation of the image. + + Returns: + image: image which is the same shape as input image. + """ + with tf.name_scope('RandomAdjustSaturation', values=[image]): + image = tf.image.random_saturation(image, min_delta, max_delta) + image = tf.clip_by_value(image, clip_value_min=0.0, clip_value_max=1.0) + return image + + +def random_distort_color(image, color_ordering=0): + """Randomly distorts color. + + Randomly distorts color using a combination of brightness, hue, contrast + and saturation changes. Makes sure the output image is still between 0 and 1. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + color_ordering: Python int, a type of distortion (valid values: 0, 1). + + Returns: + image: image which is the same shape as input image. + + Raises: + ValueError: if color_ordering is not in {0, 1}. + """ + with tf.name_scope('RandomDistortColor', values=[image]): + if color_ordering == 0: + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + elif color_ordering == 1: + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + else: + raise ValueError('color_ordering must be in {0, 1}') + + # The random_* ops do not necessarily clamp. + image = tf.clip_by_value(image, 0.0, 1.0) + return image + + +def random_jitter_boxes(boxes, ratio=0.05, seed=None): + """Randomly jitter boxes in image. + + Args: + boxes: rank 2 float32 tensor containing the bounding boxes -> [N, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + ratio: The ratio of the box width and height that the corners can jitter. + For example if the width is 100 pixels and ratio is 0.05, + the corners can jitter up to 5 pixels in the x direction. + seed: random seed. + + Returns: + boxes: boxes which is the same shape as input boxes. + """ + def random_jitter_box(box, ratio, seed): + """Randomly jitter box. + + Args: + box: bounding box [1, 1, 4]. + ratio: max ratio between jittered box and original box, + a number between [0, 0.5]. + seed: random seed. + + Returns: + jittered_box: jittered box. + """ + rand_numbers = tf.random_uniform( + [1, 1, 4], minval=-ratio, maxval=ratio, dtype=tf.float32, seed=seed) + box_width = tf.subtract(box[0, 0, 3], box[0, 0, 1]) + box_height = tf.subtract(box[0, 0, 2], box[0, 0, 0]) + hw_coefs = tf.stack([box_height, box_width, box_height, box_width]) + hw_rand_coefs = tf.multiply(hw_coefs, rand_numbers) + jittered_box = tf.add(box, hw_rand_coefs) + jittered_box = tf.clip_by_value(jittered_box, 0.0, 1.0) + return jittered_box + + with tf.name_scope('RandomJitterBoxes', values=[boxes]): + # boxes are [N, 4]. Lets first make them [N, 1, 1, 4] + boxes_shape = tf.shape(boxes) + boxes = tf.expand_dims(boxes, 1) + boxes = tf.expand_dims(boxes, 2) + + distorted_boxes = tf.map_fn( + lambda x: random_jitter_box(x, ratio, seed), boxes, dtype=tf.float32) + + distorted_boxes = tf.reshape(distorted_boxes, boxes_shape) + + return distorted_boxes + + +def _strict_random_crop_image(image, + boxes, + labels, + masks=None, + keypoints=None, + min_object_covered=1.0, + aspect_ratio_range=(0.75, 1.33), + area_range=(0.1, 1.0), + overlap_thresh=0.3): + """Performs random crop. + + Note: boxes will be clipped to the crop. Keypoint coordinates that are + outside the crop will be set to NaN, which is consistent with the original + keypoint encoding for non-existing keypoints. This function always crops + the image and is supposed to be used by `random_crop_image` function which + sometimes returns image unchanged. + + Args: + image: rank 3 float32 tensor containing 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + boxes: rank 2 float32 tensor containing the bounding boxes with shape + [num_instances, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + labels: rank 1 int32 tensor containing the object classes. + masks: (optional) rank 3 float32 tensor with shape + [num_instances, height, width] containing instance masks. The masks + are of the same height, width as the input `image`. + keypoints: (optional) rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2]. The keypoints are in y-x + normalized coordinates. + min_object_covered: the cropped image must cover at least this fraction of + at least one of the input bounding boxes. + aspect_ratio_range: allowed range for aspect ratio of cropped image. + area_range: allowed range for area ratio between cropped image and the + original image. + overlap_thresh: minimum overlap thresh with new cropped + image to keep the box. + + Returns: + image: image which is the same rank as input image. + boxes: boxes which is the same rank as input boxes. + Boxes are in normalized form. + labels: new labels. + + If masks, or keypoints is not None, the function also returns: + + masks: rank 3 float32 tensor with shape [num_instances, height, width] + containing instance masks. + keypoints: rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2] + """ + with tf.name_scope('RandomCropImage', values=[image, boxes]): + image_shape = tf.shape(image) + + # boxes are [N, 4]. Lets first make them [N, 1, 4]. + boxes_expanded = tf.expand_dims( + tf.clip_by_value( + boxes, clip_value_min=0.0, clip_value_max=1.0), 1) + + sample_distorted_bounding_box = tf.image.sample_distorted_bounding_box( + image_shape, + bounding_boxes=boxes_expanded, + min_object_covered=min_object_covered, + aspect_ratio_range=aspect_ratio_range, + area_range=area_range, + max_attempts=100, + use_image_if_no_bounding_boxes=True) + + im_box_begin, im_box_size, im_box = sample_distorted_bounding_box + + new_image = tf.slice(image, im_box_begin, im_box_size) + new_image.set_shape([None, None, image.get_shape()[2]]) + + # [1, 4] + im_box_rank2 = tf.squeeze(im_box, squeeze_dims=[0]) + # [4] + im_box_rank1 = tf.squeeze(im_box) + + boxlist = box_list.BoxList(boxes) + boxlist.add_field('labels', labels) + + im_boxlist = box_list.BoxList(im_box_rank2) + + # remove boxes that are outside cropped image + boxlist, inside_window_ids = box_list_ops.prune_completely_outside_window( + boxlist, im_box_rank1) + + # remove boxes that are outside image + overlapping_boxlist, keep_ids = box_list_ops.prune_non_overlapping_boxes( + boxlist, im_boxlist, overlap_thresh) + + # change the coordinate of the remaining boxes + new_labels = overlapping_boxlist.get_field('labels') + new_boxlist = box_list_ops.change_coordinate_frame(overlapping_boxlist, + im_box_rank1) + new_boxes = new_boxlist.get() + new_boxes = tf.clip_by_value( + new_boxes, clip_value_min=0.0, clip_value_max=1.0) + + result = [new_image, new_boxes, new_labels] + + if masks is not None: + masks_of_boxes_inside_window = tf.gather(masks, inside_window_ids) + masks_of_boxes_completely_inside_window = tf.gather( + masks_of_boxes_inside_window, keep_ids) + masks_box_begin = [im_box_begin[2], im_box_begin[0], im_box_begin[1]] + masks_box_size = [im_box_size[2], im_box_size[0], im_box_size[1]] + new_masks = tf.slice( + masks_of_boxes_completely_inside_window, + masks_box_begin, masks_box_size) + result.append(new_masks) + + if keypoints is not None: + keypoints_of_boxes_inside_window = tf.gather(keypoints, inside_window_ids) + keypoints_of_boxes_completely_inside_window = tf.gather( + keypoints_of_boxes_inside_window, keep_ids) + new_keypoints = keypoint_ops.change_coordinate_frame( + keypoints_of_boxes_completely_inside_window, im_box_rank1) + new_keypoints = keypoint_ops.prune_outside_window(new_keypoints, + [0.0, 0.0, 1.0, 1.0]) + result.append(new_keypoints) + + return tuple(result) + + +def random_crop_image(image, + boxes, + labels, + masks=None, + keypoints=None, + min_object_covered=1.0, + aspect_ratio_range=(0.75, 1.33), + area_range=(0.1, 1.0), + overlap_thresh=0.3, + random_coef=0.0, + seed=None): + """Randomly crops the image. + + Given the input image and its bounding boxes, this op randomly + crops a subimage. Given a user-provided set of input constraints, + the crop window is resampled until it satisfies these constraints. + If within 100 trials it is unable to find a valid crop, the original + image is returned. See the Args section for a description of the input + constraints. Both input boxes and returned Boxes are in normalized + form (e.g., lie in the unit square [0, 1]). + This function will return the original image with probability random_coef. + + Note: boxes will be clipped to the crop. Keypoint coordinates that are + outside the crop will be set to NaN, which is consistent with the original + keypoint encoding for non-existing keypoints. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + boxes: rank 2 float32 tensor containing the bounding boxes with shape + [num_instances, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + labels: rank 1 int32 tensor containing the object classes. + masks: (optional) rank 3 float32 tensor with shape + [num_instances, height, width] containing instance masks. The masks + are of the same height, width as the input `image`. + keypoints: (optional) rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2]. The keypoints are in y-x + normalized coordinates. + min_object_covered: the cropped image must cover at least this fraction of + at least one of the input bounding boxes. + aspect_ratio_range: allowed range for aspect ratio of cropped image. + area_range: allowed range for area ratio between cropped image and the + original image. + overlap_thresh: minimum overlap thresh with new cropped + image to keep the box. + random_coef: a random coefficient that defines the chance of getting the + original image. If random_coef is 0, we will always get the + cropped image, and if it is 1.0, we will always get the + original image. + seed: random seed. + + Returns: + image: Image shape will be [new_height, new_width, channels]. + boxes: boxes which is the same rank as input boxes. Boxes are in normalized + form. + labels: new labels. + + If masks, or keypoints are not None, the function also returns: + + masks: rank 3 float32 tensor with shape [num_instances, height, width] + containing instance masks. + keypoints: rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2] + """ + + def strict_random_crop_image_fn(): + return _strict_random_crop_image( + image, + boxes, + labels, + masks=masks, + keypoints=keypoints, + min_object_covered=min_object_covered, + aspect_ratio_range=aspect_ratio_range, + area_range=area_range, + overlap_thresh=overlap_thresh) + + # avoids tf.cond to make faster RCNN training on borg. See b/140057645. + if random_coef < sys.float_info.min: + result = strict_random_crop_image_fn() + else: + do_a_crop_random = tf.random_uniform([], seed=seed) + do_a_crop_random = tf.greater(do_a_crop_random, random_coef) + + outputs = [image, boxes, labels] + if masks is not None: + outputs.append(masks) + if keypoints is not None: + outputs.append(keypoints) + + result = tf.cond(do_a_crop_random, + strict_random_crop_image_fn, + lambda: tuple(outputs)) + return result + + +def random_pad_image(image, + boxes, + min_image_size=None, + max_image_size=None, + pad_color=None, + seed=None): + """Randomly pads the image. + + This function randomly pads the image with zeros. The final size of the + padded image will be between min_image_size and max_image_size. + if min_image_size is smaller than the input image size, min_image_size will + be set to the input image size. The same for max_image_size. The input image + will be located at a uniformly random location inside the padded image. + The relative location of the boxes to the original image will remain the same. + + Args: + image: rank 3 float32 tensor containing 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + boxes: rank 2 float32 tensor containing the bounding boxes -> [N, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + min_image_size: a tensor of size [min_height, min_width], type tf.int32. + If passed as None, will be set to image size + [height, width]. + max_image_size: a tensor of size [max_height, max_width], type tf.int32. + If passed as None, will be set to twice the + image [height * 2, width * 2]. + pad_color: padding color. A rank 1 tensor of [3] with dtype=tf.float32. + if set as None, it will be set to average color of the input + image. + + seed: random seed. + + Returns: + image: Image shape will be [new_height, new_width, channels]. + boxes: boxes which is the same rank as input boxes. Boxes are in normalized + form. + """ + if pad_color is None: + pad_color = tf.reduce_mean(image, reduction_indices=[0, 1]) + + image_shape = tf.shape(image) + image_height = image_shape[0] + image_width = image_shape[1] + + if max_image_size is None: + max_image_size = tf.stack([image_height * 2, image_width * 2]) + max_image_size = tf.maximum(max_image_size, + tf.stack([image_height, image_width])) + + if min_image_size is None: + min_image_size = tf.stack([image_height, image_width]) + min_image_size = tf.maximum(min_image_size, + tf.stack([image_height, image_width])) + + target_height = tf.cond( + max_image_size[0] > min_image_size[0], + lambda: _random_integer(min_image_size[0], max_image_size[0], seed), + lambda: max_image_size[0]) + + target_width = tf.cond( + max_image_size[1] > min_image_size[1], + lambda: _random_integer(min_image_size[1], max_image_size[1], seed), + lambda: max_image_size[1]) + + offset_height = tf.cond( + target_height > image_height, + lambda: _random_integer(0, target_height - image_height, seed), + lambda: tf.constant(0, dtype=tf.int32)) + + offset_width = tf.cond( + target_width > image_width, + lambda: _random_integer(0, target_width - image_width, seed), + lambda: tf.constant(0, dtype=tf.int32)) + + new_image = tf.image.pad_to_bounding_box( + image, offset_height=offset_height, offset_width=offset_width, + target_height=target_height, target_width=target_width) + + # Setting color of the padded pixels + image_ones = tf.ones_like(image) + image_ones_padded = tf.image.pad_to_bounding_box( + image_ones, offset_height=offset_height, offset_width=offset_width, + target_height=target_height, target_width=target_width) + image_color_paded = (1.0 - image_ones_padded) * pad_color + new_image += image_color_paded + + # setting boxes + new_window = tf.to_float( + tf.stack([ + -offset_height, -offset_width, target_height - offset_height, + target_width - offset_width + ])) + new_window /= tf.to_float( + tf.stack([image_height, image_width, image_height, image_width])) + boxlist = box_list.BoxList(boxes) + new_boxlist = box_list_ops.change_coordinate_frame(boxlist, new_window) + new_boxes = new_boxlist.get() + + return new_image, new_boxes + + +def random_crop_pad_image(image, + boxes, + labels, + min_object_covered=1.0, + aspect_ratio_range=(0.75, 1.33), + area_range=(0.1, 1.0), + overlap_thresh=0.3, + random_coef=0.0, + min_padded_size_ratio=None, + max_padded_size_ratio=None, + pad_color=None, + seed=None): + """Randomly crops and pads the image. + + Given an input image and its bounding boxes, this op first randomly crops + the image and then randomly pads the image with background values. Parameters + min_padded_size_ratio and max_padded_size_ratio, determine the range of the + final output image size. Specifically, the final image size will have a size + in the range of min_padded_size_ratio * tf.shape(image) and + max_padded_size_ratio * tf.shape(image). Note that these ratios are with + respect to the size of the original image, so we can't capture the same + effect easily by independently applying RandomCropImage + followed by RandomPadImage. + + Args: + image: rank 3 float32 tensor containing 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + boxes: rank 2 float32 tensor containing the bounding boxes -> [N, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + labels: rank 1 int32 tensor containing the object classes. + min_object_covered: the cropped image must cover at least this fraction of + at least one of the input bounding boxes. + aspect_ratio_range: allowed range for aspect ratio of cropped image. + area_range: allowed range for area ratio between cropped image and the + original image. + overlap_thresh: minimum overlap thresh with new cropped + image to keep the box. + random_coef: a random coefficient that defines the chance of getting the + original image. If random_coef is 0, we will always get the + cropped image, and if it is 1.0, we will always get the + original image. + min_padded_size_ratio: min ratio of padded image height and width to the + input image's height and width. If None, it will + be set to [0.0, 0.0]. + max_padded_size_ratio: max ratio of padded image height and width to the + input image's height and width. If None, it will + be set to [2.0, 2.0]. + pad_color: padding color. A rank 1 tensor of [3] with dtype=tf.float32. + if set as None, it will be set to average color of the randomly + cropped image. + seed: random seed. + + Returns: + padded_image: padded image. + padded_boxes: boxes which is the same rank as input boxes. Boxes are in + normalized form. + cropped_labels: cropped labels. + """ + image_size = tf.shape(image) + image_height = image_size[0] + image_width = image_size[1] + if min_padded_size_ratio is None: + min_padded_size_ratio = tf.constant([0.0, 0.0], tf.float32) + if max_padded_size_ratio is None: + max_padded_size_ratio = tf.constant([2.0, 2.0], tf.float32) + cropped_image, cropped_boxes, cropped_labels = random_crop_image( + image=image, + boxes=boxes, + labels=labels, + min_object_covered=min_object_covered, + aspect_ratio_range=aspect_ratio_range, + area_range=area_range, + overlap_thresh=overlap_thresh, + random_coef=random_coef, + seed=seed) + + min_image_size = tf.to_int32( + tf.to_float(tf.stack([image_height, image_width])) * + min_padded_size_ratio) + max_image_size = tf.to_int32( + tf.to_float(tf.stack([image_height, image_width])) * + max_padded_size_ratio) + + padded_image, padded_boxes = random_pad_image( + cropped_image, + cropped_boxes, + min_image_size=min_image_size, + max_image_size=max_image_size, + pad_color=pad_color, + seed=seed) + + return padded_image, padded_boxes, cropped_labels + + +def random_crop_to_aspect_ratio(image, + boxes, + labels, + masks=None, + keypoints=None, + aspect_ratio=1.0, + overlap_thresh=0.3, + seed=None): + """Randomly crops an image to the specified aspect ratio. + + Randomly crops the a portion of the image such that the crop is of the + specified aspect ratio, and the crop is as large as possible. If the specified + aspect ratio is larger than the aspect ratio of the image, this op will + randomly remove rows from the top and bottom of the image. If the specified + aspect ratio is less than the aspect ratio of the image, this op will randomly + remove cols from the left and right of the image. If the specified aspect + ratio is the same as the aspect ratio of the image, this op will return the + image. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + boxes: rank 2 float32 tensor containing the bounding boxes -> [N, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + labels: rank 1 int32 tensor containing the object classes. + masks: (optional) rank 3 float32 tensor with shape + [num_instances, height, width] containing instance masks. The masks + are of the same height, width as the input `image`. + keypoints: (optional) rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2]. The keypoints are in y-x + normalized coordinates. + aspect_ratio: the aspect ratio of cropped image. + overlap_thresh: minimum overlap thresh with new cropped + image to keep the box. + seed: random seed. + + Returns: + image: image which is the same rank as input image. + boxes: boxes which is the same rank as input boxes. + Boxes are in normalized form. + labels: new labels. + + If masks, or keypoints is not None, the function also returns: + + masks: rank 3 float32 tensor with shape [num_instances, height, width] + containing instance masks. + keypoints: rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2] + + Raises: + ValueError: If image is not a 3D tensor. + """ + if len(image.get_shape()) != 3: + raise ValueError('Image should be 3D tensor') + + with tf.name_scope('RandomCropToAspectRatio', values=[image]): + image_shape = tf.shape(image) + orig_height = image_shape[0] + orig_width = image_shape[1] + orig_aspect_ratio = tf.to_float(orig_width) / tf.to_float(orig_height) + new_aspect_ratio = tf.constant(aspect_ratio, dtype=tf.float32) + def target_height_fn(): + return tf.to_int32( + tf.round( + tf.to_float(orig_height) * orig_aspect_ratio / new_aspect_ratio)) + target_height = tf.cond( + orig_aspect_ratio >= new_aspect_ratio, + lambda: orig_height, + target_height_fn) + def target_width_fn(): + return tf.to_int32( + tf.round( + tf.to_float(orig_width) * new_aspect_ratio / orig_aspect_ratio)) + target_width = tf.cond( + orig_aspect_ratio <= new_aspect_ratio, + lambda: orig_width, + target_width_fn) + + # either offset_height = 0 and offset_width is randomly chosen from + # [0, offset_width - target_width), or else offset_width = 0 and + # offset_height is randomly chosen from [0, offset_height - target_height) + offset_height = _random_integer(0, orig_height - target_height + 1, seed) + offset_width = _random_integer(0, orig_width - target_width + 1, seed) + new_image = tf.image.crop_to_bounding_box( + image, offset_height, offset_width, target_height, target_width) + + im_box = tf.stack([ + tf.to_float(offset_height) / tf.to_float(orig_height), + tf.to_float(offset_width) / tf.to_float(orig_width), + tf.to_float(offset_height + target_height) / tf.to_float(orig_height), + tf.to_float(offset_width + target_width) / tf.to_float(orig_width) + ]) + + boxlist = box_list.BoxList(boxes) + boxlist.add_field('labels', labels) + + im_boxlist = box_list.BoxList(tf.expand_dims(im_box, 0)) + + # remove boxes whose overlap with the image is less than overlap_thresh + overlapping_boxlist, keep_ids = box_list_ops.prune_non_overlapping_boxes( + boxlist, im_boxlist, overlap_thresh) + + # change the coordinate of the remaining boxes + new_labels = overlapping_boxlist.get_field('labels') + new_boxlist = box_list_ops.change_coordinate_frame(overlapping_boxlist, + im_box) + new_boxlist = box_list_ops.clip_to_window(new_boxlist, + tf.constant( + [0.0, 0.0, 1.0, 1.0], + tf.float32)) + new_boxes = new_boxlist.get() + + result = [new_image, new_boxes, new_labels] + + if masks is not None: + masks_inside_window = tf.gather(masks, keep_ids) + masks_box_begin = tf.stack([0, offset_height, offset_width]) + masks_box_size = tf.stack([-1, target_height, target_width]) + new_masks = tf.slice(masks_inside_window, masks_box_begin, masks_box_size) + result.append(new_masks) + + if keypoints is not None: + keypoints_inside_window = tf.gather(keypoints, keep_ids) + new_keypoints = keypoint_ops.change_coordinate_frame( + keypoints_inside_window, im_box) + new_keypoints = keypoint_ops.prune_outside_window(new_keypoints, + [0.0, 0.0, 1.0, 1.0]) + result.append(new_keypoints) + + return tuple(result) + + +def random_black_patches(image, + max_black_patches=10, + probability=0.5, + size_to_image_ratio=0.1, + random_seed=None): + """Randomly adds some black patches to the image. + + This op adds up to max_black_patches square black patches of a fixed size + to the image where size is specified via the size_to_image_ratio parameter. + + Args: + image: rank 3 float32 tensor containing 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + max_black_patches: number of times that the function tries to add a + black box to the image. + probability: at each try, what is the chance of adding a box. + size_to_image_ratio: Determines the ratio of the size of the black patches + to the size of the image. + box_size = size_to_image_ratio * + min(image_width, image_height) + random_seed: random seed. + + Returns: + image + """ + def add_black_patch_to_image(image): + """Function for adding one patch to the image. + + Args: + image: image + + Returns: + image with a randomly added black box + """ + image_shape = tf.shape(image) + image_height = image_shape[0] + image_width = image_shape[1] + box_size = tf.to_int32( + tf.multiply( + tf.minimum(tf.to_float(image_height), tf.to_float(image_width)), + size_to_image_ratio)) + normalized_y_min = tf.random_uniform( + [], minval=0.0, maxval=(1.0 - size_to_image_ratio), seed=random_seed) + normalized_x_min = tf.random_uniform( + [], minval=0.0, maxval=(1.0 - size_to_image_ratio), seed=random_seed) + y_min = tf.to_int32(normalized_y_min * tf.to_float(image_height)) + x_min = tf.to_int32(normalized_x_min * tf.to_float(image_width)) + black_box = tf.ones([box_size, box_size, 3], dtype=tf.float32) + mask = 1.0 - tf.image.pad_to_bounding_box(black_box, y_min, x_min, + image_height, image_width) + image = tf.multiply(image, mask) + return image + + with tf.name_scope('RandomBlackPatchInImage', values=[image]): + for _ in range(max_black_patches): + random_prob = tf.random_uniform([], minval=0.0, maxval=1.0, + dtype=tf.float32, seed=random_seed) + image = tf.cond( + tf.greater(random_prob, probability), lambda: image, + lambda: add_black_patch_to_image(image)) + + return image + + +def image_to_float(image): + """Used in Faster R-CNN. Casts image pixel values to float. + + Args: + image: input image which might be in tf.uint8 or sth else format + + Returns: + image: image in tf.float32 format. + """ + with tf.name_scope('ImageToFloat', values=[image]): + image = tf.to_float(image) + return image + + +def random_resize_method(image, target_size): + """Uses a random resize method to resize the image to target size. + + Args: + image: a rank 3 tensor. + target_size: a list of [target_height, target_width] + + Returns: + resized image. + """ + + resized_image = _apply_with_random_selector( + image, + lambda x, method: tf.image.resize_images(x, target_size, method), + num_cases=4) + + return resized_image + + +def resize_to_range(image, + masks=None, + min_dimension=None, + max_dimension=None, + align_corners=False): + """Resizes an image so its dimensions are within the provided value. + + The output size can be described by two cases: + 1. If the image can be rescaled so its minimum dimension is equal to the + provided value without the other dimension exceeding max_dimension, + then do so. + 2. Otherwise, resize so the largest dimension is equal to max_dimension. + + Args: + image: A 3D tensor of shape [height, width, channels] + masks: (optional) rank 3 float32 tensor with shape + [num_instances, height, width] containing instance masks. + min_dimension: (optional) (scalar) desired size of the smaller image + dimension. + max_dimension: (optional) (scalar) maximum allowed size + of the larger image dimension. + align_corners: bool. If true, exactly align all 4 corners of the input + and output. Defaults to False. + + Returns: + A 3D tensor of shape [new_height, new_width, channels], + where the image has been resized (with bilinear interpolation) so that + min(new_height, new_width) == min_dimension or + max(new_height, new_width) == max_dimension. + + If masks is not None, also outputs masks: + A 3D tensor of shape [num_instances, new_height, new_width] + + Raises: + ValueError: if the image is not a 3D tensor. + """ + if len(image.get_shape()) != 3: + raise ValueError('Image should be 3D tensor') + + with tf.name_scope('ResizeToRange', values=[image, min_dimension]): + image_shape = tf.shape(image) + orig_height = tf.to_float(image_shape[0]) + orig_width = tf.to_float(image_shape[1]) + orig_min_dim = tf.minimum(orig_height, orig_width) + + # Calculates the larger of the possible sizes + min_dimension = tf.constant(min_dimension, dtype=tf.float32) + large_scale_factor = min_dimension / orig_min_dim + # Scaling orig_(height|width) by large_scale_factor will make the smaller + # dimension equal to min_dimension, save for floating point rounding errors. + # For reasonably-sized images, taking the nearest integer will reliably + # eliminate this error. + large_height = tf.to_int32(tf.round(orig_height * large_scale_factor)) + large_width = tf.to_int32(tf.round(orig_width * large_scale_factor)) + large_size = tf.stack([large_height, large_width]) + + if max_dimension: + # Calculates the smaller of the possible sizes, use that if the larger + # is too big. + orig_max_dim = tf.maximum(orig_height, orig_width) + max_dimension = tf.constant(max_dimension, dtype=tf.float32) + small_scale_factor = max_dimension / orig_max_dim + # Scaling orig_(height|width) by small_scale_factor will make the larger + # dimension equal to max_dimension, save for floating point rounding + # errors. For reasonably-sized images, taking the nearest integer will + # reliably eliminate this error. + small_height = tf.to_int32(tf.round(orig_height * small_scale_factor)) + small_width = tf.to_int32(tf.round(orig_width * small_scale_factor)) + small_size = tf.stack([small_height, small_width]) + + new_size = tf.cond( + tf.to_float(tf.reduce_max(large_size)) > max_dimension, + lambda: small_size, lambda: large_size) + else: + new_size = large_size + + new_image = tf.image.resize_images(image, new_size, + align_corners=align_corners) + + result = new_image + if masks is not None: + num_instances = tf.shape(masks)[0] + + def resize_masks_branch(): + new_masks = tf.expand_dims(masks, 3) + new_masks = tf.image.resize_nearest_neighbor( + new_masks, new_size, align_corners=align_corners) + new_masks = tf.squeeze(new_masks, axis=3) + return new_masks + + def reshape_masks_branch(): + new_masks = tf.reshape(masks, [0, new_size[0], new_size[1]]) + return new_masks + + masks = tf.cond(num_instances > 0, + resize_masks_branch, + reshape_masks_branch) + result = [new_image, masks] + + return result + + +def scale_boxes_to_pixel_coordinates(image, boxes, keypoints=None): + """Scales boxes from normalized to pixel coordinates. + + Args: + image: A 3D float32 tensor of shape [height, width, channels]. + boxes: A 2D float32 tensor of shape [num_boxes, 4] containing the bounding + boxes in normalized coordinates. Each row is of the form + [ymin, xmin, ymax, xmax]. + keypoints: (optional) rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2]. The keypoints are in y-x normalized + coordinates. + + Returns: + image: unchanged input image. + scaled_boxes: a 2D float32 tensor of shape [num_boxes, 4] containing the + bounding boxes in pixel coordinates. + scaled_keypoints: a 3D float32 tensor with shape + [num_instances, num_keypoints, 2] containing the keypoints in pixel + coordinates. + """ + boxlist = box_list.BoxList(boxes) + image_height = tf.shape(image)[0] + image_width = tf.shape(image)[1] + scaled_boxes = box_list_ops.scale(boxlist, image_height, image_width).get() + result = [image, scaled_boxes] + if keypoints is not None: + scaled_keypoints = keypoint_ops.scale(keypoints, image_height, image_width) + result.append(scaled_keypoints) + return tuple(result) + + +# pylint: disable=g-doc-return-or-yield +def resize_image(image, + masks=None, + new_height=600, + new_width=1024, + method=tf.image.ResizeMethod.BILINEAR, + align_corners=False): + """See `tf.image.resize_images` for detailed doc.""" + with tf.name_scope( + 'ResizeImage', + values=[image, new_height, new_width, method, align_corners]): + new_image = tf.image.resize_images(image, [new_height, new_width], + method=method, + align_corners=align_corners) + result = new_image + if masks is not None: + num_instances = tf.shape(masks)[0] + new_size = tf.constant([new_height, new_width], dtype=tf.int32) + def resize_masks_branch(): + new_masks = tf.expand_dims(masks, 3) + new_masks = tf.image.resize_nearest_neighbor( + new_masks, new_size, align_corners=align_corners) + new_masks = tf.squeeze(new_masks, axis=3) + return new_masks + + def reshape_masks_branch(): + new_masks = tf.reshape(masks, [0, new_size[0], new_size[1]]) + return new_masks + + masks = tf.cond(num_instances > 0, + resize_masks_branch, + reshape_masks_branch) + result = [new_image, masks] + + return result + + +def subtract_channel_mean(image, means=None): + """Normalizes an image by subtracting a mean from each channel. + + Args: + image: A 3D tensor of shape [height, width, channels] + means: float list containing a mean for each channel + Returns: + normalized_images: a tensor of shape [height, width, channels] + Raises: + ValueError: if images is not a 4D tensor or if the number of means is not + equal to the number of channels. + """ + with tf.name_scope('SubtractChannelMean', values=[image, means]): + if len(image.get_shape()) != 3: + raise ValueError('Input must be of size [height, width, channels]') + if len(means) != image.get_shape()[-1]: + raise ValueError('len(means) must match the number of channels') + return image - [[means]] + + +def one_hot_encoding(labels, num_classes=None): + """One-hot encodes the multiclass labels. + + Example usage: + labels = tf.constant([1, 4], dtype=tf.int32) + one_hot = OneHotEncoding(labels, num_classes=5) + one_hot.eval() # evaluates to [0, 1, 0, 0, 1] + + Args: + labels: A tensor of shape [None] corresponding to the labels. + num_classes: Number of classes in the dataset. + Returns: + onehot_labels: a tensor of shape [num_classes] corresponding to the one hot + encoding of the labels. + Raises: + ValueError: if num_classes is not specified. + """ + with tf.name_scope('OneHotEncoding', values=[labels]): + if num_classes is None: + raise ValueError('num_classes must be specified') + + labels = tf.one_hot(labels, num_classes, 1, 0) + return tf.reduce_max(labels, 0) + + +def rgb_to_gray(image): + """Converts a 3 channel RGB image to a 1 channel grayscale image. + + Args: + image: Rank 3 float32 tensor containing 1 image -> [height, width, 3] + with pixel values varying between [0, 1]. + + Returns: + image: A single channel grayscale image -> [image, height, 1]. + """ + return tf.image.rgb_to_grayscale(image) + + +def ssd_random_crop(image, + boxes, + labels, + masks=None, + keypoints=None, + min_object_covered=(0.0, 0.1, 0.3, 0.5, 0.7, 0.9, 1.0), + aspect_ratio_range=((0.5, 2.0),) * 7, + area_range=((0.1, 1.0),) * 7, + overlap_thresh=(0.0, 0.1, 0.3, 0.5, 0.7, 0.9, 1.0), + random_coef=(0.15,) * 7, + seed=None): + """Random crop preprocessing with default parameters as in SSD paper. + + Liu et al., SSD: Single shot multibox detector. + For further information on random crop preprocessing refer to RandomCrop + function above. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + boxes: rank 2 float32 tensor containing the bounding boxes -> [N, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + labels: rank 1 int32 tensor containing the object classes. + masks: (optional) rank 3 float32 tensor with shape + [num_instances, height, width] containing instance masks. The masks + are of the same height, width as the input `image`. + keypoints: (optional) rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2]. The keypoints are in y-x + normalized coordinates. + min_object_covered: the cropped image must cover at least this fraction of + at least one of the input bounding boxes. + aspect_ratio_range: allowed range for aspect ratio of cropped image. + area_range: allowed range for area ratio between cropped image and the + original image. + overlap_thresh: minimum overlap thresh with new cropped + image to keep the box. + random_coef: a random coefficient that defines the chance of getting the + original image. If random_coef is 0, we will always get the + cropped image, and if it is 1.0, we will always get the + original image. + seed: random seed. + + Returns: + image: image which is the same rank as input image. + boxes: boxes which is the same rank as input boxes. + Boxes are in normalized form. + labels: new labels. + + If masks, or keypoints is not None, the function also returns: + + masks: rank 3 float32 tensor with shape [num_instances, height, width] + containing instance masks. + keypoints: rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2] + """ + def random_crop_selector(selected_result, index): + """Applies random_crop_image to selected result. + + Args: + selected_result: A tuple containing image, boxes, labels, keypoints (if + not None), and masks (if not None). + index: The index that was randomly selected. + + Returns: A tuple containing image, boxes, labels, keypoints (if not None), + and masks (if not None). + """ + i = 3 + image, boxes, labels = selected_result[:i] + selected_masks = None + selected_keypoints = None + if masks is not None: + selected_masks = selected_result[i] + i += 1 + if keypoints is not None: + selected_keypoints = selected_result[i] + + return random_crop_image( + image=image, + boxes=boxes, + labels=labels, + masks=selected_masks, + keypoints=selected_keypoints, + min_object_covered=min_object_covered[index], + aspect_ratio_range=aspect_ratio_range[index], + area_range=area_range[index], + overlap_thresh=overlap_thresh[index], + random_coef=random_coef[index], + seed=seed) + + result = _apply_with_random_selector_tuples( + tuple( + t for t in (image, boxes, labels, masks, keypoints) if t is not None), + random_crop_selector, + num_cases=len(min_object_covered)) + return result + + +def ssd_random_crop_pad(image, + boxes, + labels, + min_object_covered=(0.1, 0.3, 0.5, 0.7, 0.9, 1.0), + aspect_ratio_range=((0.5, 2.0),) * 6, + area_range=((0.1, 1.0),) * 6, + overlap_thresh=(0.1, 0.3, 0.5, 0.7, 0.9, 1.0), + random_coef=(0.15,) * 6, + min_padded_size_ratio=(None,) * 6, + max_padded_size_ratio=(None,) * 6, + pad_color=(None,) * 6, + seed=None): + """Random crop preprocessing with default parameters as in SSD paper. + + Liu et al., SSD: Single shot multibox detector. + For further information on random crop preprocessing refer to RandomCrop + function above. + + Args: + image: rank 3 float32 tensor containing 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + boxes: rank 2 float32 tensor containing the bounding boxes -> [N, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + labels: rank 1 int32 tensor containing the object classes. + min_object_covered: the cropped image must cover at least this fraction of + at least one of the input bounding boxes. + aspect_ratio_range: allowed range for aspect ratio of cropped image. + area_range: allowed range for area ratio between cropped image and the + original image. + overlap_thresh: minimum overlap thresh with new cropped + image to keep the box. + random_coef: a random coefficient that defines the chance of getting the + original image. If random_coef is 0, we will always get the + cropped image, and if it is 1.0, we will always get the + original image. + min_padded_size_ratio: min ratio of padded image height and width to the + input image's height and width. If None, it will + be set to [0.0, 0.0]. + max_padded_size_ratio: max ratio of padded image height and width to the + input image's height and width. If None, it will + be set to [2.0, 2.0]. + pad_color: padding color. A rank 1 tensor of [3] with dtype=tf.float32. + if set as None, it will be set to average color of the randomly + cropped image. + seed: random seed. + + Returns: + image: Image shape will be [new_height, new_width, channels]. + boxes: boxes which is the same rank as input boxes. Boxes are in normalized + form. + new_labels: new labels. + """ + def random_crop_pad_selector(image_boxes_labels, index): + image, boxes, labels = image_boxes_labels + + return random_crop_pad_image( + image, + boxes, + labels, + min_object_covered=min_object_covered[index], + aspect_ratio_range=aspect_ratio_range[index], + area_range=area_range[index], + overlap_thresh=overlap_thresh[index], + random_coef=random_coef[index], + min_padded_size_ratio=min_padded_size_ratio[index], + max_padded_size_ratio=max_padded_size_ratio[index], + pad_color=pad_color[index], + seed=seed) + + new_image, new_boxes, new_labels = _apply_with_random_selector_tuples( + (image, boxes, labels), + random_crop_pad_selector, + num_cases=len(min_object_covered)) + return new_image, new_boxes, new_labels + + +def ssd_random_crop_fixed_aspect_ratio( + image, + boxes, + labels, + masks=None, + keypoints=None, + min_object_covered=(0.0, 0.1, 0.3, 0.5, 0.7, 0.9, 1.0), + aspect_ratio=1.0, + area_range=((0.1, 1.0),) * 7, + overlap_thresh=(0.0, 0.1, 0.3, 0.5, 0.7, 0.9, 1.0), + random_coef=(0.15,) * 7, + seed=None): + """Random crop preprocessing with default parameters as in SSD paper. + + Liu et al., SSD: Single shot multibox detector. + For further information on random crop preprocessing refer to RandomCrop + function above. + + The only difference is that the aspect ratio of the crops are fixed. + + Args: + image: rank 3 float32 tensor contains 1 image -> [height, width, channels] + with pixel values varying between [0, 1]. + boxes: rank 2 float32 tensor containing the bounding boxes -> [N, 4]. + Boxes are in normalized form meaning their coordinates vary + between [0, 1]. + Each row is in the form of [ymin, xmin, ymax, xmax]. + labels: rank 1 int32 tensor containing the object classes. + masks: (optional) rank 3 float32 tensor with shape + [num_instances, height, width] containing instance masks. The masks + are of the same height, width as the input `image`. + keypoints: (optional) rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2]. The keypoints are in y-x + normalized coordinates. + min_object_covered: the cropped image must cover at least this fraction of + at least one of the input bounding boxes. + aspect_ratio: aspect ratio of the cropped image. + area_range: allowed range for area ratio between cropped image and the + original image. + overlap_thresh: minimum overlap thresh with new cropped + image to keep the box. + random_coef: a random coefficient that defines the chance of getting the + original image. If random_coef is 0, we will always get the + cropped image, and if it is 1.0, we will always get the + original image. + seed: random seed. + + Returns: + image: image which is the same rank as input image. + boxes: boxes which is the same rank as input boxes. + Boxes are in normalized form. + labels: new labels. + + If masks, or keypoints is not None, the function also returns: + + masks: rank 3 float32 tensor with shape [num_instances, height, width] + containing instance masks. + keypoints: rank 3 float32 tensor with shape + [num_instances, num_keypoints, 2] + + """ + aspect_ratio_range = ((aspect_ratio, aspect_ratio),) * len(area_range) + + crop_result = ssd_random_crop(image, boxes, labels, masks, keypoints, + min_object_covered, aspect_ratio_range, + area_range, overlap_thresh, random_coef, seed) + i = 3 + new_image, new_boxes, new_labels = crop_result[:i] + new_masks = None + new_keypoints = None + if masks is not None: + new_masks = crop_result[i] + i += 1 + if keypoints is not None: + new_keypoints = crop_result[i] + result = random_crop_to_aspect_ratio( + new_image, + new_boxes, + new_labels, + new_masks, + new_keypoints, + aspect_ratio=aspect_ratio, + seed=seed) + + return result + + +def get_default_func_arg_map(include_instance_masks=False, + include_keypoints=False): + """Returns the default mapping from a preprocessor function to its args. + + Args: + include_instance_masks: If True, preprocessing functions will modify the + instance masks, too. + include_keypoints: If True, preprocessing functions will modify the + keypoints, too. + + Returns: + A map from preprocessing functions to the arguments they receive. + """ + groundtruth_instance_masks = None + if include_instance_masks: + groundtruth_instance_masks = ( + fields.InputDataFields.groundtruth_instance_masks) + + groundtruth_keypoints = None + if include_keypoints: + groundtruth_keypoints = fields.InputDataFields.groundtruth_keypoints + + prep_func_arg_map = { + normalize_image: (fields.InputDataFields.image,), + random_horizontal_flip: (fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes, + groundtruth_instance_masks, + groundtruth_keypoints,), + random_pixel_value_scale: (fields.InputDataFields.image,), + random_image_scale: (fields.InputDataFields.image, + groundtruth_instance_masks,), + random_rgb_to_gray: (fields.InputDataFields.image,), + random_adjust_brightness: (fields.InputDataFields.image,), + random_adjust_contrast: (fields.InputDataFields.image,), + random_adjust_hue: (fields.InputDataFields.image,), + random_adjust_saturation: (fields.InputDataFields.image,), + random_distort_color: (fields.InputDataFields.image,), + random_jitter_boxes: (fields.InputDataFields.groundtruth_boxes,), + random_crop_image: (fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_classes, + groundtruth_instance_masks, + groundtruth_keypoints,), + random_pad_image: (fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes), + random_crop_pad_image: (fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_classes), + random_crop_to_aspect_ratio: (fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_classes, + groundtruth_instance_masks, + groundtruth_keypoints,), + random_black_patches: (fields.InputDataFields.image,), + retain_boxes_above_threshold: ( + fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_classes, + fields.InputDataFields.groundtruth_label_scores, + groundtruth_instance_masks, + groundtruth_keypoints,), + image_to_float: (fields.InputDataFields.image,), + random_resize_method: (fields.InputDataFields.image,), + resize_to_range: (fields.InputDataFields.image, + groundtruth_instance_masks,), + scale_boxes_to_pixel_coordinates: ( + fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes, + groundtruth_keypoints,), + flip_boxes: (fields.InputDataFields.groundtruth_boxes,), + resize_image: (fields.InputDataFields.image, + groundtruth_instance_masks,), + subtract_channel_mean: (fields.InputDataFields.image,), + one_hot_encoding: (fields.InputDataFields.groundtruth_image_classes,), + rgb_to_gray: (fields.InputDataFields.image,), + ssd_random_crop: (fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_classes, + groundtruth_instance_masks, + groundtruth_keypoints,), + ssd_random_crop_pad: (fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_classes), + ssd_random_crop_fixed_aspect_ratio: ( + fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_classes, + groundtruth_instance_masks, + groundtruth_keypoints,), + } + + return prep_func_arg_map + + +def preprocess(tensor_dict, preprocess_options, func_arg_map=None): + """Preprocess images and bounding boxes. + + Various types of preprocessing (to be implemented) based on the + preprocess_options dictionary e.g. "crop image" (affects image and possibly + boxes), "white balance image" (affects only image), etc. If self._options + is None, no preprocessing is done. + + Args: + tensor_dict: dictionary that contains images, boxes, and can contain other + things as well. + images-> rank 4 float32 tensor contains + 1 image -> [1, height, width, 3]. + with pixel values varying between [0, 1] + boxes-> rank 2 float32 tensor containing + the bounding boxes -> [N, 4]. + Boxes are in normalized form meaning + their coordinates vary between [0, 1]. + Each row is in the form + of [ymin, xmin, ymax, xmax]. + preprocess_options: It is a list of tuples, where each tuple contains a + function and a dictionary that contains arguments and + their values. + func_arg_map: mapping from preprocessing functions to arguments that they + expect to receive and return. + + Returns: + tensor_dict: which contains the preprocessed images, bounding boxes, etc. + + Raises: + ValueError: (a) If the functions passed to Preprocess + are not in func_arg_map. + (b) If the arguments that a function needs + do not exist in tensor_dict. + (c) If image in tensor_dict is not rank 4 + """ + if func_arg_map is None: + func_arg_map = get_default_func_arg_map() + + # changes the images to image (rank 4 to rank 3) since the functions + # receive rank 3 tensor for image + if fields.InputDataFields.image in tensor_dict: + images = tensor_dict[fields.InputDataFields.image] + if len(images.get_shape()) != 4: + raise ValueError('images in tensor_dict should be rank 4') + image = tf.squeeze(images, squeeze_dims=[0]) + tensor_dict[fields.InputDataFields.image] = image + + # Preprocess inputs based on preprocess_options + for option in preprocess_options: + func, params = option + if func not in func_arg_map: + raise ValueError('The function %s does not exist in func_arg_map' % + (func.__name__)) + arg_names = func_arg_map[func] + for a in arg_names: + if a is not None and a not in tensor_dict: + raise ValueError('The function %s requires argument %s' % + (func.__name__, a)) + + def get_arg(key): + return tensor_dict[key] if key is not None else None + args = [get_arg(a) for a in arg_names] + results = func(*args, **params) + if not isinstance(results, (list, tuple)): + results = (results,) + # Removes None args since the return values will not contain those. + arg_names = [arg_name for arg_name in arg_names if arg_name is not None] + for res, arg_name in zip(results, arg_names): + tensor_dict[arg_name] = res + + # changes the image to images (rank 3 to rank 4) to be compatible to what + # we received in the first place + if fields.InputDataFields.image in tensor_dict: + image = tensor_dict[fields.InputDataFields.image] + images = tf.expand_dims(image, 0) + tensor_dict[fields.InputDataFields.image] = images + + return tensor_dict diff --git a/object_detection/core/preprocessor_test.py b/object_detection/core/preprocessor_test.py new file mode 100644 index 000000000..109df7a6c --- /dev/null +++ b/object_detection/core/preprocessor_test.py @@ -0,0 +1,1746 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.preprocessor.""" + +import mock +import numpy as np + +import tensorflow as tf + +from object_detection.core import preprocessor +from object_detection.core import standard_fields as fields + + +class PreprocessorTest(tf.test.TestCase): + + def createColorfulTestImage(self): + ch255 = tf.fill([1, 100, 200, 1], tf.constant(255, dtype=tf.uint8)) + ch128 = tf.fill([1, 100, 200, 1], tf.constant(128, dtype=tf.uint8)) + ch0 = tf.fill([1, 100, 200, 1], tf.constant(0, dtype=tf.uint8)) + imr = tf.concat([ch255, ch0, ch0], 3) + img = tf.concat([ch255, ch255, ch0], 3) + imb = tf.concat([ch255, ch0, ch255], 3) + imw = tf.concat([ch128, ch128, ch128], 3) + imu = tf.concat([imr, img], 2) + imd = tf.concat([imb, imw], 2) + im = tf.concat([imu, imd], 1) + return im + + def createTestImages(self): + images_r = tf.constant([[[128, 128, 128, 128], [0, 0, 128, 128], + [0, 128, 128, 128], [192, 192, 128, 128]]], + dtype=tf.uint8) + images_r = tf.expand_dims(images_r, 3) + images_g = tf.constant([[[0, 0, 128, 128], [0, 0, 128, 128], + [0, 128, 192, 192], [192, 192, 128, 192]]], + dtype=tf.uint8) + images_g = tf.expand_dims(images_g, 3) + images_b = tf.constant([[[128, 128, 192, 0], [0, 0, 128, 192], + [0, 128, 128, 0], [192, 192, 192, 128]]], + dtype=tf.uint8) + images_b = tf.expand_dims(images_b, 3) + images = tf.concat([images_r, images_g, images_b], 3) + return images + + def createTestBoxes(self): + boxes = tf.constant( + [[0.0, 0.25, 0.75, 1.0], [0.25, 0.5, 0.75, 1.0]], dtype=tf.float32) + return boxes + + def createTestLabelScores(self): + return tf.constant([1.0, 0.5], dtype=tf.float32) + + def createTestLabelScoresWithMissingScore(self): + return tf.constant([0.5, np.nan], dtype=tf.float32) + + def createTestMasks(self): + mask = np.array([ + [[255.0, 0.0, 0.0], + [255.0, 0.0, 0.0], + [255.0, 0.0, 0.0]], + [[255.0, 255.0, 0.0], + [255.0, 255.0, 0.0], + [255.0, 255.0, 0.0]]]) + return tf.constant(mask, dtype=tf.float32) + + def createTestKeypoints(self): + keypoints = np.array([ + [[0.1, 0.1], [0.2, 0.2], [0.3, 0.3]], + [[0.4, 0.4], [0.5, 0.5], [0.6, 0.6]], + ]) + return tf.constant(keypoints, dtype=tf.float32) + + def createTestKeypointsInsideCrop(self): + keypoints = np.array([ + [[0.4, 0.4], [0.5, 0.5], [0.6, 0.6]], + [[0.4, 0.4], [0.5, 0.5], [0.6, 0.6]], + ]) + return tf.constant(keypoints, dtype=tf.float32) + + def createTestKeypointsOutsideCrop(self): + keypoints = np.array([ + [[0.1, 0.1], [0.2, 0.2], [0.3, 0.3]], + [[0.1, 0.1], [0.2, 0.2], [0.3, 0.3]], + ]) + return tf.constant(keypoints, dtype=tf.float32) + + def createKeypointFlipPermutation(self): + return np.array([0, 2, 1], dtype=np.int32) + + def createTestLabels(self): + labels = tf.constant([1, 2], dtype=tf.int32) + return labels + + def createTestBoxesOutOfImage(self): + boxes = tf.constant( + [[-0.1, 0.25, 0.75, 1], [0.25, 0.5, 0.75, 1.1]], dtype=tf.float32) + return boxes + + def expectedImagesAfterNormalization(self): + images_r = tf.constant([[[0, 0, 0, 0], [-1, -1, 0, 0], + [-1, 0, 0, 0], [0.5, 0.5, 0, 0]]], + dtype=tf.float32) + images_r = tf.expand_dims(images_r, 3) + images_g = tf.constant([[[-1, -1, 0, 0], [-1, -1, 0, 0], + [-1, 0, 0.5, 0.5], [0.5, 0.5, 0, 0.5]]], + dtype=tf.float32) + images_g = tf.expand_dims(images_g, 3) + images_b = tf.constant([[[0, 0, 0.5, -1], [-1, -1, 0, 0.5], + [-1, 0, 0, -1], [0.5, 0.5, 0.5, 0]]], + dtype=tf.float32) + images_b = tf.expand_dims(images_b, 3) + images = tf.concat([images_r, images_g, images_b], 3) + return images + + def expectedMaxImageAfterColorScale(self): + images_r = tf.constant([[[0.1, 0.1, 0.1, 0.1], [-0.9, -0.9, 0.1, 0.1], + [-0.9, 0.1, 0.1, 0.1], [0.6, 0.6, 0.1, 0.1]]], + dtype=tf.float32) + images_r = tf.expand_dims(images_r, 3) + images_g = tf.constant([[[-0.9, -0.9, 0.1, 0.1], [-0.9, -0.9, 0.1, 0.1], + [-0.9, 0.1, 0.6, 0.6], [0.6, 0.6, 0.1, 0.6]]], + dtype=tf.float32) + images_g = tf.expand_dims(images_g, 3) + images_b = tf.constant([[[0.1, 0.1, 0.6, -0.9], [-0.9, -0.9, 0.1, 0.6], + [-0.9, 0.1, 0.1, -0.9], [0.6, 0.6, 0.6, 0.1]]], + dtype=tf.float32) + images_b = tf.expand_dims(images_b, 3) + images = tf.concat([images_r, images_g, images_b], 3) + return images + + def expectedMinImageAfterColorScale(self): + images_r = tf.constant([[[-0.1, -0.1, -0.1, -0.1], [-1, -1, -0.1, -0.1], + [-1, -0.1, -0.1, -0.1], [0.4, 0.4, -0.1, -0.1]]], + dtype=tf.float32) + images_r = tf.expand_dims(images_r, 3) + images_g = tf.constant([[[-1, -1, -0.1, -0.1], [-1, -1, -0.1, -0.1], + [-1, -0.1, 0.4, 0.4], [0.4, 0.4, -0.1, 0.4]]], + dtype=tf.float32) + images_g = tf.expand_dims(images_g, 3) + images_b = tf.constant([[[-0.1, -0.1, 0.4, -1], [-1, -1, -0.1, 0.4], + [-1, -0.1, -0.1, -1], [0.4, 0.4, 0.4, -0.1]]], + dtype=tf.float32) + images_b = tf.expand_dims(images_b, 3) + images = tf.concat([images_r, images_g, images_b], 3) + return images + + def expectedImagesAfterMirroring(self): + images_r = tf.constant([[[0, 0, 0, 0], [0, 0, -1, -1], + [0, 0, 0, -1], [0, 0, 0.5, 0.5]]], + dtype=tf.float32) + images_r = tf.expand_dims(images_r, 3) + images_g = tf.constant([[[0, 0, -1, -1], [0, 0, -1, -1], + [0.5, 0.5, 0, -1], [0.5, 0, 0.5, 0.5]]], + dtype=tf.float32) + images_g = tf.expand_dims(images_g, 3) + images_b = tf.constant([[[-1, 0.5, 0, 0], [0.5, 0, -1, -1], + [-1, 0, 0, -1], [0, 0.5, 0.5, 0.5]]], + dtype=tf.float32) + images_b = tf.expand_dims(images_b, 3) + images = tf.concat([images_r, images_g, images_b], 3) + return images + + def expectedBoxesAfterMirroring(self): + boxes = tf.constant([[0.0, 0.0, 0.75, 0.75], [0.25, 0.0, 0.75, 0.5]], + dtype=tf.float32) + return boxes + + def expectedBoxesAfterXY(self): + boxes = tf.constant([[0.25, 0.0, 1.0, 0.75], [0.5, 0.25, 1, 0.75]], + dtype=tf.float32) + return boxes + + def expectedMasksAfterMirroring(self): + mask = np.array([ + [[0.0, 0.0, 255.0], + [0.0, 0.0, 255.0], + [0.0, 0.0, 255.0]], + [[0.0, 255.0, 255.0], + [0.0, 255.0, 255.0], + [0.0, 255.0, 255.0]]]) + return tf.constant(mask, dtype=tf.float32) + + def expectedLabelScoresAfterThresholding(self): + return tf.constant([1.0], dtype=tf.float32) + + def expectedBoxesAfterThresholding(self): + return tf.constant([[0.0, 0.25, 0.75, 1.0]], dtype=tf.float32) + + def expectedLabelsAfterThresholding(self): + return tf.constant([1], dtype=tf.float32) + + def expectedMasksAfterThresholding(self): + mask = np.array([ + [[255.0, 0.0, 0.0], + [255.0, 0.0, 0.0], + [255.0, 0.0, 0.0]]]) + return tf.constant(mask, dtype=tf.float32) + + def expectedKeypointsAfterThresholding(self): + keypoints = np.array([ + [[0.1, 0.1], [0.2, 0.2], [0.3, 0.3]] + ]) + return tf.constant(keypoints, dtype=tf.float32) + + def expectedLabelScoresAfterThresholdingWithMissingScore(self): + return tf.constant([np.nan], dtype=tf.float32) + + def expectedBoxesAfterThresholdingWithMissingScore(self): + return tf.constant([[0.25, 0.5, 0.75, 1]], dtype=tf.float32) + + def expectedLabelsAfterThresholdingWithMissingScore(self): + return tf.constant([2], dtype=tf.float32) + + def testNormalizeImage(self): + preprocess_options = [(preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 256, + 'target_minval': -1, + 'target_maxval': 1 + })] + images = self.createTestImages() + tensor_dict = {fields.InputDataFields.image: images} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocess_options) + images = tensor_dict[fields.InputDataFields.image] + images_expected = self.expectedImagesAfterNormalization() + + with self.test_session() as sess: + (images_, images_expected_) = sess.run( + [images, images_expected]) + images_shape_ = images_.shape + images_expected_shape_ = images_expected_.shape + expected_shape = [1, 4, 4, 3] + self.assertAllEqual(images_expected_shape_, images_shape_) + self.assertAllEqual(images_shape_, expected_shape) + self.assertAllClose(images_, images_expected_) + + def testRetainBoxesAboveThreshold(self): + boxes = self.createTestBoxes() + labels = self.createTestLabels() + label_scores = self.createTestLabelScores() + (retained_boxes, retained_labels, + retained_label_scores) = preprocessor.retain_boxes_above_threshold( + boxes, labels, label_scores, threshold=0.6) + with self.test_session() as sess: + (retained_boxes_, retained_labels_, retained_label_scores_, + expected_retained_boxes_, expected_retained_labels_, + expected_retained_label_scores_) = sess.run([ + retained_boxes, retained_labels, retained_label_scores, + self.expectedBoxesAfterThresholding(), + self.expectedLabelsAfterThresholding(), + self.expectedLabelScoresAfterThresholding()]) + self.assertAllClose( + retained_boxes_, expected_retained_boxes_) + self.assertAllClose( + retained_labels_, expected_retained_labels_) + self.assertAllClose( + retained_label_scores_, expected_retained_label_scores_) + + def testRetainBoxesAboveThresholdWithMasks(self): + boxes = self.createTestBoxes() + labels = self.createTestLabels() + label_scores = self.createTestLabelScores() + masks = self.createTestMasks() + _, _, _, retained_masks = preprocessor.retain_boxes_above_threshold( + boxes, labels, label_scores, masks, threshold=0.6) + with self.test_session() as sess: + retained_masks_, expected_retained_masks_ = sess.run([ + retained_masks, self.expectedMasksAfterThresholding()]) + + self.assertAllClose( + retained_masks_, expected_retained_masks_) + + def testRetainBoxesAboveThresholdWithKeypoints(self): + boxes = self.createTestBoxes() + labels = self.createTestLabels() + label_scores = self.createTestLabelScores() + keypoints = self.createTestKeypoints() + (_, _, _, retained_keypoints) = preprocessor.retain_boxes_above_threshold( + boxes, labels, label_scores, keypoints=keypoints, threshold=0.6) + with self.test_session() as sess: + (retained_keypoints_, + expected_retained_keypoints_) = sess.run([ + retained_keypoints, + self.expectedKeypointsAfterThresholding()]) + + self.assertAllClose( + retained_keypoints_, expected_retained_keypoints_) + + def testRetainBoxesAboveThresholdWithMissingScore(self): + boxes = self.createTestBoxes() + labels = self.createTestLabels() + label_scores = self.createTestLabelScoresWithMissingScore() + (retained_boxes, retained_labels, + retained_label_scores) = preprocessor.retain_boxes_above_threshold( + boxes, labels, label_scores, threshold=0.6) + with self.test_session() as sess: + (retained_boxes_, retained_labels_, retained_label_scores_, + expected_retained_boxes_, expected_retained_labels_, + expected_retained_label_scores_) = sess.run([ + retained_boxes, retained_labels, retained_label_scores, + self.expectedBoxesAfterThresholdingWithMissingScore(), + self.expectedLabelsAfterThresholdingWithMissingScore(), + self.expectedLabelScoresAfterThresholdingWithMissingScore()]) + self.assertAllClose( + retained_boxes_, expected_retained_boxes_) + self.assertAllClose( + retained_labels_, expected_retained_labels_) + self.assertAllClose( + retained_label_scores_, expected_retained_label_scores_) + + def testRandomFlipBoxes(self): + boxes = self.createTestBoxes() + + # Case where the boxes are flipped. + boxes_expected1 = self.expectedBoxesAfterMirroring() + + # Case where the boxes are not flipped. + boxes_expected2 = boxes + + # After elementwise multiplication, the result should be all-zero since one + # of them is all-zero. + boxes_diff = tf.multiply( + tf.squared_difference(boxes, boxes_expected1), + tf.squared_difference(boxes, boxes_expected2)) + expected_result = tf.zeros_like(boxes_diff) + + with self.test_session() as sess: + (boxes_diff, expected_result) = sess.run([boxes_diff, expected_result]) + self.assertAllEqual(boxes_diff, expected_result) + + def testFlipMasks(self): + test_mask = self.createTestMasks() + flipped_mask = preprocessor._flip_masks(test_mask) + expected_mask = self.expectedMasksAfterMirroring() + with self.test_session() as sess: + flipped_mask, expected_mask = sess.run([flipped_mask, expected_mask]) + self.assertAllEqual(flipped_mask.flatten(), expected_mask.flatten()) + + def testRandomHorizontalFlip(self): + preprocess_options = [(preprocessor.random_horizontal_flip, {})] + images = self.expectedImagesAfterNormalization() + boxes = self.createTestBoxes() + tensor_dict = {fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes} + images_expected1 = self.expectedImagesAfterMirroring() + boxes_expected1 = self.expectedBoxesAfterMirroring() + images_expected2 = images + boxes_expected2 = boxes + tensor_dict = preprocessor.preprocess(tensor_dict, preprocess_options) + images = tensor_dict[fields.InputDataFields.image] + boxes = tensor_dict[fields.InputDataFields.groundtruth_boxes] + + boxes_diff1 = tf.squared_difference(boxes, boxes_expected1) + boxes_diff2 = tf.squared_difference(boxes, boxes_expected2) + boxes_diff = tf.multiply(boxes_diff1, boxes_diff2) + boxes_diff_expected = tf.zeros_like(boxes_diff) + + images_diff1 = tf.squared_difference(images, images_expected1) + images_diff2 = tf.squared_difference(images, images_expected2) + images_diff = tf.multiply(images_diff1, images_diff2) + images_diff_expected = tf.zeros_like(images_diff) + + with self.test_session() as sess: + (images_diff_, images_diff_expected_, boxes_diff_, + boxes_diff_expected_) = sess.run([images_diff, images_diff_expected, + boxes_diff, boxes_diff_expected]) + self.assertAllClose(boxes_diff_, boxes_diff_expected_) + self.assertAllClose(images_diff_, images_diff_expected_) + + def testRunRandomHorizontalFlipWithMaskAndKeypoints(self): + preprocess_options = [(preprocessor.random_horizontal_flip, {})] + image_height = 3 + image_width = 3 + images = tf.random_uniform([1, image_height, image_width, 3]) + boxes = self.createTestBoxes() + masks = self.createTestMasks() + keypoints = self.createTestKeypoints() + keypoint_flip_permutation = self.createKeypointFlipPermutation() + tensor_dict = { + fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_instance_masks: masks, + fields.InputDataFields.groundtruth_keypoints: keypoints + } + preprocess_options = [ + (preprocessor.random_horizontal_flip, + {'keypoint_flip_permutation': keypoint_flip_permutation})] + preprocessor_arg_map = preprocessor.get_default_func_arg_map( + include_instance_masks=True, include_keypoints=True) + tensor_dict = preprocessor.preprocess( + tensor_dict, preprocess_options, func_arg_map=preprocessor_arg_map) + boxes = tensor_dict[fields.InputDataFields.groundtruth_boxes] + masks = tensor_dict[fields.InputDataFields.groundtruth_instance_masks] + keypoints = tensor_dict[fields.InputDataFields.groundtruth_keypoints] + with self.test_session() as sess: + boxes, masks, keypoints = sess.run([boxes, masks, keypoints]) + self.assertTrue(boxes is not None) + self.assertTrue(masks is not None) + self.assertTrue(keypoints is not None) + + def testRandomPixelValueScale(self): + preprocessing_options = [] + preprocessing_options.append((preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })) + preprocessing_options.append((preprocessor.random_pixel_value_scale, {})) + images = self.createTestImages() + tensor_dict = {fields.InputDataFields.image: images} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + images_min = tf.to_float(images) * 0.9 / 255.0 + images_max = tf.to_float(images) * 1.1 / 255.0 + images = tensor_dict[fields.InputDataFields.image] + values_greater = tf.greater_equal(images, images_min) + values_less = tf.less_equal(images, images_max) + values_true = tf.fill([1, 4, 4, 3], True) + with self.test_session() as sess: + (values_greater_, values_less_, values_true_) = sess.run( + [values_greater, values_less, values_true]) + self.assertAllClose(values_greater_, values_true_) + self.assertAllClose(values_less_, values_true_) + + def testRandomImageScale(self): + preprocess_options = [(preprocessor.random_image_scale, {})] + images_original = self.createTestImages() + tensor_dict = {fields.InputDataFields.image: images_original} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocess_options) + images_scaled = tensor_dict[fields.InputDataFields.image] + images_original_shape = tf.shape(images_original) + images_scaled_shape = tf.shape(images_scaled) + with self.test_session() as sess: + (images_original_shape_, images_scaled_shape_) = sess.run( + [images_original_shape, images_scaled_shape]) + self.assertTrue( + images_original_shape_[1] * 0.5 <= images_scaled_shape_[1]) + self.assertTrue( + images_original_shape_[1] * 2.0 >= images_scaled_shape_[1]) + self.assertTrue( + images_original_shape_[2] * 0.5 <= images_scaled_shape_[2]) + self.assertTrue( + images_original_shape_[2] * 2.0 >= images_scaled_shape_[2]) + + def testRandomRGBtoGray(self): + preprocess_options = [(preprocessor.random_rgb_to_gray, {})] + images_original = self.createTestImages() + tensor_dict = {fields.InputDataFields.image: images_original} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocess_options) + images_gray = tensor_dict[fields.InputDataFields.image] + images_gray_r, images_gray_g, images_gray_b = tf.split( + value=images_gray, num_or_size_splits=3, axis=3) + images_r, images_g, images_b = tf.split( + value=images_original, num_or_size_splits=3, axis=3) + images_r_diff1 = tf.squared_difference(tf.to_float(images_r), + tf.to_float(images_gray_r)) + images_r_diff2 = tf.squared_difference(tf.to_float(images_gray_r), + tf.to_float(images_gray_g)) + images_r_diff = tf.multiply(images_r_diff1, images_r_diff2) + images_g_diff1 = tf.squared_difference(tf.to_float(images_g), + tf.to_float(images_gray_g)) + images_g_diff2 = tf.squared_difference(tf.to_float(images_gray_g), + tf.to_float(images_gray_b)) + images_g_diff = tf.multiply(images_g_diff1, images_g_diff2) + images_b_diff1 = tf.squared_difference(tf.to_float(images_b), + tf.to_float(images_gray_b)) + images_b_diff2 = tf.squared_difference(tf.to_float(images_gray_b), + tf.to_float(images_gray_r)) + images_b_diff = tf.multiply(images_b_diff1, images_b_diff2) + image_zero1 = tf.constant(0, dtype=tf.float32, shape=[1, 4, 4, 1]) + with self.test_session() as sess: + (images_r_diff_, images_g_diff_, images_b_diff_, image_zero1_) = sess.run( + [images_r_diff, images_g_diff, images_b_diff, image_zero1]) + self.assertAllClose(images_r_diff_, image_zero1_) + self.assertAllClose(images_g_diff_, image_zero1_) + self.assertAllClose(images_b_diff_, image_zero1_) + + def testRandomAdjustBrightness(self): + preprocessing_options = [] + preprocessing_options.append((preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })) + preprocessing_options.append((preprocessor.random_adjust_brightness, {})) + images_original = self.createTestImages() + tensor_dict = {fields.InputDataFields.image: images_original} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + images_bright = tensor_dict[fields.InputDataFields.image] + image_original_shape = tf.shape(images_original) + image_bright_shape = tf.shape(images_bright) + with self.test_session() as sess: + (image_original_shape_, image_bright_shape_) = sess.run( + [image_original_shape, image_bright_shape]) + self.assertAllEqual(image_original_shape_, image_bright_shape_) + + def testRandomAdjustContrast(self): + preprocessing_options = [] + preprocessing_options.append((preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })) + preprocessing_options.append((preprocessor.random_adjust_contrast, {})) + images_original = self.createTestImages() + tensor_dict = {fields.InputDataFields.image: images_original} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + images_contrast = tensor_dict[fields.InputDataFields.image] + image_original_shape = tf.shape(images_original) + image_contrast_shape = tf.shape(images_contrast) + with self.test_session() as sess: + (image_original_shape_, image_contrast_shape_) = sess.run( + [image_original_shape, image_contrast_shape]) + self.assertAllEqual(image_original_shape_, image_contrast_shape_) + + def testRandomAdjustHue(self): + preprocessing_options = [] + preprocessing_options.append((preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })) + preprocessing_options.append((preprocessor.random_adjust_hue, {})) + images_original = self.createTestImages() + tensor_dict = {fields.InputDataFields.image: images_original} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + images_hue = tensor_dict[fields.InputDataFields.image] + image_original_shape = tf.shape(images_original) + image_hue_shape = tf.shape(images_hue) + with self.test_session() as sess: + (image_original_shape_, image_hue_shape_) = sess.run( + [image_original_shape, image_hue_shape]) + self.assertAllEqual(image_original_shape_, image_hue_shape_) + + def testRandomDistortColor(self): + preprocessing_options = [] + preprocessing_options.append((preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })) + preprocessing_options.append((preprocessor.random_distort_color, {})) + images_original = self.createTestImages() + images_original_shape = tf.shape(images_original) + tensor_dict = {fields.InputDataFields.image: images_original} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + images_distorted_color = tensor_dict[fields.InputDataFields.image] + images_distorted_color_shape = tf.shape(images_distorted_color) + with self.test_session() as sess: + (images_original_shape_, images_distorted_color_shape_) = sess.run( + [images_original_shape, images_distorted_color_shape]) + self.assertAllEqual(images_original_shape_, images_distorted_color_shape_) + + def testRandomJitterBoxes(self): + preprocessing_options = [] + preprocessing_options.append((preprocessor.random_jitter_boxes, {})) + boxes = self.createTestBoxes() + boxes_shape = tf.shape(boxes) + tensor_dict = {fields.InputDataFields.groundtruth_boxes: boxes} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + distorted_boxes = tensor_dict[fields.InputDataFields.groundtruth_boxes] + distorted_boxes_shape = tf.shape(distorted_boxes) + + with self.test_session() as sess: + (boxes_shape_, distorted_boxes_shape_) = sess.run( + [boxes_shape, distorted_boxes_shape]) + self.assertAllEqual(boxes_shape_, distorted_boxes_shape_) + + def testRandomCropImage(self): + preprocessing_options = [] + preprocessing_options.append((preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })) + preprocessing_options.append((preprocessor.random_crop_image, {})) + images = self.createTestImages() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + tensor_dict = {fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels} + distorted_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + distorted_images = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + boxes_rank = tf.rank(boxes) + distorted_boxes_rank = tf.rank(distorted_boxes) + images_rank = tf.rank(images) + distorted_images_rank = tf.rank(distorted_images) + self.assertEqual(3, distorted_images.get_shape()[3]) + + with self.test_session() as sess: + (boxes_rank_, distorted_boxes_rank_, images_rank_, + distorted_images_rank_) = sess.run([ + boxes_rank, distorted_boxes_rank, images_rank, distorted_images_rank + ]) + self.assertAllEqual(boxes_rank_, distorted_boxes_rank_) + self.assertAllEqual(images_rank_, distorted_images_rank_) + + def testRandomCropImageGrayscale(self): + preprocessing_options = [(preprocessor.rgb_to_gray, {}), + (preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1, + }), + (preprocessor.random_crop_image, {})] + images = self.createTestImages() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + tensor_dict = { + fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels + } + distorted_tensor_dict = preprocessor.preprocess( + tensor_dict, preprocessing_options) + distorted_images = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + boxes_rank = tf.rank(boxes) + distorted_boxes_rank = tf.rank(distorted_boxes) + images_rank = tf.rank(images) + distorted_images_rank = tf.rank(distorted_images) + self.assertEqual(1, distorted_images.get_shape()[3]) + + with self.test_session() as sess: + session_results = sess.run([ + boxes_rank, distorted_boxes_rank, images_rank, distorted_images_rank + ]) + (boxes_rank_, distorted_boxes_rank_, images_rank_, + distorted_images_rank_) = session_results + self.assertAllEqual(boxes_rank_, distorted_boxes_rank_) + self.assertAllEqual(images_rank_, distorted_images_rank_) + + def testRandomCropImageWithBoxOutOfImage(self): + preprocessing_options = [] + preprocessing_options.append((preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })) + preprocessing_options.append((preprocessor.random_crop_image, {})) + images = self.createTestImages() + boxes = self.createTestBoxesOutOfImage() + labels = self.createTestLabels() + tensor_dict = {fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels} + distorted_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + distorted_images = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + boxes_rank = tf.rank(boxes) + distorted_boxes_rank = tf.rank(distorted_boxes) + images_rank = tf.rank(images) + distorted_images_rank = tf.rank(distorted_images) + + with self.test_session() as sess: + (boxes_rank_, distorted_boxes_rank_, images_rank_, + distorted_images_rank_) = sess.run( + [boxes_rank, distorted_boxes_rank, images_rank, + distorted_images_rank]) + self.assertAllEqual(boxes_rank_, distorted_boxes_rank_) + self.assertAllEqual(images_rank_, distorted_images_rank_) + + def testRandomCropImageWithRandomCoefOne(self): + preprocessing_options = [(preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })] + + images = self.createTestImages() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + tensor_dict = {fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + images = tensor_dict[fields.InputDataFields.image] + + preprocessing_options = [(preprocessor.random_crop_image, { + 'random_coef': 1.0 + })] + distorted_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + + distorted_images = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + distorted_labels = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_classes] + boxes_shape = tf.shape(boxes) + distorted_boxes_shape = tf.shape(distorted_boxes) + images_shape = tf.shape(images) + distorted_images_shape = tf.shape(distorted_images) + + with self.test_session() as sess: + (boxes_shape_, distorted_boxes_shape_, images_shape_, + distorted_images_shape_, images_, distorted_images_, + boxes_, distorted_boxes_, labels_, distorted_labels_) = sess.run( + [boxes_shape, distorted_boxes_shape, images_shape, + distorted_images_shape, images, distorted_images, + boxes, distorted_boxes, labels, distorted_labels]) + self.assertAllEqual(boxes_shape_, distorted_boxes_shape_) + self.assertAllEqual(images_shape_, distorted_images_shape_) + self.assertAllClose(images_, distorted_images_) + self.assertAllClose(boxes_, distorted_boxes_) + self.assertAllEqual(labels_, distorted_labels_) + + def testRandomCropWithMockSampleDistortedBoundingBox(self): + preprocessing_options = [(preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })] + + images = self.createColorfulTestImage() + boxes = tf.constant([[0.1, 0.1, 0.8, 0.3], + [0.2, 0.4, 0.75, 0.75], + [0.3, 0.1, 0.4, 0.7]], dtype=tf.float32) + labels = tf.constant([1, 7, 11], dtype=tf.int32) + tensor_dict = {fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + images = tensor_dict[fields.InputDataFields.image] + + preprocessing_options = [(preprocessor.random_crop_image, {})] + with mock.patch.object( + tf.image, + 'sample_distorted_bounding_box') as mock_sample_distorted_bounding_box: + mock_sample_distorted_bounding_box.return_value = (tf.constant( + [6, 143, 0], dtype=tf.int32), tf.constant( + [190, 237, -1], dtype=tf.int32), tf.constant( + [[[0.03, 0.3575, 0.98, 0.95]]], dtype=tf.float32)) + + distorted_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + distorted_labels = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_classes] + expected_boxes = tf.constant([[0.178947, 0.07173, 0.75789469, 0.66244733], + [0.28421, 0.0, 0.38947365, 0.57805908]], + dtype=tf.float32) + expected_labels = tf.constant([7, 11], dtype=tf.int32) + + with self.test_session() as sess: + (distorted_boxes_, distorted_labels_, + expected_boxes_, expected_labels_) = sess.run( + [distorted_boxes, distorted_labels, + expected_boxes, expected_labels]) + self.assertAllClose(distorted_boxes_, expected_boxes_) + self.assertAllEqual(distorted_labels_, expected_labels_) + + def testStrictRandomCropImageWithMasks(self): + image = self.createColorfulTestImage()[0] + boxes = self.createTestBoxes() + labels = self.createTestLabels() + masks = tf.random_uniform([2, 200, 400], dtype=tf.float32) + with mock.patch.object( + tf.image, + 'sample_distorted_bounding_box' + ) as mock_sample_distorted_bounding_box: + mock_sample_distorted_bounding_box.return_value = ( + tf.constant([6, 143, 0], dtype=tf.int32), + tf.constant([190, 237, -1], dtype=tf.int32), + tf.constant([[[0.03, 0.3575, 0.98, 0.95]]], dtype=tf.float32)) + (new_image, new_boxes, new_labels, + new_masks) = preprocessor._strict_random_crop_image( + image, boxes, labels, masks=masks) + with self.test_session() as sess: + new_image, new_boxes, new_labels, new_masks = sess.run([ + new_image, new_boxes, new_labels, new_masks]) + + expected_boxes = np.array([ + [0.0, 0.0, 0.75789469, 1.0], + [0.23157893, 0.24050637, 0.75789469, 1.0], + ], dtype=np.float32) + self.assertAllEqual(new_image.shape, [190, 237, 3]) + self.assertAllEqual(new_masks.shape, [2, 190, 237]) + self.assertAllClose( + new_boxes.flatten(), expected_boxes.flatten()) + + def testStrictRandomCropImageWithKeypoints(self): + image = self.createColorfulTestImage()[0] + boxes = self.createTestBoxes() + labels = self.createTestLabels() + keypoints = self.createTestKeypoints() + with mock.patch.object( + tf.image, + 'sample_distorted_bounding_box' + ) as mock_sample_distorted_bounding_box: + mock_sample_distorted_bounding_box.return_value = ( + tf.constant([6, 143, 0], dtype=tf.int32), + tf.constant([190, 237, -1], dtype=tf.int32), + tf.constant([[[0.03, 0.3575, 0.98, 0.95]]], dtype=tf.float32)) + (new_image, new_boxes, new_labels, + new_keypoints) = preprocessor._strict_random_crop_image( + image, boxes, labels, keypoints=keypoints) + with self.test_session() as sess: + new_image, new_boxes, new_labels, new_keypoints = sess.run([ + new_image, new_boxes, new_labels, new_keypoints]) + + expected_boxes = np.array([ + [0.0, 0.0, 0.75789469, 1.0], + [0.23157893, 0.24050637, 0.75789469, 1.0], + ], dtype=np.float32) + expected_keypoints = np.array([ + [[np.nan, np.nan], + [np.nan, np.nan], + [np.nan, np.nan]], + [[0.38947368, 0.07173], + [0.49473682, 0.24050637], + [0.60000002, 0.40928277]] + ], dtype=np.float32) + self.assertAllEqual(new_image.shape, [190, 237, 3]) + self.assertAllClose( + new_boxes.flatten(), expected_boxes.flatten()) + self.assertAllClose( + new_keypoints.flatten(), expected_keypoints.flatten()) + + def testRunRandomCropImageWithMasks(self): + image = self.createColorfulTestImage() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + masks = tf.random_uniform([2, 200, 400], dtype=tf.float32) + + tensor_dict = { + fields.InputDataFields.image: image, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels, + fields.InputDataFields.groundtruth_instance_masks: masks, + } + + preprocessor_arg_map = preprocessor.get_default_func_arg_map( + include_instance_masks=True) + + preprocessing_options = [(preprocessor.random_crop_image, {})] + + with mock.patch.object( + tf.image, + 'sample_distorted_bounding_box' + ) as mock_sample_distorted_bounding_box: + mock_sample_distorted_bounding_box.return_value = ( + tf.constant([6, 143, 0], dtype=tf.int32), + tf.constant([190, 237, -1], dtype=tf.int32), + tf.constant([[[0.03, 0.3575, 0.98, 0.95]]], dtype=tf.float32)) + distorted_tensor_dict = preprocessor.preprocess( + tensor_dict, preprocessing_options, func_arg_map=preprocessor_arg_map) + distorted_image = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + distorted_labels = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_classes] + distorted_masks = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_instance_masks] + with self.test_session() as sess: + (distorted_image_, distorted_boxes_, distorted_labels_, + distorted_masks_) = sess.run( + [distorted_image, distorted_boxes, distorted_labels, + distorted_masks]) + + expected_boxes = np.array([ + [0.0, 0.0, 0.75789469, 1.0], + [0.23157893, 0.24050637, 0.75789469, 1.0], + ], dtype=np.float32) + self.assertAllEqual(distorted_image_.shape, [1, 190, 237, 3]) + self.assertAllEqual(distorted_masks_.shape, [2, 190, 237]) + self.assertAllEqual(distorted_labels_, [1, 2]) + self.assertAllClose( + distorted_boxes_.flatten(), expected_boxes.flatten()) + + def testRunRandomCropImageWithKeypointsInsideCrop(self): + image = self.createColorfulTestImage() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + keypoints = self.createTestKeypointsInsideCrop() + + tensor_dict = { + fields.InputDataFields.image: image, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels, + fields.InputDataFields.groundtruth_keypoints: keypoints + } + + preprocessor_arg_map = preprocessor.get_default_func_arg_map( + include_keypoints=True) + + preprocessing_options = [(preprocessor.random_crop_image, {})] + + with mock.patch.object( + tf.image, + 'sample_distorted_bounding_box' + ) as mock_sample_distorted_bounding_box: + mock_sample_distorted_bounding_box.return_value = ( + tf.constant([6, 143, 0], dtype=tf.int32), + tf.constant([190, 237, -1], dtype=tf.int32), + tf.constant([[[0.03, 0.3575, 0.98, 0.95]]], dtype=tf.float32)) + distorted_tensor_dict = preprocessor.preprocess( + tensor_dict, preprocessing_options, func_arg_map=preprocessor_arg_map) + distorted_image = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + distorted_labels = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_classes] + distorted_keypoints = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_keypoints] + with self.test_session() as sess: + (distorted_image_, distorted_boxes_, distorted_labels_, + distorted_keypoints_) = sess.run( + [distorted_image, distorted_boxes, distorted_labels, + distorted_keypoints]) + + expected_boxes = np.array([ + [0.0, 0.0, 0.75789469, 1.0], + [0.23157893, 0.24050637, 0.75789469, 1.0], + ], dtype=np.float32) + expected_keypoints = np.array([ + [[0.38947368, 0.07173], + [0.49473682, 0.24050637], + [0.60000002, 0.40928277]], + [[0.38947368, 0.07173], + [0.49473682, 0.24050637], + [0.60000002, 0.40928277]] + ]) + self.assertAllEqual(distorted_image_.shape, [1, 190, 237, 3]) + self.assertAllEqual(distorted_labels_, [1, 2]) + self.assertAllClose( + distorted_boxes_.flatten(), expected_boxes.flatten()) + self.assertAllClose( + distorted_keypoints_.flatten(), expected_keypoints.flatten()) + + def testRunRandomCropImageWithKeypointsOutsideCrop(self): + image = self.createColorfulTestImage() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + keypoints = self.createTestKeypointsOutsideCrop() + + tensor_dict = { + fields.InputDataFields.image: image, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels, + fields.InputDataFields.groundtruth_keypoints: keypoints + } + + preprocessor_arg_map = preprocessor.get_default_func_arg_map( + include_keypoints=True) + + preprocessing_options = [(preprocessor.random_crop_image, {})] + + with mock.patch.object( + tf.image, + 'sample_distorted_bounding_box' + ) as mock_sample_distorted_bounding_box: + mock_sample_distorted_bounding_box.return_value = ( + tf.constant([6, 143, 0], dtype=tf.int32), + tf.constant([190, 237, -1], dtype=tf.int32), + tf.constant([[[0.03, 0.3575, 0.98, 0.95]]], dtype=tf.float32)) + distorted_tensor_dict = preprocessor.preprocess( + tensor_dict, preprocessing_options, func_arg_map=preprocessor_arg_map) + distorted_image = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + distorted_labels = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_classes] + distorted_keypoints = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_keypoints] + with self.test_session() as sess: + (distorted_image_, distorted_boxes_, distorted_labels_, + distorted_keypoints_) = sess.run( + [distorted_image, distorted_boxes, distorted_labels, + distorted_keypoints]) + + expected_boxes = np.array([ + [0.0, 0.0, 0.75789469, 1.0], + [0.23157893, 0.24050637, 0.75789469, 1.0], + ], dtype=np.float32) + expected_keypoints = np.array([ + [[np.nan, np.nan], + [np.nan, np.nan], + [np.nan, np.nan]], + [[np.nan, np.nan], + [np.nan, np.nan], + [np.nan, np.nan]], + ]) + self.assertAllEqual(distorted_image_.shape, [1, 190, 237, 3]) + self.assertAllEqual(distorted_labels_, [1, 2]) + self.assertAllClose( + distorted_boxes_.flatten(), expected_boxes.flatten()) + self.assertAllClose( + distorted_keypoints_.flatten(), expected_keypoints.flatten()) + + def testRunRetainBoxesAboveThreshold(self): + boxes = self.createTestBoxes() + labels = self.createTestLabels() + label_scores = self.createTestLabelScores() + + tensor_dict = { + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels, + fields.InputDataFields.groundtruth_label_scores: label_scores + } + + preprocessing_options = [ + (preprocessor.retain_boxes_above_threshold, {'threshold': 0.6}) + ] + + retained_tensor_dict = preprocessor.preprocess( + tensor_dict, preprocessing_options) + retained_boxes = retained_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + retained_labels = retained_tensor_dict[ + fields.InputDataFields.groundtruth_classes] + retained_label_scores = retained_tensor_dict[ + fields.InputDataFields.groundtruth_label_scores] + + with self.test_session() as sess: + (retained_boxes_, retained_labels_, + retained_label_scores_, expected_retained_boxes_, + expected_retained_labels_, expected_retained_label_scores_) = sess.run( + [retained_boxes, retained_labels, retained_label_scores, + self.expectedBoxesAfterThresholding(), + self.expectedLabelsAfterThresholding(), + self.expectedLabelScoresAfterThresholding()]) + + self.assertAllClose(retained_boxes_, expected_retained_boxes_) + self.assertAllClose(retained_labels_, expected_retained_labels_) + self.assertAllClose( + retained_label_scores_, expected_retained_label_scores_) + + def testRunRetainBoxesAboveThresholdWithMasks(self): + boxes = self.createTestBoxes() + labels = self.createTestLabels() + label_scores = self.createTestLabelScores() + masks = self.createTestMasks() + + tensor_dict = { + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels, + fields.InputDataFields.groundtruth_label_scores: label_scores, + fields.InputDataFields.groundtruth_instance_masks: masks + } + + preprocessor_arg_map = preprocessor.get_default_func_arg_map( + include_instance_masks=True) + + preprocessing_options = [ + (preprocessor.retain_boxes_above_threshold, {'threshold': 0.6}) + ] + + retained_tensor_dict = preprocessor.preprocess( + tensor_dict, preprocessing_options, func_arg_map=preprocessor_arg_map) + retained_masks = retained_tensor_dict[ + fields.InputDataFields.groundtruth_instance_masks] + + with self.test_session() as sess: + (retained_masks_, expected_masks_) = sess.run( + [retained_masks, + self.expectedMasksAfterThresholding()]) + self.assertAllClose(retained_masks_, expected_masks_) + + def testRunRetainBoxesAboveThresholdWithKeypoints(self): + boxes = self.createTestBoxes() + labels = self.createTestLabels() + label_scores = self.createTestLabelScores() + keypoints = self.createTestKeypoints() + + tensor_dict = { + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels, + fields.InputDataFields.groundtruth_label_scores: label_scores, + fields.InputDataFields.groundtruth_keypoints: keypoints + } + + preprocessor_arg_map = preprocessor.get_default_func_arg_map( + include_keypoints=True) + + preprocessing_options = [ + (preprocessor.retain_boxes_above_threshold, {'threshold': 0.6}) + ] + + retained_tensor_dict = preprocessor.preprocess( + tensor_dict, preprocessing_options, func_arg_map=preprocessor_arg_map) + retained_keypoints = retained_tensor_dict[ + fields.InputDataFields.groundtruth_keypoints] + + with self.test_session() as sess: + (retained_keypoints_, expected_keypoints_) = sess.run( + [retained_keypoints, + self.expectedKeypointsAfterThresholding()]) + self.assertAllClose(retained_keypoints_, expected_keypoints_) + + def testRunRandomCropToAspectRatioWithMasks(self): + image = self.createColorfulTestImage() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + masks = tf.random_uniform([2, 200, 400], dtype=tf.float32) + + tensor_dict = { + fields.InputDataFields.image: image, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels, + fields.InputDataFields.groundtruth_instance_masks: masks + } + + preprocessor_arg_map = preprocessor.get_default_func_arg_map( + include_instance_masks=True) + + preprocessing_options = [(preprocessor.random_crop_to_aspect_ratio, {})] + + with mock.patch.object(preprocessor, + '_random_integer') as mock_random_integer: + mock_random_integer.return_value = tf.constant(0, dtype=tf.int32) + distorted_tensor_dict = preprocessor.preprocess( + tensor_dict, preprocessing_options, func_arg_map=preprocessor_arg_map) + distorted_image = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + distorted_labels = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_classes] + distorted_masks = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_instance_masks] + with self.test_session() as sess: + (distorted_image_, distorted_boxes_, distorted_labels_, + distorted_masks_) = sess.run([ + distorted_image, distorted_boxes, distorted_labels, distorted_masks + ]) + + expected_boxes = np.array([0.0, 0.5, 0.75, 1.0], dtype=np.float32) + self.assertAllEqual(distorted_image_.shape, [1, 200, 200, 3]) + self.assertAllEqual(distorted_labels_, [1]) + self.assertAllClose(distorted_boxes_.flatten(), + expected_boxes.flatten()) + self.assertAllEqual(distorted_masks_.shape, [1, 200, 200]) + + def testRunRandomCropToAspectRatioWithKeypoints(self): + image = self.createColorfulTestImage() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + keypoints = self.createTestKeypoints() + + tensor_dict = { + fields.InputDataFields.image: image, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels, + fields.InputDataFields.groundtruth_keypoints: keypoints + } + + preprocessor_arg_map = preprocessor.get_default_func_arg_map( + include_keypoints=True) + + preprocessing_options = [(preprocessor.random_crop_to_aspect_ratio, {})] + + with mock.patch.object(preprocessor, + '_random_integer') as mock_random_integer: + mock_random_integer.return_value = tf.constant(0, dtype=tf.int32) + distorted_tensor_dict = preprocessor.preprocess( + tensor_dict, preprocessing_options, func_arg_map=preprocessor_arg_map) + distorted_image = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + distorted_labels = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_classes] + distorted_keypoints = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_keypoints] + with self.test_session() as sess: + (distorted_image_, distorted_boxes_, distorted_labels_, + distorted_keypoints_) = sess.run([ + distorted_image, distorted_boxes, distorted_labels, + distorted_keypoints + ]) + + expected_boxes = np.array([0.0, 0.5, 0.75, 1.0], dtype=np.float32) + expected_keypoints = np.array( + [[0.1, 0.2], [0.2, 0.4], [0.3, 0.6]], dtype=np.float32) + self.assertAllEqual(distorted_image_.shape, [1, 200, 200, 3]) + self.assertAllEqual(distorted_labels_, [1]) + self.assertAllClose(distorted_boxes_.flatten(), + expected_boxes.flatten()) + self.assertAllClose(distorted_keypoints_.flatten(), + expected_keypoints.flatten()) + + def testRandomPadImage(self): + preprocessing_options = [(preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })] + + images = self.createTestImages() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + tensor_dict = {fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + images = tensor_dict[fields.InputDataFields.image] + + preprocessing_options = [(preprocessor.random_pad_image, {})] + padded_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + + padded_images = padded_tensor_dict[fields.InputDataFields.image] + padded_boxes = padded_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + boxes_shape = tf.shape(boxes) + padded_boxes_shape = tf.shape(padded_boxes) + images_shape = tf.shape(images) + padded_images_shape = tf.shape(padded_images) + + with self.test_session() as sess: + (boxes_shape_, padded_boxes_shape_, images_shape_, + padded_images_shape_, boxes_, padded_boxes_) = sess.run( + [boxes_shape, padded_boxes_shape, images_shape, + padded_images_shape, boxes, padded_boxes]) + self.assertAllEqual(boxes_shape_, padded_boxes_shape_) + self.assertTrue((images_shape_[1] >= padded_images_shape_[1] * 0.5).all) + self.assertTrue((images_shape_[2] >= padded_images_shape_[2] * 0.5).all) + self.assertTrue((images_shape_[1] <= padded_images_shape_[1]).all) + self.assertTrue((images_shape_[2] <= padded_images_shape_[2]).all) + self.assertTrue(np.all((boxes_[:, 2] - boxes_[:, 0]) >= ( + padded_boxes_[:, 2] - padded_boxes_[:, 0]))) + self.assertTrue(np.all((boxes_[:, 3] - boxes_[:, 1]) >= ( + padded_boxes_[:, 3] - padded_boxes_[:, 1]))) + + def testRandomCropPadImageWithRandomCoefOne(self): + preprocessing_options = [(preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })] + + images = self.createTestImages() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + tensor_dict = {fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels} + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + images = tensor_dict[fields.InputDataFields.image] + + preprocessing_options = [(preprocessor.random_crop_pad_image, { + 'random_coef': 1.0 + })] + padded_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + + padded_images = padded_tensor_dict[fields.InputDataFields.image] + padded_boxes = padded_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + boxes_shape = tf.shape(boxes) + padded_boxes_shape = tf.shape(padded_boxes) + images_shape = tf.shape(images) + padded_images_shape = tf.shape(padded_images) + + with self.test_session() as sess: + (boxes_shape_, padded_boxes_shape_, images_shape_, + padded_images_shape_, boxes_, padded_boxes_) = sess.run( + [boxes_shape, padded_boxes_shape, images_shape, + padded_images_shape, boxes, padded_boxes]) + self.assertAllEqual(boxes_shape_, padded_boxes_shape_) + self.assertTrue((images_shape_[1] >= padded_images_shape_[1] * 0.5).all) + self.assertTrue((images_shape_[2] >= padded_images_shape_[2] * 0.5).all) + self.assertTrue((images_shape_[1] <= padded_images_shape_[1]).all) + self.assertTrue((images_shape_[2] <= padded_images_shape_[2]).all) + self.assertTrue(np.all((boxes_[:, 2] - boxes_[:, 0]) >= ( + padded_boxes_[:, 2] - padded_boxes_[:, 0]))) + self.assertTrue(np.all((boxes_[:, 3] - boxes_[:, 1]) >= ( + padded_boxes_[:, 3] - padded_boxes_[:, 1]))) + + def testRandomCropToAspectRatio(self): + preprocessing_options = [(preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })] + + images = self.createTestImages() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + tensor_dict = { + fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels + } + tensor_dict = preprocessor.preprocess(tensor_dict, preprocessing_options) + images = tensor_dict[fields.InputDataFields.image] + + preprocessing_options = [(preprocessor.random_crop_to_aspect_ratio, { + 'aspect_ratio': 2.0 + })] + cropped_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + + cropped_images = cropped_tensor_dict[fields.InputDataFields.image] + cropped_boxes = cropped_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + boxes_shape = tf.shape(boxes) + cropped_boxes_shape = tf.shape(cropped_boxes) + images_shape = tf.shape(images) + cropped_images_shape = tf.shape(cropped_images) + + with self.test_session() as sess: + (boxes_shape_, cropped_boxes_shape_, images_shape_, + cropped_images_shape_) = sess.run([ + boxes_shape, cropped_boxes_shape, images_shape, cropped_images_shape + ]) + self.assertAllEqual(boxes_shape_, cropped_boxes_shape_) + self.assertEqual(images_shape_[1], cropped_images_shape_[1] * 2) + self.assertEqual(images_shape_[2], cropped_images_shape_[2]) + + def testRandomBlackPatches(self): + preprocessing_options = [] + preprocessing_options.append((preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })) + preprocessing_options.append((preprocessor.random_black_patches, { + 'size_to_image_ratio': 0.5 + })) + images = self.createTestImages() + tensor_dict = {fields.InputDataFields.image: images} + blacked_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + blacked_images = blacked_tensor_dict[fields.InputDataFields.image] + images_shape = tf.shape(images) + blacked_images_shape = tf.shape(blacked_images) + + with self.test_session() as sess: + (images_shape_, blacked_images_shape_) = sess.run( + [images_shape, blacked_images_shape]) + self.assertAllEqual(images_shape_, blacked_images_shape_) + + def testRandomResizeMethod(self): + preprocessing_options = [] + preprocessing_options.append((preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + })) + preprocessing_options.append((preprocessor.random_resize_method, { + 'target_size': (75, 150) + })) + images = self.createTestImages() + tensor_dict = {fields.InputDataFields.image: images} + resized_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + resized_images = resized_tensor_dict[fields.InputDataFields.image] + resized_images_shape = tf.shape(resized_images) + expected_images_shape = tf.constant([1, 75, 150, 3], dtype=tf.int32) + + with self.test_session() as sess: + (expected_images_shape_, resized_images_shape_) = sess.run( + [expected_images_shape, resized_images_shape]) + self.assertAllEqual(expected_images_shape_, + resized_images_shape_) + + def testResizeToRange(self): + """Tests image resizing, checking output sizes.""" + in_shape_list = [[60, 40, 3], [15, 30, 3], [15, 50, 3]] + min_dim = 50 + max_dim = 100 + expected_shape_list = [[75, 50, 3], [50, 100, 3], [30, 100, 3]] + + for in_shape, expected_shape in zip(in_shape_list, expected_shape_list): + in_image = tf.random_uniform(in_shape) + out_image = preprocessor.resize_to_range( + in_image, min_dimension=min_dim, max_dimension=max_dim) + out_image_shape = tf.shape(out_image) + + with self.test_session() as sess: + out_image_shape = sess.run(out_image_shape) + self.assertAllEqual(out_image_shape, expected_shape) + + def testResizeToRangeWithMasks(self): + """Tests image resizing, checking output sizes.""" + in_image_shape_list = [[60, 40, 3], [15, 30, 3]] + in_masks_shape_list = [[15, 60, 40], [10, 15, 30]] + min_dim = 50 + max_dim = 100 + expected_image_shape_list = [[75, 50, 3], [50, 100, 3]] + expected_masks_shape_list = [[15, 75, 50], [10, 50, 100]] + + for (in_image_shape, expected_image_shape, in_masks_shape, + expected_mask_shape) in zip(in_image_shape_list, + expected_image_shape_list, + in_masks_shape_list, + expected_masks_shape_list): + in_image = tf.random_uniform(in_image_shape) + in_masks = tf.random_uniform(in_masks_shape) + out_image, out_masks = preprocessor.resize_to_range( + in_image, in_masks, min_dimension=min_dim, max_dimension=max_dim) + out_image_shape = tf.shape(out_image) + out_masks_shape = tf.shape(out_masks) + + with self.test_session() as sess: + out_image_shape, out_masks_shape = sess.run( + [out_image_shape, out_masks_shape]) + self.assertAllEqual(out_image_shape, expected_image_shape) + self.assertAllEqual(out_masks_shape, expected_mask_shape) + + def testResizeToRangeWithNoInstanceMask(self): + """Tests image resizing, checking output sizes.""" + in_image_shape_list = [[60, 40, 3], [15, 30, 3]] + in_masks_shape_list = [[0, 60, 40], [0, 15, 30]] + min_dim = 50 + max_dim = 100 + expected_image_shape_list = [[75, 50, 3], [50, 100, 3]] + expected_masks_shape_list = [[0, 75, 50], [0, 50, 100]] + + for (in_image_shape, expected_image_shape, in_masks_shape, + expected_mask_shape) in zip(in_image_shape_list, + expected_image_shape_list, + in_masks_shape_list, + expected_masks_shape_list): + in_image = tf.random_uniform(in_image_shape) + in_masks = tf.random_uniform(in_masks_shape) + out_image, out_masks = preprocessor.resize_to_range( + in_image, in_masks, min_dimension=min_dim, max_dimension=max_dim) + out_image_shape = tf.shape(out_image) + out_masks_shape = tf.shape(out_masks) + + with self.test_session() as sess: + out_image_shape, out_masks_shape = sess.run( + [out_image_shape, out_masks_shape]) + self.assertAllEqual(out_image_shape, expected_image_shape) + self.assertAllEqual(out_masks_shape, expected_mask_shape) + + def testResizeImageWithMasks(self): + """Tests image resizing, checking output sizes.""" + in_image_shape_list = [[60, 40, 3], [15, 30, 3]] + in_masks_shape_list = [[15, 60, 40], [10, 15, 30]] + height = 50 + width = 100 + expected_image_shape_list = [[50, 100, 3], [50, 100, 3]] + expected_masks_shape_list = [[15, 50, 100], [10, 50, 100]] + + for (in_image_shape, expected_image_shape, in_masks_shape, + expected_mask_shape) in zip(in_image_shape_list, + expected_image_shape_list, + in_masks_shape_list, + expected_masks_shape_list): + in_image = tf.random_uniform(in_image_shape) + in_masks = tf.random_uniform(in_masks_shape) + out_image, out_masks = preprocessor.resize_image( + in_image, in_masks, new_height=height, new_width=width) + out_image_shape = tf.shape(out_image) + out_masks_shape = tf.shape(out_masks) + + with self.test_session() as sess: + out_image_shape, out_masks_shape = sess.run( + [out_image_shape, out_masks_shape]) + self.assertAllEqual(out_image_shape, expected_image_shape) + self.assertAllEqual(out_masks_shape, expected_mask_shape) + + def testResizeImageWithNoInstanceMask(self): + """Tests image resizing, checking output sizes.""" + in_image_shape_list = [[60, 40, 3], [15, 30, 3]] + in_masks_shape_list = [[0, 60, 40], [0, 15, 30]] + height = 50 + width = 100 + expected_image_shape_list = [[50, 100, 3], [50, 100, 3]] + expected_masks_shape_list = [[0, 50, 100], [0, 50, 100]] + + for (in_image_shape, expected_image_shape, in_masks_shape, + expected_mask_shape) in zip(in_image_shape_list, + expected_image_shape_list, + in_masks_shape_list, + expected_masks_shape_list): + in_image = tf.random_uniform(in_image_shape) + in_masks = tf.random_uniform(in_masks_shape) + out_image, out_masks = preprocessor.resize_image( + in_image, in_masks, new_height=height, new_width=width) + out_image_shape = tf.shape(out_image) + out_masks_shape = tf.shape(out_masks) + + with self.test_session() as sess: + out_image_shape, out_masks_shape = sess.run( + [out_image_shape, out_masks_shape]) + self.assertAllEqual(out_image_shape, expected_image_shape) + self.assertAllEqual(out_masks_shape, expected_mask_shape) + + def testResizeToRange4DImageTensor(self): + image = tf.random_uniform([1, 200, 300, 3]) + with self.assertRaises(ValueError): + preprocessor.resize_to_range(image, 500, 600) + + def testResizeToRangeSameMinMax(self): + """Tests image resizing, checking output sizes.""" + in_shape_list = [[312, 312, 3], [299, 299, 3]] + min_dim = 320 + max_dim = 320 + expected_shape_list = [[320, 320, 3], [320, 320, 3]] + + for in_shape, expected_shape in zip(in_shape_list, expected_shape_list): + in_image = tf.random_uniform(in_shape) + out_image = preprocessor.resize_to_range( + in_image, min_dimension=min_dim, max_dimension=max_dim) + out_image_shape = tf.shape(out_image) + + with self.test_session() as sess: + out_image_shape = sess.run(out_image_shape) + self.assertAllEqual(out_image_shape, expected_shape) + + def testScaleBoxesToPixelCoordinates(self): + """Tests box scaling, checking scaled values.""" + in_shape = [60, 40, 3] + in_boxes = [[0.1, 0.2, 0.4, 0.6], + [0.5, 0.3, 0.9, 0.7]] + + expected_boxes = [[6., 8., 24., 24.], + [30., 12., 54., 28.]] + + in_image = tf.random_uniform(in_shape) + in_boxes = tf.constant(in_boxes) + _, out_boxes = preprocessor.scale_boxes_to_pixel_coordinates( + in_image, boxes=in_boxes) + with self.test_session() as sess: + out_boxes = sess.run(out_boxes) + self.assertAllClose(out_boxes, expected_boxes) + + def testScaleBoxesToPixelCoordinatesWithKeypoints(self): + """Tests box and keypoint scaling, checking scaled values.""" + in_shape = [60, 40, 3] + in_boxes = self.createTestBoxes() + in_keypoints = self.createTestKeypoints() + + expected_boxes = [[0., 10., 45., 40.], + [15., 20., 45., 40.]] + expected_keypoints = [ + [[6., 4.], [12., 8.], [18., 12.]], + [[24., 16.], [30., 20.], [36., 24.]], + ] + + in_image = tf.random_uniform(in_shape) + _, out_boxes, out_keypoints = preprocessor.scale_boxes_to_pixel_coordinates( + in_image, boxes=in_boxes, keypoints=in_keypoints) + with self.test_session() as sess: + out_boxes_, out_keypoints_ = sess.run([out_boxes, out_keypoints]) + self.assertAllClose(out_boxes_, expected_boxes) + self.assertAllClose(out_keypoints_, expected_keypoints) + + def testSubtractChannelMean(self): + """Tests whether channel means have been subtracted.""" + with self.test_session(): + image = tf.zeros((240, 320, 3)) + means = [1, 2, 3] + actual = preprocessor.subtract_channel_mean(image, means=means) + actual = actual.eval() + + self.assertTrue((actual[:, :, 0] == -1).all()) + self.assertTrue((actual[:, :, 1] == -2).all()) + self.assertTrue((actual[:, :, 2] == -3).all()) + + def testOneHotEncoding(self): + """Tests one hot encoding of multiclass labels.""" + with self.test_session(): + labels = tf.constant([1, 4, 2], dtype=tf.int32) + one_hot = preprocessor.one_hot_encoding(labels, num_classes=5) + one_hot = one_hot.eval() + + self.assertAllEqual([0, 1, 1, 0, 1], one_hot) + + def testSSDRandomCrop(self): + preprocessing_options = [ + (preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + }), + (preprocessor.ssd_random_crop, {})] + images = self.createTestImages() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + tensor_dict = {fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels} + distorted_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + distorted_images = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + + images_rank = tf.rank(images) + distorted_images_rank = tf.rank(distorted_images) + boxes_rank = tf.rank(boxes) + distorted_boxes_rank = tf.rank(distorted_boxes) + + with self.test_session() as sess: + (boxes_rank_, distorted_boxes_rank_, images_rank_, + distorted_images_rank_) = sess.run( + [boxes_rank, distorted_boxes_rank, images_rank, + distorted_images_rank]) + self.assertAllEqual(boxes_rank_, distorted_boxes_rank_) + self.assertAllEqual(images_rank_, distorted_images_rank_) + + def testSSDRandomCropPad(self): + images = self.createTestImages() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + preprocessing_options = [ + (preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + }), + (preprocessor.ssd_random_crop_pad, {})] + tensor_dict = {fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels} + distorted_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + distorted_images = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + + images_rank = tf.rank(images) + distorted_images_rank = tf.rank(distorted_images) + boxes_rank = tf.rank(boxes) + distorted_boxes_rank = tf.rank(distorted_boxes) + + with self.test_session() as sess: + (boxes_rank_, distorted_boxes_rank_, images_rank_, + distorted_images_rank_) = sess.run([ + boxes_rank, distorted_boxes_rank, images_rank, distorted_images_rank + ]) + self.assertAllEqual(boxes_rank_, distorted_boxes_rank_) + self.assertAllEqual(images_rank_, distorted_images_rank_) + + def testSSDRandomCropFixedAspectRatio(self): + images = self.createTestImages() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + preprocessing_options = [ + (preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + }), + (preprocessor.ssd_random_crop_fixed_aspect_ratio, {})] + tensor_dict = { + fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels + } + distorted_tensor_dict = preprocessor.preprocess(tensor_dict, + preprocessing_options) + distorted_images = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + + images_rank = tf.rank(images) + distorted_images_rank = tf.rank(distorted_images) + boxes_rank = tf.rank(boxes) + distorted_boxes_rank = tf.rank(distorted_boxes) + + with self.test_session() as sess: + (boxes_rank_, distorted_boxes_rank_, images_rank_, + distorted_images_rank_) = sess.run( + [boxes_rank, distorted_boxes_rank, images_rank, + distorted_images_rank]) + self.assertAllEqual(boxes_rank_, distorted_boxes_rank_) + self.assertAllEqual(images_rank_, distorted_images_rank_) + + def testSSDRandomCropFixedAspectRatioWithMasksAndKeypoints(self): + images = self.createTestImages() + boxes = self.createTestBoxes() + labels = self.createTestLabels() + masks = self.createTestMasks() + keypoints = self.createTestKeypoints() + preprocessing_options = [ + (preprocessor.normalize_image, { + 'original_minval': 0, + 'original_maxval': 255, + 'target_minval': 0, + 'target_maxval': 1 + }), + (preprocessor.ssd_random_crop_fixed_aspect_ratio, {})] + tensor_dict = { + fields.InputDataFields.image: images, + fields.InputDataFields.groundtruth_boxes: boxes, + fields.InputDataFields.groundtruth_classes: labels, + fields.InputDataFields.groundtruth_instance_masks: masks, + fields.InputDataFields.groundtruth_keypoints: keypoints, + } + preprocessor_arg_map = preprocessor.get_default_func_arg_map( + include_instance_masks=True, include_keypoints=True) + distorted_tensor_dict = preprocessor.preprocess( + tensor_dict, preprocessing_options, func_arg_map=preprocessor_arg_map) + distorted_images = distorted_tensor_dict[fields.InputDataFields.image] + distorted_boxes = distorted_tensor_dict[ + fields.InputDataFields.groundtruth_boxes] + + images_rank = tf.rank(images) + distorted_images_rank = tf.rank(distorted_images) + boxes_rank = tf.rank(boxes) + distorted_boxes_rank = tf.rank(distorted_boxes) + + with self.test_session() as sess: + (boxes_rank_, distorted_boxes_rank_, images_rank_, + distorted_images_rank_) = sess.run( + [boxes_rank, distorted_boxes_rank, images_rank, + distorted_images_rank]) + self.assertAllEqual(boxes_rank_, distorted_boxes_rank_) + self.assertAllEqual(images_rank_, distorted_images_rank_) + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/region_similarity_calculator.py b/object_detection/core/region_similarity_calculator.py new file mode 100644 index 000000000..f344006a3 --- /dev/null +++ b/object_detection/core/region_similarity_calculator.py @@ -0,0 +1,114 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Region Similarity Calculators for BoxLists. + +Region Similarity Calculators compare a pairwise measure of similarity +between the boxes in two BoxLists. +""" +from abc import ABCMeta +from abc import abstractmethod + +import tensorflow as tf + +from object_detection.core import box_list_ops + + +class RegionSimilarityCalculator(object): + """Abstract base class for region similarity calculator.""" + __metaclass__ = ABCMeta + + def compare(self, boxlist1, boxlist2, scope=None): + """Computes matrix of pairwise similarity between BoxLists. + + This op (to be overriden) computes a measure of pairwise similarity between + the boxes in the given BoxLists. Higher values indicate more similarity. + + Note that this method simply measures similarity and does not explicitly + perform a matching. + + Args: + boxlist1: BoxList holding N boxes. + boxlist2: BoxList holding M boxes. + scope: Op scope name. Defaults to 'Compare' if None. + + Returns: + a (float32) tensor of shape [N, M] with pairwise similarity score. + """ + with tf.name_scope(scope, 'Compare', [boxlist1, boxlist2]) as scope: + return self._compare(boxlist1, boxlist2) + + @abstractmethod + def _compare(self, boxlist1, boxlist2): + pass + + +class IouSimilarity(RegionSimilarityCalculator): + """Class to compute similarity based on Intersection over Union (IOU) metric. + + This class computes pairwise similarity between two BoxLists based on IOU. + """ + + def _compare(self, boxlist1, boxlist2): + """Compute pairwise IOU similarity between the two BoxLists. + + Args: + boxlist1: BoxList holding N boxes. + boxlist2: BoxList holding M boxes. + + Returns: + A tensor with shape [N, M] representing pairwise iou scores. + """ + return box_list_ops.iou(boxlist1, boxlist2) + + +class NegSqDistSimilarity(RegionSimilarityCalculator): + """Class to compute similarity based on the squared distance metric. + + This class computes pairwise similarity between two BoxLists based on the + negative squared distance metric. + """ + + def _compare(self, boxlist1, boxlist2): + """Compute matrix of (negated) sq distances. + + Args: + boxlist1: BoxList holding N boxes. + boxlist2: BoxList holding M boxes. + + Returns: + A tensor with shape [N, M] representing negated pairwise squared distance. + """ + return -1 * box_list_ops.sq_dist(boxlist1, boxlist2) + + +class IoaSimilarity(RegionSimilarityCalculator): + """Class to compute similarity based on Intersection over Area (IOA) metric. + + This class computes pairwise similarity between two BoxLists based on their + pairwise intersections divided by the areas of second BoxLists. + """ + + def _compare(self, boxlist1, boxlist2): + """Compute pairwise IOA similarity between the two BoxLists. + + Args: + boxlist1: BoxList holding N boxes. + boxlist2: BoxList holding M boxes. + + Returns: + A tensor with shape [N, M] representing pairwise IOA scores. + """ + return box_list_ops.ioa(boxlist1, boxlist2) diff --git a/object_detection/core/region_similarity_calculator_test.py b/object_detection/core/region_similarity_calculator_test.py new file mode 100644 index 000000000..162151a3b --- /dev/null +++ b/object_detection/core/region_similarity_calculator_test.py @@ -0,0 +1,75 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for region_similarity_calculator.""" +import tensorflow as tf + +from object_detection.core import box_list +from object_detection.core import region_similarity_calculator + + +class RegionSimilarityCalculatorTest(tf.test.TestCase): + + def test_get_correct_pairwise_similarity_based_on_iou(self): + corners1 = tf.constant([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]]) + corners2 = tf.constant([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]]) + exp_output = [[2.0 / 16.0, 0, 6.0 / 400.0], [1.0 / 16.0, 0.0, 5.0 / 400.0]] + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + iou_similarity_calculator = region_similarity_calculator.IouSimilarity() + iou_similarity = iou_similarity_calculator.compare(boxes1, boxes2) + with self.test_session() as sess: + iou_output = sess.run(iou_similarity) + self.assertAllClose(iou_output, exp_output) + + def test_get_correct_pairwise_similarity_based_on_squared_distances(self): + corners1 = tf.constant([[0.0, 0.0, 0.0, 0.0], + [1.0, 1.0, 0.0, 2.0]]) + corners2 = tf.constant([[3.0, 4.0, 1.0, 0.0], + [-4.0, 0.0, 0.0, 3.0], + [0.0, 0.0, 0.0, 0.0]]) + exp_output = [[-26, -25, 0], [-18, -27, -6]] + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + dist_similarity_calc = region_similarity_calculator.NegSqDistSimilarity() + dist_similarity = dist_similarity_calc.compare(boxes1, boxes2) + with self.test_session() as sess: + dist_output = sess.run(dist_similarity) + self.assertAllClose(dist_output, exp_output) + + def test_get_correct_pairwise_similarity_based_on_ioa(self): + corners1 = tf.constant([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]]) + corners2 = tf.constant([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]]) + exp_output_1 = [[2.0 / 12.0, 0, 6.0 / 400.0], + [1.0 / 12.0, 0.0, 5.0 / 400.0]] + exp_output_2 = [[2.0 / 6.0, 1.0 / 5.0], + [0, 0], + [6.0 / 6.0, 5.0 / 5.0]] + boxes1 = box_list.BoxList(corners1) + boxes2 = box_list.BoxList(corners2) + ioa_similarity_calculator = region_similarity_calculator.IoaSimilarity() + ioa_similarity_1 = ioa_similarity_calculator.compare(boxes1, boxes2) + ioa_similarity_2 = ioa_similarity_calculator.compare(boxes2, boxes1) + with self.test_session() as sess: + iou_output_1, iou_output_2 = sess.run( + [ioa_similarity_1, ioa_similarity_2]) + self.assertAllClose(iou_output_1, exp_output_1) + self.assertAllClose(iou_output_2, exp_output_2) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/core/standard_fields.py b/object_detection/core/standard_fields.py new file mode 100644 index 000000000..978aad3d8 --- /dev/null +++ b/object_detection/core/standard_fields.py @@ -0,0 +1,150 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Contains classes specifying naming conventions used for object detection. + + +Specifies: + InputDataFields: standard fields used by reader/preprocessor/batcher. + BoxListFields: standard field used by BoxList + TfExampleFields: standard fields for tf-example data format (go/tf-example). +""" + + +class InputDataFields(object): + """Names for the input tensors. + + Holds the standard data field names to use for identifying input tensors. This + should be used by the decoder to identify keys for the returned tensor_dict + containing input tensors. And it should be used by the model to identify the + tensors it needs. + + Attributes: + image: image. + original_image: image in the original input size. + key: unique key corresponding to image. + source_id: source of the original image. + filename: original filename of the dataset (without common path). + groundtruth_image_classes: image-level class labels. + groundtruth_boxes: coordinates of the ground truth boxes in the image. + groundtruth_classes: box-level class labels. + groundtruth_label_types: box-level label types (e.g. explicit negative). + groundtruth_is_crowd: is the groundtruth a single object or a crowd. + groundtruth_area: area of a groundtruth segment. + groundtruth_difficult: is a `difficult` object + proposal_boxes: coordinates of object proposal boxes. + proposal_objectness: objectness score of each proposal. + groundtruth_instance_masks: ground truth instance masks. + groundtruth_instance_classes: instance mask-level class labels. + groundtruth_keypoints: ground truth keypoints. + groundtruth_keypoint_visibilities: ground truth keypoint visibilities. + groundtruth_label_scores: groundtruth label scores. + """ + image = 'image' + original_image = 'original_image' + key = 'key' + source_id = 'source_id' + filename = 'filename' + groundtruth_image_classes = 'groundtruth_image_classes' + groundtruth_boxes = 'groundtruth_boxes' + groundtruth_classes = 'groundtruth_classes' + groundtruth_label_types = 'groundtruth_label_types' + groundtruth_is_crowd = 'groundtruth_is_crowd' + groundtruth_area = 'groundtruth_area' + groundtruth_difficult = 'groundtruth_difficult' + proposal_boxes = 'proposal_boxes' + proposal_objectness = 'proposal_objectness' + groundtruth_instance_masks = 'groundtruth_instance_masks' + groundtruth_instance_classes = 'groundtruth_instance_classes' + groundtruth_keypoints = 'groundtruth_keypoints' + groundtruth_keypoint_visibilities = 'groundtruth_keypoint_visibilities' + groundtruth_label_scores = 'groundtruth_label_scores' + + +class BoxListFields(object): + """Naming conventions for BoxLists. + + Attributes: + boxes: bounding box coordinates. + classes: classes per bounding box. + scores: scores per bounding box. + weights: sample weights per bounding box. + objectness: objectness score per bounding box. + masks: masks per bounding box. + keypoints: keypoints per bounding box. + keypoint_heatmaps: keypoint heatmaps per bounding box. + """ + boxes = 'boxes' + classes = 'classes' + scores = 'scores' + weights = 'weights' + objectness = 'objectness' + masks = 'masks' + keypoints = 'keypoints' + keypoint_heatmaps = 'keypoint_heatmaps' + + +class TfExampleFields(object): + """TF-example proto feature names for object detection. + + Holds the standard feature names to load from an Example proto for object + detection. + + Attributes: + image_encoded: JPEG encoded string + image_format: image format, e.g. "JPEG" + filename: filename + channels: number of channels of image + colorspace: colorspace, e.g. "RGB" + height: height of image in pixels, e.g. 462 + width: width of image in pixels, e.g. 581 + source_id: original source of the image + object_class_text: labels in text format, e.g. ["person", "cat"] + object_class_text: labels in numbers, e.g. [16, 8] + object_bbox_xmin: xmin coordinates of groundtruth box, e.g. 10, 30 + object_bbox_xmax: xmax coordinates of groundtruth box, e.g. 50, 40 + object_bbox_ymin: ymin coordinates of groundtruth box, e.g. 40, 50 + object_bbox_ymax: ymax coordinates of groundtruth box, e.g. 80, 70 + object_view: viewpoint of object, e.g. ["frontal", "left"] + object_truncated: is object truncated, e.g. [true, false] + object_occluded: is object occluded, e.g. [true, false] + object_difficult: is object difficult, e.g. [true, false] + object_is_crowd: is the object a single object or a crowd + object_segment_area: the area of the segment. + instance_masks: instance segmentation masks. + instance_classes: Classes for each instance segmentation mask. + """ + image_encoded = 'image/encoded' + image_format = 'image/format' # format is reserved keyword + filename = 'image/filename' + channels = 'image/channels' + colorspace = 'image/colorspace' + height = 'image/height' + width = 'image/width' + source_id = 'image/source_id' + object_class_text = 'image/object/class/text' + object_class_label = 'image/object/class/label' + object_bbox_ymin = 'image/object/bbox/ymin' + object_bbox_xmin = 'image/object/bbox/xmin' + object_bbox_ymax = 'image/object/bbox/ymax' + object_bbox_xmax = 'image/object/bbox/xmax' + object_view = 'image/object/view' + object_truncated = 'image/object/truncated' + object_occluded = 'image/object/occluded' + object_difficult = 'image/object/difficult' + object_is_crowd = 'image/object/is_crowd' + object_segment_area = 'image/object/segment/area' + instance_masks = 'image/segmentation/object' + instance_classes = 'image/segmentation/object/class' diff --git a/object_detection/core/target_assigner.py b/object_detection/core/target_assigner.py new file mode 100644 index 000000000..a9f3f5aea --- /dev/null +++ b/object_detection/core/target_assigner.py @@ -0,0 +1,449 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Base target assigner module. + +The job of a TargetAssigner is, for a given set of anchors (bounding boxes) and +groundtruth detections (bounding boxes), to assign classification and regression +targets to each anchor as well as weights to each anchor (specifying, e.g., +which anchors should not contribute to training loss). + +It assigns classification/regression targets by performing the following steps: +1) Computing pairwise similarity between anchors and groundtruth boxes using a + provided RegionSimilarity Calculator +2) Computing a matching based on the similarity matrix using a provided Matcher +3) Assigning regression targets based on the matching and a provided BoxCoder +4) Assigning classification targets based on the matching and groundtruth labels + +Note that TargetAssigners only operate on detections from a single +image at a time, so any logic for applying a TargetAssigner to multiple +images must be handled externally. +""" +import tensorflow as tf + +from object_detection.box_coders import faster_rcnn_box_coder +from object_detection.box_coders import mean_stddev_box_coder +from object_detection.core import box_coder as bcoder +from object_detection.core import box_list +from object_detection.core import box_list_ops +from object_detection.core import matcher as mat +from object_detection.core import region_similarity_calculator as sim_calc +from object_detection.matchers import argmax_matcher +from object_detection.matchers import bipartite_matcher + + +class TargetAssigner(object): + """Target assigner to compute classification and regression targets.""" + + def __init__(self, similarity_calc, matcher, box_coder, + positive_class_weight=1.0, negative_class_weight=1.0, + unmatched_cls_target=None): + """Construct Multibox Target Assigner. + + Args: + similarity_calc: a RegionSimilarityCalculator + matcher: an object_detection.core.Matcher used to match groundtruth to + anchors. + box_coder: an object_detection.core.BoxCoder used to encode matching + groundtruth boxes with respect to anchors. + positive_class_weight: classification weight to be associated to positive + anchors (default: 1.0) + negative_class_weight: classification weight to be associated to negative + anchors (default: 1.0) + unmatched_cls_target: a float32 tensor with shape [d_1, d_2, ..., d_k] + which is consistent with the classification target for each + anchor (and can be empty for scalar targets). This shape must thus be + compatible with the groundtruth labels that are passed to the "assign" + function (which have shape [num_gt_boxes, d_1, d_2, ..., d_k]). + If set to None, unmatched_cls_target is set to be [0] for each anchor. + + Raises: + ValueError: if similarity_calc is not a RegionSimilarityCalculator or + if matcher is not a Matcher or if box_coder is not a BoxCoder + """ + if not isinstance(similarity_calc, sim_calc.RegionSimilarityCalculator): + raise ValueError('similarity_calc must be a RegionSimilarityCalculator') + if not isinstance(matcher, mat.Matcher): + raise ValueError('matcher must be a Matcher') + if not isinstance(box_coder, bcoder.BoxCoder): + raise ValueError('box_coder must be a BoxCoder') + self._similarity_calc = similarity_calc + self._matcher = matcher + self._box_coder = box_coder + self._positive_class_weight = positive_class_weight + self._negative_class_weight = negative_class_weight + if unmatched_cls_target is None: + self._unmatched_cls_target = tf.constant([0], tf.float32) + else: + self._unmatched_cls_target = unmatched_cls_target + + @property + def box_coder(self): + return self._box_coder + + def assign(self, anchors, groundtruth_boxes, groundtruth_labels=None, + **params): + """Assign classification and regression targets to each anchor. + + For a given set of anchors and groundtruth detections, match anchors + to groundtruth_boxes and assign classification and regression targets to + each anchor as well as weights based on the resulting match (specifying, + e.g., which anchors should not contribute to training loss). + + Anchors that are not matched to anything are given a classification target + of self._unmatched_cls_target which can be specified via the constructor. + + Args: + anchors: a BoxList representing N anchors + groundtruth_boxes: a BoxList representing M groundtruth boxes + groundtruth_labels: a tensor of shape [num_gt_boxes, d_1, ... d_k] + with labels for each of the ground_truth boxes. The subshape + [d_1, ... d_k] can be empty (corresponding to scalar inputs). When set + to None, groundtruth_labels assumes a binary problem where all + ground_truth boxes get a positive label (of 1). + **params: Additional keyword arguments for specific implementations of + the Matcher. + + Returns: + cls_targets: a float32 tensor with shape [num_anchors, d_1, d_2 ... d_k], + where the subshape [d_1, ..., d_k] is compatible with groundtruth_labels + which has shape [num_gt_boxes, d_1, d_2, ... d_k]. + cls_weights: a float32 tensor with shape [num_anchors] + reg_targets: a float32 tensor with shape [num_anchors, box_code_dimension] + reg_weights: a float32 tensor with shape [num_anchors] + match: a matcher.Match object encoding the match between anchors and + groundtruth boxes, with rows corresponding to groundtruth boxes + and columns corresponding to anchors. + + Raises: + ValueError: if anchors or groundtruth_boxes are not of type + box_list.BoxList + """ + if not isinstance(anchors, box_list.BoxList): + raise ValueError('anchors must be an BoxList') + if not isinstance(groundtruth_boxes, box_list.BoxList): + raise ValueError('groundtruth_boxes must be an BoxList') + + if groundtruth_labels is None: + groundtruth_labels = tf.ones(tf.expand_dims(groundtruth_boxes.num_boxes(), + 0)) + groundtruth_labels = tf.expand_dims(groundtruth_labels, -1) + shape_assert = tf.assert_equal(tf.shape(groundtruth_labels)[1:], + tf.shape(self._unmatched_cls_target)) + + with tf.control_dependencies([shape_assert]): + match_quality_matrix = self._similarity_calc.compare(groundtruth_boxes, + anchors) + match = self._matcher.match(match_quality_matrix, **params) + reg_targets = self._create_regression_targets(anchors, + groundtruth_boxes, + match) + cls_targets = self._create_classification_targets(groundtruth_labels, + match) + reg_weights = self._create_regression_weights(match) + cls_weights = self._create_classification_weights( + match, self._positive_class_weight, self._negative_class_weight) + + num_anchors = anchors.num_boxes_static() + if num_anchors is not None: + reg_targets = self._reset_target_shape(reg_targets, num_anchors) + cls_targets = self._reset_target_shape(cls_targets, num_anchors) + reg_weights = self._reset_target_shape(reg_weights, num_anchors) + cls_weights = self._reset_target_shape(cls_weights, num_anchors) + + return cls_targets, cls_weights, reg_targets, reg_weights, match + + def _reset_target_shape(self, target, num_anchors): + """Sets the static shape of the target. + + Args: + target: the target tensor. Its first dimension will be overwritten. + num_anchors: the number of anchors, which is used to override the target's + first dimension. + + Returns: + A tensor with the shape info filled in. + """ + target_shape = target.get_shape().as_list() + target_shape[0] = num_anchors + target.set_shape(target_shape) + return target + + def _create_regression_targets(self, anchors, groundtruth_boxes, match): + """Returns a regression target for each anchor. + + Args: + anchors: a BoxList representing N anchors + groundtruth_boxes: a BoxList representing M groundtruth_boxes + match: a matcher.Match object + + Returns: + reg_targets: a float32 tensor with shape [N, box_code_dimension] + """ + matched_anchor_indices = match.matched_column_indices() + unmatched_ignored_anchor_indices = (match. + unmatched_or_ignored_column_indices()) + matched_gt_indices = match.matched_row_indices() + matched_anchors = box_list_ops.gather(anchors, + matched_anchor_indices) + matched_gt_boxes = box_list_ops.gather(groundtruth_boxes, + matched_gt_indices) + matched_reg_targets = self._box_coder.encode(matched_gt_boxes, + matched_anchors) + unmatched_ignored_reg_targets = tf.tile( + self._default_regression_target(), + tf.stack([tf.size(unmatched_ignored_anchor_indices), 1])) + reg_targets = tf.dynamic_stitch( + [matched_anchor_indices, unmatched_ignored_anchor_indices], + [matched_reg_targets, unmatched_ignored_reg_targets]) + # TODO: summarize the number of matches on average. + return reg_targets + + def _default_regression_target(self): + """Returns the default target for anchors to regress to. + + Default regression targets are set to zero (though in + this implementation what these targets are set to should + not matter as the regression weight of any box set to + regress to the default target is zero). + + Returns: + default_target: a float32 tensor with shape [1, box_code_dimension] + """ + return tf.constant([self._box_coder.code_size*[0]], tf.float32) + + def _create_classification_targets(self, groundtruth_labels, match): + """Create classification targets for each anchor. + + Assign a classification target of for each anchor to the matching + groundtruth label that is provided by match. Anchors that are not matched + to anything are given the target self._unmatched_cls_target + + Args: + groundtruth_labels: a tensor of shape [num_gt_boxes, d_1, ... d_k] + with labels for each of the ground_truth boxes. The subshape + [d_1, ... d_k] can be empty (corresponding to scalar labels). + match: a matcher.Match object that provides a matching between anchors + and groundtruth boxes. + + Returns: + cls_targets: a float32 tensor with shape [num_anchors, d_1, d_2 ... d_k], + where the subshape [d_1, ..., d_k] is compatible with groundtruth_labels + which has shape [num_gt_boxes, d_1, d_2, ... d_k]. + """ + matched_anchor_indices = match.matched_column_indices() + unmatched_ignored_anchor_indices = (match. + unmatched_or_ignored_column_indices()) + matched_gt_indices = match.matched_row_indices() + matched_cls_targets = tf.gather(groundtruth_labels, matched_gt_indices) + + ones = self._unmatched_cls_target.shape.ndims * [1] + unmatched_ignored_cls_targets = tf.tile( + tf.expand_dims(self._unmatched_cls_target, 0), + tf.stack([tf.size(unmatched_ignored_anchor_indices)] + ones)) + + cls_targets = tf.dynamic_stitch( + [matched_anchor_indices, unmatched_ignored_anchor_indices], + [matched_cls_targets, unmatched_ignored_cls_targets]) + return cls_targets + + def _create_regression_weights(self, match): + """Set regression weight for each anchor. + + Only positive anchors are set to contribute to the regression loss, so this + method returns a weight of 1 for every positive anchor and 0 for every + negative anchor. + + Args: + match: a matcher.Match object that provides a matching between anchors + and groundtruth boxes. + + Returns: + reg_weights: a float32 tensor with shape [num_anchors] representing + regression weights + """ + reg_weights = tf.cast(match.matched_column_indicator(), tf.float32) + return reg_weights + + def _create_classification_weights(self, + match, + positive_class_weight=1.0, + negative_class_weight=1.0): + """Create classification weights for each anchor. + + Positive (matched) anchors are associated with a weight of + positive_class_weight and negative (unmatched) anchors are associated with + a weight of negative_class_weight. When anchors are ignored, weights are set + to zero. By default, both positive/negative weights are set to 1.0, + but they can be adjusted to handle class imbalance (which is almost always + the case in object detection). + + Args: + match: a matcher.Match object that provides a matching between anchors + and groundtruth boxes. + positive_class_weight: weight to be associated to positive anchors + negative_class_weight: weight to be associated to negative anchors + + Returns: + cls_weights: a float32 tensor with shape [num_anchors] representing + classification weights. + """ + matched_indicator = tf.cast(match.matched_column_indicator(), tf.float32) + ignore_indicator = tf.cast(match.ignored_column_indicator(), tf.float32) + unmatched_indicator = 1.0 - matched_indicator - ignore_indicator + cls_weights = (positive_class_weight * matched_indicator + + negative_class_weight * unmatched_indicator) + return cls_weights + + def get_box_coder(self): + """Get BoxCoder of this TargetAssigner. + + Returns: + BoxCoder: BoxCoder object. + """ + return self._box_coder + + +# TODO: This method pulls in all the implementation dependencies into core. +# Therefore its best to have this factory method outside of core. +def create_target_assigner(reference, stage=None, + positive_class_weight=1.0, + negative_class_weight=1.0, + unmatched_cls_target=None): + """Factory function for creating standard target assigners. + + Args: + reference: string referencing the type of TargetAssigner. + stage: string denoting stage: {proposal, detection}. + positive_class_weight: classification weight to be associated to positive + anchors (default: 1.0) + negative_class_weight: classification weight to be associated to negative + anchors (default: 1.0) + unmatched_cls_target: a float32 tensor with shape [d_1, d_2, ..., d_k] + which is consistent with the classification target for each + anchor (and can be empty for scalar targets). This shape must thus be + compatible with the groundtruth labels that are passed to the Assign + function (which have shape [num_gt_boxes, d_1, d_2, ..., d_k]). + If set to None, unmatched_cls_target is set to be 0 for each anchor. + + Returns: + TargetAssigner: desired target assigner. + + Raises: + ValueError: if combination reference+stage is invalid. + """ + if reference == 'Multibox' and stage == 'proposal': + similarity_calc = sim_calc.NegSqDistSimilarity() + matcher = bipartite_matcher.GreedyBipartiteMatcher() + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + + elif reference == 'FasterRCNN' and stage == 'proposal': + similarity_calc = sim_calc.IouSimilarity() + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=0.7, + unmatched_threshold=0.3, + force_match_for_each_row=True) + box_coder = faster_rcnn_box_coder.FasterRcnnBoxCoder( + scale_factors=[10.0, 10.0, 5.0, 5.0]) + + elif reference == 'FasterRCNN' and stage == 'detection': + similarity_calc = sim_calc.IouSimilarity() + # Uses all proposals with IOU < 0.5 as candidate negatives. + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=0.5, + negatives_lower_than_unmatched=True) + box_coder = faster_rcnn_box_coder.FasterRcnnBoxCoder( + scale_factors=[10.0, 10.0, 5.0, 5.0]) + + elif reference == 'FastRCNN': + similarity_calc = sim_calc.IouSimilarity() + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=0.5, + unmatched_threshold=0.1, + force_match_for_each_row=False, + negatives_lower_than_unmatched=False) + box_coder = faster_rcnn_box_coder.FasterRcnnBoxCoder() + + else: + raise ValueError('No valid combination of reference and stage.') + + return TargetAssigner(similarity_calc, matcher, box_coder, + positive_class_weight=positive_class_weight, + negative_class_weight=negative_class_weight, + unmatched_cls_target=unmatched_cls_target) + + +def batch_assign_targets(target_assigner, + anchors_batch, + gt_box_batch, + gt_class_targets_batch): + """Batched assignment of classification and regression targets. + + Args: + target_assigner: a target assigner. + anchors_batch: BoxList representing N box anchors or list of BoxList objects + with length batch_size representing anchor sets. + gt_box_batch: a list of BoxList objects with length batch_size + representing groundtruth boxes for each image in the batch + gt_class_targets_batch: a list of tensors with length batch_size, where + each tensor has shape [num_gt_boxes_i, classification_target_size] and + num_gt_boxes_i is the number of boxes in the ith boxlist of + gt_box_batch. + + Returns: + batch_cls_targets: a tensor with shape [batch_size, num_anchors, + num_classes], + batch_cls_weights: a tensor with shape [batch_size, num_anchors], + batch_reg_targets: a tensor with shape [batch_size, num_anchors, + box_code_dimension] + batch_reg_weights: a tensor with shape [batch_size, num_anchors], + match_list: a list of matcher.Match objects encoding the match between + anchors and groundtruth boxes for each image of the batch, + with rows of the Match objects corresponding to groundtruth boxes + and columns corresponding to anchors. + Raises: + ValueError: if input list lengths are inconsistent, i.e., + batch_size == len(gt_box_batch) == len(gt_class_targets_batch) + and batch_size == len(anchors_batch) unless anchors_batch is a single + BoxList. + """ + if not isinstance(anchors_batch, list): + anchors_batch = len(gt_box_batch) * [anchors_batch] + if not all( + isinstance(anchors, box_list.BoxList) for anchors in anchors_batch): + raise ValueError('anchors_batch must be a BoxList or list of BoxLists.') + if not (len(anchors_batch) + == len(gt_box_batch) + == len(gt_class_targets_batch)): + raise ValueError('batch size incompatible with lengths of anchors_batch, ' + 'gt_box_batch and gt_class_targets_batch.') + cls_targets_list = [] + cls_weights_list = [] + reg_targets_list = [] + reg_weights_list = [] + match_list = [] + for anchors, gt_boxes, gt_class_targets in zip( + anchors_batch, gt_box_batch, gt_class_targets_batch): + (cls_targets, cls_weights, reg_targets, + reg_weights, match) = target_assigner.assign( + anchors, gt_boxes, gt_class_targets) + cls_targets_list.append(cls_targets) + cls_weights_list.append(cls_weights) + reg_targets_list.append(reg_targets) + reg_weights_list.append(reg_weights) + match_list.append(match) + batch_cls_targets = tf.stack(cls_targets_list) + batch_cls_weights = tf.stack(cls_weights_list) + batch_reg_targets = tf.stack(reg_targets_list) + batch_reg_weights = tf.stack(reg_weights_list) + return (batch_cls_targets, batch_cls_weights, batch_reg_targets, + batch_reg_weights, match_list) diff --git a/object_detection/core/target_assigner_test.py b/object_detection/core/target_assigner_test.py new file mode 100644 index 000000000..92c756489 --- /dev/null +++ b/object_detection/core/target_assigner_test.py @@ -0,0 +1,682 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.target_assigner.""" +import numpy as np +import tensorflow as tf + +from object_detection.box_coders import mean_stddev_box_coder +from object_detection.core import box_list +from object_detection.core import region_similarity_calculator +from object_detection.core import target_assigner as targetassigner +from object_detection.matchers import argmax_matcher +from object_detection.matchers import bipartite_matcher + + +class TargetAssignerTest(tf.test.TestCase): + + def test_assign_agnostic(self): + similarity_calc = region_similarity_calculator.NegSqDistSimilarity() + matcher = bipartite_matcher.GreedyBipartiteMatcher() + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + target_assigner = targetassigner.TargetAssigner( + similarity_calc, matcher, box_coder, unmatched_cls_target=None) + + prior_means = tf.constant([[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 1.0, 0.8], + [0, 0.5, .5, 1.0]]) + prior_stddevs = tf.constant(3 * [4 * [.1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + box_corners = [[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 0.9, 0.9]] + boxes = box_list.BoxList(tf.constant(box_corners)) + exp_cls_targets = [[1], [1], [0]] + exp_cls_weights = [1, 1, 1] + exp_reg_targets = [[0, 0, 0, 0], + [0, 0, -1, 1], + [0, 0, 0, 0]] + exp_reg_weights = [1, 1, 0] + exp_matching_anchors = [0, 1] + + result = target_assigner.assign(priors, boxes, num_valid_rows=2) + (cls_targets, cls_weights, reg_targets, reg_weights, match) = result + + with self.test_session() as sess: + (cls_targets_out, cls_weights_out, + reg_targets_out, reg_weights_out, matching_anchors_out) = sess.run( + [cls_targets, cls_weights, reg_targets, reg_weights, + match.matched_column_indices()]) + + self.assertAllClose(cls_targets_out, exp_cls_targets) + self.assertAllClose(cls_weights_out, exp_cls_weights) + self.assertAllClose(reg_targets_out, exp_reg_targets) + self.assertAllClose(reg_weights_out, exp_reg_weights) + self.assertAllClose(matching_anchors_out, exp_matching_anchors) + self.assertEquals(cls_targets_out.dtype, np.float32) + self.assertEquals(cls_weights_out.dtype, np.float32) + self.assertEquals(reg_targets_out.dtype, np.float32) + self.assertEquals(reg_weights_out.dtype, np.float32) + self.assertEquals(matching_anchors_out.dtype, np.int32) + + def test_assign_with_ignored_matches(self): + # Note: test is very similar to above. The third box matched with an IOU + # of 0.35, which is between the matched and unmatched threshold. This means + # That like above the expected classification targets are [1, 1, 0]. + # Unlike above, the third target is ignored and therefore expected + # classification weights are [1, 1, 0]. + similarity_calc = region_similarity_calculator.IouSimilarity() + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=0.5, + unmatched_threshold=0.3) + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + target_assigner = targetassigner.TargetAssigner( + similarity_calc, matcher, box_coder) + + prior_means = tf.constant([[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 1.0, 0.8], + [0.0, 0.5, .9, 1.0]]) + prior_stddevs = tf.constant(3 * [4 * [.1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + box_corners = [[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.9, 0.9]] + boxes = box_list.BoxList(tf.constant(box_corners)) + exp_cls_targets = [[1], [1], [0]] + exp_cls_weights = [1, 1, 0] + exp_reg_targets = [[0, 0, 0, 0], + [0, 0, -1, 1], + [0, 0, 0, 0]] + exp_reg_weights = [1, 1, 0] + exp_matching_anchors = [0, 1] + + result = target_assigner.assign(priors, boxes) + (cls_targets, cls_weights, reg_targets, reg_weights, match) = result + with self.test_session() as sess: + (cls_targets_out, cls_weights_out, + reg_targets_out, reg_weights_out, matching_anchors_out) = sess.run( + [cls_targets, cls_weights, reg_targets, reg_weights, + match.matched_column_indices()]) + + self.assertAllClose(cls_targets_out, exp_cls_targets) + self.assertAllClose(cls_weights_out, exp_cls_weights) + self.assertAllClose(reg_targets_out, exp_reg_targets) + self.assertAllClose(reg_weights_out, exp_reg_weights) + self.assertAllClose(matching_anchors_out, exp_matching_anchors) + self.assertEquals(cls_targets_out.dtype, np.float32) + self.assertEquals(cls_weights_out.dtype, np.float32) + self.assertEquals(reg_targets_out.dtype, np.float32) + self.assertEquals(reg_weights_out.dtype, np.float32) + self.assertEquals(matching_anchors_out.dtype, np.int32) + + def test_assign_multiclass(self): + similarity_calc = region_similarity_calculator.NegSqDistSimilarity() + matcher = bipartite_matcher.GreedyBipartiteMatcher() + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + unmatched_cls_target = tf.constant([1, 0, 0, 0, 0, 0, 0], tf.float32) + target_assigner = targetassigner.TargetAssigner( + similarity_calc, matcher, box_coder, + unmatched_cls_target=unmatched_cls_target) + + prior_means = tf.constant([[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 1.0, 0.8], + [0, 0.5, .5, 1.0], + [.75, 0, 1.0, .25]]) + prior_stddevs = tf.constant(4 * [4 * [.1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + box_corners = [[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.9, 0.9], + [.75, 0, .95, .27]] + boxes = box_list.BoxList(tf.constant(box_corners)) + + groundtruth_labels = tf.constant([[0, 1, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 0], + [0, 0, 0, 1, 0, 0, 0]], tf.float32) + + exp_cls_targets = [[0, 1, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 0], + [1, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 1, 0, 0, 0]] + exp_cls_weights = [1, 1, 1, 1] + exp_reg_targets = [[0, 0, 0, 0], + [0, 0, -1, 1], + [0, 0, 0, 0], + [0, 0, -.5, .2]] + exp_reg_weights = [1, 1, 0, 1] + exp_matching_anchors = [0, 1, 3] + + result = target_assigner.assign(priors, boxes, groundtruth_labels, + num_valid_rows=3) + (cls_targets, cls_weights, reg_targets, reg_weights, match) = result + with self.test_session() as sess: + (cls_targets_out, cls_weights_out, + reg_targets_out, reg_weights_out, matching_anchors_out) = sess.run( + [cls_targets, cls_weights, reg_targets, reg_weights, + match.matched_column_indices()]) + + self.assertAllClose(cls_targets_out, exp_cls_targets) + self.assertAllClose(cls_weights_out, exp_cls_weights) + self.assertAllClose(reg_targets_out, exp_reg_targets) + self.assertAllClose(reg_weights_out, exp_reg_weights) + self.assertAllClose(matching_anchors_out, exp_matching_anchors) + self.assertEquals(cls_targets_out.dtype, np.float32) + self.assertEquals(cls_weights_out.dtype, np.float32) + self.assertEquals(reg_targets_out.dtype, np.float32) + self.assertEquals(reg_weights_out.dtype, np.float32) + self.assertEquals(matching_anchors_out.dtype, np.int32) + + def test_assign_multiclass_unequal_class_weights(self): + similarity_calc = region_similarity_calculator.NegSqDistSimilarity() + matcher = bipartite_matcher.GreedyBipartiteMatcher() + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + unmatched_cls_target = tf.constant([1, 0, 0, 0, 0, 0, 0], tf.float32) + target_assigner = targetassigner.TargetAssigner( + similarity_calc, matcher, box_coder, + positive_class_weight=1.0, negative_class_weight=0.5, + unmatched_cls_target=unmatched_cls_target) + + prior_means = tf.constant([[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 1.0, 0.8], + [0, 0.5, .5, 1.0], + [.75, 0, 1.0, .25]]) + prior_stddevs = tf.constant(4 * [4 * [.1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + box_corners = [[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.9, 0.9], + [.75, 0, .95, .27]] + boxes = box_list.BoxList(tf.constant(box_corners)) + + groundtruth_labels = tf.constant([[0, 1, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 0], + [0, 0, 0, 1, 0, 0, 0]], tf.float32) + + exp_cls_weights = [1, 1, .5, 1] + result = target_assigner.assign(priors, boxes, groundtruth_labels, + num_valid_rows=3) + (_, cls_weights, _, _, _) = result + with self.test_session() as sess: + cls_weights_out = sess.run(cls_weights) + self.assertAllClose(cls_weights_out, exp_cls_weights) + + def test_assign_multidimensional_class_targets(self): + similarity_calc = region_similarity_calculator.NegSqDistSimilarity() + matcher = bipartite_matcher.GreedyBipartiteMatcher() + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + unmatched_cls_target = tf.constant([[0, 0], [0, 0]], tf.float32) + target_assigner = targetassigner.TargetAssigner( + similarity_calc, matcher, box_coder, + unmatched_cls_target=unmatched_cls_target) + + prior_means = tf.constant([[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 1.0, 0.8], + [0, 0.5, .5, 1.0], + [.75, 0, 1.0, .25]]) + prior_stddevs = tf.constant(4 * [4 * [.1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + box_corners = [[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.9, 0.9], + [.75, 0, .95, .27]] + boxes = box_list.BoxList(tf.constant(box_corners)) + + groundtruth_labels = tf.constant([[[0, 1], [1, 0]], + [[1, 0], [0, 1]], + [[0, 1], [1, .5]]], tf.float32) + + exp_cls_targets = [[[0, 1], [1, 0]], + [[1, 0], [0, 1]], + [[0, 0], [0, 0]], + [[0, 1], [1, .5]]] + exp_cls_weights = [1, 1, 1, 1] + exp_reg_targets = [[0, 0, 0, 0], + [0, 0, -1, 1], + [0, 0, 0, 0], + [0, 0, -.5, .2]] + exp_reg_weights = [1, 1, 0, 1] + exp_matching_anchors = [0, 1, 3] + + result = target_assigner.assign(priors, boxes, groundtruth_labels, + num_valid_rows=3) + (cls_targets, cls_weights, reg_targets, reg_weights, match) = result + with self.test_session() as sess: + (cls_targets_out, cls_weights_out, + reg_targets_out, reg_weights_out, matching_anchors_out) = sess.run( + [cls_targets, cls_weights, reg_targets, reg_weights, + match.matched_column_indices()]) + + self.assertAllClose(cls_targets_out, exp_cls_targets) + self.assertAllClose(cls_weights_out, exp_cls_weights) + self.assertAllClose(reg_targets_out, exp_reg_targets) + self.assertAllClose(reg_weights_out, exp_reg_weights) + self.assertAllClose(matching_anchors_out, exp_matching_anchors) + self.assertEquals(cls_targets_out.dtype, np.float32) + self.assertEquals(cls_weights_out.dtype, np.float32) + self.assertEquals(reg_targets_out.dtype, np.float32) + self.assertEquals(reg_weights_out.dtype, np.float32) + self.assertEquals(matching_anchors_out.dtype, np.int32) + + def test_assign_empty_groundtruth(self): + similarity_calc = region_similarity_calculator.NegSqDistSimilarity() + matcher = bipartite_matcher.GreedyBipartiteMatcher() + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + unmatched_cls_target = tf.constant([0, 0, 0], tf.float32) + target_assigner = targetassigner.TargetAssigner( + similarity_calc, matcher, box_coder, + unmatched_cls_target=unmatched_cls_target) + + prior_means = tf.constant([[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 1.0, 0.8], + [0, 0.5, .5, 1.0], + [.75, 0, 1.0, .25]]) + prior_stddevs = tf.constant(4 * [4 * [.1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + box_corners_expanded = tf.constant([[0.0, 0.0, 0.0, 0.0]]) + box_corners = tf.slice(box_corners_expanded, [0, 0], [0, 4]) + boxes = box_list.BoxList(box_corners) + + groundtruth_labels_expanded = tf.constant([[0, 0, 0]], tf.float32) + groundtruth_labels = tf.slice(groundtruth_labels_expanded, [0, 0], [0, 3]) + + exp_cls_targets = [[0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0]] + exp_cls_weights = [1, 1, 1, 1] + exp_reg_targets = [[0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 0]] + exp_reg_weights = [0, 0, 0, 0] + exp_matching_anchors = [] + + result = target_assigner.assign(priors, boxes, groundtruth_labels) + (cls_targets, cls_weights, reg_targets, reg_weights, match) = result + with self.test_session() as sess: + (cls_targets_out, cls_weights_out, + reg_targets_out, reg_weights_out, matching_anchors_out) = sess.run( + [cls_targets, cls_weights, reg_targets, reg_weights, + match.matched_column_indices()]) + + self.assertAllClose(cls_targets_out, exp_cls_targets) + self.assertAllClose(cls_weights_out, exp_cls_weights) + self.assertAllClose(reg_targets_out, exp_reg_targets) + self.assertAllClose(reg_weights_out, exp_reg_weights) + self.assertAllClose(matching_anchors_out, exp_matching_anchors) + self.assertEquals(cls_targets_out.dtype, np.float32) + self.assertEquals(cls_weights_out.dtype, np.float32) + self.assertEquals(reg_targets_out.dtype, np.float32) + self.assertEquals(reg_weights_out.dtype, np.float32) + self.assertEquals(matching_anchors_out.dtype, np.int32) + + def test_raises_error_on_invalid_groundtruth_labels(self): + similarity_calc = region_similarity_calculator.NegSqDistSimilarity() + matcher = bipartite_matcher.GreedyBipartiteMatcher() + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + unmatched_cls_target = tf.constant([[0, 0], [0, 0], [0, 0]], tf.float32) + target_assigner = targetassigner.TargetAssigner( + similarity_calc, matcher, box_coder, + unmatched_cls_target=unmatched_cls_target) + + prior_means = tf.constant([[0.0, 0.0, 0.5, 0.5]]) + prior_stddevs = tf.constant([[1.0, 1.0, 1.0, 1.0]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + box_corners = [[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.9, 0.9], + [.75, 0, .95, .27]] + boxes = box_list.BoxList(tf.constant(box_corners)) + + groundtruth_labels = tf.constant([[[0, 1], [1, 0]]], tf.float32) + + with self.assertRaises(ValueError): + target_assigner.assign(priors, boxes, groundtruth_labels, + num_valid_rows=3) + + +class BatchTargetAssignerTest(tf.test.TestCase): + + def _get_agnostic_target_assigner(self): + similarity_calc = region_similarity_calculator.NegSqDistSimilarity() + matcher = bipartite_matcher.GreedyBipartiteMatcher() + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + return targetassigner.TargetAssigner( + similarity_calc, matcher, box_coder, + positive_class_weight=1.0, + negative_class_weight=1.0, + unmatched_cls_target=None) + + def _get_multi_class_target_assigner(self, num_classes): + similarity_calc = region_similarity_calculator.NegSqDistSimilarity() + matcher = bipartite_matcher.GreedyBipartiteMatcher() + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + unmatched_cls_target = tf.constant([1] + num_classes * [0], tf.float32) + return targetassigner.TargetAssigner( + similarity_calc, matcher, box_coder, + positive_class_weight=1.0, + negative_class_weight=1.0, + unmatched_cls_target=unmatched_cls_target) + + def _get_multi_dimensional_target_assigner(self, target_dimensions): + similarity_calc = region_similarity_calculator.NegSqDistSimilarity() + matcher = bipartite_matcher.GreedyBipartiteMatcher() + box_coder = mean_stddev_box_coder.MeanStddevBoxCoder() + unmatched_cls_target = tf.constant(np.zeros(target_dimensions), + tf.float32) + return targetassigner.TargetAssigner( + similarity_calc, matcher, box_coder, + positive_class_weight=1.0, + negative_class_weight=1.0, + unmatched_cls_target=unmatched_cls_target) + + def test_batch_assign_targets(self): + box_list1 = box_list.BoxList(tf.constant([[0., 0., 0.2, 0.2]])) + box_list2 = box_list.BoxList(tf.constant( + [[0, 0.25123152, 1, 1], + [0.015789, 0.0985, 0.55789, 0.3842]] + )) + + gt_box_batch = [box_list1, box_list2] + gt_class_targets = [None, None] + + prior_means = tf.constant([[0, 0, .25, .25], + [0, .25, 1, 1], + [0, .1, .5, .5], + [.75, .75, 1, 1]]) + prior_stddevs = tf.constant([[.1, .1, .1, .1], + [.1, .1, .1, .1], + [.1, .1, .1, .1], + [.1, .1, .1, .1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + exp_reg_targets = [[[0, 0, -0.5, -0.5], + [0, 0, 0, 0], + [0, 0, 0, 0,], + [0, 0, 0, 0,],], + [[0, 0, 0, 0,], + [0, 0.01231521, 0, 0], + [0.15789001, -0.01500003, 0.57889998, -1.15799987], + [0, 0, 0, 0]]] + exp_cls_weights = [[1, 1, 1, 1], + [1, 1, 1, 1]] + exp_cls_targets = [[[1], [0], [0], [0]], + [[0], [1], [1], [0]]] + exp_reg_weights = [[1, 0, 0, 0], + [0, 1, 1, 0]] + exp_match_0 = [0] + exp_match_1 = [1, 2] + + agnostic_target_assigner = self._get_agnostic_target_assigner() + (cls_targets, cls_weights, reg_targets, reg_weights, + match_list) = targetassigner.batch_assign_targets( + agnostic_target_assigner, priors, gt_box_batch, gt_class_targets) + self.assertTrue(isinstance(match_list, list) and len(match_list) == 2) + with self.test_session() as sess: + (cls_targets_out, cls_weights_out, reg_targets_out, reg_weights_out, + match_out_0, match_out_1) = sess.run([ + cls_targets, cls_weights, reg_targets, reg_weights] + [ + match.matched_column_indices() for match in match_list]) + self.assertAllClose(cls_targets_out, exp_cls_targets) + self.assertAllClose(cls_weights_out, exp_cls_weights) + self.assertAllClose(reg_targets_out, exp_reg_targets) + self.assertAllClose(reg_weights_out, exp_reg_weights) + self.assertAllClose(match_out_0, exp_match_0) + self.assertAllClose(match_out_1, exp_match_1) + + def test_batch_assign_multiclass_targets(self): + box_list1 = box_list.BoxList(tf.constant([[0., 0., 0.2, 0.2]])) + + box_list2 = box_list.BoxList(tf.constant( + [[0, 0.25123152, 1, 1], + [0.015789, 0.0985, 0.55789, 0.3842]] + )) + + gt_box_batch = [box_list1, box_list2] + + class_targets1 = tf.constant([[0, 1, 0, 0]], tf.float32) + class_targets2 = tf.constant([[0, 0, 0, 1], + [0, 0, 1, 0]], tf.float32) + + gt_class_targets = [class_targets1, class_targets2] + + prior_means = tf.constant([[0, 0, .25, .25], + [0, .25, 1, 1], + [0, .1, .5, .5], + [.75, .75, 1, 1]]) + prior_stddevs = tf.constant([[.1, .1, .1, .1], + [.1, .1, .1, .1], + [.1, .1, .1, .1], + [.1, .1, .1, .1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + exp_reg_targets = [[[0, 0, -0.5, -0.5], + [0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 0]], + [[0, 0, 0, 0], + [0, 0.01231521, 0, 0], + [0.15789001, -0.01500003, 0.57889998, -1.15799987], + [0, 0, 0, 0]]] + exp_cls_weights = [[1, 1, 1, 1], + [1, 1, 1, 1]] + exp_cls_targets = [[[0, 1, 0, 0], + [1, 0, 0, 0], + [1, 0, 0, 0], + [1, 0, 0, 0]], + [[1, 0, 0, 0], + [0, 0, 0, 1], + [0, 0, 1, 0], + [1, 0, 0, 0]]] + exp_reg_weights = [[1, 0, 0, 0], + [0, 1, 1, 0]] + exp_match_0 = [0] + exp_match_1 = [1, 2] + + multiclass_target_assigner = self._get_multi_class_target_assigner( + num_classes=3) + + (cls_targets, cls_weights, reg_targets, reg_weights, + match_list) = targetassigner.batch_assign_targets( + multiclass_target_assigner, priors, gt_box_batch, gt_class_targets) + self.assertTrue(isinstance(match_list, list) and len(match_list) == 2) + with self.test_session() as sess: + (cls_targets_out, cls_weights_out, reg_targets_out, reg_weights_out, + match_out_0, match_out_1) = sess.run([ + cls_targets, cls_weights, reg_targets, reg_weights] + [ + match.matched_column_indices() for match in match_list]) + self.assertAllClose(cls_targets_out, exp_cls_targets) + self.assertAllClose(cls_weights_out, exp_cls_weights) + self.assertAllClose(reg_targets_out, exp_reg_targets) + self.assertAllClose(reg_weights_out, exp_reg_weights) + self.assertAllClose(match_out_0, exp_match_0) + self.assertAllClose(match_out_1, exp_match_1) + + def test_batch_assign_multidimensional_targets(self): + box_list1 = box_list.BoxList(tf.constant([[0., 0., 0.2, 0.2]])) + + box_list2 = box_list.BoxList(tf.constant( + [[0, 0.25123152, 1, 1], + [0.015789, 0.0985, 0.55789, 0.3842]] + )) + + gt_box_batch = [box_list1, box_list2] + class_targets1 = tf.constant([[[0, 1, 1], + [1, 1, 0]]], tf.float32) + class_targets2 = tf.constant([[[0, 1, 1], + [1, 1, 0]], + [[0, 0, 1], + [0, 0, 1]]], tf.float32) + + gt_class_targets = [class_targets1, class_targets2] + + prior_means = tf.constant([[0, 0, .25, .25], + [0, .25, 1, 1], + [0, .1, .5, .5], + [.75, .75, 1, 1]]) + prior_stddevs = tf.constant([[.1, .1, .1, .1], + [.1, .1, .1, .1], + [.1, .1, .1, .1], + [.1, .1, .1, .1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + exp_reg_targets = [[[0, 0, -0.5, -0.5], + [0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 0]], + [[0, 0, 0, 0], + [0, 0.01231521, 0, 0], + [0.15789001, -0.01500003, 0.57889998, -1.15799987], + [0, 0, 0, 0]]] + exp_cls_weights = [[1, 1, 1, 1], + [1, 1, 1, 1]] + + exp_cls_targets = [[[[0., 1., 1.], + [1., 1., 0.]], + [[0., 0., 0.], + [0., 0., 0.]], + [[0., 0., 0.], + [0., 0., 0.]], + [[0., 0., 0.], + [0., 0., 0.]]], + [[[0., 0., 0.], + [0., 0., 0.]], + [[0., 1., 1.], + [1., 1., 0.]], + [[0., 0., 1.], + [0., 0., 1.]], + [[0., 0., 0.], + [0., 0., 0.]]]] + exp_reg_weights = [[1, 0, 0, 0], + [0, 1, 1, 0]] + exp_match_0 = [0] + exp_match_1 = [1, 2] + + multiclass_target_assigner = self._get_multi_dimensional_target_assigner( + target_dimensions=(2, 3)) + + (cls_targets, cls_weights, reg_targets, reg_weights, + match_list) = targetassigner.batch_assign_targets( + multiclass_target_assigner, priors, gt_box_batch, gt_class_targets) + self.assertTrue(isinstance(match_list, list) and len(match_list) == 2) + with self.test_session() as sess: + (cls_targets_out, cls_weights_out, reg_targets_out, reg_weights_out, + match_out_0, match_out_1) = sess.run([ + cls_targets, cls_weights, reg_targets, reg_weights] + [ + match.matched_column_indices() for match in match_list]) + self.assertAllClose(cls_targets_out, exp_cls_targets) + self.assertAllClose(cls_weights_out, exp_cls_weights) + self.assertAllClose(reg_targets_out, exp_reg_targets) + self.assertAllClose(reg_weights_out, exp_reg_weights) + self.assertAllClose(match_out_0, exp_match_0) + self.assertAllClose(match_out_1, exp_match_1) + + def test_batch_assign_empty_groundtruth(self): + box_coords_expanded = tf.zeros((1, 4), tf.float32) + box_coords = tf.slice(box_coords_expanded, [0, 0], [0, 4]) + box_list1 = box_list.BoxList(box_coords) + gt_box_batch = [box_list1] + + prior_means = tf.constant([[0, 0, .25, .25], + [0, .25, 1, 1]]) + prior_stddevs = tf.constant([[.1, .1, .1, .1], + [.1, .1, .1, .1]]) + priors = box_list.BoxList(prior_means) + priors.add_field('stddev', prior_stddevs) + + exp_reg_targets = [[[0, 0, 0, 0], + [0, 0, 0, 0]]] + exp_cls_weights = [[1, 1]] + exp_cls_targets = [[[1, 0, 0, 0], + [1, 0, 0, 0]]] + exp_reg_weights = [[0, 0]] + exp_match_0 = [] + + num_classes = 3 + pad = 1 + gt_class_targets = tf.zeros((0, num_classes + pad)) + gt_class_targets_batch = [gt_class_targets] + + multiclass_target_assigner = self._get_multi_class_target_assigner( + num_classes=3) + + (cls_targets, cls_weights, reg_targets, reg_weights, + match_list) = targetassigner.batch_assign_targets( + multiclass_target_assigner, priors, + gt_box_batch, gt_class_targets_batch) + self.assertTrue(isinstance(match_list, list) and len(match_list) == 1) + with self.test_session() as sess: + (cls_targets_out, cls_weights_out, reg_targets_out, reg_weights_out, + match_out_0) = sess.run([ + cls_targets, cls_weights, reg_targets, reg_weights] + [ + match.matched_column_indices() for match in match_list]) + self.assertAllClose(cls_targets_out, exp_cls_targets) + self.assertAllClose(cls_weights_out, exp_cls_weights) + self.assertAllClose(reg_targets_out, exp_reg_targets) + self.assertAllClose(reg_weights_out, exp_reg_weights) + self.assertAllClose(match_out_0, exp_match_0) + + +class CreateTargetAssignerTest(tf.test.TestCase): + + def test_create_target_assigner(self): + """Tests that named constructor gives working target assigners. + + TODO: Make this test more general. + """ + corners = [[0.0, 0.0, 1.0, 1.0]] + groundtruth = box_list.BoxList(tf.constant(corners)) + + priors = box_list.BoxList(tf.constant(corners)) + prior_stddevs = tf.constant([[1.0, 1.0, 1.0, 1.0]]) + priors.add_field('stddev', prior_stddevs) + multibox_ta = (targetassigner + .create_target_assigner('Multibox', stage='proposal')) + multibox_ta.assign(priors, groundtruth) + # No tests on output, as that may vary arbitrarily as new target assigners + # are added. As long as it is constructed correctly and runs without errors, + # tests on the individual assigners cover correctness of the assignments. + + anchors = box_list.BoxList(tf.constant(corners)) + faster_rcnn_proposals_ta = (targetassigner + .create_target_assigner('FasterRCNN', + stage='proposal')) + faster_rcnn_proposals_ta.assign(anchors, groundtruth) + + fast_rcnn_ta = (targetassigner + .create_target_assigner('FastRCNN')) + fast_rcnn_ta.assign(anchors, groundtruth) + + faster_rcnn_detection_ta = (targetassigner + .create_target_assigner('FasterRCNN', + stage='detection')) + faster_rcnn_detection_ta.assign(anchors, groundtruth) + + with self.assertRaises(ValueError): + targetassigner.create_target_assigner('InvalidDetector', + stage='invalid_stage') + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/create_pascal_tf_record.py b/object_detection/create_pascal_tf_record.py new file mode 100644 index 000000000..b25980ece --- /dev/null +++ b/object_detection/create_pascal_tf_record.py @@ -0,0 +1,174 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r"""Convert raw PASCAL dataset to TFRecord for object_detection. + +Example usage: + ./create_pascal_tf_record --data_dir=/home/user/VOCdevkit \ + --year=VOC2012 \ + --output_path=/home/user/pascal.record +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import hashlib +import io +import logging +import os + +from lxml import etree +import PIL.Image +import tensorflow as tf + +from object_detection.utils import dataset_util +from object_detection.utils import label_map_util + + +flags = tf.app.flags +flags.DEFINE_string('data_dir', '', 'Root directory to raw PASCAL VOC dataset.') +flags.DEFINE_enum('set', 'train', ['train', 'val', 'trainval', 'test'], + 'Convert training set, validation set or merged set.') +flags.DEFINE_string('annotations_dir', 'Annotations', + '(Relative) path to annotations directory.') +flags.DEFINE_enum('year', 'VOC2007', ['VOC2007', 'VOC2012', 'merged'], + 'Desired challenge year.') +flags.DEFINE_string('output_path', '', 'Path to output TFRecord') +flags.DEFINE_string('label_map_path', 'data/pascal_label_map.pbtxt', + 'Path to label map proto') +flags.DEFINE_boolean('ignore_difficult_instances', False, 'Whether to ignore ' + 'difficult instances') +FLAGS = flags.FLAGS + + +def dict_to_tf_example(data, + dataset_directory, + label_map_dict, + ignore_difficult_instances=False, + image_subdirectory='JPEGImages'): + """Convert XML derived dict to tf.Example proto. + + Notice that this function normalizes the bounding box coordinates provided + by the raw data. + + Args: + data: dict holding PASCAL XML fields for a single image (obtained by + running dataset_util.recursive_parse_xml_to_dict) + dataset_directory: Path to root directory holding PASCAL dataset + label_map_dict: A map from string label names to integers ids. + ignore_difficult_instances: Whether to skip difficult instances in the + dataset (default: False). + image_subdirectory: String specifying subdirectory within the + PASCAL dataset directory holding the actual image data. + + Returns: + example: The converted tf.Example. + + Raises: + ValueError: if the image pointed to by data['filename'] is not a valid JPEG + """ + img_path = os.path.join(data['folder'], image_subdirectory, data['filename']) + full_path = os.path.join(dataset_directory, img_path) + with tf.gfile.GFile(full_path) as fid: + encoded_jpg = fid.read() + encoded_jpg_io = io.BytesIO(encoded_jpg) + image = PIL.Image.open(encoded_jpg_io) + if image.format != 'JPEG': + raise ValueError('Image format not JPEG') + key = hashlib.sha256(encoded_jpg).hexdigest() + + width = int(data['size']['width']) + height = int(data['size']['height']) + + xmin = [] + ymin = [] + xmax = [] + ymax = [] + classes = [] + classes_text = [] + truncated = [] + poses = [] + difficult_obj = [] + for obj in data['object']: + difficult = bool(int(obj['difficult'])) + if ignore_difficult_instances and difficult: + continue + + difficult_obj.append(int(difficult)) + + xmin.append(float(obj['bndbox']['xmin']) / width) + ymin.append(float(obj['bndbox']['ymin']) / height) + xmax.append(float(obj['bndbox']['xmax']) / width) + ymax.append(float(obj['bndbox']['ymax']) / height) + classes_text.append(obj['name']) + classes.append(label_map_dict[obj['name']]) + truncated.append(int(obj['truncated'])) + poses.append(obj['pose']) + + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/height': dataset_util.int64_feature(height), + 'image/width': dataset_util.int64_feature(width), + 'image/filename': dataset_util.bytes_feature(data['filename']), + 'image/source_id': dataset_util.bytes_feature(data['filename']), + 'image/key/sha256': dataset_util.bytes_feature(key), + 'image/encoded': dataset_util.bytes_feature(encoded_jpg), + 'image/format': dataset_util.bytes_feature('jpeg'), + 'image/object/bbox/xmin': dataset_util.float_list_feature(xmin), + 'image/object/bbox/xmax': dataset_util.float_list_feature(xmax), + 'image/object/bbox/ymin': dataset_util.float_list_feature(ymin), + 'image/object/bbox/ymax': dataset_util.float_list_feature(ymax), + 'image/object/class/text': dataset_util.bytes_list_feature(classes_text), + 'image/object/class/label': dataset_util.int64_list_feature(classes), + 'image/object/difficult': dataset_util.int64_list_feature(difficult_obj), + 'image/object/truncated': dataset_util.int64_list_feature(truncated), + 'image/object/view': dataset_util.bytes_list_feature(poses), + })) + return example + + +def main(_): + data_dir = FLAGS.data_dir + years = ['VOC2007', 'VOC2012'] + if FLAGS.year != 'merged': + years = [FLAGS.year] + + writer = tf.python_io.TFRecordWriter(FLAGS.output_path) + + label_map_dict = label_map_util.get_label_map_dict(FLAGS.label_map_path) + + for year in years: + logging.info('Reading from PASCAL %s dataset.', year) + examples_path = os.path.join(data_dir, year, 'ImageSets', 'Main', + 'aeroplane_' + FLAGS.set + '.txt') + annotations_dir = os.path.join(data_dir, year, FLAGS.annotations_dir) + examples_list = dataset_util.read_examples_list(examples_path) + for idx, example in enumerate(examples_list): + if idx % 100 == 0: + logging.info('On image %d of %d', idx, len(examples_list)) + path = os.path.join(annotations_dir, example + '.xml') + with tf.gfile.GFile(path, 'r') as fid: + xml_str = fid.read() + xml = etree.fromstring(xml_str) + data = dataset_util.recursive_parse_xml_to_dict(xml)['annotation'] + + tf_example = dict_to_tf_example(data, FLAGS.data_dir, label_map_dict, + FLAGS.ignore_difficult_instances) + writer.write(tf_example.SerializeToString()) + + writer.close() + + +if __name__ == '__main__': + tf.app.run() diff --git a/object_detection/create_pascal_tf_record_test.py b/object_detection/create_pascal_tf_record_test.py new file mode 100644 index 000000000..dd29c6c2b --- /dev/null +++ b/object_detection/create_pascal_tf_record_test.py @@ -0,0 +1,118 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Test for create_pascal_tf_record.py.""" + +import os + +import numpy as np +import PIL.Image +import tensorflow as tf + +from object_detection import create_pascal_tf_record + + +class DictToTFExampleTest(tf.test.TestCase): + + def _assertProtoEqual(self, proto_field, expectation): + """Helper function to assert if a proto field equals some value. + + Args: + proto_field: The protobuf field to compare. + expectation: The expected value of the protobuf field. + """ + proto_list = [p for p in proto_field] + self.assertListEqual(proto_list, expectation) + + def test_dict_to_tf_example(self): + image_file_name = 'tmp_image.jpg' + image_data = np.random.rand(256, 256, 3) + save_path = os.path.join(self.get_temp_dir(), image_file_name) + image = PIL.Image.fromarray(image_data, 'RGB') + image.save(save_path) + + data = { + 'folder': '', + 'filename': image_file_name, + 'size': { + 'height': 256, + 'width': 256, + }, + 'object': [ + { + 'difficult': 1, + 'bndbox': { + 'xmin': 64, + 'ymin': 64, + 'xmax': 192, + 'ymax': 192, + }, + 'name': 'person', + 'truncated': 0, + 'pose': '', + }, + ], + } + + label_map_dict = { + 'background': 0, + 'person': 1, + 'notperson': 2, + } + + example = create_pascal_tf_record.dict_to_tf_example( + data, self.get_temp_dir(), label_map_dict, image_subdirectory='') + self._assertProtoEqual( + example.features.feature['image/height'].int64_list.value, [256]) + self._assertProtoEqual( + example.features.feature['image/width'].int64_list.value, [256]) + self._assertProtoEqual( + example.features.feature['image/filename'].bytes_list.value, + [image_file_name]) + self._assertProtoEqual( + example.features.feature['image/source_id'].bytes_list.value, + [image_file_name]) + self._assertProtoEqual( + example.features.feature['image/format'].bytes_list.value, ['jpeg']) + self._assertProtoEqual( + example.features.feature['image/object/bbox/xmin'].float_list.value, + [0.25]) + self._assertProtoEqual( + example.features.feature['image/object/bbox/ymin'].float_list.value, + [0.25]) + self._assertProtoEqual( + example.features.feature['image/object/bbox/xmax'].float_list.value, + [0.75]) + self._assertProtoEqual( + example.features.feature['image/object/bbox/ymax'].float_list.value, + [0.75]) + self._assertProtoEqual( + example.features.feature['image/object/class/text'].bytes_list.value, + ['person']) + self._assertProtoEqual( + example.features.feature['image/object/class/label'].int64_list.value, + [1]) + self._assertProtoEqual( + example.features.feature['image/object/difficult'].int64_list.value, + [1]) + self._assertProtoEqual( + example.features.feature['image/object/truncated'].int64_list.value, + [0]) + self._assertProtoEqual( + example.features.feature['image/object/view'].bytes_list.value, ['']) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/create_pet_tf_record.py b/object_detection/create_pet_tf_record.py new file mode 100644 index 000000000..2bfbb4de3 --- /dev/null +++ b/object_detection/create_pet_tf_record.py @@ -0,0 +1,211 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r"""Convert the Oxford pet dataset to TFRecord for object_detection. + +See: O. M. Parkhi, A. Vedaldi, A. Zisserman, C. V. Jawahar + Cats and Dogs + IEEE Conference on Computer Vision and Pattern Recognition, 2012 + http://www.robots.ox.ac.uk/~vgg/data/pets/ + +Example usage: + ./create_pet_tf_record --data_dir=/home/user/pet \ + --output_dir=/home/user/pet/output +""" + +import hashlib +import io +import logging +import os +import random +import re + +from lxml import etree +import PIL.Image +import tensorflow as tf + +from object_detection.utils import dataset_util +from object_detection.utils import label_map_util + +flags = tf.app.flags +flags.DEFINE_string('data_dir', '', 'Root directory to raw pet dataset.') +flags.DEFINE_string('output_dir', '', 'Path to directory to output TFRecords.') +flags.DEFINE_string('label_map_path', 'data/pet_label_map.pbtxt', + 'Path to label map proto') +FLAGS = flags.FLAGS + + +def get_class_name_from_filename(file_name): + """Gets the class name from a file. + + Args: + file_name: The file name to get the class name from. + ie. "american_pit_bull_terrier_105.jpg" + + Returns: + example: The converted tf.Example. + """ + match = re.match(r'([A-Za-z_]+)(_[0-9]+\.jpg)', file_name, re.I) + return match.groups()[0] + + +def dict_to_tf_example(data, + label_map_dict, + image_subdirectory, + ignore_difficult_instances=False): + """Convert XML derived dict to tf.Example proto. + + Notice that this function normalizes the bounding box coordinates provided + by the raw data. + + Args: + data: dict holding PASCAL XML fields for a single image (obtained by + running dataset_util.recursive_parse_xml_to_dict) + label_map_dict: A map from string label names to integers ids. + image_subdirectory: String specifying subdirectory within the + Pascal dataset directory holding the actual image data. + ignore_difficult_instances: Whether to skip difficult instances in the + dataset (default: False). + + Returns: + example: The converted tf.Example. + + Raises: + ValueError: if the image pointed to by data['filename'] is not a valid JPEG + """ + img_path = os.path.join(image_subdirectory, data['filename']) + with tf.gfile.GFile(img_path) as fid: + encoded_jpg = fid.read() + encoded_jpg_io = io.BytesIO(encoded_jpg) + image = PIL.Image.open(encoded_jpg_io) + if image.format != 'JPEG': + raise ValueError('Image format not JPEG') + key = hashlib.sha256(encoded_jpg).hexdigest() + + width = int(data['size']['width']) + height = int(data['size']['height']) + + xmin = [] + ymin = [] + xmax = [] + ymax = [] + classes = [] + classes_text = [] + truncated = [] + poses = [] + difficult_obj = [] + for obj in data['object']: + difficult = bool(int(obj['difficult'])) + if ignore_difficult_instances and difficult: + continue + + difficult_obj.append(int(difficult)) + + xmin.append(float(obj['bndbox']['xmin']) / width) + ymin.append(float(obj['bndbox']['ymin']) / height) + xmax.append(float(obj['bndbox']['xmax']) / width) + ymax.append(float(obj['bndbox']['ymax']) / height) + class_name = get_class_name_from_filename(data['filename']) + classes_text.append(class_name) + classes.append(label_map_dict[class_name]) + truncated.append(int(obj['truncated'])) + poses.append(obj['pose']) + + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/height': dataset_util.int64_feature(height), + 'image/width': dataset_util.int64_feature(width), + 'image/filename': dataset_util.bytes_feature(data['filename']), + 'image/source_id': dataset_util.bytes_feature(data['filename']), + 'image/key/sha256': dataset_util.bytes_feature(key), + 'image/encoded': dataset_util.bytes_feature(encoded_jpg), + 'image/format': dataset_util.bytes_feature('jpeg'), + 'image/object/bbox/xmin': dataset_util.float_list_feature(xmin), + 'image/object/bbox/xmax': dataset_util.float_list_feature(xmax), + 'image/object/bbox/ymin': dataset_util.float_list_feature(ymin), + 'image/object/bbox/ymax': dataset_util.float_list_feature(ymax), + 'image/object/class/text': dataset_util.bytes_list_feature(classes_text), + 'image/object/class/label': dataset_util.int64_list_feature(classes), + 'image/object/difficult': dataset_util.int64_list_feature(difficult_obj), + 'image/object/truncated': dataset_util.int64_list_feature(truncated), + 'image/object/view': dataset_util.bytes_list_feature(poses), + })) + return example + + +def create_tf_record(output_filename, + label_map_dict, + annotations_dir, + image_dir, + examples): + """Creates a TFRecord file from examples. + + Args: + output_filename: Path to where output file is saved. + label_map_dict: The label map dictionary. + annotations_dir: Directory where annotation files are stored. + image_dir: Directory where image files are stored. + examples: Examples to parse and save to tf record. + """ + writer = tf.python_io.TFRecordWriter(output_filename) + for idx, example in enumerate(examples): + if idx % 100 == 0: + logging.info('On image %d of %d', idx, len(examples)) + path = os.path.join(annotations_dir, 'xmls', example + '.xml') + + if not os.path.exists(path): + logging.warning('Could not find %s, ignoring example.', path) + continue + with tf.gfile.GFile(path, 'r') as fid: + xml_str = fid.read() + xml = etree.fromstring(xml_str) + data = dataset_util.recursive_parse_xml_to_dict(xml)['annotation'] + + tf_example = dict_to_tf_example(data, label_map_dict, image_dir) + writer.write(tf_example.SerializeToString()) + + writer.close() + + +# TODO: Add test for pet/PASCAL main files. +def main(_): + data_dir = FLAGS.data_dir + label_map_dict = label_map_util.get_label_map_dict(FLAGS.label_map_path) + + logging.info('Reading from Pet dataset.') + image_dir = os.path.join(data_dir, 'images') + annotations_dir = os.path.join(data_dir, 'annotations') + examples_path = os.path.join(annotations_dir, 'trainval.txt') + examples_list = dataset_util.read_examples_list(examples_path) + + # Test images are not included in the downloaded data set, so we shall perform + # our own split. + random.seed(42) + random.shuffle(examples_list) + num_examples = len(examples_list) + num_train = int(0.7 * num_examples) + train_examples = examples_list[:num_train] + val_examples = examples_list[num_train:] + logging.info('%d training and %d validation examples.', + len(train_examples), len(val_examples)) + + train_output_path = os.path.join(FLAGS.output_dir, 'pet_train.record') + val_output_path = os.path.join(FLAGS.output_dir, 'pet_val.record') + create_tf_record(train_output_path, label_map_dict, annotations_dir, + image_dir, train_examples) + create_tf_record(val_output_path, label_map_dict, annotations_dir, + image_dir, val_examples) + +if __name__ == '__main__': + tf.app.run() diff --git a/object_detection/data/mscoco_label_map.pbtxt b/object_detection/data/mscoco_label_map.pbtxt new file mode 100644 index 000000000..1f4872bd0 --- /dev/null +++ b/object_detection/data/mscoco_label_map.pbtxt @@ -0,0 +1,400 @@ +item { + name: "/m/01g317" + id: 1 + display_name: "person" +} +item { + name: "/m/0199g" + id: 2 + display_name: "bicycle" +} +item { + name: "/m/0k4j" + id: 3 + display_name: "car" +} +item { + name: "/m/04_sv" + id: 4 + display_name: "motorcycle" +} +item { + name: "/m/05czz6l" + id: 5 + display_name: "airplane" +} +item { + name: "/m/01bjv" + id: 6 + display_name: "bus" +} +item { + name: "/m/07jdr" + id: 7 + display_name: "train" +} +item { + name: "/m/07r04" + id: 8 + display_name: "truck" +} +item { + name: "/m/019jd" + id: 9 + display_name: "boat" +} +item { + name: "/m/015qff" + id: 10 + display_name: "traffic light" +} +item { + name: "/m/01pns0" + id: 11 + display_name: "fire hydrant" +} +item { + name: "/m/02pv19" + id: 13 + display_name: "stop sign" +} +item { + name: "/m/015qbp" + id: 14 + display_name: "parking meter" +} +item { + name: "/m/0cvnqh" + id: 15 + display_name: "bench" +} +item { + name: "/m/015p6" + id: 16 + display_name: "bird" +} +item { + name: "/m/01yrx" + id: 17 + display_name: "cat" +} +item { + name: "/m/0bt9lr" + id: 18 + display_name: "dog" +} +item { + name: "/m/03k3r" + id: 19 + display_name: "horse" +} +item { + name: "/m/07bgp" + id: 20 + display_name: "sheep" +} +item { + name: "/m/01xq0k1" + id: 21 + display_name: "cow" +} +item { + name: "/m/0bwd_0j" + id: 22 + display_name: "elephant" +} +item { + name: "/m/01dws" + id: 23 + display_name: "bear" +} +item { + name: "/m/0898b" + id: 24 + display_name: "zebra" +} +item { + name: "/m/03bk1" + id: 25 + display_name: "giraffe" +} +item { + name: "/m/01940j" + id: 27 + display_name: "backpack" +} +item { + name: "/m/0hnnb" + id: 28 + display_name: "umbrella" +} +item { + name: "/m/080hkjn" + id: 31 + display_name: "handbag" +} +item { + name: "/m/01rkbr" + id: 32 + display_name: "tie" +} +item { + name: "/m/01s55n" + id: 33 + display_name: "suitcase" +} +item { + name: "/m/02wmf" + id: 34 + display_name: "frisbee" +} +item { + name: "/m/071p9" + id: 35 + display_name: "skis" +} +item { + name: "/m/06__v" + id: 36 + display_name: "snowboard" +} +item { + name: "/m/018xm" + id: 37 + display_name: "sports ball" +} +item { + name: "/m/02zt3" + id: 38 + display_name: "kite" +} +item { + name: "/m/03g8mr" + id: 39 + display_name: "baseball bat" +} +item { + name: "/m/03grzl" + id: 40 + display_name: "baseball glove" +} +item { + name: "/m/06_fw" + id: 41 + display_name: "skateboard" +} +item { + name: "/m/019w40" + id: 42 + display_name: "surfboard" +} +item { + name: "/m/0dv9c" + id: 43 + display_name: "tennis racket" +} +item { + name: "/m/04dr76w" + id: 44 + display_name: "bottle" +} +item { + name: "/m/09tvcd" + id: 46 + display_name: "wine glass" +} +item { + name: "/m/08gqpm" + id: 47 + display_name: "cup" +} +item { + name: "/m/0dt3t" + id: 48 + display_name: "fork" +} +item { + name: "/m/04ctx" + id: 49 + display_name: "knife" +} +item { + name: "/m/0cmx8" + id: 50 + display_name: "spoon" +} +item { + name: "/m/04kkgm" + id: 51 + display_name: "bowl" +} +item { + name: "/m/09qck" + id: 52 + display_name: "banana" +} +item { + name: "/m/014j1m" + id: 53 + display_name: "apple" +} +item { + name: "/m/0l515" + id: 54 + display_name: "sandwich" +} +item { + name: "/m/0cyhj_" + id: 55 + display_name: "orange" +} +item { + name: "/m/0hkxq" + id: 56 + display_name: "broccoli" +} +item { + name: "/m/0fj52s" + id: 57 + display_name: "carrot" +} +item { + name: "/m/01b9xk" + id: 58 + display_name: "hot dog" +} +item { + name: "/m/0663v" + id: 59 + display_name: "pizza" +} +item { + name: "/m/0jy4k" + id: 60 + display_name: "donut" +} +item { + name: "/m/0fszt" + id: 61 + display_name: "cake" +} +item { + name: "/m/01mzpv" + id: 62 + display_name: "chair" +} +item { + name: "/m/02crq1" + id: 63 + display_name: "couch" +} +item { + name: "/m/03fp41" + id: 64 + display_name: "potted plant" +} +item { + name: "/m/03ssj5" + id: 65 + display_name: "bed" +} +item { + name: "/m/04bcr3" + id: 67 + display_name: "dining table" +} +item { + name: "/m/09g1w" + id: 70 + display_name: "toilet" +} +item { + name: "/m/07c52" + id: 72 + display_name: "tv" +} +item { + name: "/m/01c648" + id: 73 + display_name: "laptop" +} +item { + name: "/m/020lf" + id: 74 + display_name: "mouse" +} +item { + name: "/m/0qjjc" + id: 75 + display_name: "remote" +} +item { + name: "/m/01m2v" + id: 76 + display_name: "keyboard" +} +item { + name: "/m/050k8" + id: 77 + display_name: "cell phone" +} +item { + name: "/m/0fx9l" + id: 78 + display_name: "microwave" +} +item { + name: "/m/029bxz" + id: 79 + display_name: "oven" +} +item { + name: "/m/01k6s3" + id: 80 + display_name: "toaster" +} +item { + name: "/m/0130jx" + id: 81 + display_name: "sink" +} +item { + name: "/m/040b_t" + id: 82 + display_name: "refrigerator" +} +item { + name: "/m/0bt_c3" + id: 84 + display_name: "book" +} +item { + name: "/m/01x3z" + id: 85 + display_name: "clock" +} +item { + name: "/m/02s195" + id: 86 + display_name: "vase" +} +item { + name: "/m/01lsmm" + id: 87 + display_name: "scissors" +} +item { + name: "/m/0kmg4" + id: 88 + display_name: "teddy bear" +} +item { + name: "/m/03wvsk" + id: 89 + display_name: "hair drier" +} +item { + name: "/m/012xff" + id: 90 + display_name: "toothbrush" +} diff --git a/object_detection/data/pascal_label_map.pbtxt b/object_detection/data/pascal_label_map.pbtxt new file mode 100644 index 000000000..f79d3d5e9 --- /dev/null +++ b/object_detection/data/pascal_label_map.pbtxt @@ -0,0 +1,104 @@ +item { + id: 0 + name: 'none_of_the_above' +} + +item { + id: 1 + name: 'aeroplane' +} + +item { + id: 2 + name: 'bicycle' +} + +item { + id: 3 + name: 'bird' +} + +item { + id: 4 + name: 'boat' +} + +item { + id: 5 + name: 'bottle' +} + +item { + id: 6 + name: 'bus' +} + +item { + id: 7 + name: 'car' +} + +item { + id: 8 + name: 'cat' +} + +item { + id: 9 + name: 'chair' +} + +item { + id: 10 + name: 'cow' +} + +item { + id: 11 + name: 'diningtable' +} + +item { + id: 12 + name: 'dog' +} + +item { + id: 13 + name: 'horse' +} + +item { + id: 14 + name: 'motorbike' +} + +item { + id: 15 + name: 'person' +} + +item { + id: 16 + name: 'pottedplant' +} + +item { + id: 17 + name: 'sheep' +} + +item { + id: 18 + name: 'sofa' +} + +item { + id: 19 + name: 'train' +} + +item { + id: 20 + name: 'tvmonitor' +} diff --git a/object_detection/data/pet_label_map.pbtxt b/object_detection/data/pet_label_map.pbtxt new file mode 100644 index 000000000..61813d687 --- /dev/null +++ b/object_detection/data/pet_label_map.pbtxt @@ -0,0 +1,189 @@ +item { + id: 0 + name: 'none_of_the_above' +} + +item { + id: 1 + name: 'Abyssinian' +} + +item { + id: 2 + name: 'american_bulldog' +} + +item { + id: 3 + name: 'american_pit_bull_terrier' +} + +item { + id: 4 + name: 'basset_hound' +} + +item { + id: 5 + name: 'beagle' +} + +item { + id: 6 + name: 'Bengal' +} + +item { + id: 7 + name: 'Birman' +} + +item { + id: 8 + name: 'Bombay' +} + +item { + id: 9 + name: 'boxer' +} + +item { + id: 10 + name: 'British_Shorthair' +} + +item { + id: 11 + name: 'chihuahua' +} + +item { + id: 12 + name: 'Egyptian_Mau' +} + +item { + id: 13 + name: 'english_cocker_spaniel' +} + +item { + id: 14 + name: 'english_setter' +} + +item { + id: 15 + name: 'german_shorthaired' +} + +item { + id: 16 + name: 'great_pyrenees' +} + +item { + id: 17 + name: 'havanese' +} + +item { + id: 18 + name: 'japanese_chin' +} + +item { + id: 19 + name: 'keeshond' +} + +item { + id: 20 + name: 'leonberger' +} + +item { + id: 21 + name: 'Maine_Coon' +} + +item { + id: 22 + name: 'miniature_pinscher' +} + +item { + id: 23 + name: 'newfoundland' +} + +item { + id: 24 + name: 'Persian' +} + +item { + id: 25 + name: 'pomeranian' +} + +item { + id: 26 + name: 'pug' +} + +item { + id: 27 + name: 'Ragdoll' +} + +item { + id: 28 + name: 'Russian_Blue' +} + +item { + id: 29 + name: 'saint_bernard' +} + +item { + id: 30 + name: 'samoyed' +} + +item { + id: 31 + name: 'scottish_terrier' +} + +item { + id: 32 + name: 'shiba_inu' +} + +item { + id: 33 + name: 'Siamese' +} + +item { + id: 34 + name: 'Sphynx' +} + +item { + id: 35 + name: 'staffordshire_bull_terrier' +} + +item { + id: 36 + name: 'wheaten_terrier' +} + +item { + id: 37 + name: 'yorkshire_terrier' +} diff --git a/object_detection/data_decoders/BUILD b/object_detection/data_decoders/BUILD new file mode 100644 index 000000000..c857294a5 --- /dev/null +++ b/object_detection/data_decoders/BUILD @@ -0,0 +1,28 @@ +# Tensorflow Object Detection API: data decoders. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) +# Apache 2.0 + +py_library( + name = "tf_example_decoder", + srcs = ["tf_example_decoder.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/core:data_decoder", + "//tensorflow_models/object_detection/core:standard_fields", + ], +) + +py_test( + name = "tf_example_decoder_test", + srcs = ["tf_example_decoder_test.py"], + deps = [ + ":tf_example_decoder", + "//tensorflow", + "//tensorflow_models/object_detection/core:standard_fields", + ], +) diff --git a/object_detection/data_decoders/__init__.py b/object_detection/data_decoders/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/data_decoders/tf_example_decoder.py b/object_detection/data_decoders/tf_example_decoder.py new file mode 100644 index 000000000..fcea12cb4 --- /dev/null +++ b/object_detection/data_decoders/tf_example_decoder.py @@ -0,0 +1,147 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tensorflow Example proto decoder for object detection. + +A decoder to decode string tensors containing serialized tensorflow.Example +protos for object detection. +""" +import tensorflow as tf + +from object_detection.core import data_decoder +from object_detection.core import standard_fields as fields + +slim_example_decoder = tf.contrib.slim.tfexample_decoder + + +class TfExampleDecoder(data_decoder.DataDecoder): + """Tensorflow Example proto decoder.""" + + def __init__(self): + """Constructor sets keys_to_features and items_to_handlers.""" + self.keys_to_features = { + 'image/encoded': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/format': tf.FixedLenFeature((), tf.string, default_value='jpeg'), + 'image/filename': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/key/sha256': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/source_id': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/height': tf.FixedLenFeature((), tf.int64, 1), + 'image/width': tf.FixedLenFeature((), tf.int64, 1), + # Object boxes and classes. + 'image/object/bbox/xmin': tf.VarLenFeature(tf.float32), + 'image/object/bbox/xmax': tf.VarLenFeature(tf.float32), + 'image/object/bbox/ymin': tf.VarLenFeature(tf.float32), + 'image/object/bbox/ymax': tf.VarLenFeature(tf.float32), + 'image/object/class/label': tf.VarLenFeature(tf.int64), + 'image/object/area': tf.VarLenFeature(tf.float32), + 'image/object/is_crowd': tf.VarLenFeature(tf.int64), + 'image/object/difficult': tf.VarLenFeature(tf.int64), + # Instance masks and classes. + 'image/segmentation/object': tf.VarLenFeature(tf.int64), + 'image/segmentation/object/class': tf.VarLenFeature(tf.int64) + } + self.items_to_handlers = { + fields.InputDataFields.image: slim_example_decoder.Image( + image_key='image/encoded', format_key='image/format', channels=3), + fields.InputDataFields.source_id: ( + slim_example_decoder.Tensor('image/source_id')), + fields.InputDataFields.key: ( + slim_example_decoder.Tensor('image/key/sha256')), + fields.InputDataFields.filename: ( + slim_example_decoder.Tensor('image/filename')), + # Object boxes and classes. + fields.InputDataFields.groundtruth_boxes: ( + slim_example_decoder.BoundingBox( + ['ymin', 'xmin', 'ymax', 'xmax'], 'image/object/bbox/')), + fields.InputDataFields.groundtruth_classes: ( + slim_example_decoder.Tensor('image/object/class/label')), + fields.InputDataFields.groundtruth_area: slim_example_decoder.Tensor( + 'image/object/area'), + fields.InputDataFields.groundtruth_is_crowd: ( + slim_example_decoder.Tensor('image/object/is_crowd')), + fields.InputDataFields.groundtruth_difficult: ( + slim_example_decoder.Tensor('image/object/difficult')), + # Instance masks and classes. + fields.InputDataFields.groundtruth_instance_masks: ( + slim_example_decoder.ItemHandlerCallback( + ['image/segmentation/object', 'image/height', 'image/width'], + self._reshape_instance_masks)), + fields.InputDataFields.groundtruth_instance_classes: ( + slim_example_decoder.Tensor('image/segmentation/object/class')), + } + + def Decode(self, tf_example_string_tensor): + """Decodes serialized tensorflow example and returns a tensor dictionary. + + Args: + tf_example_string_tensor: a string tensor holding a serialized tensorflow + example proto. + + Returns: + A dictionary of the following tensors. + fields.InputDataFields.image - 3D uint8 tensor of shape [None, None, 3] + containing image. + fields.InputDataFields.source_id - string tensor containing original + image id. + fields.InputDataFields.key - string tensor with unique sha256 hash key. + fields.InputDataFields.filename - string tensor with original dataset + filename. + fields.InputDataFields.groundtruth_boxes - 2D float32 tensor of shape + [None, 4] containing box corners. + fields.InputDataFields.groundtruth_classes - 1D int64 tensor of shape + [None] containing classes for the boxes. + fields.InputDataFields.groundtruth_area - 1D float32 tensor of shape + [None] containing containing object mask area in pixel squared. + fields.InputDataFields.groundtruth_is_crowd - 1D bool tensor of shape + [None] indicating if the boxes enclose a crowd. + fields.InputDataFields.groundtruth_difficult - 1D bool tensor of shape + [None] indicating if the boxes represent `difficult` instances. + fields.InputDataFields.groundtruth_instance_masks - 3D int64 tensor of + shape [None, None, None] containing instance masks. + fields.InputDataFields.groundtruth_instance_classes - 1D int64 tensor + of shape [None] containing classes for the instance masks. + """ + + serialized_example = tf.reshape(tf_example_string_tensor, shape=[]) + decoder = slim_example_decoder.TFExampleDecoder(self.keys_to_features, + self.items_to_handlers) + keys = decoder.list_items() + tensors = decoder.decode(serialized_example, items=keys) + tensor_dict = dict(zip(keys, tensors)) + is_crowd = fields.InputDataFields.groundtruth_is_crowd + tensor_dict[is_crowd] = tf.cast(tensor_dict[is_crowd], dtype=tf.bool) + tensor_dict[fields.InputDataFields.image].set_shape([None, None, 3]) + return tensor_dict + + def _reshape_instance_masks(self, keys_to_tensors): + """Reshape instance segmentation masks. + + The instance segmentation masks are reshaped to [num_instances, height, + width] and cast to boolean type to save memory. + + Args: + keys_to_tensors: a dictionary from keys to tensors. + + Returns: + A 3-D boolean tensor of shape [num_instances, height, width]. + """ + masks = keys_to_tensors['image/segmentation/object'] + if isinstance(masks, tf.SparseTensor): + masks = tf.sparse_tensor_to_dense(masks) + height = keys_to_tensors['image/height'] + width = keys_to_tensors['image/width'] + to_shape = tf.cast(tf.stack([-1, height, width]), tf.int32) + + return tf.cast(tf.reshape(masks, to_shape), tf.bool) diff --git a/object_detection/data_decoders/tf_example_decoder_test.py b/object_detection/data_decoders/tf_example_decoder_test.py new file mode 100644 index 000000000..4a28419a7 --- /dev/null +++ b/object_detection/data_decoders/tf_example_decoder_test.py @@ -0,0 +1,288 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.data_decoders.tf_example_decoder.""" + +import numpy as np +import tensorflow as tf + +from object_detection.core import standard_fields as fields +from object_detection.data_decoders import tf_example_decoder + + +class TfExampleDecoderTest(tf.test.TestCase): + + def _EncodeImage(self, image_tensor, encoding_type='jpeg'): + with self.test_session(): + if encoding_type == 'jpeg': + image_encoded = tf.image.encode_jpeg(tf.constant(image_tensor)).eval() + elif encoding_type == 'png': + image_encoded = tf.image.encode_png(tf.constant(image_tensor)).eval() + else: + raise ValueError('Invalid encoding type.') + return image_encoded + + def _DecodeImage(self, image_encoded, encoding_type='jpeg'): + with self.test_session(): + if encoding_type == 'jpeg': + image_decoded = tf.image.decode_jpeg(tf.constant(image_encoded)).eval() + elif encoding_type == 'png': + image_decoded = tf.image.decode_png(tf.constant(image_encoded)).eval() + else: + raise ValueError('Invalid encoding type.') + return image_decoded + + def _Int64Feature(self, value): + return tf.train.Feature(int64_list=tf.train.Int64List(value=value)) + + def _FloatFeature(self, value): + return tf.train.Feature(float_list=tf.train.FloatList(value=value)) + + def _BytesFeature(self, value): + return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value])) + + def testDecodeJpegImage(self): + image_tensor = np.random.randint(255, size=(4, 5, 3)).astype(np.uint8) + encoded_jpeg = self._EncodeImage(image_tensor) + decoded_jpeg = self._DecodeImage(encoded_jpeg) + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': self._BytesFeature(encoded_jpeg), + 'image/format': self._BytesFeature('jpeg'), + 'image/source_id': self._BytesFeature('image_id'), + })).SerializeToString() + + example_decoder = tf_example_decoder.TfExampleDecoder() + tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + + self.assertAllEqual((tensor_dict[fields.InputDataFields.image]. + get_shape().as_list()), [None, None, 3]) + with self.test_session() as sess: + tensor_dict = sess.run(tensor_dict) + + self.assertAllEqual(decoded_jpeg, tensor_dict[fields.InputDataFields.image]) + self.assertEqual('image_id', tensor_dict[fields.InputDataFields.source_id]) + + def testDecodeImageKeyAndFilename(self): + image_tensor = np.random.randint(255, size=(4, 5, 3)).astype(np.uint8) + encoded_jpeg = self._EncodeImage(image_tensor) + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': self._BytesFeature(encoded_jpeg), + 'image/key/sha256': self._BytesFeature('abc'), + 'image/filename': self._BytesFeature('filename') + })).SerializeToString() + + example_decoder = tf_example_decoder.TfExampleDecoder() + tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + + with self.test_session() as sess: + tensor_dict = sess.run(tensor_dict) + + self.assertEqual('abc', tensor_dict[fields.InputDataFields.key]) + self.assertEqual('filename', tensor_dict[fields.InputDataFields.filename]) + + def testDecodePngImage(self): + image_tensor = np.random.randint(255, size=(4, 5, 3)).astype(np.uint8) + encoded_png = self._EncodeImage(image_tensor, encoding_type='png') + decoded_png = self._DecodeImage(encoded_png, encoding_type='png') + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': self._BytesFeature(encoded_png), + 'image/format': self._BytesFeature('png'), + 'image/source_id': self._BytesFeature('image_id') + })).SerializeToString() + + example_decoder = tf_example_decoder.TfExampleDecoder() + tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + + self.assertAllEqual((tensor_dict[fields.InputDataFields.image]. + get_shape().as_list()), [None, None, 3]) + with self.test_session() as sess: + tensor_dict = sess.run(tensor_dict) + + self.assertAllEqual(decoded_png, tensor_dict[fields.InputDataFields.image]) + self.assertEqual('image_id', tensor_dict[fields.InputDataFields.source_id]) + + def testDecodeBoundingBox(self): + image_tensor = np.random.randint(255, size=(4, 5, 3)).astype(np.uint8) + encoded_jpeg = self._EncodeImage(image_tensor) + bbox_ymins = [0.0, 4.0] + bbox_xmins = [1.0, 5.0] + bbox_ymaxs = [2.0, 6.0] + bbox_xmaxs = [3.0, 7.0] + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': self._BytesFeature(encoded_jpeg), + 'image/format': self._BytesFeature('jpeg'), + 'image/object/bbox/ymin': self._FloatFeature(bbox_ymins), + 'image/object/bbox/xmin': self._FloatFeature(bbox_xmins), + 'image/object/bbox/ymax': self._FloatFeature(bbox_ymaxs), + 'image/object/bbox/xmax': self._FloatFeature(bbox_xmaxs), + })).SerializeToString() + + example_decoder = tf_example_decoder.TfExampleDecoder() + tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + + self.assertAllEqual((tensor_dict[fields.InputDataFields.groundtruth_boxes]. + get_shape().as_list()), [None, 4]) + with self.test_session() as sess: + tensor_dict = sess.run(tensor_dict) + + expected_boxes = np.vstack([bbox_ymins, bbox_xmins, + bbox_ymaxs, bbox_xmaxs]).transpose() + self.assertAllEqual(expected_boxes, + tensor_dict[fields.InputDataFields.groundtruth_boxes]) + + def testDecodeObjectLabel(self): + image_tensor = np.random.randint(255, size=(4, 5, 3)).astype(np.uint8) + encoded_jpeg = self._EncodeImage(image_tensor) + bbox_classes = [0, 1] + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': self._BytesFeature(encoded_jpeg), + 'image/format': self._BytesFeature('jpeg'), + 'image/object/class/label': self._Int64Feature(bbox_classes), + })).SerializeToString() + + example_decoder = tf_example_decoder.TfExampleDecoder() + tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + + self.assertAllEqual((tensor_dict[ + fields.InputDataFields.groundtruth_classes].get_shape().as_list()), + [None]) + + with self.test_session() as sess: + tensor_dict = sess.run(tensor_dict) + + self.assertAllEqual(bbox_classes, + tensor_dict[fields.InputDataFields.groundtruth_classes]) + + def testDecodeObjectArea(self): + image_tensor = np.random.randint(255, size=(4, 5, 3)).astype(np.uint8) + encoded_jpeg = self._EncodeImage(image_tensor) + object_area = [100., 174.] + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': self._BytesFeature(encoded_jpeg), + 'image/format': self._BytesFeature('jpeg'), + 'image/object/area': self._FloatFeature(object_area), + })).SerializeToString() + + example_decoder = tf_example_decoder.TfExampleDecoder() + tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + + self.assertAllEqual((tensor_dict[fields.InputDataFields.groundtruth_area]. + get_shape().as_list()), [None]) + with self.test_session() as sess: + tensor_dict = sess.run(tensor_dict) + + self.assertAllEqual(object_area, + tensor_dict[fields.InputDataFields.groundtruth_area]) + + def testDecodeObjectIsCrowd(self): + image_tensor = np.random.randint(255, size=(4, 5, 3)).astype(np.uint8) + encoded_jpeg = self._EncodeImage(image_tensor) + object_is_crowd = [0, 1] + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': self._BytesFeature(encoded_jpeg), + 'image/format': self._BytesFeature('jpeg'), + 'image/object/is_crowd': self._Int64Feature(object_is_crowd), + })).SerializeToString() + + example_decoder = tf_example_decoder.TfExampleDecoder() + tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + + self.assertAllEqual((tensor_dict[ + fields.InputDataFields.groundtruth_is_crowd].get_shape().as_list()), + [None]) + with self.test_session() as sess: + tensor_dict = sess.run(tensor_dict) + + self.assertAllEqual([bool(item) for item in object_is_crowd], + tensor_dict[ + fields.InputDataFields.groundtruth_is_crowd]) + + def testDecodeObjectDifficult(self): + image_tensor = np.random.randint(255, size=(4, 5, 3)).astype(np.uint8) + encoded_jpeg = self._EncodeImage(image_tensor) + object_difficult = [0, 1] + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': self._BytesFeature(encoded_jpeg), + 'image/format': self._BytesFeature('jpeg'), + 'image/object/difficult': self._Int64Feature(object_difficult), + })).SerializeToString() + + example_decoder = tf_example_decoder.TfExampleDecoder() + tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + + self.assertAllEqual((tensor_dict[ + fields.InputDataFields.groundtruth_difficult].get_shape().as_list()), + [None]) + with self.test_session() as sess: + tensor_dict = sess.run(tensor_dict) + + self.assertAllEqual([bool(item) for item in object_difficult], + tensor_dict[ + fields.InputDataFields.groundtruth_difficult]) + + def testDecodeInstanceSegmentation(self): + num_instances = 4 + image_height = 5 + image_width = 3 + + # Randomly generate image. + image_tensor = np.random.randint(255, size=(image_height, + image_width, + 3)).astype(np.uint8) + encoded_jpeg = self._EncodeImage(image_tensor) + + # Randomly generate instance segmentation masks. + instance_segmentation = ( + np.random.randint(2, size=(num_instances, + image_height, + image_width)).astype(np.int64)) + + # Randomly generate class labels for each instance. + instance_segmentation_classes = np.random.randint( + 100, size=(num_instances)).astype(np.int64) + + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': self._BytesFeature(encoded_jpeg), + 'image/format': self._BytesFeature('jpeg'), + 'image/height': self._Int64Feature([image_height]), + 'image/width': self._Int64Feature([image_width]), + 'image/segmentation/object': self._Int64Feature( + instance_segmentation.flatten()), + 'image/segmentation/object/class': self._Int64Feature( + instance_segmentation_classes)})).SerializeToString() + example_decoder = tf_example_decoder.TfExampleDecoder() + tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + + self.assertAllEqual(( + tensor_dict[fields.InputDataFields.groundtruth_instance_masks]. + get_shape().as_list()), [None, None, None]) + + self.assertAllEqual(( + tensor_dict[fields.InputDataFields.groundtruth_instance_classes]. + get_shape().as_list()), [None]) + + with self.test_session() as sess: + tensor_dict = sess.run(tensor_dict) + + self.assertAllEqual( + instance_segmentation.astype(np.bool), + tensor_dict[fields.InputDataFields.groundtruth_instance_masks]) + self.assertAllEqual( + instance_segmentation_classes, + tensor_dict[fields.InputDataFields.groundtruth_instance_classes]) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/eval.py b/object_detection/eval.py new file mode 100644 index 000000000..cf3ab0c56 --- /dev/null +++ b/object_detection/eval.py @@ -0,0 +1,161 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r"""Evaluation executable for detection models. + +This executable is used to evaluate DetectionModels. There are two ways of +configuring the eval job. + +1) A single pipeline_pb2.TrainEvalPipelineConfig file maybe specified instead. +In this mode, the --eval_training_data flag may be given to force the pipeline +to evaluate on training data instead. + +Example usage: + ./eval \ + --logtostderr \ + --checkpoint_dir=path/to/checkpoint_dir \ + --eval_dir=path/to/eval_dir \ + --pipeline_config_path=pipeline_config.pbtxt + +2) Three configuration files may be provided: a model_pb2.DetectionModel +configuration file to define what type of DetectionModel is being evaulated, an +input_reader_pb2.InputReader file to specify what data the model is evaluating +and an eval_pb2.EvalConfig file to configure evaluation parameters. + +Example usage: + ./eval \ + --logtostderr \ + --checkpoint_dir=path/to/checkpoint_dir \ + --eval_dir=path/to/eval_dir \ + --eval_config_path=eval_config.pbtxt \ + --model_config_path=model_config.pbtxt \ + --input_config_path=eval_input_config.pbtxt +""" +import functools +import tensorflow as tf + +from google.protobuf import text_format +from object_detection import evaluator +from object_detection.builders import input_reader_builder +from object_detection.builders import model_builder +from object_detection.protos import eval_pb2 +from object_detection.protos import input_reader_pb2 +from object_detection.protos import model_pb2 +from object_detection.protos import pipeline_pb2 +from object_detection.utils import label_map_util + +tf.logging.set_verbosity(tf.logging.INFO) + +flags = tf.app.flags +flags.DEFINE_boolean('eval_training_data', False, + 'If training data should be evaluated for this job.') +flags.DEFINE_string('checkpoint_dir', '', + 'Directory containing checkpoints to evaluate, typically ' + 'set to `train_dir` used in the training job.') +flags.DEFINE_string('eval_dir', '', + 'Directory to write eval summaries to.') +flags.DEFINE_string('pipeline_config_path', '', + 'Path to a pipeline_pb2.TrainEvalPipelineConfig config ' + 'file. If provided, other configs are ignored') +flags.DEFINE_string('eval_config_path', '', + 'Path to an eval_pb2.EvalConfig config file.') +flags.DEFINE_string('input_config_path', '', + 'Path to an input_reader_pb2.InputReader config file.') +flags.DEFINE_string('model_config_path', '', + 'Path to a model_pb2.DetectionModel config file.') + +FLAGS = flags.FLAGS + + +def get_configs_from_pipeline_file(): + """Reads evaluation configuration from a pipeline_pb2.TrainEvalPipelineConfig. + + Reads evaluation config from file specified by pipeline_config_path flag. + + Returns: + model_config: a model_pb2.DetectionModel + eval_config: a eval_pb2.EvalConfig + input_config: a input_reader_pb2.InputReader + """ + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + with tf.gfile.GFile(FLAGS.pipeline_config_path, 'r') as f: + text_format.Merge(f.read(), pipeline_config) + + model_config = pipeline_config.model + if FLAGS.eval_training_data: + eval_config = pipeline_config.train_config + else: + eval_config = pipeline_config.eval_config + input_config = pipeline_config.eval_input_reader + + return model_config, eval_config, input_config + + +def get_configs_from_multiple_files(): + """Reads evaluation configuration from multiple config files. + + Reads the evaluation config from the following files: + model_config: Read from --model_config_path + eval_config: Read from --eval_config_path + input_config: Read from --input_config_path + + Returns: + model_config: a model_pb2.DetectionModel + eval_config: a eval_pb2.EvalConfig + input_config: a input_reader_pb2.InputReader + """ + eval_config = eval_pb2.EvalConfig() + with tf.gfile.GFile(FLAGS.eval_config_path, 'r') as f: + text_format.Merge(f.read(), eval_config) + + model_config = model_pb2.DetectionModel() + with tf.gfile.GFile(FLAGS.model_config_path, 'r') as f: + text_format.Merge(f.read(), model_config) + + input_config = input_reader_pb2.InputReader() + with tf.gfile.GFile(FLAGS.input_config_path, 'r') as f: + text_format.Merge(f.read(), input_config) + + return model_config, eval_config, input_config + + +def main(unused_argv): + assert FLAGS.checkpoint_dir, '`checkpoint_dir` is missing.' + assert FLAGS.eval_dir, '`eval_dir` is missing.' + if FLAGS.pipeline_config_path: + model_config, eval_config, input_config = get_configs_from_pipeline_file() + else: + model_config, eval_config, input_config = get_configs_from_multiple_files() + + model_fn = functools.partial( + model_builder.build, + model_config=model_config, + is_training=False) + + create_input_dict_fn = functools.partial( + input_reader_builder.build, + input_config) + + label_map = label_map_util.load_labelmap(input_config.label_map_path) + max_num_classes = max([item.id for item in label_map.item]) + categories = label_map_util.convert_label_map_to_categories( + label_map, max_num_classes) + + evaluator.evaluate(create_input_dict_fn, model_fn, eval_config, categories, + FLAGS.checkpoint_dir, FLAGS.eval_dir) + + +if __name__ == '__main__': + tf.app.run() diff --git a/object_detection/eval_util.py b/object_detection/eval_util.py new file mode 100644 index 000000000..51e6878ea --- /dev/null +++ b/object_detection/eval_util.py @@ -0,0 +1,524 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Common functions for repeatedly evaluating a checkpoint. +""" +import copy +import logging +import os +import time + +import numpy as np +import tensorflow as tf + +from object_detection.utils import label_map_util +from object_detection.utils import object_detection_evaluation +from object_detection.utils import visualization_utils as vis_utils + +slim = tf.contrib.slim + + +def write_metrics(metrics, global_step, summary_dir): + """Write metrics to a summary directory. + + Args: + metrics: A dictionary containing metric names and values. + global_step: Global step at which the metrics are computed. + summary_dir: Directory to write tensorflow summaries to. + """ + logging.info('Writing metrics to tf summary.') + summary_writer = tf.summary.FileWriter(summary_dir) + for key in sorted(metrics): + summary = tf.Summary(value=[ + tf.Summary.Value(tag=key, simple_value=metrics[key]), + ]) + summary_writer.add_summary(summary, global_step) + logging.info('%s: %f', key, metrics[key]) + summary_writer.close() + logging.info('Metrics written to tf summary.') + + +def evaluate_detection_results_pascal_voc(result_lists, + categories, + label_id_offset=0, + iou_thres=0.5, + corloc_summary=False): + """Computes Pascal VOC detection metrics given groundtruth and detections. + + This function computes Pascal VOC metrics. This function by default + takes detections and groundtruth boxes encoded in result_lists and writes + evaluation results to tf summaries which can be viewed on tensorboard. + + Args: + result_lists: a dictionary holding lists of groundtruth and detection + data corresponding to each image being evaluated. The following keys + are required: + 'image_id': a list of string ids + 'detection_boxes': a list of float32 numpy arrays of shape [N, 4] + 'detection_scores': a list of float32 numpy arrays of shape [N] + 'detection_classes': a list of int32 numpy arrays of shape [N] + 'groundtruth_boxes': a list of float32 numpy arrays of shape [M, 4] + 'groundtruth_classes': a list of int32 numpy arrays of shape [M] + and the remaining fields below are optional: + 'difficult': a list of boolean arrays of shape [M] indicating the + difficulty of groundtruth boxes. Some datasets like PASCAL VOC provide + this information and it is used to remove difficult examples from eval + in order to not penalize the models on them. + Note that it is okay to have additional fields in result_lists --- they + are simply ignored. + categories: a list of dictionaries representing all possible categories. + Each dict in this list has the following keys: + 'id': (required) an integer id uniquely identifying this category + 'name': (required) string representing category name + e.g., 'cat', 'dog', 'pizza' + label_id_offset: an integer offset for the label space. + iou_thres: float determining the IoU threshold at which a box is considered + correct. Defaults to the standard 0.5. + corloc_summary: boolean. If True, also outputs CorLoc metrics. + + Returns: + A dictionary of metric names to scalar values. + + Raises: + ValueError: if the set of keys in result_lists is not a superset of the + expected list of keys. Unexpected keys are ignored. + ValueError: if the lists in result_lists have inconsistent sizes. + """ + # check for expected keys in result_lists + expected_keys = [ + 'detection_boxes', 'detection_scores', 'detection_classes', 'image_id' + ] + expected_keys += ['groundtruth_boxes', 'groundtruth_classes'] + if not set(expected_keys).issubset(set(result_lists.keys())): + raise ValueError('result_lists does not have expected key set.') + num_results = len(result_lists[expected_keys[0]]) + for key in expected_keys: + if len(result_lists[key]) != num_results: + raise ValueError('Inconsistent list sizes in result_lists') + + # Pascal VOC evaluator assumes foreground index starts from zero. + categories = copy.deepcopy(categories) + for idx in range(len(categories)): + categories[idx]['id'] -= label_id_offset + + # num_classes (maybe encoded as categories) + num_classes = max([cat['id'] for cat in categories]) + 1 + logging.info('Computing Pascal VOC metrics on results.') + if all(image_id.isdigit() for image_id in result_lists['image_id']): + image_ids = [int(image_id) for image_id in result_lists['image_id']] + else: + image_ids = range(num_results) + + evaluator = object_detection_evaluation.ObjectDetectionEvaluation( + num_classes, matching_iou_threshold=iou_thres) + + difficult_lists = None + if 'difficult' in result_lists and result_lists['difficult']: + difficult_lists = result_lists['difficult'] + for idx, image_id in enumerate(image_ids): + difficult = None + if difficult_lists is not None and difficult_lists[idx].size: + difficult = difficult_lists[idx].astype(np.bool) + evaluator.add_single_ground_truth_image_info( + image_id, result_lists['groundtruth_boxes'][idx], + result_lists['groundtruth_classes'][idx] - label_id_offset, + difficult) + evaluator.add_single_detected_image_info( + image_id, result_lists['detection_boxes'][idx], + result_lists['detection_scores'][idx], + result_lists['detection_classes'][idx] - label_id_offset) + per_class_ap, mean_ap, _, _, per_class_corloc, mean_corloc = ( + evaluator.evaluate()) + + metrics = {'Precision/mAP@{}IOU'.format(iou_thres): mean_ap} + category_index = label_map_util.create_category_index(categories) + for idx in range(per_class_ap.size): + if idx in category_index: + display_name = ('PerformanceByCategory/mAP@{}IOU/{}' + .format(iou_thres, category_index[idx]['name'])) + metrics[display_name] = per_class_ap[idx] + + if corloc_summary: + metrics['CorLoc/CorLoc@{}IOU'.format(iou_thres)] = mean_corloc + for idx in range(per_class_corloc.size): + if idx in category_index: + display_name = ( + 'PerformanceByCategory/CorLoc@{}IOU/{}'.format( + iou_thres, category_index[idx]['name'])) + metrics[display_name] = per_class_corloc[idx] + return metrics + + +# TODO: Add tests. +def visualize_detection_results(result_dict, + tag, + global_step, + categories, + summary_dir='', + export_dir='', + agnostic_mode=False, + show_groundtruth=False, + min_score_thresh=.5, + max_num_predictions=20): + """Visualizes detection results and writes visualizations to image summaries. + + This function visualizes an image with its detected bounding boxes and writes + to image summaries which can be viewed on tensorboard. It optionally also + writes images to a directory. In the case of missing entry in the label map, + unknown class name in the visualization is shown as "N/A". + + Args: + result_dict: a dictionary holding groundtruth and detection + data corresponding to each image being evaluated. The following keys + are required: + 'original_image': a numpy array representing the image with shape + [1, height, width, 3] + 'detection_boxes': a numpy array of shape [N, 4] + 'detection_scores': a numpy array of shape [N] + 'detection_classes': a numpy array of shape [N] + The following keys are optional: + 'groundtruth_boxes': a numpy array of shape [N, 4] + 'groundtruth_keypoints': a numpy array of shape [N, num_keypoints, 2] + Detections are assumed to be provided in decreasing order of score and for + display, and we assume that scores are probabilities between 0 and 1. + tag: tensorboard tag (string) to associate with image. + global_step: global step at which the visualization are generated. + categories: a list of dictionaries representing all possible categories. + Each dict in this list has the following keys: + 'id': (required) an integer id uniquely identifying this category + 'name': (required) string representing category name + e.g., 'cat', 'dog', 'pizza' + 'supercategory': (optional) string representing the supercategory + e.g., 'animal', 'vehicle', 'food', etc + summary_dir: the output directory to which the image summaries are written. + export_dir: the output directory to which images are written. If this is + empty (default), then images are not exported. + agnostic_mode: boolean (default: False) controlling whether to evaluate in + class-agnostic mode or not. + show_groundtruth: boolean (default: False) controlling whether to show + groundtruth boxes in addition to detected boxes + min_score_thresh: minimum score threshold for a box to be visualized + max_num_predictions: maximum number of detections to visualize + Raises: + ValueError: if result_dict does not contain the expected keys (i.e., + 'original_image', 'detection_boxes', 'detection_scores', + 'detection_classes') + """ + if not set([ + 'original_image', 'detection_boxes', 'detection_scores', + 'detection_classes' + ]).issubset(set(result_dict.keys())): + raise ValueError('result_dict does not contain all expected keys.') + if show_groundtruth and 'groundtruth_boxes' not in result_dict: + raise ValueError('If show_groundtruth is enabled, result_dict must contain ' + 'groundtruth_boxes.') + logging.info('Creating detection visualizations.') + category_index = label_map_util.create_category_index(categories) + + image = np.squeeze(result_dict['original_image'], axis=0) + detection_boxes = result_dict['detection_boxes'] + detection_scores = result_dict['detection_scores'] + detection_classes = np.int32((result_dict['detection_classes'])) + detection_keypoints = result_dict.get('detection_keypoints', None) + detection_masks = result_dict.get('detection_masks', None) + + # Plot groundtruth underneath detections + if show_groundtruth: + groundtruth_boxes = result_dict['groundtruth_boxes'] + groundtruth_keypoints = result_dict.get('groundtruth_keypoints', None) + vis_utils.visualize_boxes_and_labels_on_image_array( + image, + groundtruth_boxes, + None, + None, + category_index, + keypoints=groundtruth_keypoints, + use_normalized_coordinates=False, + max_boxes_to_draw=None) + vis_utils.visualize_boxes_and_labels_on_image_array( + image, + detection_boxes, + detection_classes, + detection_scores, + category_index, + instance_masks=detection_masks, + keypoints=detection_keypoints, + use_normalized_coordinates=False, + max_boxes_to_draw=max_num_predictions, + min_score_thresh=min_score_thresh, + agnostic_mode=agnostic_mode) + + if export_dir: + export_path = os.path.join(export_dir, 'export-{}.png'.format(tag)) + vis_utils.save_image_array_as_png(image, export_path) + + summary = tf.Summary(value=[ + tf.Summary.Value(tag=tag, image=tf.Summary.Image( + encoded_image_string=vis_utils.encode_image_array_as_png_str( + image))) + ]) + summary_writer = tf.summary.FileWriter(summary_dir) + summary_writer.add_summary(summary, global_step) + summary_writer.close() + + logging.info('Detection visualizations written to summary with tag %s.', tag) + + +# TODO: Add tests. +# TODO: Have an argument called `aggregated_processor_tensor_keys` that contains +# a whitelist of tensors used by the `aggregated_result_processor` instead of a +# blacklist. This will prevent us from inadvertently adding any evaluated +# tensors into the `results_list` data structure that are not needed by +# `aggregated_result_preprocessor`. +def run_checkpoint_once(tensor_dict, + update_op, + summary_dir, + aggregated_result_processor=None, + batch_processor=None, + checkpoint_dirs=None, + variables_to_restore=None, + restore_fn=None, + num_batches=1, + master='', + save_graph=False, + save_graph_dir='', + metric_names_to_values=None, + keys_to_exclude_from_results=()): + """Evaluates both python metrics and tensorflow slim metrics. + + Python metrics are processed in batch by the aggregated_result_processor, + while tensorflow slim metrics statistics are computed by running + metric_names_to_updates tensors and aggregated using metric_names_to_values + tensor. + + Args: + tensor_dict: a dictionary holding tensors representing a batch of detections + and corresponding groundtruth annotations. + update_op: a tensorflow update op that will run for each batch along with + the tensors in tensor_dict.. + summary_dir: a directory to write metrics summaries. + aggregated_result_processor: a function taking one arguments: + 1. result_lists: a dictionary with keys matching those in tensor_dict + and corresponding values being the list of results for each tensor + in tensor_dict. The length of each such list is num_batches. + batch_processor: a function taking four arguments: + 1. tensor_dict: the same tensor_dict that is passed in as the first + argument to this function. + 2. sess: a tensorflow session + 3. batch_index: an integer representing the index of the batch amongst + all batches + 4. update_op: a tensorflow update op that will run for each batch. + and returns result_dict, a dictionary of results for that batch. + By default, batch_processor is None, which defaults to running: + return sess.run(tensor_dict) + To skip an image, it suffices to return an empty dictionary in place of + result_dict. + checkpoint_dirs: list of directories to load into an EnsembleModel. If it + has only one directory, EnsembleModel will not be used -- a DetectionModel + will be instantiated directly. Not used if restore_fn is set. + variables_to_restore: None, or a dictionary mapping variable names found in + a checkpoint to model variables. The dictionary would normally be + generated by creating a tf.train.ExponentialMovingAverage object and + calling its variables_to_restore() method. Not used if restore_fn is set. + restore_fn: None, or a function that takes a tf.Session object and correctly + restores all necessary variables from the correct checkpoint file. If + None, attempts to restore from the first directory in checkpoint_dirs. + num_batches: the number of batches to use for evaluation. + master: the location of the Tensorflow session. + save_graph: whether or not the Tensorflow graph is stored as a pbtxt file. + save_graph_dir: where to store the Tensorflow graph on disk. If save_graph + is True this must be non-empty. + metric_names_to_values: A dictionary containing metric names to tensors + which will be evaluated after processing all batches + of [tensor_dict, update_op]. If any metrics depend on statistics computed + during each batch ensure that `update_op` tensor has a control dependency + on the update ops that compute the statistics. + keys_to_exclude_from_results: keys in tensor_dict that will be excluded + from results_list. Note that the tensors corresponding to these keys will + still be evaluated for each batch, but won't be added to results_list. + + Raises: + ValueError: if restore_fn is None and checkpoint_dirs doesn't have at least + one element. + ValueError: if save_graph is True and save_graph_dir is not defined. + """ + if save_graph and not save_graph_dir: + raise ValueError('`save_graph_dir` must be defined.') + sess = tf.Session(master, graph=tf.get_default_graph()) + sess.run(tf.global_variables_initializer()) + sess.run(tf.local_variables_initializer()) + if restore_fn: + restore_fn(sess) + else: + if not checkpoint_dirs: + raise ValueError('`checkpoint_dirs` must have at least one entry.') + checkpoint_file = tf.train.latest_checkpoint(checkpoint_dirs[0]) + saver = tf.train.Saver(variables_to_restore) + saver.restore(sess, checkpoint_file) + + if save_graph: + tf.train.write_graph(sess.graph_def, save_graph_dir, 'eval.pbtxt') + + valid_keys = list(set(tensor_dict.keys()) - set(keys_to_exclude_from_results)) + result_lists = {key: [] for key in valid_keys} + counters = {'skipped': 0, 'success': 0} + other_metrics = None + with tf.contrib.slim.queues.QueueRunners(sess): + try: + for batch in range(int(num_batches)): + if (batch + 1) % 100 == 0: + logging.info('Running eval ops batch %d/%d', batch + 1, num_batches) + if not batch_processor: + try: + (result_dict, _) = sess.run([tensor_dict, update_op]) + counters['success'] += 1 + except tf.errors.InvalidArgumentError: + logging.info('Skipping image') + counters['skipped'] += 1 + result_dict = {} + else: + result_dict = batch_processor( + tensor_dict, sess, batch, counters, update_op) + for key in result_dict: + if key in valid_keys: + result_lists[key].append(result_dict[key]) + if metric_names_to_values is not None: + other_metrics = sess.run(metric_names_to_values) + logging.info('Running eval batches done.') + except tf.errors.OutOfRangeError: + logging.info('Done evaluating -- epoch limit reached') + finally: + # When done, ask the threads to stop. + metrics = aggregated_result_processor(result_lists) + if other_metrics is not None: + metrics.update(other_metrics) + global_step = tf.train.global_step(sess, slim.get_global_step()) + write_metrics(metrics, global_step, summary_dir) + logging.info('# success: %d', counters['success']) + logging.info('# skipped: %d', counters['skipped']) + sess.close() + + +# TODO: Add tests. +def repeated_checkpoint_run(tensor_dict, + update_op, + summary_dir, + aggregated_result_processor=None, + batch_processor=None, + checkpoint_dirs=None, + variables_to_restore=None, + restore_fn=None, + num_batches=1, + eval_interval_secs=120, + max_number_of_evaluations=None, + master='', + save_graph=False, + save_graph_dir='', + metric_names_to_values=None, + keys_to_exclude_from_results=()): + """Periodically evaluates desired tensors using checkpoint_dirs or restore_fn. + + This function repeatedly loads a checkpoint and evaluates a desired + set of tensors (provided by tensor_dict) and hands the resulting numpy + arrays to a function result_processor which can be used to further + process/save/visualize the results. + + Args: + tensor_dict: a dictionary holding tensors representing a batch of detections + and corresponding groundtruth annotations. + update_op: a tensorflow update op that will run for each batch along with + the tensors in tensor_dict. + summary_dir: a directory to write metrics summaries. + aggregated_result_processor: a function taking one argument: + 1. result_lists: a dictionary with keys matching those in tensor_dict + and corresponding values being the list of results for each tensor + in tensor_dict. The length of each such list is num_batches. + batch_processor: a function taking three arguments: + 1. tensor_dict: the same tensor_dict that is passed in as the first + argument to this function. + 2. sess: a tensorflow session + 3. batch_index: an integer representing the index of the batch amongst + all batches + 4. update_op: a tensorflow update op that will run for each batch. + and returns result_dict, a dictionary of results for that batch. + By default, batch_processor is None, which defaults to running: + return sess.run(tensor_dict) + checkpoint_dirs: list of directories to load into a DetectionModel or an + EnsembleModel if restore_fn isn't set. Also used to determine when to run + next evaluation. Must have at least one element. + variables_to_restore: None, or a dictionary mapping variable names found in + a checkpoint to model variables. The dictionary would normally be + generated by creating a tf.train.ExponentialMovingAverage object and + calling its variables_to_restore() method. Not used if restore_fn is set. + restore_fn: a function that takes a tf.Session object and correctly restores + all necessary variables from the correct checkpoint file. + num_batches: the number of batches to use for evaluation. + eval_interval_secs: the number of seconds between each evaluation run. + max_number_of_evaluations: the max number of iterations of the evaluation. + If the value is left as None the evaluation continues indefinitely. + master: the location of the Tensorflow session. + save_graph: whether or not the Tensorflow graph is saved as a pbtxt file. + save_graph_dir: where to save on disk the Tensorflow graph. If store_graph + is True this must be non-empty. + metric_names_to_values: A dictionary containing metric names to tensors + which will be evaluated after processing all batches + of [tensor_dict, update_op]. If any metrics depend on statistics computed + during each batch ensure that `update_op` tensor has a control dependency + on the update ops that compute the statistics. + keys_to_exclude_from_results: keys in tensor_dict that will be excluded + from results_list. Note that the tensors corresponding to these keys will + still be evaluated for each batch, but won't be added to results_list. + + Raises: + ValueError: if max_num_of_evaluations is not None or a positive number. + ValueError: if checkpoint_dirs doesn't have at least one element. + """ + if max_number_of_evaluations and max_number_of_evaluations <= 0: + raise ValueError( + '`number_of_steps` must be either None or a positive number.') + + if not checkpoint_dirs: + raise ValueError('`checkpoint_dirs` must have at least one entry.') + + last_evaluated_model_path = None + number_of_evaluations = 0 + while True: + start = time.time() + logging.info('Starting evaluation at ' + time.strftime('%Y-%m-%d-%H:%M:%S', + time.gmtime())) + model_path = tf.train.latest_checkpoint(checkpoint_dirs[0]) + if not model_path: + logging.info('No model found in %s. Will try again in %d seconds', + checkpoint_dirs[0], eval_interval_secs) + elif model_path == last_evaluated_model_path: + logging.info('Found already evaluated checkpoint. Will try again in %d ' + 'seconds', eval_interval_secs) + else: + last_evaluated_model_path = model_path + run_checkpoint_once(tensor_dict, update_op, summary_dir, + aggregated_result_processor, + batch_processor, checkpoint_dirs, + variables_to_restore, restore_fn, num_batches, master, + save_graph, save_graph_dir, metric_names_to_values, + keys_to_exclude_from_results) + number_of_evaluations += 1 + + if (max_number_of_evaluations and + number_of_evaluations >= max_number_of_evaluations): + logging.info('Finished evaluation!') + break + time_to_next_eval = start + eval_interval_secs - time.time() + if time_to_next_eval > 0: + time.sleep(time_to_next_eval) diff --git a/object_detection/evaluator.py b/object_detection/evaluator.py new file mode 100644 index 000000000..28ac1183d --- /dev/null +++ b/object_detection/evaluator.py @@ -0,0 +1,211 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Detection model evaluator. + +This file provides a generic evaluation method that can be used to evaluate a +DetectionModel. +""" +import logging +import tensorflow as tf + +from object_detection import eval_util +from object_detection.core import box_list +from object_detection.core import box_list_ops +from object_detection.core import prefetcher +from object_detection.core import standard_fields as fields +from object_detection.utils import ops + +slim = tf.contrib.slim + +EVAL_METRICS_FN_DICT = { + 'pascal_voc_metrics': eval_util.evaluate_detection_results_pascal_voc +} + + +def _extract_prediction_tensors(model, + create_input_dict_fn, + ignore_groundtruth=False): + """Restores the model in a tensorflow session. + + Args: + model: model to perform predictions with. + create_input_dict_fn: function to create input tensor dictionaries. + ignore_groundtruth: whether groundtruth should be ignored. + + Returns: + tensor_dict: A tensor dictionary with evaluations. + """ + input_dict = create_input_dict_fn() + prefetch_queue = prefetcher.prefetch(input_dict, capacity=500) + input_dict = prefetch_queue.dequeue() + original_image = tf.expand_dims(input_dict[fields.InputDataFields.image], 0) + preprocessed_image = model.preprocess(tf.to_float(original_image)) + prediction_dict = model.predict(preprocessed_image) + detections = model.postprocess(prediction_dict) + + original_image_shape = tf.shape(original_image) + absolute_detection_boxlist = box_list_ops.to_absolute_coordinates( + box_list.BoxList(tf.squeeze(detections['detection_boxes'], axis=0)), + original_image_shape[1], original_image_shape[2]) + label_id_offset = 1 + tensor_dict = { + 'original_image': original_image, + 'image_id': input_dict[fields.InputDataFields.source_id], + 'detection_boxes': absolute_detection_boxlist.get(), + 'detection_scores': tf.squeeze(detections['detection_scores'], axis=0), + 'detection_classes': ( + tf.squeeze(detections['detection_classes'], axis=0) + + label_id_offset), + } + if 'detection_masks' in detections: + detection_masks = tf.squeeze(detections['detection_masks'], + axis=0) + detection_boxes = tf.squeeze(detections['detection_boxes'], + axis=0) + # TODO: This should be done in model's postprocess function ideally. + detection_masks_reframed = ops.reframe_box_masks_to_image_masks( + detection_masks, + detection_boxes, + original_image_shape[1], original_image_shape[2]) + detection_masks_reframed = tf.to_float(tf.greater(detection_masks_reframed, + 0.5)) + + tensor_dict['detection_masks'] = detection_masks_reframed + # load groundtruth fields into tensor_dict + if not ignore_groundtruth: + normalized_gt_boxlist = box_list.BoxList( + input_dict[fields.InputDataFields.groundtruth_boxes]) + gt_boxlist = box_list_ops.scale(normalized_gt_boxlist, + tf.shape(original_image)[1], + tf.shape(original_image)[2]) + groundtruth_boxes = gt_boxlist.get() + groundtruth_classes = input_dict[fields.InputDataFields.groundtruth_classes] + tensor_dict['groundtruth_boxes'] = groundtruth_boxes + tensor_dict['groundtruth_classes'] = groundtruth_classes + tensor_dict['area'] = input_dict[fields.InputDataFields.groundtruth_area] + tensor_dict['is_crowd'] = input_dict[ + fields.InputDataFields.groundtruth_is_crowd] + tensor_dict['difficult'] = input_dict[ + fields.InputDataFields.groundtruth_difficult] + if 'detection_masks' in tensor_dict: + tensor_dict['groundtruth_instance_masks'] = input_dict[ + fields.InputDataFields.groundtruth_instance_masks] + return tensor_dict + + +def evaluate(create_input_dict_fn, create_model_fn, eval_config, categories, + checkpoint_dir, eval_dir): + """Evaluation function for detection models. + + Args: + create_input_dict_fn: a function to create a tensor input dictionary. + create_model_fn: a function that creates a DetectionModel. + eval_config: a eval_pb2.EvalConfig protobuf. + categories: a list of category dictionaries. Each dict in the list should + have an integer 'id' field and string 'name' field. + checkpoint_dir: directory to load the checkpoints to evaluate from. + eval_dir: directory to write evaluation metrics summary to. + """ + + model = create_model_fn() + + if eval_config.ignore_groundtruth and not eval_config.export_path: + logging.fatal('If ignore_groundtruth=True then an export_path is ' + 'required. Aborting!!!') + + tensor_dict = _extract_prediction_tensors( + model=model, + create_input_dict_fn=create_input_dict_fn, + ignore_groundtruth=eval_config.ignore_groundtruth) + + def _process_batch(tensor_dict, sess, batch_index, counters, update_op): + """Evaluates tensors in tensor_dict, visualizing the first K examples. + + This function calls sess.run on tensor_dict, evaluating the original_image + tensor only on the first K examples and visualizing detections overlaid + on this original_image. + + Args: + tensor_dict: a dictionary of tensors + sess: tensorflow session + batch_index: the index of the batch amongst all batches in the run. + counters: a dictionary holding 'success' and 'skipped' fields which can + be updated to keep track of number of successful and failed runs, + respectively. If these fields are not updated, then the success/skipped + counter values shown at the end of evaluation will be incorrect. + update_op: An update op that has to be run along with output tensors. For + example this could be an op to compute statistics for slim metrics. + + Returns: + result_dict: a dictionary of numpy arrays + """ + if batch_index >= eval_config.num_visualizations: + if 'original_image' in tensor_dict: + tensor_dict = {k: v for (k, v) in tensor_dict.iteritems() + if k != 'original_image'} + try: + (result_dict, _) = sess.run([tensor_dict, update_op]) + counters['success'] += 1 + except tf.errors.InvalidArgumentError: + logging.info('Skipping image') + counters['skipped'] += 1 + return {} + global_step = tf.train.global_step(sess, slim.get_global_step()) + if batch_index < eval_config.num_visualizations: + tag = 'image-{}'.format(batch_index) + eval_util.visualize_detection_results( + result_dict, tag, global_step, categories=categories, + summary_dir=eval_dir, + export_dir=eval_config.visualization_export_dir, + show_groundtruth=eval_config.visualization_export_dir) + return result_dict + + def _process_aggregated_results(result_lists): + eval_metric_fn_key = eval_config.metrics_set + if eval_metric_fn_key not in EVAL_METRICS_FN_DICT: + raise ValueError('Metric not found: {}'.format(eval_metric_fn_key)) + return EVAL_METRICS_FN_DICT[eval_metric_fn_key](result_lists, + categories=categories) + + variables_to_restore = tf.global_variables() + global_step = slim.get_or_create_global_step() + variables_to_restore.append(global_step) + if eval_config.use_moving_averages: + variable_averages = tf.train.ExponentialMovingAverage(0.0) + variables_to_restore = variable_averages.variables_to_restore() + saver = tf.train.Saver(variables_to_restore) + def _restore_latest_checkpoint(sess): + latest_checkpoint = tf.train.latest_checkpoint(checkpoint_dir) + saver.restore(sess, latest_checkpoint) + + eval_util.repeated_checkpoint_run( + tensor_dict=tensor_dict, + update_op=tf.no_op(), + summary_dir=eval_dir, + aggregated_result_processor=_process_aggregated_results, + batch_processor=_process_batch, + checkpoint_dirs=[checkpoint_dir], + variables_to_restore=None, + restore_fn=_restore_latest_checkpoint, + num_batches=eval_config.num_examples, + eval_interval_secs=eval_config.eval_interval_secs, + max_number_of_evaluations=( + 1 if eval_config.ignore_groundtruth else + eval_config.max_evals if eval_config.max_evals else + None), + master=eval_config.eval_master, + save_graph=eval_config.save_graph, + save_graph_dir=(eval_dir if eval_config.save_graph else '')) diff --git a/object_detection/export_inference_graph.py b/object_detection/export_inference_graph.py new file mode 100644 index 000000000..c6e8a827c --- /dev/null +++ b/object_detection/export_inference_graph.py @@ -0,0 +1,90 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +r"""Tool to export an object detection model for inference. + +Prepares an object detection tensorflow graph for inference using model +configuration and an optional trained checkpoint. + +The inference graph contains one of two input nodes depending on the user +specified option. + * `image_tensor`: Accepts a uint8 4-D tensor of shape [1, None, None, 3] + * `tf_example`: Accepts a serialized TFExample proto. The batch size in this + case is always 1. + +and the following output nodes: + * `num_detections` : Outputs float32 tensors of the form [batch] + that specifies the number of valid boxes per image in the batch. + * `detection_boxes` : Outputs float32 tensors of the form + [batch, num_boxes, 4] containing detected boxes. + * `detection_scores` : Outputs float32 tensors of the form + [batch, num_boxes] containing class scores for the detections. + * `detection_classes`: Outputs float32 tensors of the form + [batch, num_boxes] containing classes for the detections. + +Note that currently `batch` is always 1, but we will support `batch` > 1 in +the future. + +Optionally, one can freeze the graph by converting the weights in the provided +checkpoint as graph constants thereby eliminating the need to use a checkpoint +file during inference. + +Note that this tool uses `use_moving_averages` from eval_config to decide +which weights to freeze. + +Example Usage: +-------------- +python export_inference_graph \ + --input_type image_tensor \ + --pipeline_config_path path/to/ssd_inception_v2.config \ + --checkpoint_path path/to/model-ckpt \ + --inference_graph_path path/to/inference_graph.pb +""" +import tensorflow as tf +from google.protobuf import text_format +from object_detection import exporter +from object_detection.protos import pipeline_pb2 + +slim = tf.contrib.slim +flags = tf.app.flags + +flags.DEFINE_string('input_type', 'image_tensor', 'Type of input node. Can be ' + 'one of [`image_tensor` `tf_example_proto`]') +flags.DEFINE_string('pipeline_config_path', '', + 'Path to a pipeline_pb2.TrainEvalPipelineConfig config ' + 'file.') +flags.DEFINE_string('checkpoint_path', '', 'Optional path to checkpoint file. ' + 'If provided, bakes the weights from the checkpoint into ' + 'the graph.') +flags.DEFINE_string('inference_graph_path', '', 'Path to write the output ' + 'inference graph.') + +FLAGS = flags.FLAGS + + +def main(_): + assert FLAGS.pipeline_config_path, 'TrainEvalPipelineConfig missing.' + assert FLAGS.inference_graph_path, 'Inference graph path missing.' + assert FLAGS.input_type, 'Input type missing.' + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + with tf.gfile.GFile(FLAGS.pipeline_config_path, 'r') as f: + text_format.Merge(f.read(), pipeline_config) + exporter.export_inference_graph(FLAGS.input_type, pipeline_config, + FLAGS.checkpoint_path, + FLAGS.inference_graph_path) + + +if __name__ == '__main__': + tf.app.run() diff --git a/object_detection/exporter.py b/object_detection/exporter.py new file mode 100644 index 000000000..a57913f7c --- /dev/null +++ b/object_detection/exporter.py @@ -0,0 +1,230 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Functions to export object detection inference graph.""" +import logging +import os +import tensorflow as tf +from tensorflow.python import pywrap_tensorflow +from tensorflow.python.client import session +from tensorflow.python.framework import graph_util +from tensorflow.python.framework import importer +from tensorflow.python.platform import gfile +from tensorflow.python.training import saver as saver_lib +from object_detection.builders import model_builder +from object_detection.core import standard_fields as fields +from object_detection.data_decoders import tf_example_decoder + +slim = tf.contrib.slim + + +# TODO: Replace with freeze_graph.freeze_graph_with_def_protos when newer +# version of Tensorflow becomes more common. +def freeze_graph_with_def_protos( + input_graph_def, + input_saver_def, + input_checkpoint, + output_node_names, + restore_op_name, + filename_tensor_name, + output_graph, + clear_devices, + initializer_nodes, + variable_names_blacklist=''): + """Converts all variables in a graph and checkpoint into constants.""" + del restore_op_name, filename_tensor_name # Unused by updated loading code. + + # 'input_checkpoint' may be a prefix if we're using Saver V2 format + if not saver_lib.checkpoint_exists(input_checkpoint): + logging.info('Input checkpoint "' + input_checkpoint + '" does not exist!') + return -1 + + if not output_node_names: + logging.info('You must supply the name of a node to --output_node_names.') + return -1 + + # Remove all the explicit device specifications for this node. This helps to + # make the graph more portable. + if clear_devices: + for node in input_graph_def.node: + node.device = '' + + _ = importer.import_graph_def(input_graph_def, name='') + + with session.Session() as sess: + if input_saver_def: + saver = saver_lib.Saver(saver_def=input_saver_def) + saver.restore(sess, input_checkpoint) + else: + var_list = {} + reader = pywrap_tensorflow.NewCheckpointReader(input_checkpoint) + var_to_shape_map = reader.get_variable_to_shape_map() + for key in var_to_shape_map: + try: + tensor = sess.graph.get_tensor_by_name(key + ':0') + except KeyError: + # This tensor doesn't exist in the graph (for example it's + # 'global_step' or a similar housekeeping element) so skip it. + continue + var_list[key] = tensor + saver = saver_lib.Saver(var_list=var_list) + saver.restore(sess, input_checkpoint) + if initializer_nodes: + sess.run(initializer_nodes) + + variable_names_blacklist = (variable_names_blacklist.split(',') if + variable_names_blacklist else None) + output_graph_def = graph_util.convert_variables_to_constants( + sess, + input_graph_def, + output_node_names.split(','), + variable_names_blacklist=variable_names_blacklist) + + with gfile.GFile(output_graph, 'wb') as f: + f.write(output_graph_def.SerializeToString()) + logging.info('%d ops in the final graph.', len(output_graph_def.node)) + + +# TODO: Support batch tf example inputs. +def _tf_example_input_placeholder(): + tf_example_placeholder = tf.placeholder( + tf.string, shape=[], name='tf_example') + tensor_dict = tf_example_decoder.TfExampleDecoder().Decode( + tf_example_placeholder) + image = tensor_dict[fields.InputDataFields.image] + return tf.expand_dims(image, axis=0) + + +def _image_tensor_input_placeholder(): + return tf.placeholder(dtype=tf.uint8, + shape=(1, None, None, 3), + name='image_tensor') + +input_placeholder_fn_map = { + 'tf_example': _tf_example_input_placeholder, + 'image_tensor': _image_tensor_input_placeholder +} + + +def _add_output_tensor_nodes(postprocessed_tensors): + """Adds output nodes for detection boxes and scores. + + Adds the following nodes for output tensors - + * num_detections: float32 tensor of shape [batch_size]. + * detection_boxes: float32 tensor of shape [batch_size, num_boxes, 4] + containing detected boxes. + * detection_scores: float32 tensor of shape [batch_size, num_boxes] + containing scores for the detected boxes. + * detection_classes: float32 tensor of shape [batch_size, num_boxes] + containing class predictions for the detected boxes. + + Args: + postprocessed_tensors: a dictionary containing the following fields + 'detection_boxes': [batch, max_detections, 4] + 'detection_scores': [batch, max_detections] + 'detection_classes': [batch, max_detections] + 'num_detections': [batch] + """ + label_id_offset = 1 + boxes = postprocessed_tensors.get('detection_boxes') + scores = postprocessed_tensors.get('detection_scores') + classes = postprocessed_tensors.get('detection_classes') + label_id_offset + num_detections = postprocessed_tensors.get('num_detections') + tf.identity(boxes, name='detection_boxes') + tf.identity(scores, name='detection_scores') + tf.identity(classes, name='detection_classes') + tf.identity(num_detections, name='num_detections') + + +def _write_inference_graph(inference_graph_path, + checkpoint_path=None, + use_moving_averages=False, + output_node_names=( + 'num_detections,detection_scores,' + 'detection_boxes,detection_classes')): + """Writes inference graph to disk with the option to bake in weights. + + If checkpoint_path is not None bakes the weights into the graph thereby + eliminating the need of checkpoint files during inference. If the model + was trained with moving averages, setting use_moving_averages to true + restores the moving averages, otherwise the original set of variables + is restored. + + Args: + inference_graph_path: Path to write inference graph. + checkpoint_path: Optional path to the checkpoint file. + use_moving_averages: Whether to export the original or the moving averages + of the trainable variables from the checkpoint. + output_node_names: Output tensor names, defaults are: num_detections, + detection_scores, detection_boxes, detection_classes. + """ + inference_graph_def = tf.get_default_graph().as_graph_def() + if checkpoint_path: + saver = None + if use_moving_averages: + variable_averages = tf.train.ExponentialMovingAverage(0.0) + variables_to_restore = variable_averages.variables_to_restore() + saver = tf.train.Saver(variables_to_restore) + else: + saver = tf.train.Saver() + freeze_graph_with_def_protos( + input_graph_def=inference_graph_def, + input_saver_def=saver.as_saver_def(), + input_checkpoint=checkpoint_path, + output_node_names=output_node_names, + restore_op_name='save/restore_all', + filename_tensor_name='save/Const:0', + output_graph=inference_graph_path, + clear_devices=True, + initializer_nodes='') + return + tf.train.write_graph(inference_graph_def, + os.path.dirname(inference_graph_path), + os.path.basename(inference_graph_path), + as_text=False) + + +def _export_inference_graph(input_type, + detection_model, + use_moving_averages, + checkpoint_path, + inference_graph_path): + if input_type not in input_placeholder_fn_map: + raise ValueError('Unknown input type: {}'.format(input_type)) + inputs = tf.to_float(input_placeholder_fn_map[input_type]()) + preprocessed_inputs = detection_model.preprocess(inputs) + output_tensors = detection_model.predict(preprocessed_inputs) + postprocessed_tensors = detection_model.postprocess(output_tensors) + _add_output_tensor_nodes(postprocessed_tensors) + _write_inference_graph(inference_graph_path, checkpoint_path, + use_moving_averages) + + +def export_inference_graph(input_type, pipeline_config, checkpoint_path, + inference_graph_path): + """Exports inference graph for the model specified in the pipeline config. + + Args: + input_type: Type of input for the graph. Can be one of [`image_tensor`, + `tf_example`]. + pipeline_config: pipeline_pb2.TrainAndEvalPipelineConfig proto. + checkpoint_path: Path to the checkpoint file to freeze. + inference_graph_path: Path to write inference graph to. + """ + detection_model = model_builder.build(pipeline_config.model, + is_training=False) + _export_inference_graph(input_type, detection_model, + pipeline_config.eval_config.use_moving_averages, + checkpoint_path, inference_graph_path) diff --git a/object_detection/exporter_test.py b/object_detection/exporter_test.py new file mode 100644 index 000000000..5b16fc8e9 --- /dev/null +++ b/object_detection/exporter_test.py @@ -0,0 +1,225 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.export_inference_graph.""" +import os +import mock +import numpy as np +import tensorflow as tf +from object_detection import exporter +from object_detection.builders import model_builder +from object_detection.core import model +from object_detection.protos import pipeline_pb2 + + +class FakeModel(model.DetectionModel): + + def preprocess(self, inputs): + return (tf.identity(inputs) * + tf.get_variable('dummy', shape=(), + initializer=tf.constant_initializer(2), + dtype=tf.float32)) + + def predict(self, preprocessed_inputs): + return {'image': tf.identity(preprocessed_inputs)} + + def postprocess(self, prediction_dict): + with tf.control_dependencies(prediction_dict.values()): + return { + 'detection_boxes': tf.constant([[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.8, 0.8]], tf.float32), + 'detection_scores': tf.constant([[0.7, 0.6]], tf.float32), + 'detection_classes': tf.constant([[0, 1]], tf.float32), + 'num_detections': tf.constant([2], tf.float32) + } + + def restore_fn(self, checkpoint_path, from_detection_checkpoint): + pass + + def loss(self, prediction_dict): + pass + + +class ExportInferenceGraphTest(tf.test.TestCase): + + def _save_checkpoint_from_mock_model(self, checkpoint_path, + use_moving_averages): + g = tf.Graph() + with g.as_default(): + mock_model = FakeModel(num_classes=1) + mock_model.preprocess(tf.constant([1, 3, 4, 3], tf.float32)) + if use_moving_averages: + tf.train.ExponentialMovingAverage(0.0).apply() + saver = tf.train.Saver() + init = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init) + saver.save(sess, checkpoint_path) + + def _load_inference_graph(self, inference_graph_path): + od_graph = tf.Graph() + with od_graph.as_default(): + od_graph_def = tf.GraphDef() + with tf.gfile.GFile(inference_graph_path) as fid: + serialized_graph = fid.read() + od_graph_def.ParseFromString(serialized_graph) + tf.import_graph_def(od_graph_def, name='') + return od_graph + + def _create_tf_example(self, image_array): + with self.test_session(): + encoded_image = tf.image.encode_jpeg(tf.constant(image_array)).eval() + def _bytes_feature(value): + return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value])) + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': _bytes_feature(encoded_image), + 'image/format': _bytes_feature('jpg'), + 'image/source_id': _bytes_feature('image_id') + })).SerializeToString() + return example + + def test_export_graph_with_image_tensor_input(self): + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(num_classes=1) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pbtxt') + + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = False + exporter.export_inference_graph( + input_type='image_tensor', + pipeline_config=pipeline_config, + checkpoint_path=None, + inference_graph_path=inference_graph_path) + + def test_export_graph_with_tf_example_input(self): + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(num_classes=1) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pbtxt') + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = False + exporter.export_inference_graph( + input_type='tf_example', + pipeline_config=pipeline_config, + checkpoint_path=None, + inference_graph_path=inference_graph_path) + + def test_export_frozen_graph(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=False) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pb') + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(num_classes=1) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = False + exporter.export_inference_graph( + input_type='image_tensor', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path) + + def test_export_frozen_graph_with_moving_averages(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=True) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pb') + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(num_classes=1) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = True + exporter.export_inference_graph( + input_type='image_tensor', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path) + + def test_export_and_run_inference_with_image_tensor(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=False) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pb') + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(num_classes=1) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = False + exporter.export_inference_graph( + input_type='image_tensor', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path) + + inference_graph = self._load_inference_graph(inference_graph_path) + with self.test_session(graph=inference_graph) as sess: + image_tensor = inference_graph.get_tensor_by_name('image_tensor:0') + boxes = inference_graph.get_tensor_by_name('detection_boxes:0') + scores = inference_graph.get_tensor_by_name('detection_scores:0') + classes = inference_graph.get_tensor_by_name('detection_classes:0') + num_detections = inference_graph.get_tensor_by_name('num_detections:0') + (boxes, scores, classes, num_detections) = sess.run( + [boxes, scores, classes, num_detections], + feed_dict={image_tensor: np.ones((1, 4, 4, 3)).astype(np.uint8)}) + self.assertAllClose(boxes, [[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.8, 0.8]]) + self.assertAllClose(scores, [[0.7, 0.6]]) + self.assertAllClose(classes, [[1, 2]]) + self.assertAllClose(num_detections, [2]) + + def test_export_and_run_inference_with_tf_example(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=False) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pb') + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(num_classes=1) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = False + exporter.export_inference_graph( + input_type='tf_example', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path) + + inference_graph = self._load_inference_graph(inference_graph_path) + with self.test_session(graph=inference_graph) as sess: + tf_example = inference_graph.get_tensor_by_name('tf_example:0') + boxes = inference_graph.get_tensor_by_name('detection_boxes:0') + scores = inference_graph.get_tensor_by_name('detection_scores:0') + classes = inference_graph.get_tensor_by_name('detection_classes:0') + num_detections = inference_graph.get_tensor_by_name('num_detections:0') + (boxes, scores, classes, num_detections) = sess.run( + [boxes, scores, classes, num_detections], + feed_dict={tf_example: self._create_tf_example( + np.ones((4, 4, 3)).astype(np.uint8))}) + self.assertAllClose(boxes, [[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.8, 0.8]]) + self.assertAllClose(scores, [[0.7, 0.6]]) + self.assertAllClose(classes, [[1, 2]]) + self.assertAllClose(num_detections, [2]) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/g3doc/configuring_jobs.md b/object_detection/g3doc/configuring_jobs.md new file mode 100644 index 000000000..f4d345ffc --- /dev/null +++ b/object_detection/g3doc/configuring_jobs.md @@ -0,0 +1,162 @@ +# Configuring the Object Detection Training Pipeline + +## Overview + +The Tensorflow Object Detection API uses protobuf files to configure the +training and evaluation process. The schema for the training pipeline can be +found in object_detection/protos/pipeline.proto. At a high level, the config +file is split into 5 parts: + +1. The `model` configuration. This defines what type of model will be trained +(ie. meta-architecture, feature extractor). +2. The `train_config`, which decides what parameters should be used to train +model parameters (ie. SGD parameters, input preprocessing and feature extractor +initialization values). +3. The `eval_config`, which determines what set of metrics will be reported for +evaluation (currently we only support the PASCAL VOC metrics). +4. The `train_input_config`, which defines what dataset the model should be +trained on. +5. The `eval_input_config`, which defines what dataset the model will be +evaluated on. Typically this should be different than the training input +dataset. + +A skeleton configuration file is shown below: + +``` +model { +(... Add model config here...) +} + +train_config : { +(... Add train_config here...) +} + +train_input_reader: { +(... Add train_input configuration here...) +} + +eval_config: { +} + +eval_input_reader: { +(... Add eval_input configuration here...) +} +``` + +## Picking Model Parameters + +There are a large number of model parameters to configure. The best settings +will depend on your given application. Faster R-CNN models are better suited to +cases where high accuracy is desired and latency is of lower priority. +Conversely, if processing time is the most important factor, SSD models are +recommended. Read [our paper](https://arxiv.org/abs/1611.10012) for a more +detailed discussion on the speed vs accuracy tradeoff. + +To help new users get started, sample model configurations have been provided +in the object_detection/samples/model_configs folder. The contents of these +configuration files can be pasted into `model` field of the skeleton +configuration. Users should note that the `num_classes` field should be changed +to a value suited for the dataset the user is training on. + +## Defining Inputs + +The Tensorflow Object Detection API accepts inputs in the TFRecord file format. +Users must specify the locations of both the training and evaluation files. +Additionally, users should also specify a label map, which define the mapping +between a class id and class name. The label map should be identical between +training and evaluation datasets. + +An example input configuration looks as follows: + +``` +tf_record_input_reader { + input_path: "/usr/home/username/data/train.record" +} +label_map_path: "/usr/home/username/data/label_map.pbtxt" +``` + +Users should substitute the `input_path` and `label_map_path` arguments and +insert the input configuration into the `train_input_reader` and +`eval_input_reader` fields in the skeleton configuration. Note that the paths +can also point to Google Cloud Storage buckets (ie. +"gs://project_bucket/train.record") for use on Google Cloud. + +## Configuring the Trainer + +The `train_config` defines parts of the training process: + +1. Model parameter initialization. +2. Input preprocessing. +3. SGD parameters. + +A sample `train_config` is below: + +``` +batch_size: 1 +optimizer { + momentum_optimizer: { + learning_rate: { + manual_step_learning_rate { + initial_learning_rate: 0.0002 + schedule { + step: 0 + learning_rate: .0002 + } + schedule { + step: 900000 + learning_rate: .00002 + } + schedule { + step: 1200000 + learning_rate: .000002 + } + } + } + momentum_optimizer_value: 0.9 + } + use_moving_average: false +} +fine_tune_checkpoint: "/usr/home/username/tmp/model.ckpt-#####" +from_detection_checkpoint: true +gradient_clipping_by_norm: 10.0 +data_augmentation_options { + random_horizontal_flip { + } +} +``` + +### Model Parameter Initialization + +While optional, it is highly recommended that users utilize other object +detection checkpoints. Training an object detector from scratch can take days. +To speed up the training process, it is recommended that users re-use the +feature extractor parameters from a pre-existing object classification or +detection checkpoint. `train_config` provides two fields to specify +pre-existing checkpoints: `fine_tune_checkpoint` and +`from_detection_checkpoint`. `fine_tune_checkpoint` should provide a path to +the pre-existing checkpoint +(ie:"/usr/home/username/checkpoint/model.ckpt-#####"). +`from_detection_checkpoint` is a boolean value. If false, it assumes the +checkpoint was from an object classification checkpoint. Note that starting +from a detection checkpoint will usually result in a faster training job than +a classification checkpoint. + +The list of provided checkpoints can be found [here](detection_model_zoo.md). + +### Input Preprocessing + +The `data_augmentation_options` in `train_config` can be used to specify +how training data can be modified. This field is optional. + +### SGD Parameters + +The remainings parameters in `train_config` are hyperparameters for gradient +descent. Please note that the optimal learning rates provided in these +configuration files may depend on the specifics of the training setup (e.g. +number of workers, gpu type). + +## Configuring the Evaluator + +Currently evaluation is fixed to generating metrics as defined by the PASCAL +VOC challenge. The parameters for `eval_config` are set to reasonable defaults +and typically do not need to be configured. diff --git a/object_detection/g3doc/defining_your_own_model.md b/object_detection/g3doc/defining_your_own_model.md new file mode 100644 index 000000000..6e36543b5 --- /dev/null +++ b/object_detection/g3doc/defining_your_own_model.md @@ -0,0 +1,137 @@ +# So you want to create a new model! + +In this section, we discuss some of the abstractions that we use +for defining detection models. If you would like to define a new model +architecture for detection and use it in the Tensorflow Detection API, +then this section should also serve as a high level guide to the files that you +will need to edit to get your new model working. + +## DetectionModels (`object_detection/core/model.py`) + +In order to be trained, evaluated, and exported for serving using our +provided binaries, all models under the Tensorflow Object Detection API must +implement the `DetectionModel` interface (see the full definition in `object_detection/core/model.py`). In particular, +each of these models are responsible for implementing 5 functions: + +* `preprocess`: Run any preprocessing (e.g., scaling/shifting/reshaping) of + input values that is necessary prior to running the detector on an input + image. +* `predict`: Produce “raw” prediction tensors that can be passed to loss or + postprocess functions. +* `postprocess`: Convert predicted output tensors to final detections. +* `loss`: Compute scalar loss tensors with respect to provided groundtruth. +* `restore`: Load a checkpoint into the Tensorflow graph. + +Given a `DetectionModel` at training time, we pass each image batch through +the following sequence of functions to compute a loss which can be optimized via +SGD: + +``` +inputs (images tensor) -> preprocess -> predict -> loss -> outputs (loss tensor) +``` + +And at eval time, we pass each image batch through the following sequence of +functions to produce a set of detections: + +``` +inputs (images tensor) -> preprocess -> predict -> postprocess -> + outputs (boxes tensor, scores tensor, classes tensor, num_detections tensor) +``` + +Some conventions to be aware of: + +* `DetectionModel`s should make no assumptions about the input size or aspect + ratio --- they are responsible for doing any resize/reshaping necessary + (see docstring for the `preprocess` function). +* Output classes are always integers in the range `[0, num_classes)`. + Any mapping of these integers to semantic labels is to be handled outside + of this class. We never explicitly emit a “background class” --- thus 0 is + the first non-background class and any logic of predicting and removing + implicit background classes must be handled internally by the implementation. +* Detected boxes are to be interpreted as being in + `[y_min, x_min, y_max, x_max]` format and normalized relative to the + image window. +* We do not specifically assume any kind of probabilistic interpretation of the + scores --- the only important thing is their relative ordering. Thus + implementations of the postprocess function are free to output logits, + probabilities, calibrated probabilities, or anything else. + +## Defining a new Faster R-CNN or SSD Feature Extractor + +In most cases, you probably will not implement a `DetectionModel` from scratch +--- instead you might create a new feature extractor to be used by one of the +SSD or Faster R-CNN meta-architectures. (We think of meta-architectures as +classes that define entire families of models using the `DetectionModel` +abstraction). + +Note: For the following discussion to make sense, we recommend first becoming +familiar with the [Faster R-CNN](https://arxiv.org/abs/1506.01497) paper. + +Let’s now imagine that you have invented a brand new network architecture +(say, “InceptionV100”) for classification and want to see how InceptionV100 +would behave as a feature extractor for detection (say, with Faster R-CNN). +A similar procedure would hold for SSD models, but we’ll discuss Faster R-CNN. + +To use InceptionV100, we will have to define a new +`FasterRCNNFeatureExtractor` and pass it to our `FasterRCNNMetaArch` +constructor as input. See +`object_detection/meta_architectures/faster_rcnn_meta_arch.py` for definitions +of `FasterRCNNFeatureExtractor` and `FasterRCNNMetaArch`, respectively. +A `FasterRCNNFeatureExtractor` must define a few +functions: + +* `preprocess`: Run any preprocessing of input values that is necessary prior + to running the detector on an input image. +* `_extract_proposal_features`: Extract first stage Region Proposal Network + (RPN) features. +* `_extract_box_classifier_features`: Extract second stage Box Classifier + features. +* `restore_from_classification_checkpoint_fn`: Load a checkpoint into the + Tensorflow graph. + +See the `object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py` +definition as one example. Some remarks: + +* We typically initialize the weights of this feature extractor + using those from the + [Slim Resnet-101 classification checkpoint](https://github.com/tensorflow/models/tree/master/slim#pre-trained-models), + and we know + that images were preprocessed when training this checkpoint + by subtracting a channel mean from each input + image. Thus, we implement the preprocess function to replicate the same + channel mean subtraction behavior. +* The “full” resnet classification network defined in slim is cut into two + parts --- all but the last “resnet block” is put into the + `_extract_proposal_features` function and the final block is separately + defined in the `_extract_box_classifier_features function`. In general, + some experimentation may be required to decide on an optimal layer at + which to “cut” your feature extractor into these two pieces for Faster R-CNN. + +## Register your model for configuration + +Assuming that your new feature extractor does not require nonstandard +configuration, you will want to ideally be able to simply change the +“feature_extractor.type” fields in your configuration protos to point to a +new feature extractor. In order for our API to know how to understand this +new type though, you will first have to register your new feature +extractor with the model builder (`object_detection/builders/model_builder.py`), +whose job is to create models from config protos.. + +Registration is simple --- just add a pointer to the new Feature Extractor +class that you have defined in one of the SSD or Faster R-CNN Feature +Extractor Class maps at the top of the +`object_detection/builders/model_builder.py` file. +We recommend adding a test in `object_detection/builders/model_builder_test.py` +to make sure that parsing your proto will work as expected. + +## Taking your new model for a spin + +After registration you are ready to go with your model! Some final tips: + +* To save time debugging, try running your configuration file locally first + (both training and evaluation). +* Do a sweep of learning rates to figure out which learning rate is best + for your model. +* A small but often important detail: you may find it necessary to disable + batchnorm training (that is, load the batch norm parameters from the + classification checkpoint, but do not update them during gradient descent). diff --git a/object_detection/g3doc/detection_model_zoo.md b/object_detection/g3doc/detection_model_zoo.md new file mode 100644 index 000000000..da2f8e146 --- /dev/null +++ b/object_detection/g3doc/detection_model_zoo.md @@ -0,0 +1,43 @@ +# Tensorflow detection model zoo + +We provide a collection of detection models pre-trained on the +[COCO dataset](mscoco.org). +These models can be useful for out-of-the-box inference if you are interested +in categories already in COCO (e.g., humans, cars, etc). +They are also useful for initializing your models when training on novel +datasets. + +In the table below, we list each such pre-trained model including: + +* a model name that corresponds to a config file that was used to train this + model in the `samples/configs` directory, +* a download link to a tar.gz file containing the pre-trained model, +* model speed (one of {slow, medium, fast}), +* detector performance on COCO data as measured by the COCO mAP measure. + Here, higher is better, and we only report bounding box mAP rounded to the + nearest integer. +* Output types (currently only `Boxes` or `Boxes, Masks`) + +You can un-tar each tar.gz file via, e.g.,: + +``` +tar -xzvf ssd_mobilenet_v1_coco.tar.gz +``` + +Inside the un-tar'ed directory, you will find: + +* a graph proto (`graph.pbtxt`) +* a checkpoint + (`model.ckpt.data-00000-of-00001`, `model.ckpt.index`, `model.ckpt.meta`) +* a frozen graph proto with weights baked into the graph as constants + (`frozen_inference_graph.pb`) to be used for out of the box inference + (try this out in the Jupyter notebook!) + +| Model name | Speed | COCO mAP | Outputs | +| ------------ | :--------------: | :--------------: | :-------------: | +| [ssd_mobilenet_v1_coco](http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_coco_11_06_2017.tar.gz) | fast | 21 | Boxes | +| [ssd_inception_v2_coco](http://download.tensorflow.org/models/object_detection/ssd_inception_v2_coco_11_06_2017.tar.gz) | fast | 24 | Boxes | +| [rfcn_resnet101_coco](http://download.tensorflow.org/models/object_detection/rfcn_resnet101_coco_11_06_2017.tar.gz) | medium | 30 | Boxes | +| [faster_rcnn_resnet101_coco](http://download.tensorflow.org/models/object_detection/faster_rcnn_resnet101_coco_11_06_2017.tar.gz) | medium | 32 | Boxes | +| [faster_rcnn_inception_resnet_v2_atrous_coco](http://download.tensorflow.org/models/object_detection/faster_rcnn_inception_resnet_v2_atrous_coco_11_06_2017.tar.gz) | slow | 37 | Boxes | +| [mask_rcnn_resnet101_coco](http://download.tensorflow.org/models/object_detection/) | medium | | Boxes, Masks | diff --git a/object_detection/g3doc/exporting_models.md b/object_detection/g3doc/exporting_models.md new file mode 100644 index 000000000..5291d6b9f --- /dev/null +++ b/object_detection/g3doc/exporting_models.md @@ -0,0 +1,22 @@ +# Exporting a trained model for inference + +After your model has been trained, you should export it to a Tensorflow +graph proto. A checkpoint will typically consist of three files: + +* model.ckpt-${CHECKPOINT_NUMBER}.data-00000-of-00001, +* model.ckpt-${CHECKPOINT_NUMBER}.index +* model.ckpt-${CHECKPOINT_NUMBER}.meta + +After you've identified a candidate checkpoint to export, run the following +command from tensorflow/models/object_detection: + +``` bash +# From tensorflow/models +python object_detection/export_inference_graph \ + --input_type image_tensor \ + --pipeline_config_path ${PIPELINE_CONFIG_PATH} \ + --checkpoint_path model.ckpt-${CHECKPOINT_NUMBER} \ + --inference_graph_path output_inference_graph.pb +``` + +Afterwards, you should see a graph named output_inference_graph.pb. diff --git a/object_detection/g3doc/img/dogs_detections_output.jpg b/object_detection/g3doc/img/dogs_detections_output.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e88a7010fa90f5c4a74f6caee78f5c975f77e40 GIT binary patch literal 372894 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
        sjYXQID<)38 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νdgK;AU{OM9%y) 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 pDvuR0c~Z)CG{$O>U~P2V;SLtQvV0tDj{F zg8$0r|6cQd6Eg#@(tGRG>CXXI} z3!izu8$FY|(BzX)`Edu+ZGcZJ_~ZW{;M3!l^EtbZY?l;Q@T$~mXS1_7MZ^^0);Y&; z4tqkXhOY2~zcq(i2RvBWEXHxs6fqTV0d{d}lOq(ZK4@)6m8{7b@P!J09@6CYoOZ(sZ8_YL*D9sKB_?t(~}r|8@6cYn0!*Ohv&HL&6L z;lfv5Y3v7dfRdJ3>4SV?_W3!xA9Ig$X}X#9HQXo@=7~4;+-!KSU;iiNs3r7=^=w?F zn?Vsa_<@IH{no$xPusP#E($K0FMqawwa@($cISA0fnHI(z~iO@v!rqS!YPqeZ(QFr z*UwjS>5V|5HpS=6?Lge_^r8K`cJ%q1MsWaK{l%}US3mCst2ju=QGo>22xaCE2`?iZ z3Ddd@&k{s`NWThkd*f4=#Q9`m4+S4*la{JdZCy+Za)ZT2N9c9AQ0t&t&t)&(wDCp^ zU4q72XbR3n#zlVxY}($tux0jq+$L{$-mDL+d1j{LYmA_kToIk$GS40R_mk?-lhL|_ zuz6!9uYN4Di>r*1Hq?ocz7l4Pzuae3O&33~A5!0ZQkh$Da)0_p#K!I$pO-l0&*Ky8 zc!w)(0v@W&-Dfkar&!y{hMRtcT7NRAgy6lMqGk5z2j7l5G+&RdZhr`q-W7NeW^m;{ z0RDp~D@XfhUkLD!Yt-R#K(l5pQGs_GWPJ>AmtE5rRz8i$z=-6NzlLx0uuKrD!nPOk zk40YgB>m1@YVkM|4AUL|v{9w}^Hy#EjOOr5fLh>V$tYS{J~x4GyW>xQd8~-QTjK19 zZR1#4>WNa?x%#gKt6jApA-<8DRWt9goNZPywvkp!2koyfxsJnkC0GHMll<3qMWe1a z`(@@-ibK0A6Ow5~X6mBX6Is-(Cfisp;v$&CkiQ=7vc^QfJ$W*Ud!Zt=@qc>gdWXPV zCzp{v%xTrAGh+?V{AB<0NWI`U?EWi2K| z03&_Q5!10rIKPR&%v}8(xvNOZuan+5D!e3o!@YEUACz-s&QsU2r#G4W9x~tpxaP<` z6goNK@YQXTjhH|EWZpHuTberf^;7xUz^kL5_~|X?(@(LK`*iYUWT(Dym^N`sbE)U3 z-Tr>_xh}Dd;b$Xly+?-ALP?0RyxF@EOGn(^6YKi=bJPky^Fpq7Xj0*gSO3yI@AfG^ zQS6@%<%!%uL9g8zSBEWRjr+e*%Y66KAFm&Rm}0E%$=-Mg__uBJ*itwXB9hz$ z@?Y)K$T;N_|DIE8X8)34V3ze`OC|S86yLuR^SuiqIKuPBEn(Ic(&$8floszRIDxt{ zuY3RNi$})vD;~;XDsn6>JT8^rkz9IE)n9^-iW;Csz&(ChUKz}48ih&ej&LkW{Im8= zx2gWBaP(Y>CfXcth(W$?8Jtp2!L`-Wb9K`6=;IAu=SIib@i!inm?sv*B#u#upzE@d zRmbFeOOaf!HZXs4M|K*?V?ZMuOp^9CkcP+uc6##y;?{v*^wcYMEKUtl0Ys|4pqJmz zZ$3R6OOfc#yhE{-UmHYz!k-WR-rg@)q}TxOQ8=TSyahlIch^v*m1eFyZLTJll;4 zwdnEgCGrPm%D=4A^#Qy`jlVSd&+BDz)6b4>pwkidPW@h3L2*#u?1fsQJC=k0nHvm? zOQ-#a_M6`+_)PJnjkL?d5m9)B0~?@Q&}oP%WN331gJcSDH7QB5r`WwrSVoLdn2|E| z^Dp8=H{rulz{h>6@z1Cd;4>HN#VuY`yTKhQJQzZeoT2TMW^YAmhyiKLaUm&Mf>rzb z1kGD&<^z7dKt9$5PQm*(kSg$1lw~h@bg~s7XD62z!wuIs7&qaR_2N6Mun;#)OGTkV zcxYXvbihu3qqlCq1CpPy`1y(@ryWtP4v!`HG(c2TsMDBa?oq>sLWX(cU8&@vw(wjE zev*y-0EB!uau(gN;sKD8n>WTxUDnc;e;JC^69r(IOY>Tb1e0$c9hIk-o5=;K2X^0D zfG9*I>nhMT@b7IbE0g%*9XonE30^r~?;b2O&g2*!lbt~4We9g3ec4CJnZyXuR>OF7 zAH@Y@Aq(l~@SB33=A=AuX8sLdxeKU#$&6=g-bH-Si?9R%g4c~e8GK~^Ru5XLE{@S? zWR8_+?>-oUNYEd~jMkLj`Oue$nJiHYWvch3Cz>GW>ANmA$WiY50J{(Q21(C|#(Qd` zhVj1oYrzHK^fkHii>D@bY&h8!i5uxVG8#t?o@T$po9Rz;KnL2{OUl?w&iI-AQTX!P zNvT0XsoIG6?>-O*(z9>8f&U&w$y$F6ho0md&`%fuPpXf+{2uV&+ONL#O}jA)1#jnrDEdiub9V10@pB?UyD*YwDH(cd(L>^?%E6hXFETs?y zu(t=7bs+gDE-*>Z9RwqogdvvBn|yv$e9q#gMU^VkBpmI76FBWvvj2ucEnC(ci_YE<* z_sxxxa|(5)=sC@f-|WZy2jCKTsd=zU6DbmKK~Ye4jx*;U3+4Z?tJk7z*h-Y#%n_bT z<8t{-@_*wORFrA#VZY{lLhbvPG+|B)g?NgbeSL-2OQ3bM?td9LpmzMZ>_n!n!?9tD z6`|qZ#YH%vDz5i7d^yX!RPM;E#v9la)JcwiYvFzJE@suFsD3!Cl`nn|YD2d);J7k=Bm7 zH2lV$`_dSvY(nn#=o%mNB?YN9fa|NV{b2i(qc6J^giU+b|E_a~xHlJVT2>-Ji!Q==pk z7pb2|x{wvm?+-+VwF5f`IXVh`+w#O{YUnx~Eno6EpNNQS<>D)R4P*R%2>qaI_cIk=22_8PsY2?!Z@$kG;YkzvC4b=2 zkEqD6>&CAisHa5FC_cIqYur7A8L!}?6aGv@6Fh+xv?H!3>AtE9??auFfA{E%a-pm0 zO98N5iVz~H={Y_($FuWM!R`1!YD^T12m4g|{tZDEKY6Q>8+IR^$2Pb1oLFQ~<{1mg zn}r67pmIR6d|J-usPb73gxc8m-bET=x8taF^SjhN2Kipp@B;ln$y!bE>1UWxKJ!$j zrTyMb-1DmJVI}HZ=R&eV%?#Zr6FOxg=PAXWc)L<2m`O|6Jm;GEPnHn2>B^feqM)ll z^;3&BLr3Q*xC%bR%FDy9;>J4>8Djv!*77w^OMC2dRC` zKny15xz9L><<2J@$rQQHeb;B11 zT6|Ph>v`h%60pcL-20)?F77}hou(gm|5}LPNu2CR+RwAfYwMf$Z~Fi;M0ZQr=3kk1 z5`kLEUnO}hnVVSrg7G1k8QJ9L;7?i~Mb!CJuOKh^$0pv8I~F+z2$cecG-M?s7Z{7h zMbtgqTom=wP-6$%4(I&U(9<|)85c-pqwn2DZdTZf?Z~j`LqkTs$beMNwJP!q%85(| zz>0$8<8?x{C%wcMvc$RL?zSP_T9M~sG=b~s`{Y~8+oPHjIgTCsklYkpEvwl_0K^~f z4L>zM`f>}%6iA&*(czhJr0w&clzxy5pBh5J@tz^{*KPKI#3hvAQ2{);9IAiVErs5i z?r*ot@k91^0LKEld8|EHm@{WYbVA}W&R~y~RxsKiB~|wNwwV`A?@Y2TpBeA4C-q#| zGZMHC#ook-UtkvY#WB_|^F^spbm!0MX?h{VN71ZU=0=TH`9TDLoqg81-lM!sMRfTz zu!4(=YW8;@na@O1%kb5CtO^;|VxIMrTRi1LT=4sIUE7e1Ax<}NZeW2iDJ_czoeCes zIPgXb(6(3%G-*yLQx5zY`G*EQ`Yar|es?jEyjSvL_@y43<6myolP;Tb_V;~GxE^VC zYF^yPv%ZP;Z~xJ*5D|W?);&EL6>uTn^OtwnxT1X3uc|vPr`5ZZ;kNE^s;0#0*MAZh zX^N~bc)SaDACR67wl(jn^_c62FSOcyr+YK-sLu`JwV;yzf%PaHa-^{Q&z-w-3`tsEITs;Q6c(uwR@iN`V40Fcv|Gw>v89ha-PuRM*zZ-ge)m3!k zX-W*}P2-PHXCDyel)~8(zf)r8xR3LQdiS9cTZT_g(R~S+5es19U|1}L%9g%(tC%0J zL6tlKTlT| zBj7){jg`eJ$;O&3v6T}e@sWA;>jB>Q+z0|C^8bIaZbcXM*DrDcd^qlvA2W7mZb#1R zZF$ETPs!C+7m_W77Il;B9Fzo59>=l28o(}NmrNmXz;te7UZg?r+6|$ z`IGs_;tS!bbKeDO$E$z%Fl)XE{` zlc~A3ISvD*5gEk4j-UB3Ow^IzK7BA2R~VD%VIGU$D7*SW?8p*Y<-ATf7CF92+`cN2 z7+FsNg?=$Q=%}1n$53Ydkv0kp_1s5kj+PRiyIJaTGzN5*#~@n zkabB3D9Pt+Ken%4qpXzX?n5NJ_H?e5`bR!i&o3|%u3!)0!QjH)3O3ET0G%uVP&-k& zWp&b-!oo_Z`4L<>mzERd2rkRcUbg5ZXw42Q`ZfHXf_A~675rBpclpYWj#No-rIGD` zsG!|UL4Gn~h0UbrV-&AOW2x7z6ZBC~uV$5vtmrPwEI_3+0~jmJbi_&Z@Kw)<+Ab;y zL<@tfs3=rXmp%wI?>j7EOO*rgFH>yImQTCNMdNkM`NzR!aD_uA>i~jr-YQ)Sx2JQl>6K|g`=lmyiWIa!k6gjPXpj9 z;?Ays{mtBff)H7dUNGO4pi?t-F>t?Ms9T*Lr$AP9L~UYh;;;@Stn=0j4I79Qrjy8$ zKK$`JE-#Af*8KBg{+8Us(n6Xj?W9#LH9Da~QI+$Gbpi93WJ-kOXvXa;&6vxO(JzHx zDs`^a0dxeJR6r35zuCT(6Ux-%GaQ&3>fwWm83ZY!bM?scs;SonQh`*%ei#FoD2*1d z47z4WUFPLn22&_t4=i(IR){nce;^ecQms9|a*>Ewsvp2FE7+g9B z`zO1!Lv{0OS~dC^H;k!qr5VLy6z6?}IK5;qpxV!)aZ2ekR7b|0O`<)#<80)$HuI;@ z!@)b<)?pul5TR!BVkM|es83d?5X#T{Cbqb> zj-*WWSwnu}_isnl2&8PAv~=({_L4XYzRKMC;fAFU$e$1{+z{enPpCy_A0#4==6(`f zSkt&5(bMirg(c`T)tzT5WXVL`uf$Nqk-&u~*!7W7 zq5e!K0Th4tnbpko)!}~%`Fq1x1}95o*s(x9zM}%@8~(=|sf~y5^?U8YtP~8Z%JRj$ zo>&M+s>gS;D^KCvtJ_HTUrugwJwzQHTd8$jW9I9bu?F_VrTs$JVagyyrZ`tYsTITbgi zla5{z{HQbzd&L5n*mh_^XiiDCKo9Ed*Z2njtE+m!KZzy zVYic!o8OndOaUibsii7E{;nAm9{A!|j;}^|ezPlw2!=A4%l>KPA7k}53_R#T_fgjH z5=-8Td6UX^LG}DakNbB;$xzkPVID6Vv$?eHfk2&_ZD%wk9_;5%{g%q zH%7Bvu!oL9Q7q(seGN;(g{?oyOA=XbP1R#z>&!nZT zAtWmOQUL^%HcI|OF0Euz2#z8*;w@xij$iy5!^(i|x{d;X82Q!gu)i|o7_Aq1FZWe*Az%s-9ScIdwmc|U*0 zf2_^zoGo&JTiE3|t*iYM6W5;pjSfftZ{lq3l0L3Kzh)w{gD;6Ys2W1fKh~38UvW@Z zz1$7nJgCNL60;fb{}7{ew*k9J@%YJ0QA!vPAAPfwZWv9$A1~{MJpE}T06@>>lwHti z9MmfsV_Ed746?;aU1}EvDb!4$X)bx>66mGkNUzS*_^DHi1#)Joz@kU^Ip@B8Uoe|B zy`F9jJreEkP~S4<<5lpIK;T5mGx@8o+y{tqY(emo$@ZvO)D)?)%Y@6hOaF0)VRfwQ(Niqrh$eOn<+zf7ZX{rLSOp^! z?$KL5oZ<#Q7ZdzU9mgomM}-fur0A@i>}MJ7yc4`?n6KU0%_@FI;yWy zjMD7Ma1zJC!6hmKmA9k(-lvrOiF%NV9t0h73tfHHOo^b2lz8q!kwow@QQiLqybcAd z4l228>(14HOJr*D6j-XhX#mce%9qVJrLe(#E-vGJCIBWkb(iO=7A)Gk%^L5cBxl{mSjVFDLTyW{Mw&6k2>HE39R zHT)JOxTIU9b2Dby40Us#bye%u1zizVsyQnqG3wt(-baradyk6s`gfZ6i}*-&x9HLY zGr<(orUOMU&aPt5rLWQ4JZ4mT{?|=~5+I^_{s%(<{*8OZL}T6z=VY}|UUEdRR(tXY zHc~|)c8!fYAjli&H}pm7g1Ker~ghz4Y(Xx4G$3>9Wp9jG%J9jxD!k- zH*NGoCV#>}+4Ue!;+JoEW$uLCfcJ6*^Ko)2on?20sGb)KI2Zu65Jlwhxv zJPf=NvASt28&%lkygi+%@_Q}(R2ue7M57+@g;Y#AU^!?g!oVfkactG zsIIWLga%LQ?>f`a3bSC;Mt|!@<@K^_#;h|KW-6|Qn(*nEY<2lMqgZbV)xdWZ?8w5V4;Tr{q&s0oi z8PHz9xN_|;c}3XW=s^|Puv9!Wn3J~GGOUeN?Hk|7&kS@H1gcWrm2T4cZ8twe=a~t0 zE=$ow6v{}y;k|T!Ye=%H8FSGM2fo9@4?Q~CIE(0eH~QnwW=|hQiF#PH_p3Rcnc;;< zl9THDCU39#ZP}yjJ=T1iz-^FWmetg&_eIl8a{0W{-}}9g26%CCu7Y(F&4E$g6(a%CM=X<-e8l8V%OUq9wuv|3v6rR96`7zy%t061gImW%YM~GZt(;Hw-t47xNdMT306-lS&kghm=xM zj`U09zC4G-l5$N%%MZh3r{xJ6V>@Bpe`?wCn+@5En4)w-<6&w#vzSB{cWMhNjTJ(j z0cUU!F=QNFW4u74p=2Lcf0AUr;x2K@;cb2d_NEcT(;;C9aFvX#%E9GPm0roc`Lrav z-5fg67XsUE8m;SZkBN(6JiGRGi^mb`Fofo_C-3*UjJLwqvyMqZ4V~4TA6Zx^g7-NM zn`$-X_J8+b=aiU<5t~U0#S&I_dE+FX?Q%%{9KGWpu+KvQ__QbsUEcM#JYaQpIack# zh~Ud1Hvv9%NaUI#`11MqDa+73*9V}q#3#F&MU&^L$JM77{{b3_;bj6dXScJCBmXTM zW6QG_GZ1$*;HuI4q2un0oqa>&i!tlQR)Dma+{K0Va1C&2Y>i+i?-%4MioM#tQ8U9* ze^MBmJN8imyNh#YWNoYaI_6b8y6t3hJx4CJ2>YDX_IUJP!*N1M7+u}OIg9#}fa3L( z-{EClU%HF*Lnd=Cw-jG%?Z4KP6kBc^x?S0MJNi&@(V=du#BE-HZk5s+ryI9jC;9Hl z($@#!N{eM))e~E``mVaf_Z<_%i+mxjUNy{crf3cYb$@>6 zI39G?25FIP1{IIDyQInX<57;^So+NNNEWmiq?ex!x ztpw z8an4cH}kRN2B!6PY#V{TZbHGgJ^ZW}`OxbQ1p=ClOPzpv`M)@ZYQSzHy!;&{Uj9Eo zfV!UM5u4geTS{0vbkUrcFm zVKI`z#y+bJhE?gD%r=K?k~qQl*nyef`Oi(ZI>LX&j1;k0GMxHD2k$C$P?wzTfNg<= za-W5_ylb~rsABo?P>FAF6)2`tQ9^D{+0l8w;A&2)i}x17Slr=OQ|~{oF#Qmd-iHtuMngKd4+u_1f8tJ(>=)j` zwj56&n}afqJ7-CK(({S$bL?c#in&%06>%oU#N4D19z!?v{4xcGf6!Z7z=lN+dgp}V zlsVkkxG&!aw`$HLm?Oxv2ZL17D^}^^z(b%FmRUE_b7N-B=>RY74i;lN6{x$d`1me4 zX%|0=b@H}TtLEDVJu?a96F}Kk+5txs{%EbDGb`#zCUuAQGr7%Cjro7p{TYOJ&yr3;A+n&3NERwJ-S?1oMFxgR`{yHV_v_mK#Gel zaoQ0YpH=wQTGsGhKok(RND487%r*9d^nr0NnYl*PNRvqJZ9wR5(AS93%*1&w;#ZK)JXfh_D*;6 zbr2cL6Z!TtJ30|;`=N?A@+y3>3TAiS%|wZVrhhium?op178UxeunfkYk{@>X!3h0z zD-%{x@+8B~Wj8me3OLc-MNx*4emdv!*N){Q9KhVLws6n##{1~hU_PpmRJB;EsUmCu z!IpaC+bzD&YHh`VN2QhRO_Fo!byjD3H=CaUR>a@0-q+!c)89hJQ$477GHCJ+2pqCr z$W3!&h-ezL7}D?}&rM_z2UF9UgX74Y}bFF)XM1 zHdPl4Dd6v(Q=zIOgk37kDfG^28q*WF^c;GpOy-osc&;vb4-JD$#rR|KDOtu3tRNvgPaiVzv%IW+ViAadz4!z}m} z!k2aDY(!sP{Ql!!SPo6e8%+<#4jM!dzC`g;6D)Gq|3iY{K9CmQ5b~&gRSvn{qdH7e zU3*pF7E4!tiPDp#ls6bkcIt=a$2ZT~0NX~XW>)?$L8Mk-TWt9fm|HXOFYea2TdZY@ zrUL3fysujRszIrr6$sFZna+Om%MS9Hiab}RcZ=$$8wgia=T@9J6^3gGrK~hmn3Qu} z3Y4TReR5)-O)z2BmTFG)L(k>B9Q18Y-&2dUMbC-S&;b@3>Zs7mi(V2~I&b;Enfge8 zR4$2Iqun5SJWkKfyy#Ub5wFEkh2m?I@DFRUo1 z`bYvLjLPZwMdJ|VquKnk*If?%v7n!r|0d5U9Uc)?(i?##ZTdh;#~N?smS&`bwv@e{ zvj>U$h>Pg3bFX~=jMoE|D}63P>6n;2qxgj5;)O=M?VM|1oKSlASMSq~SxYfFd5>6{ z9-q}+vHWY{iz>7IQlq4lNr2LAA|(&6%GiZpq6DO!%)eJ^>~ir+TyPp5^uH6x#>0hN!U86+#gR+58i;BpW46~pfBWfj@VZkPD%5V6<#P`|D zR4TJSeNPh*q&Np9EL&iKM=|Jp1BR8SjL9_@i@i_}=fzK)Pn|r6svgMypjcm7@UbD^!H3&R%3+@{N!hIHdZ#bYxCi+qyw{bg zYf4?I^xgW&kYXwN>4d)3#P?ry3a@Io^{|e{qZ;1R21Mjtcti&$+2c>mK^~BkSAVd6 z60L3TMV=1hTKzoshLU(`h5`fd1~lQ|V5ewqIN_&pQrr}>_h8-h>jur&(KdIFD_Am4 zZCK;6{vPP>mcD4TkyLNzXZR{UV7?p2? zunpdE0V$F8WmfOCNYWZE9u87BNmQgd?(sbXn3vqpu}W*sEYI;Ri@N8wER=oALV6$~ zTRjIHD&+fU+PZx#WYn(Iw+Z$)=OK@}q)W`yW%@|a8WJl1H`*@9(OJx72V=C)000QH zb>cl=J8ZMQOGM4<{Bw??C#8%$_jzQ=C`4pSR^!pVZXN5CcD!69_teZP$<%08e%Uc* ziqf0rWN#SdQ08M>o1Mh6iN%$Epl$*KfJ1r}VL#lv#P~u@G;cq7TNHP5?IJSI_1#-x zxTq6&QqgmXdqGplPm5G%`ZyJ?#07^!{&7-8{3%UQ|I*nk;OX+ICP`Y@xztEwIM{6< zC20Hb{o}ZYL$5nlm;p+^bM)_tuVSxA97q{lA*ala16H}G%aVh-ji7x@v|0o^6N8&r z=~mUW`}@`uvLpU}Zhm&Mab#TdhMud93$NDcLXO>s@V#I%tm;l$rtmg7 zRjYX4Pqw{Xgkq<@bY|C~BgIGT^))Kn7mTBoIN4>r*J8%Vs zsFdr%? zco8K-5n_Lew0&aYV;VNmW5O4XG3yqaN!0>2l-%#U&y>`wnW6WExjCMMyGuQusqK54 zRE8P-o5KiflvUY~kXE#I5$HlxbbgPL?+^se?G`I-7;cI^jMoxJ3qBhOmMg&PPD>SQHy%oC6GyW6jo6f1Iy?Dgpw8Lw-k?F z1Jd}9R}E(OIQ_T(W~CN+GLd&UC+uJB=^qr_0>EVdqH$%4!gA*?0l5eNN=afsXVHp- zQfib$9(W1q`8w4n7t5cU9K?w|dGs-n)oG&0s!!tAB7bc&^(@m4YosU5a82W@`Z$ED zS>iy^a?ky2y%k#7j&7l!EqgK@{znChB1UCLSlNq>(eW{UU)1MS)1n@oj$m*V!#v|v z&2BA&#gf-vQD882i4`!}SblQiW0rLf8t-}64V0lmfGg0;jisjTT?ZwCTQLGWkIgA+ zR>|o64aVy7i{GE3UCb5>DAgX*O-TtHR68%bVNJuIkiDBr|34L{d^v+UH$DHg>$9<; zcRWK}phzQ<2cVi1@(if2@eBw7V<*Yvjct4n0ZduWw6Zl1u2v6I6XmZIT~CUrJI?yG zeyJa3bwOz*nf28m{9rwSjQj^+y`1gC=IMiX6w23(t%T!W23b+X`FZ>Y5K5^f!73Eb zR(EW_=q>j4V+9N?I-|T|2vypgiCXu~Cpjy-qVs+J16Tr^TpvpW(yVSRO)izFZ$d*qr3GLFt>~X#m)PJ!^#=(bfG0}z zRcilnHrY-(6OY4~=UIPKZl9vUti!uI|(6)(nMOOU_biCOIZTA%-?ys*}QyP3M zeP-fW*@Bu)FVe%f7lO|97v{Jg{%F(iVdhZ8y>;V=AQ{A_MS~2&e$RY#gNWSaI+X5e z|NS)bvA}Qg{6*DBAAjKjLhiv#BX2a1n5h6X`;)vwbP)bk)q}XT+t{Zd;@mxLoU8-f zBDHQa!seMgG3>6FE{{`d>@C}fi`p+1Bx8>UuG>TUpLXAbvwoszU2>(re&?4Y!Ok8r zC7n6e9fV~uQ8BOM>%#s}xHU@Wwr)^GqOamBP0brmR{C-qXL%v&yAI*=4(G`#()y9B zefjsgl`sGPUy4agEy>RDXcd_T;_5+o3Pn8peZAE~PWFF=tZa&>^!p7`Qk7k4vlOhV z)RpWRGs8t6CS%+Za8UZOZR4u2GfoWpTP!8&Z^v%#qhvX3bZ@6%P5H!aqP(*9teN3P zlZL(6wd{q>=*In-a}TP4mzv7u-M5)2mDA1nmvsnz>|(C-F$T#3YU&vY9tsy@(so00 zLlNR_9$@ubp&_ICNIEAhKYS2iL>A*_#-npQy!^sdk4hz709_S}iM3JCnP_|okbj>O z#(2mDNzcu6NaqK)N@D9bD2}gW>R|dPO#+SOw-h|SL_|;d8qk# zCm0-!pNP%`QlneQV|?bbOE$`j&N(06=}Qe^R@cpnyMoy$0J<2o_A7s?2%!zVdM}si z)>i15g|%<A=@T6=1k zx;E$}26I^6`_r$5W3moWd>dtkKMsBLZjbil)k&!HVL=GP2z1srbax_MO%8w;Z7RL0 z>ytqVm6N!el40-}5y}7#*UwZ>Xnu7FY*o;(Znysvd^*Z*o*NR-eO*vRDlkOAfM#Sd z_8W{PBrOM{2cde7+U1EEH0pv=loQ7L7J0=iq5lf55Qpx`e#h>N_1V?*pE|mj+uDF) zZEAXMld9zOXMRc;&mI)mGNx)c{s~&#H|gDYncg8fkvzEf_R4uzp(10WPnO4QFu@ia z@hWZ5dT7h96LZQPGmpFAE>XjV*tO#B1^_Y&rWx|}gTMb^3{qvFm z2}fVNe=S24yT6HiZKjhX(ZLq)^`*f>v%@yT&U-v8LZiO;D zQ7wO3KvL%$g@_A?Pty;%GfUlTX2zz}MQ8h0Mt? z&B1NzBK#Q!^$^aEW%`&r7b?m{)e9Uj(>3ZaZ(`8z$xwl8 zH|}5FMe;gLq3nI(CE9g~q#3Ygf3&;4a80U41UmXsf!5)WVj(+;f0b^d^@v4BPQ2fj zN;ot!-+=bzNjKo>oV0x{;)h@Ao$PJwQMppwiM|SfZ;^rCBFvGA0v6Ahw8h4#I6~Og zqr})1JZ*;HE1_esbQ4U<@Ny<%XeMlEmKadX<1av#6zdA?=qOwSJ-wNd(z&g-vO;?R z@Lr=VA@zuUIaW(RK!G%Rw|@=NFpH3#$PMe-<07l@jb2Ho3M2gB8;$2XDd|%H&^#^S z{&u7w!u_ua1RO<(|25qkVnHOR_5S250H0jA^H)|04#Zr4wW3mTbt7NKr`pRhL+{^W zOfrf(k6Y=`KDPV`Z>JsAD;=O3nI2zOIsg2c(&WY=O2ksNSLBb&)3#{MZ`|0_(D=+x{@uSt;PJI@ z^*TC_-Tm_O&q!a)Iw9nVofn_1s0!aW!#`1oJ&MvARiZ4yw_qRYg3kHi z-4F+U7Or`EFzPo&Wu20roz_|4VVAM^m^-D(IVmLmKEy(p35QsXUOXGowAU&x_NvaN z*W3&V8NT`4#sLZ!C=q5B88!zd>*0k*LSrxEwASdgCETKTmvK!wa zqWnQUdzKlUD45IU!Hs-MrM5Y-0|HJva%U^ZdXSaU07Y(zrx;ceg;E;k6fJN3W&<&? zjVg5K?$$w={vq6HH#~HM`kO7tXaZ@~5VsAv|0ozCkxKXs63skoLU`B=SNHWDAXcac ztc>@d$DM1KzqrxL0*Qan(}i-8J}OH`@k^h~XW zXw?>@sK$szbDX z2go^3W+w@Gt)-y;0+k>YQ{n2Cgk0N`tMs<3Kk=FTxY|@{OajgEo%T7eIV}V!$15`- zPaLz~Rnhw9^>l6t&mUi-cg1T%p}0%4YXMIP%P;o68u(96T%0N}p6!yYjhE7arss(N zRB=;>)63eUekvoRVvZNdXRe32-JSXB1C9Zab`#s$UPIscsS+6}B`XXT_2^gDDhrkm zyfLi$#p$~=PsBiZnWWi&FvjOZ;dEukX}^PI*qF@AUvI!8L2TOFFv^IygHpg0#3|%E zp7#7z6NIRjBzkiuV+ck`fmBJKGzH)~s@*x%pVJ!Rfvs@eV{zsHH&_C7A>ZoNh6g^( zG#+H(1KJ82!$%EZ;qb=`P&|H8d6?7aHPBG_b}Yg;m}Tu3vTSN`-!U=wM99pzT3qvI z4?gBOTetAnXnY_;4h6Z)wPfFUsVhm5@t`=H>dE(##Zv3pJnSC8;Kv83sOu0p^Y4}S za>IYa&rCQulXi%}2Jew$^FENX6VhXIDHCE23s0weoB9|&z^QVunrkGvOu^%CuBj14 z*9YiDBqS|66jvh`YtIHh%r1`Zv#mNn--dsBIl+#4a9+)fQVrqj@fc9X_(38*vTUI2 z>PJ57HzScjMTy5^5Om;LPHCnW8FQ@{VV9SiBt3(trU*%^kCBu;D1kTy>`wqIpGzz3 zFO**(Hr2DOI~Paw&W&!rQP;!Vaqbh{m&teY*!Y-FqZd^ISEdj2PoX7EMQ%*`Rl9+e zfxYaK>!<*H2fjF)i&chJ$hUROq)^eYd0TlmvMZl%T)&x`2BO(ZW8|k54hY))YRNLZ zEu)n@O^oNspV93^BL9G^NK%a1>svt!eg=y8r9-O$;W0nd5s$~{!I?>8xJfb)Rh#!Q6s;wE_?Q~n27 zKm2fDObWz!F0wT>o6{&Od^`O3kvo>N!vQWBB@Qj3)!iNm8YRH(GPskKeZt&1V#?9K z(m}z@fB?u_<=N;`p-xOZ3rcZ!phWrIOsymh{2171cjgxLO8YCWD)pX{g*Rr>Z!k*P zCAXU@!QBehJM0F!J4F@1Yj_9ELI|14%7VEOfkDg?mjCEbIoaA*pSHemC z1NlsA3jsuFE$5~8zq!2g-h0$}a5emAXS3Mz)y{UX#ro>UvI~h!9(AhVtNAd45|>h#8dUW@j@oSfnZAo^U>ctQ9M)Lg zlN}6stmD&MwJ$M`AbKlF+gurhv!n1%vQLfE0 zE^p=uX$m(B?h)}B`w!$DF?&)v|K4+UCzs3S&yRD)&=3*c zN5BX$+5%`6KQB4DesZMvAv({H{C{6Zd{|P57^{g`PRP5cR;>w?xQzOLAKu(V{(7$B zJ^1_MC&M%Fz$JTM_*d12XI&8qsuXRme|Au;~l@TvoouA!}sTO>2gWaxQ%E;yK z_P5UD8E4X0_(J}fN|p4H<UK%cd>tPBmp!eUT;Z zS8aGR4EVy7x}jbjZRsWYN(~`TL?j!7AI+m$blRe0VTWC0^}()l7GlG_-`n#wdBj6P zqTNLgFH)5Irfp($Fd7_kSUOaV@NQ4`^f<-Q4CakZL^Ulz5L@mXq_;X0N@$5Or!?PR zmeYI17ZuH28(pLO1k@~aXBr8JY$vb!oZE83R&e7TKMNY&@Z7~><~qtRc=VB9a}}7; z2l+HIjo>I2pb4e>qdIVB)9^loo|Z8rfIx2Q0%c)g z!SWGr{VTAfma2liE@WL@kmM~r3L6ttYKnzIK6q>=;%T%>i)eqhxGXE&h*Y9$i&GU< z9^bhX=I0w?BT`2qx_Bq2yXAK=R{^*B&6gvzoonp^8I~O=SU}M~kd==N#igLW^#0z# zPA?^Fc;8P;56!~1kl~EoNq|Yz@GF3Cq`Z}Ag~JCRR0$w%foM5`EpIlTE@J`ns@<>V zV%a-`x{WN38Y{WwnuZNvK3M5>C@3ve^sRa!eGl_#X>AR-IWlcvQ@cqljay|en8k+j z%<3iXI@&;MQ=io}s)ht?Jdqb0)IiUV};8$jrHdHAh!3AUgmhJ^sHAQ3-bWnG{B zUUOJVL&jY(G<#!rrso4o>=-h%T{A^7g8R4wjW9Zp!P*bEa_nNUjb7zbDF6>g^Jyr0E` zWLy+Y;E2D05utx}@;O<9m|+p>0yH{8_*v22$1y2^@J$050SJT&2WV%nAGhjI#g2#@ z){>~(gDJ*LLZSi$`}rh;kjz2FrHH;Sc^VhLpVg!f5Fwm91`h(wH7HV<5lHuIH>4{n zWL}{-Hx2JeF8a_Cd4Bss&%ZFEPBnuFSCW7B9~;c((-$w~FO>U_`Of7X>F@qDKy4c; zf2*ODj>=zy`A(%dgO6pG(Bf@+6?9a-(I)q=@j@}uot>8rj@87-Jkt$b)chV`MbFa( zMfYb4@k8+S6VF6J3POkPpFlfjTK$5K3XF6zgq}in<=9=F%ICN)qjszFyCbw?dIgpUXd{&i4!XV#b)P zlRz}5+Je=kxd{r}e-;yxCf7!(Wsq7W<2f~dXxF=|S0kC!_x#?+^29HjVMDjs8m0Tx zHVvCFq!Qz$3I;QAIy+V^VYCfa$cldp3QlFRvSLqT;DG2|I~%`Q$0;8LfhA-Jx;z}7 zuHh+_Ft0vwyh=jb9ux(BE`7{{6lG<6;Ol@w#VQqGIlON6t3l_$lx z0enfHtnw6;Pyn)QelOo)`B)Ix%Hi5g#U1v+dBkepzv_b+Ab;zTJYDur8{}Hlt(K1{ zqbkA!fU{-df2(tAJ+~NHPIQ!&Fv(~Co60?mumB3q355$p$j=)Yo&P{FY2D4h9|QF! z!N?Uk3Rn*R2d;T&Cm!AxY~%G0l-=EHEmCq3w{vDW_SkSSb`fo;XF2lej~*-W2tFQ+ zR(AZ^0bEsn=6|XRZApK{kcK;i5G0=X7b~RRFY`{(iGr6t&Qg+ux%j|;zCSf6^yNe$ z9xG2e9%o!_^jRe8I;T$7^9{YB^2ep&nPen#|Dpty0r5ihsixs@+K$P6wpvzGk#9Bk zdj@h`g?`nl8h(EN_F;J`%NHrx33f&6R@}9&qoON{DWx%(vqM7N)hqN;F}z4E%9QQf zZNjn(FWDt#nuoSWmHBj^lrr)K(00lZ%QOUk>mq2bS!D!r4GzI$Dx73Pec%05C=t8=K}Cz%S0&4Oru z2X;{c*Z$@V=;3dV(6{m4Sh~v%%6AQVvHTbV|5SH@#bjBY$gi=6P{I7dFQBw0d~4l^ zN1W#cCWr*h-%_`_kDc`Iz1#f6Nz>`OlJv&J^oGGgMb-egMFfC1KUT{20pbvzGPN{t zeivsEx!aryKvx|@toP=BK_VcE9(K4z*zM<(t~vDkKu&+YgC!_{6N~=WQ&e1k)Hs=& zjavavP#f+SQ$JkP7J--MJnZKGl<~lzUXd5XHb-2+pabCub_L zApd%*D{QNE!J?Fm9k27Z`0u-vsbd4k>t<+^6TB>#YCOmz)oUEHZv-0X!O@HTVWc}dd>#S0bd^g66+|5d9eOR14yHT_B z6udFxx0Ik;rjZi>KChl%T7n`82`V$WE&@gz0<*<8@P3kz+g!<&r!Z;wg*56R_P)Ed zPum%D`caM8{G>*v`$BR!GkjVHQ)JXO z5*#zM2dJ(D!8eWTTfDAzu8Rt#eQ_c*F|sNqMd7Q`Vg&!UW>TN(*j9HECaMEd{X%DV zKpDCIM#a~^4o)f|C~_=id4tvnC}`#a_7Ey`P<8_jMu34NtjXZO{!=2Ppaf!?Qi)b_ zDzKRGvvTg>$T?P(T1h(T1&{X(iFNr-u)V@L_D#{Ci7JWK-GxD4Lbh8L=fPRuNDi zVnXA}R??<&SF`$*>jucEfx*;nf0pAisMrB)nG2(5l>uOs#rVs-(xRu?sJE5*MNNSq zY#i!Zlc~Y${S-A~CF1ocBWTMP@$%P8a+Qvu>JvmtJN@ zPrTjGc*--%rwa6uz)Tgj*7#IuFv^s0(o8L z{veE|%63rSeOb&a!K6U8pbA5nq#~D*5e%;xD3|qo3_~r1CPJ!92}Z3^q$);;=eyzi zQ026p@d8}Ut$xL$Vve!v`4;>R2Rs|*W~{!%62kqIa+cCAz9}5{cXwlz=x;P74VNx+9q> zkRA{p%Vc#`8>dFUum~F?b5klDv+WYv_Vtaehw}&?zu<%dkQ(H>E%Ksgk5^R!%lg8lNR>rs(f%ObrzyaAHc~JbNJS3mT z*T87Y>S){QMe)bws0#SeU$MoxZb9zMHOuow8C6{_^g$ZYZ=mJn9IiWZ zu>k|dk=lm+K3*USVvF4IOA~IPWR%z|Md;ZYB*71M@N`Cb3~9v9s0G@c%+V+Rx@cou zMh8#eIgIyx+W&ZjHaGhz9`UBry6w;?;c)?FR~1s5shsg*eJGfCkL)J-QchaP2d*5A zTKZYx8SM^%l(7p|i(dhx1C#C>t1iG<+#rgLeo8OZE~9FrK%>3fQ^@KjF+dsPUIPwS4o^32W93Hai;xz&m+V?@StYU&OB!mO)GWjf=OBV zkk{<#d9rC!nYRZ?r7OXFHh|86KL5Ne#q(Zzv8o9Z2+1Jvr#k>qlGxhhf=BRAif>uT zUn=g2-NW0xQ)3#Yc#@W)ZJb-uL9Lz7&qU-YFVyE(OB>rC_0+^=Fn-WPhPmG<@K{ZT zuIzUW-(9f|cXh;<%$3W{qd-mP57fUD#Tuzn^s}+%zTpjWlj!1!FMU|6ZQ{p*@^}yX zplu0925uT$tqvn5EruBJP{-E|G-Rr*H8p6bL}`BZ#s7Q@uNgd0PPWN55*ePz`yfj3 zl>ChwM5z=qxl7DzYhK&NM{p$veD;r}_!w-K@FiMAAkLGXZ)Hsc7T_s!1+QxGAGU}a z1Xua*9c(wFtBZ3}?M7{EmtFLhm{4L-GV?5PuW%T8K6A`Al?z(o#W`gVUHFwim$)2X zSELylPV{^;Ohw|~)t#nYXTwhOcto{F{al4lQjPfbd5Zl?b5AKyb_VV1DA%xyRv>ot zM0{o^!-9GR7B2Sxm(C+#KP_YUu8gYz9X7iEH!Bjq`_~+}-H+b`+Fse=0$%5z{$Ni6 zVfegV+1O7Rx{pm3{*9lnUD9C&zt=RTHY*1bd#(BZfhM~m9sz13eMyFDW#5k-5kN)Y zD3d(1rfcVr2R*3({{#5~C`;BWks8c8%9x`<|6<7jIYITR&q>_-B|0VliHf4&>z;v+ z?~e#BhlJOkvg}Ozm|{~~HcrN_w-{N=NDW0t$qwrg)Kg4xB+5KV${&>5BR=Btj$F`R zoTs(!O!dM^ckZNyJ6>qu%*N(l3+}^M@_8aYmv{So&?N4R9al=+(+OB1Ax1;T=S|S5Ns!4GuMQL~KdUxI?y#8zf38!Tr?(_RtTC&eP+O z@`JUujSu{!5d1Gn=UB^UKpf<0_OL<;PIW1r{^GkGK!x=VT-KRy(a}pu@T)Cd0CkOe zhIpAXw7KzUZ5T#11pz+i^tP2<`t*>L15Yj=94 z?hk(2tA*~3Vq(0su$6!U`i)B6CFlFR#+qBpE8`V$j(aBu#2c?~&u7dNx$EXK`(1AO z1Ux01yFE#(9H8nQIMouINHct-;_5v+0t}OMvQS-{X&)=Pm=8^)DAw!U-xgZBr&8aJ z?OT!^cyFu@>Y}KX#m5#TQ8pXVoi-od^|*1n-$@GIRYu*sUU{){zJQjAeqxdc}Q-HH5VO&$j6g%RJbHdIf#pS)|lU}M|S~N=vTsC`p zm0m~rplb)U6z{27`#vaFMhZl@^4}lXC+&(lQ64KL@Q}8NUiiY-(pnl$j=z_0%yk>gfdz|41JuC|!Y*T=5hi%M{nnAiB4*4p2^-TcAM zr(miG4o~6x-{04y0_ z`vA)KSik$>`%SmP^ViCk zX1_A>o*9OF#K?~UaIv3gV;apcONO(tyUn$Ozq`x>iS`@%x2yy30J{1Tn{K zU%f446!5ZpYXEBMYPiLmEkIE<33_Kn?XVCEEF|8!P4cRSdZ#B8@=0xUEuwO19eZ!A=!Hm?A2QTIo^GV%Y}u z_ii76del%leSg6%Z3-XR0~GE-&Sxjx;W& zgo0khBg3fSvTvoMG5Y`)+og;;8T`puXVpt7a$WK2)VqcQ*5=g|(AAc;v<1^QPfZwh zXPn;4r8e*DEbm6D>km+oF#aR%)jI{EzNrk!m7Jm|K`OisJ6E0muf&7)Of6eRz1YHd@>GLV2^V;#ES3Nl|P0ZDtmvSC^t%zfI z=}JS#q8*<(%n;dT>B)>$7Y{|bUrGj%wgnxSTZ&tSeP)FGlqRJVwwtc)Qw-DBR_`lZ z+jsCqy|!@SFMYItGaAQHgAs7p^Za{sbKPa5Y|!do(O2N>q8j(G2#5oBUDq1cl;%`H zl*mrqEY7fuNlVqTN$IB}B|C^RQR^W1M7-ASN@u^OH$VV-TocQPW?xXS6h_bFjS9T1@}0`ic3DhXq_&hTd}`-A!?LEQ@S1NL=a1q@H7VT2 zZhOR#_HFb=DP=fZUJl6Ni2}!FJFaLJ>nVZ(KgiL@sM|2n#$BE4xT^ z(el}N_J~voZg*Yuy2&*D9E6gdPk5G-pEiONulHl8a=WC?@yLoshaXcU>uMLzi^yP} z!2qH=7wI_LF^UDw{z%7~J1J)WQm%GTS|Pp;tTW?d0h3XAz{*ki%5Nt%Fw!l0d4A|tdW*WD42gv%jD(2OM#^?_CBxfdBFV+&A z8vjdWo+k}{4bY3vk7E&GaBhq*}$s_3t(cxLBGePQ$F1!DT zPuM!E{7!Blfa{H9?UcWm|06weUwGjU5&2tC@zuf?-wWhPNm1b!li{v)wR}nX3g=KU z!I#PhCI1yJ-+}jyaik1k)8R%k3olCOw3S+~PE4U8@r(sLf5q=7J&opfqWewTxEFV?FbIm07k&~vWFSLZVSs}QQzeAgmIE(%)hJ|v zywJWWil#PH7||tq%o_5yWjdNOv-CXwg&YMhsMA}KM4-HJg&&mUJ3oi3iQ$g{f*ulV z^U1;XSwQgaxp+{1aLqXRRtuo(4(y{fk^&frX``_KVVr2FNoax09Me&iGcShnXX@dd6Vwf zK+8LR|6arc4#5cHy|c;3`pHqj%u!jHVDE)v5?hQ-Xz6+PpCSuA8aVWT-D)8yZW~9@ z=e}eeauSwwC+QBvjKM;^FJJE+_FwhLMbe?X>8mj@H(4MFE z<7G^An%d2xP>#ebH`o<;Nw%fLrzkD{fbtGcT$9RX0!P?zeIqrsU1Oc(n8F^Mlc(%+ zXrnr5njP;JAdYs!(<+oK383y(Z^|6^Mb0td}7N6U}{sn|~(afkU(Oa>G7BO%}0J`j|) zH^H?Gc)XpJjjn%`V_IVS5VX<%pY3prn9zP?y~T6C%u^g$l^mgKD$seF1R&xQDOIR} z;^Ds!Zw*fb?R(f5Feh)i7bCVrm?9)H{sP15uF+Z=;Q9{_MOi2(1J2f_zxN8Ne*G84 zyY_G5eCU$yjmU-LQT9Bq%&tA}r(M-gRr&Y2GJTwhGR0qwQ4@($2Yth|+@%kfM+W_>b>8Cs|bL&}5wr}LYhGk<#XOa}l z7fA32GF0T5GKtFMH=j$zt{AsD4GHb(T1R=4zSZ#Av*71OE2jxXus;p%rGdw8DTtrB zT@u;j8mfqAnP(H6KF#KUy5fD^JzOjjG8pFBd`}$c+t+${GX2L|=l3qe1>anBE=w1X zPp`Fj@Sff*#mvPyZC$*}e126ph$qg|bA!4;cJ5j=*@)Q}h&ei24~^!8+uMw}yby1d zp(7WxmvQ)PdAhRCcu zOnetOr7fM}KQg@^I4ol-7~M97Jo7g=X1I}XqX2?i!zML67P`s20NcepFU$G*8Db<= zn1&e-; z?*giS{mmtvu=b8=f*TeeU_#NJydeoyzCLS8zP(iK6_%;XeML}TBAiS%uvT-}4f{Iz z&10c#0CsIKdOY8H=?W3C*hzzKKfY^mEMN(#vZ;CE+o3-$FQu|KCA&m>+odJ9L;F7u zTH_JWKyT1u6*=tBTj|uC#)*Cjhlsv5yYKOPj8R5O&IzxsEA8zMXdX3?!^kfpOzR+- z&NaUcS@cKdXCF<^9Gys-Xn%gYF%2O+*r#{}+QsGR?!GacmtDR=PdOXa78VGcYAmLI>yLtL^IgtW7gG z?8$)3--b(iskstc=z2t*p=u@I%X)ez>S_Pw9BFuGzNyQ9?`q{!;$N_# z{Yd5|x9xH@=0>6$|Ka7Za(I12kH)h78K?0-Q0Gt8!w}_vp!}e}Uk-~u-gBt1a?VGV zKW|>huUgx9q@X}9{9|Ll{vr}zat_3@66ICrRhNN_>~(A9LoNV1$OULf|J?b@SPJB2 zeXpOj48z*txn%Oy49@aA3lM<&Bb+(Fpu8_=(paS75;nmt)TF* zPyIuiNmpp)yiLHx$dpdTUduW{u>A)4hZk}2*u5h;WvihCzJ(2Vh*X&C8IX*~!GGAHB|siiuA0bi5)laQb>}E^no} zlWK)A$(@qU*;W6%!wbj_##iqF?dpT0_i19vXcTf-O$e3PJPJz{<#v7e?@0DDuX)vR_87zBpbPU;XzKj2;3*Pl27zDh7$PsGg*(vL9+_WW|jtdO%S!nFXg|~k2u0~tAq}YO9^pzs{0I4z8m+qZ`5OM zsH-_W06ITvoC~o1`MZxpe6FR+=A}C~SaR%O1)~hB|GHD?B@BJysY~9_OF(HqdS|Ho zyeu@ekXcO#=3?eo?hW$^bW${;Xr@`RM}B;fualxci8vc`-bwoFfq@`vj{V#rWw%U4 z7gihs`gcs)5=h)F3Dl*Q zsgYHb)*$UcVYrqEr!u9I5!D@`_h|pbnKM%owxy3IY+byz+D)0yJH3oA-DeH4fugP1 zF%`TzS^^~udBX*x#}aaA=^$T1qrdZrN7UG?xFLazH%&-=#b-GvXD`CiL7c*CH_h~6 zH%|-A-Q_%+H^Y0xFC|DcBH#6m*YXYGu^I{a`?KN}cl@x~HEQEJAZO)iU(YASROrVD zz-(#jC;nqY0Q+y_Ij(bRw>uG|$K|ED4_>YN0|Yr26P-s=K!W0>$TbOYA7Wi;{C2l! zw==`o>U-{2@i;7YJZ(5RNJ+!De;DkVj5M%^9ub9OS{4jeA3=Bzwe3{1G`HZ>!PXOGciS%cbrTmC65 z!Cabi#&x55yctw}ve(j*7R7oS6VHQqrgK0M!=JHf-+4AxQX=WPc8s(Hm_DippFJ-* zjfOn&UgH4}t_xXD!H`K_kN%;=e7*>R+7SlKE8Wz7_k)?_k&~2Cu#v^9!W(4+fXxV; zfL_p?)dO}GOL;x$PZK&}$DBX2o23@DGk-qP~)3L+5P1#v0YsH`Rp8&OtjxLD`}CKk^v@nRF%I{WN|KT z1pXEuJ2F)qFx^4^R`}?uGz%=?8TW~&E@;QB{0S0zUbH{dVK4a1alss3-$1qf=JQtE zX=ZAO|Gi9M=~Y(d;Diwwatdh1dBnf7gifkEkSKz^pQ(lr8j4+(A;CG%yBn0qci4ic z_9yP@Jl=#tsP+>w9_d%Kc5#yAa%vvZk?>l{{7={5;L1BWENXp0M|Z7VOnO}a9jl4D zl>FLv;n;dgv)q()iSFmCMb`TQgUgc4piQ!Q&waJ0J^0RvRP|xBrXlbxvaudK{|9;n zuj3eEhBTn$W1K((a5zs`*&{od%oH)C{20~e9~lWXBaok>I+`l}_>=M_zh@FSGK}kf z3Q-sYdO@lL*b&wwXV);#2O8y%7$gncOAGGb^0svW1yVj5WSUCJc8 z5Tn41hrMR3rT%*r?3aac_~ch*LuwuhbP*S5lIv;0?03Wn@y;Fm+c? z+Z7ZEW<>QG=j}FPxXAVo@Zg{zu)L}NsM6BmB!YzQr{^DZc-(o2_2-c*&hUW^-K|=+ zR;XaH(l-z0^?shRA%3&ZqAEp4Y;)BOH)mwn2S)9j2}l>iBTe{S^R-YHsl_BngS^t) z(APBA8}D;ia5_})2UJ~9kqGoJVNxXC2F@&b1!?%Q6zL#;+v0nwmPLU?d?1$nC1r5f zPqA1F|AEa>${c(51=;A$5iw{sgl?YArYk(=wNFnf1RU9mv?~9h=@;Z|l=|PTMn5>I zU04U2QLO}Wx9G?>xana^ag_KyICInlDLd(uPsR8X1(`^=m-#$fqTVTuD?sF}ng6dU zrs<^gg7|(-P$Vt^J!pm|l`KI^7@6iziRz+P@8E-_MO_q4xTfZ7WZR%869&_RT72R9YFgL@r+ z%lYJ052Hnr2h+$-cXDg;DkVIxPnftV|5|v_#n##NfK|gcl5BkX^FB3EEtUH23QBXb zFXF0MzVP^DMu%~|8-Ktmu5LT5t0o~v&vvyh1ek<>pu|JMrFDu^s%Gj0Mra*Vee-mm zG`mvDHUXW2QspTKrx2fwWrhN%C>n#se3i+_`M(7k-iqZ!@LBR#e}F<4s?1Vy5d&0V z<)46y&uOL6Xhpnl8NH=nXT+hOo( zk9^e{#x=(#6&RmweqPI+oVnAP?Q~0qLMco_dhHgQ77pV-k+-3@DB9isz|Sw(pRC?U zko8)8_HHM)z2&b*=)uFDR2>AA=e~=ESis)61*hsO)nU9;pCj7P$eqdCL*wOumz&5` zz1JExcG(w?#%GMojo`hV_{3HmoKR zZ$A(|R9<6eT_~!ryY7c(V+`ouP;X7W`q5!ej7qPnDIZ)wFzU+kf*lku<*>aiGWlS& zyoR}EL}(+>S#tZInx8Byzn7#@N~*8<{MC_N7T@-~crhE+B&Os2gE3Zi;F9b1^p#OAf8skAL!XzJ`@7nI<;x0t=Rpj#-cBK^JcR^z@Nt6gXeiF4DE)M$RH z7t&FGj%AbHrA5HTy_7M9PPLS@yiwUeATW1J_MlRmjC)Tl(0o`n1=XP)z+!k6C)y9L zS!jk;rnm?zV-C54Cu?mk5B+jqpEnddd-97_w#7f=C*BDoKW%SdsC%b$e60Tgjdi0- z5@Ohf<5Q1;q3?#}BY4+ooZzV`hfF@2h}UYMi@V+bc2Sos(FOBe!d6UBAEl)YTWb#v z;9UNCd@1#l@d^8A++_6NfegCd`E7XaE0cCjPFfn0t&&l6-3KYHN@I?D12O7aWo!}& z{rw!KvM}&;lqcbD3_6C>?zw{^*9PzWV+3L+Cu;kvn;tu{gs1GgiCr+PV#<`0a;N*n z?S#U+@2-DNHQ4URm>4E-mT80^H|yY8JJESR z8}`O_S1M)EvkYJ%W517NDn@hitzt%mQZ(DpC~!kKL(Gqg@Ec9vidsBd#-sFmZ<2#@ z)O#G+|SsEGm`^|3f6+GnL4!6!mNQdpCInRcr%S_9rndg>?p>lr-cmLj5?mg~h zndAErP`Mn&*S*9Wb+&0Y)u8kQ8{R6j{T^IH$jrAyss1^y1c!*zb?RnD`oA_9ogcTW)a)mK3WdlfJA^yy)Z8BhE?8&)&LKRpY&TbYM#t1)vnDB3By6OsC9)PPvv zmB!sxmuy2>7uGAXVK3leU!&KgT9^2#Z#}}@o(E6}kEw87&P8x({cJ6+OFht7mFA$) z@K{O9nEkaZcF0+E|Kw%i3Ew3>!?`HXI8NMEzwP<0fk*tiY0e$yz?>aD_w6N~+OpJH z(o56>M;)RD=4U(Zkw)f^0`ia7{sb=kNKu9od~mn~+9K&blrh_My|B$9lSD}BG0PMz z@qq8&_jmtx*!n>8Lsg;8`cg?-kY7>_7iG(Nxqj%~^ZS?mfY}VW`|d|mCtu`}&`I=@ zpU+q~HO!{&xSeEIED&N}J?=l2{5s%gbXwum#JR$GjM=);8i7%vuRYm4H@#3hc}n`k z5tu;KItlqxr$5(saPYA7Ob+WxF6bA+wDoBfWP zsBU4qlFog7(>KQET%i*ICmHFsI`_YFGUe>iV_ zu9A_ckpFpwR7%#jvi4uVcUr{FeEtVwrr-&o_w3sHMZ-PK{x^B@BCeQlFLCIpOBYxu zptx~?XHjk0sic|WS_`5t*xb*!c|>!Y4gfqR+h_ioj}=sDxaDm{X$Zg<{nQ&xc~1$q zDky1)Rh3k48Jbo3JK26IHP1$|D8DTKGt3Q;2@s%zGVt4len?GzxRXqt>{}9y5?+#( zK}W*9U>p1Wb%g>u0twDRDDZQ33G(SuwZ&iH!9jTn4ZM%&{GzK+o;up*P`itTFb`X2 z=M=?N0BP;i$L^!;-44+;y|Qk#vWG0&sQ&;tWsAh39>&d#NzB~82MI?&A`{Yv1ihU& zi7*p7M@Flp%Um&wUG9`1@LoQ5a~bn~GZ=r$Bc>jHe9J((vrnx0VL^ZYh##}!MB+F= z5Qz#?G@{iBgp2%Q`~3S#Cb%T{L2K3^hy`)DY0l;Q)(gfgrB6{Kjdfa(9<|H+QF=2? zRd|`j-?)9?g+Si3l8L2))O%{V0Kh=Wox7p_Rz=J}OD5)jm=SlzPw<^yQyFxSlk8mP z7vt_dpxP68g7#y>@t%~%WO?m~G(Bp#Ra{UPg z!y$xmF?SYbR$_!D73Tz{ZNsi5_C<1?$@N)BouaYR3l@V~oF+O0D$x!8HX#E%{jN;? zeU#Jpxsz|c3|HQB7h|o9oPY}ACY{(+rBv0GxHOyZ3CV+CxTE5CGf_Wm^Bi@8!5WyW zElVV19NTE^2brOyw(+~$zkYP_R4bW2T3eZc9jvLO^M|Au)F{yVCfi^@qiN6)c&|)= z!znB(1TZlq_>sH3Sv2${b#Gf{uBG)#FW=L21LH-{ACFm86A4;(2U83X2XgfN&t}Ki z#aWOt@ZMWB!o!959#YP;xy;97r$Prb88=N%nGUITQCAx93nke*6NJ0wZMlm5F4*}!EVF~fH4)N zkcn4$e2VUbZklLXq3u5ef=kPX>qU{kxEN|AGyrBx|o8~otHMZrmx z^4lC5H|@&AY5Nb0Zj$U2s=_B%U(K%|Oc0!h1*tMDK8mDD0gT5U0qSRHsH^#+6Zp*v zG3CA*WxC4K{8vmsQ-p@`H0d_Xbd=fO--ZR4qKDYE2!hYoq6>cA| zFOVS8O{eQ^7f_-EeoY_oQM&i42ERiKbVOV5)a*b0^?R=X?iLwkU%>Gr#k~19wXz_% zSyepH-dNk=v=J{w4QE#CXN-tXpo$$-9#EUp9?^n!m8?+HnqhFuXA_Ou@lf`QFptnz z>5h32q%UeQRzm)=B&|;${>$u#`kHc%?;Dv9+$qxIuLZzVnnY!qP1JLN(`m+b#aA|( zZs##%GS&o2Pi($~O>nZun?sahN&2mECY(*Lr3@J^PzMEeqNnpWgAgTGyCp()lkRJX zOL1$HM=KdD9z1+Naa`R^@#-gzk4H^J`P|&Y&0&xZN)+Tx|JCB!<5-8!(6<)&@3GTR zWS=2}Zm*R~iu3@Y*FvTglX!A4P|TU>v(McqV;C&w#UKFWpk#+BrquR6Ay&*^repD- zt-{K?!gfFWr`zFLwh2eBpHRbj@9<)b(ZhW|h-wM1a5WSLh?VGG;cq;$?Lh-O2LuV` zW0xIamJ!3IQ?j8X^OOjbY_8^1&;)KRJt$M2=2W-jNhat%l@hk*Jl&U3jd#Kp-4n_) zKy8>8y<4S-=l229IzG0?4!hGit@rs`lvC-XZYcRI8mbxBuMA}_J6GQOqC=%%0NA%g z?Y08vqx+G)S9L!JxO98P-C77viv5qeiB;iR5~BA8X6-m|XVgY-P2cJxlD*2a~Um9zx?lIo(xC^34_c_d>ny>Ebj3pWHl zzhii=BzaxP`?vPShW6O1R5@Z)1bQK+lz6j_ZO~HGa{V**{{WytU%q$abCAQ_W14xl zazf{lI%E3M{h5govCsFj(wf+9E9yiS2xJa$bHL`Evy9`m7N6vy9#~c%-p{2>uwgg( zgB`N8r+exvYJPnG0Kv|uAMi(ShyaY|#2y~!{^C&A^5I|9pZpy1um1oJa`=GCzc2hG zejmxl{Y0U!<+7#NO#jvUNB#-DrkQ_aiwU;2PmO$7N4NY`7xnH3Ov>bf3ikEudR-S3&iIh)rk4jiZ%^Qh|)!TpO=xxx2;$yzvd%?eR!=HbVrfH z6&dW&B0amI7+T2?kwq?>{e4^fZviqp2RP*s?LgW9b_ zWriRek3xB%m3t43Bb*-o^bYK-e8f1d%fdXA8_X85sR2Tc%;0 zpQ)vN14fM>F#>_O01gPJ8@P~=0VCG44eD*okAeJQ1PI``I+OTQ5Og?lb$oXwMcKbFe4m}-RW|%b6FD@6_;j52aI}C z9u0?lZP1Kky)aG-U_Wj`)4aqnjGlV%DW_rH=%M0EXywrFpN##AY@hf6ufw0)d*Kg` zemj2HKMj5tco*WO$Ajh7eiQhr9Y<8Mhjj01(%7p-8)x@S%uxB5Bn3F+ zpM<^)vc1uCYfGlpZsfC#!ceznlD9;(AzKEy7d6Cpz>g)=emLT2)~VM`o=pn|8ge=zfL5 zxn%2QRb^G$6Om!1WG*{{al5!1XY9w(~0P1ZQd7gzi&bEu?9>hO_?w1c&&~rfD`(-CRwp_~~JS-ZJkY{@A-XP&p^q zSJ~Q+fV>l=_|yItUajEEOI>~&6Kr+K^wvw1x6VvvO}W{ToOG=J00GDFb5GLb@Q=er z@akDy&2x1wouj-)IV6@s^T<(pmv?4zdb1LFHTfj7cZS4N#Z$u0E>&pOl4kBy{`VTVBJblrz)wX8NoiSO38U$C9SvUe9QZ6O=J5){{X=;?xXlE;#hU> zvuK)Lr+sUnT&=~#_AxR%v4mWbT@{o9FmurKs`_`r{{Vph03H7TXXLr@AN&-H#yY2i z_5A=vsOk5fBhzD!OLmM0h15W@E;?f&xcb-GKeC_fY4BP8B5Jx1!Y_yZ8Squ!v0~SH z&Y`2|F-F(^Tks{=2bgm!9Gv~*>T9>uKj4XfvhJbc=JDpI@aN(E#aN5M)1-EOK zm}3%oglBNT!S)sQd^4A4xyDl|WcYfnglkH0sJ^ew%+xue)k&*arOPszk<9ws!9sUsObI*h6$f1CoZEsd9LSH{{Vt`#jk018ZNc* zCerTG>LV4+tolAuRBj5e&mfBWJoAFQK+Ldk!K@ugN1vW@l(6bjm96l?rLL2e%etCYw@mzdy@$Zg5ZQX7L^88nRbZ-NR z7yVX+X6%U~=d|*fWehlY-akQIm+f8fJN9Vte}=BUF#gb1H!xcGUq_wqH9H-8<4!MT z2Iqoifz!^3ij2njQ^rMotKpCMCjOP+zYke>N5TF&({#NnO}9&ZJ5I6Cgiu>TqYD}$ z@Tvy@4wQJG{t2(6_|Hde55@jD)3rMXktBOd?F>9@%0nqCP7VkJXSl8^+y~+;v*nGW zf~iWJZ5XIkqNN&fN-8P)UHMg;*}Jo7XPiE;9>R5_DLc1#$)_i)cIEH*ACn#-_%&w_ z!=D3uM)>{Vi!D1!_?Ph;Og=2pua#qiO3`9h{>Rbe!N-=e7<|asvNW?wIakGf_5T0_ zBe(EBhdwd>(tZ;7K^?4q3)B2prLLc6rXTb>Tj#Tl?xME~@+xJK$WAxAo}|~Z__O{A zwV?R#!*@Oq@t=%ztz${Mi^{swH5~zEhGhQhBXCA5zx|SbWWNV~$J!>N;co!Pq}u5> zYZAex=-Nuz!){YK!Y>@=zf9nar;M<iPRs1enY-$);+3AVdhgKpXS<1`EaYQ7#X&9ox;7B-2V+@He#3#1 zq-S?}jjq66nHcZuU%H_!t@ICnk?QW%(2V+lmKvJlx3~VTU9hp0#0a zcgOQ^dyLgY-k*KJ^jd6^2W|)huoMjwJL+WK!8J*QG`!Sp9NOQT(YRc6Drz zuca_2XpRCt`8*H6$gO3w7K2 z)gy4kZaB#tRQC5w$QJ`7^&XUmpyed|*w3|CwlM9?zSzZ7oPgs5;GT2M3wE*PNXX+R zorS*Uyh13*D*pgOQ^}}#aqvzTsXmpC_lkfj5*CdVy zwLLCl1UQpDy@g_n=$V;EQ{NPWQEot!E8iZJ4?})UL2yXx(*RT=_xM?{#!1IfSpNXp zilnON{6#T!HONio|T-}cp#C1=sMG5xPDpRsq8;m0{WUsbWc&=gPxT< zH%rkQoN#L^?Fz&ykDDWcI*PKA#sMN;bI@^5K+w}$-R?IxL(rby^&?%Rt+R}tm5lch zXL5p0J$MxOZ$VPb_#|`hNNt+TaNAV!I^fXK#^7$d~=@_Zs)0|Qp=G*3P!5yfuUsG;r72FgdkJF_g*}-h>C!cd!g7B^bIp?32q!+Gm zgyBi!2cQ1612iLze9&+PPadYGDH||Qhpz&uLo${bUi@=bRoZ+qo}YN;fsbX#9$M}- zB3nF;3r0sDl`=UtfsuetG18<fydHXV^)w7cwTz*1G4ph#DH_L-65|~WHb*!cPD%7NADp=1&rb9L(3M^_ z1c?6tN|GmOxNqSeohp>GZ8!sl6#H9<(aCvu;2ig$70YcC5%;=|4mwa`3ODn|N^rS} zl&JLer}>+gg+AvzP(3U{(GB`4z%GJ zw;0+;$ILOoHMKpE^FTxQeQFu3OE`0!1INqOm^EWDE}ATpV| z%A9AKa=N^m3iJN&O0u@ef)wz11HA!j>{VFAi?#4M?cSXgrdTjJ?ewcc-2-7`B>JAl zrbv-MUAX6*Pzh^eIjy##VlvqIbIl}HYRqy_kw!AH@_lFqk|-^)=*me`k?3d^il}zQ zjGUe-;Xf&020-sk^AjWt&b9gZj)eF&P=?)S%kN_dNEvw4^!jz>yR}c3oN1WKlG|B2l@TkCXjxcE?wal9W z1CdguCftc*mAp_ha2Pe|2)cTcaV6oHI!{p^PH z6yOOw@IJZblXqfzJBhIsu%wU&=}nY4#@P1~ai3~N@`bjaL_Fh)6yCI?_GDFUo{*&P7sp(F#jl8E4E4yl{TKKMGy( zaVGw?P+a+$cNjcvKBL~FYp_W>h~3WLN`|cLRrI?r2^W$WW2njN?Le6Vo*16|RTa2Z z0l7Z798~`RXl6Vp0~JzeN!<7o{tkL1{{X=pejps29}#$e>Hh#BC~Ns^uj)ho4tJGX z{s`ye^;G2ei^KUj{{X0zHT<{KH*#L*|JM8C{t1GDPuTNI%3%Kh!e!#VPpAAO7xnZ8 z2TyK&tLOg!_$DBK_+x!2bI*)?SCQ-g02BM__w+zivcJv!?DVPXbw%1X5kji%Rp)m( zr8dfci=On+AO{)AC-R}C3g0es(BxA<%QmsZslTWP<~2ITzE)x#Pa`!-DSWVezNfLN zR(9LNbDjoiU7%KE@k1Wr@&V5v3VGYNuOp5s5pvs3NF4tFoKg#hA%i$Mq^{njd#PBk zw;wQ5Ap~=i>sBqUNf{sp&&%|z$tDWJkPb7+>r$=8@whe*r8b0}q-uSr2Q8eQ=B%Z{ zvgMTV)84WT!pEGPcLzDAE~4z2{OWfq=^G~NXe=9&er{=FyhYoE!5BC_IjY~GCW|;DYcFo5qm(lt+s+RH zsvETjcI@-q(u?j-mfU|jE!cPNPGn+)6a(mcQasxSI0W!8dQ~|tkSSy%k=~+frfACJ zJas*2NLMY*aC7W>`%)#&@^+Dt{9d@M=e%8qa~xm}eJWUPjE&`^5Hsmc!cOJ0cw3C% zj+yODd$wr~2T}6XN#uB&bU+;X(pwg|b06@I4FRpm9^y|t08V@NB8RvMnAGqOTz989 zj@`Er)317s;{^PG9{&K10b%yCzSHI|2R-^#w4GO+jlGU@S)uvZulG)JYDAbA%x5FM zO#<6PP+e^V7Qi0eXj_~x$EV6O(zA@aR53Wu88p?IW0NZ2li2VxKsL>Vx#xa*4n}G1 zbU?`jMPQJZI=(=oevrR0FcXd@B5ao&wtzB z_RH~y>|x<=3iz8wK7NPdop$3!@otzcT4ueo`xNskqOUvFNYswJZWzfG{N0bVevo)} z-IBNdqsbqm;a5KaO?SWkmXFwv3w%h6#eNOY^{r>YcCt;a+6ftAu~{RG6$dOx;2(PY z(fy?EKWCW#0N|z9dROe@;avjU+xR}^ynU!>fn$ZW6Er?lF{-ZDkS~~JV18fSf)4II zJK%r9?~LEJpTaE%;+KxU;GuWg$HU!!NLIGdJ{MXhjcD)?HpKSfq# zd4`r=&TC!ui%VzSt@rGFHceL(4j{s+c8px(bluxm*)Epe`t56VJs0*aV80sWC;osJ zANm}1^>a!~W=sx%=Dtn+jpSIqGsx^X{=&HYK6vZuXS+sH6p(upUl-s{{E*N7zSRE! z+fSh5kNF+{0NauMOHy3ADPq|Acc|pNX%}Y9@y16=r7X%+44evUT{7_|NFR3{>-JOR z6S6GDD@F6W=bYoxr~6?eoZ(L%^_*_ps9>1KRW#PPU;tMj?qQA?de9vUY{A$9 z*~sd8iY2((yWcq5f@+&ww*0eUdJ2iJSp1B z$qDl*EIs+fJ}c$hggsAj&S>Zc%yT0Ub_T^rlSW*EMl;hDjJLe*+)o1-Kb=Vx;s!Z6 z=d~f+(P>pO;QJ41ciLkIxH#x5I!!}z<2Y=7RF?OuLC@aL-v)siO*<=OuwYNj4M`Qs zi2*N+`&Lri64PfBfq66 zylmxLp1}8~W(DWC!|y!y+m7{Gb|~I%a-?S%#YEQ%PVM}hj1I@vqMCD$pE)DHdUn#_ zS(0L?RdIqa4Mz8ik^9VmFbF@bRF-g1k(E8Ldev!X85?nt#xqGRY!Z4JQcli3X9pY+ zo|O@~Cn&^lJ#ksjc32BOV{2ZPsbG?@+i#;LqkU%Ut>9`wbyLf?`NOx~zMoW*CTg*I;1wJdVF_JT$xvb+nn^non3}t#$i8~=(*v~zC3Q|ol zyKK~s>mcE=&r*6+sUnqaymOr6t!76upOo@5p0#q^u^WnS&#f&+xw?{Ew$btq*~zM{ zJFvj&dlApptWFytPy#!)YP{;94)wtY*R30|wpV+(BHRn|KI;zE18NS~FDHMyj1J5+_ zS->So0B4@`)DlFuBKW;I$Zn&6O(R~E{w{NXPkN*uenNl<>M_M6grg5KG6?DiBk-z< z_d@S-;M63@3fSivH8S2vNg?tJaq{A`w=$^bjPM6)a!$bH6OP~>v{_q0?6hX6z4KRc zk&JVmwB@{SD4oXx)bonVhW0eim;#UC^`{%v1nnz>!Ow4M&QNKJ?9*LA$J`+Q0C;AS zJJuw)BZKnRV&0ZKu0oPWU}^D6?}k}1#&9T2rD40IYbK)j`H4JqJ#$jUd<13WByJe% zoK{Lp<$#RCaXoWVeY6l1Fee;=-j^#|jcvK3H0!r=`ti?NgwDl}n%^#Jpp^<1^9bxn zJ?WB9E3lCW&ql$as}AZViLMzYC9-mJ%_`m(Mr;neW74WL<2yY^Q~c_)Ui`%X$j$`` zHo-KJw3m`L(-Y^P)~{Pg9Dw7VxX(3#Z+xMZ(;ndZRrH;T1Lk9onD-)+ve=$xo~FT^ z;bT_>{VL79@JRfpVY@wR5*w1Byoayd=cPz)vY>7m%@!^!*=yBs8+TDj{h)}W=lOu^ zSfAP~4g`eY;{a1zP;Z!q80(5b%$qjXRhyl_VE+IWO1goU=T<)4<2BAL^SLfx3!VmQ zWYr5HP~`F2je$1J*1t^c^9bXPd-_uv@8vJQuU|n}t9g{>dOq6BtcfA~dQd&h zcf4s=gYzHKkX}fuoDMxJDm&678_B`rKD8p=mXN5CPVS%@0N1m;!v+iqJQehvwrE4}0e9qQ*QG=xUEE36?wVG8nZpCyr2=Zh)>TH@B*`5zdQ%=# zhEak2+!{bseEfg3Dk*1-HUJ!+1uG3ZA;HJWSZ8luI#go;%Vmk6%ZC9$JBLy0P`kJ% zX~(@VWX#9O+{`jqaZW6Vyxx|->ZZe~i4s)Ms0hfHy$`v>VrfI=|OfVhx zleBT|ngL4MnkGOHZRCT;H5}3wKQBYT=b)-$;|sfXayI}wQ%vQQbDaD1ri9(gGDzTs zRtMIVXIA+^<2cBwa$KuE9Ffm7iEtT;vFLcC&$Fiy{5s86T}g@@@G_?j6ah!sSe2BDl!>sh)RK8OZcB ztW2GYFK_||3~)VaGj@`WSYy+rS28m;3Y_DPc+E7jf}k(Wo_MViib8JsqR^f9EAGfV zQ-sUr0tR@%IjSt~ju((Q{3%vuL6pXG$24-JhM9GzS0ruDc`DtiHk**nhJfouj#`Tb+;~knnOiq-JRpl^yyMj8)hj*>*dE%aq5iNAUjujW_Ki z5A~VpgXvI4p0CIEdyzp#LOITO08-_N9}2oA7cw&(9Gr}ODP7r#O}+m1aZyJK#>A-R zlq=x4J^CL?Wp1@5Nd`#??spysy(4r54o`ndjARyU5*vokY7E;5!8l%r(uW(dC#Ix= zS1W?&uOg)rvH-Xz91K-aaz;r*$>5LaQVATAr0_pl&HK6yH57am{{RO!$-Djt@8j^; z&-^5QAMgJFQ7Cw?<=Vff5BNEv?PUJ|ff&rzmUrf2ezk_doyF`}6(@ zi6XD;Z>4P{pZH8XRB`G502BNA_oIgSmo34?eE0tV1jwF9{{Um%FyIgPth`h+yP*F7 zgo6J7n)kzUSakpn2=%C66FStBfgwyuytXh00-D$$uzX2L=Yw}Tc2Ks(h?>bP*^ z;d*z)C)@V6(r`LpccozSEwf09S9m^#nC~b}>c4pMYPp!V-8_$aSnk=E4}delrENjn zl53H)Z*!ICDT{o#42SYH6w$*dc=eYx=0_jF@ zK+R`6GLZ3|s@#m4SY>cZup}P4y3-Z))V^+6ml(l6%871DN3p(R({)shnXt-oGI7UR zcJnLcN!#718+I%;`>6Y)j-2(UrRHP1i$2yU&D%Nlq%yLo`G*}n%>urcFG+F; zC7dn}2Yh{M8K-i)M7Z}HRYr9rpD>bm-Hx;YBMr>J1?~N5*jh5gb4hRnUT6d!aywPn z10l>~r}wKeAC#GYh;}{eMhTb5F|>!Ka%lv7%SLG067u1(?NFKGgZ@3vIOHDH36;Y2 z=sKSDR_bloJGz{0^`RlT7v#Bcnc$W^aZUU6O zP`Pk6K36Jn5PlR9aN^K{_+Kq?V^&cDS(Q6kd$1Eau#7cgM6n+)@ z_Z>R_0P1#YO0>C@XjE~&>)dI6zjs67GWcQZaW-EFK}D*HPRiOVFV0K)(E2C#LUA9) zCu5)a0#DQZ`0MG}CUuB1oc()O%wMt*$Hpffx-93ZU=l&V-RVr8)C>S~&*$%7 zvY#KQ#+U-jBk+5S@j;l7pb|*x!>u%1{{RB9>z;i((rsoWqW}d0B{y9G8;^VnbIP(N zV;SAoJw-4qf;_hv=x7nYmRWfGd7vBAMwy~;&KoDIXNq%3KWJ~ln;~d-lA!XVOSDz*Ax|X(6ZM! zV$5mcY+{!@O<0G-CQZ)y6 zB=yI7l*F+|o}TBa6s*cfm|kT!vFJLAp59Einto%B2|Z0_tAf2TgUIe_-g2t$&l%&M zhK-pwHKe&Jod9pGK-Z!yka;JQnydEh!{;L;a1B$$)B9^kLx1C> z^Ge!;Yy$&~agkW9e6H9GK=t(%Ai8A>9_|lQ)QYZFE^C_KYf{Bdao7X=>00Rmf)7>x z_c^RtwFgsmM#YAl$XJttIukOq};I8)~NAeGrK*%^GR)lg98SYf}s(w>6 z+lT`V)C!d%n75a=0N{d8N*lY>T9=kW!wAG@?{QVHqjMho@OkM{&!M6yWRoS7XQAziPEC)OQx@vVNR-L9Byd2g zZlzFpVVeYT+*d(!2@(}%1sksz=hmssrh+6`{^`fooMm8fNf}X@nfH~!$pmAy44|nE zl5@uuuKH|ya)@(}o0_iLc1UBKXFTv~q}A?)x+p>Rha@%%@wG>KkqgEf5^eV%%BQ-8 zqsNw+!klN0YK)?Gh`OQA@d|4CTVR%&76s5o5irR-{RI+U!-2JaZ16#<$sNqd2EtE0 z2TEVF%3t^0N8RF$wYfKCfq#RvHhnj7#UZ>&2uzHQqcsfHO_KYw#sSS#dwE2Fva!cZ z4)s^+Q)Yy>N9KLR5!2J@Q5BX{%O2SUPwQ33+KQ^MDoNIOr;r*M4S7j0|v3 zrAF5-R{-)m_ovG3sX8a3FN=)H)2A8EDMing>~b)Fgnuf_dzV}@5J4P(Y5xFiXzSU37T&PIKPeN+SNhW;afp9a&ddx3vOVP0`HVh7g zp5y##>=^Sx?jdp1R&cuBga-UO)r)zZHnDz9BGX2SGb$3#$UVE#%PTM?xjb?`Dyh3= zz-)E(=}z<6z&P$PiU)K{_N6VcdiwXJ63OOd_x>MRguH4@j6ope40feiR~yl@j(YJx zU6uisA~!J{<8eRIjo{%_uqUA%Did*%H?VI?aDDh8fb2)~pf)8FD`lTQQPQ3+9Q@ep z_i_B{6+4)P7y#f5aB1ZZ24%*204NQ|tHyp(=W#zXd(szjzc;8D1Fc3>sLUi~Pdi3U zO8}6ak}gJaPG|w)6yRj=deo}uxInla{pnFQ{NJgmA(lP6a;KbUAFTshkolh}0SH|2 zgUvl=2apI{V{U3fkq0|K;P@igI#j757A{XC9crEl;GRdn2A{nP7C;pC^q>9OO_gq=Ad$3~~M18+y2MoaeP5m2sHc0CTpQE=r7fW7U4N2B=bm z{KZZ)lY`XI!SEEX1JKbVpf3CY&rwI5yRZnrIV6rK0jUeLd|-3H?r1jM*}9HKDgJh3 zEI0}~)18B$E>AqrJ<8u_WF&RtjCZ6kgVjz)RW)SEwB#x0s8iO32N`9+$MFu-2!qLE zhX^=Pnxa?3~>c+pz*e&X7gWjsbB}EdIe-uXbyg3o_hL-DF1YYeE?&$)hFammdnvob~<7rz7AtSbWMUEH2Jb4u<6 zVLo6p*F7ooFj^Fv(C!5Z-RLRt*%8Bx0(k!bJ?cXt`>~QnIXI-4CcW1sprnJR@-I34ANTs?NAK79U9$rrFIi?GAVb>Yw6*Q9V zD0dDxJZ6~ED>n`R>;*gMCwttlac-*FRzAj&U=kKA>$vp#RE|?{3_0fq(v%ep2mtfj zy&m$_iuRR?q9)}?W&T2sv%5*V9CbW?wK3XT_k{Jx#Rgy-%i#Y2N-p;)>$wU+f&1ns zoT(?bdPaxlEw>)v^!BNDqnxqp!3LWnBCZz)E$Ld_HL(x4d1_ZA01r4F{i%+iFxnR# zc@*RkmEoH?;L@>79iX-ce)Sy9Aa~^$N!|OX!9JdpMKIn3oRQRlMDi-+23-3JiQF(! zs4_+mtu-jwCMy&9`#xCCGtPGOq!JOiwyrVM9%;OJdk#Q7v&p7{6mBO6JQ8})l3EV! zNOHOXhTykCdJ#zMN!zpJJ#p5Qs*(3cJPHoQISGP)i2BuQak!#3Y<#S_$m$J9%_NKE zg*nGQ)S#~z7{K)FL&#k~9k|6L^wgaehv)bF9K1*TItRz9RDwK1pl2igqET1#4`0*o z{2b5of59NUdgK0v9Rt7pM53?e3bK~qkN?p7oBj!xK7V8VJtJe0<4+a>ant@P3;Oq{ zo>n05(FzWfrPt5dgm*gwEsOPc!)FInZ!emuDn{mMzG@fL81d=}`x+tjGc4Y7u-1nvlkQ0(}ImYT_ zS=_NDz{U#w;0{GLS%Gy{9@#yruiF$TVA<^0?NQBe$^)4JP}t|aE~P(*Qu(-8l&C#@ zsSVJ^#Y4~KRA#w&mvA{50DBL5Lv#jkaz_})A6j6|NUj5AS2!I3rxX$a^5+EL{{UL0 zXCkt(^D)yuTD2Rix5~T@2&7M_=Ts4qjl^JrKdm!q2QHW-^*yR^a{G#7rZ9Tav}ji? z$m>j}sM4rYa%5wVb3~D_Ado;f0Oq9;eE3pNbDvt0NFB$_2tA3VaW$b)&~dQt1Yqa2 zGHZ4ODfzd3+;*!$S$;^+5`Ad`4o{i4KA-1`chFYUsWeU_*dHABG^j#_Imz#n)~uU< zGxv%?IOE=_~1HCJD&TLO2y&rzOc_(>&7o#iA<8eX~&R-rsvXeKIJswZYq=-%V@z3Ev;P3XAEKi+ zf8uV~{{X*DURCg~Nz(7HX4Q3jm>`2p)O6|Pp5>GzY3HzFOK=7&-o85gH=p8nhM=~$ z)+4eybkBCo@R>ZoBVn*$jD2h6QF8>aZFxRf6mN{T3_S?we;WQ&@gE(D;O`Y^XVvKQ zQ?hVQN-BJ`)FiL(HOl0-j=ejdsqp10d9Mr00}0wm>!WtOuDf3L=+5)@kNu*w7Vx); z{{Us5fPWd`_<`{Y;y$MKx+EHGX(D)L%5V~C?j=>&k;I$XLl9WuM<%@s;@5$+KZT#N zu8Z)y!;r%rkB8&a>}?V(U?g~6G24pp3q`Qg+kT%MR_uDUtYRX5r2r_a+V|aD%P!zLm@L{D>Ebz@TGNus z$==@+-R}ICW7L0Rz#HQ$t8_Xf;Qs*Mao5!CY@v5&fCf3{zIgqUz8%j5(EL_SYBL?h zwZ)*a@($%9KsRsC`#mw!1kzQ2OoTl^arIV%HA@sl6c@zx}DLW!jGKG6)$ieDq4v}>uh8WIzde=ZLQ+Lqfr${0UeG2{4+J`m@ zJQ5M@&mr>4#v|$H00N*M zcpYiYqa1`>6~_Y{R=V26RBSoto+@~4VLSxj4#%8QQefkADjg+RK5>@k?$V}+LvO~= zITf`XvTodW4{v&sD8y^A&&!jX(ai63G^}IEr!0{%DUwenp_5H0-zyFVPTsY*u|E1C z$>~tf0=ZnN8GfRUW`|-6Ye)is2*B=Y>RUyz8DDPFdR0@+ynZB5gpYmN+M=6&aYbhhoDY zkfmj90{sn9a=k@{^2~}(G_tut<6W4IV0gP zdwnW4FiHUj2RyLsDzeNl2>K9vQtsXk(SS!Jdr-6!cVxsVB>?0fmp$o@6<2E!gVce| zKv|>tw;%DT5E*bn^Zn8M=~!udz-?nJ2^+D{dQ(lBG<<=QINRE$RdgU6jP`b|o7Xe#M0d5N9|v$t?lg7r(7rf>$3a zrU`BUsj`lTcc*{nMaI&xiF*Woz*?U3Ntt7LVUKY={cA3AZL@&e zv5}sG6}F<+scu;gcazj`1wAemSca3FXPyD9zqSLJ4+p5v^QrBo^RwnjoR61xA6f*h zb57aS@h~g59COL~)`~J94nC)f$F`I?^7f86KQ=Hb+!qIDmQFjB&u^_vqo#!|4GqhT zZ9KMe8l{dy{4x#)B-Ug%a(RDyBRqmRsRZTl(r&=}${M9Dbrh`4D6UvK@J}Bx>BU-# z;JFUNpG^L>jFYh?TOf|a=ZbpXJa`-No`=?l1eMU$)~MMRihz*Cy)by@ri%2a*)Q>9 zjMh3{ua|&&x8+Y4v4S@fkUm<67Fw0fiSJu(5Pua!x1|QuY=Q4o68JLZm<)sX)NODX zb01uK_N3E8TC-j|y~(;VGqnB{J-y6vfYLC*>!0UXLh@KRjT?si1wC~#$@h+Po+%FK z=oa-OBqvO9&w80=M@5rp#yc9pj`3WEbJerQdY&Ccqa8r`d7urLt^g#aGyZs~#pre1 z2OwdySa9A3`?3W+i8P}5f%61_f_cH96E=m|&fs@@P;V7jB#KhZ5J%6e9+c^v2IP*lS~i!K18xl@^SNwo91cw(UrUqyp-0{X zW2O(@_NOi0)ZS$$aN`wA%#q*jkEJ=Ec=?8Qo;KAam@Nw;^JoA9#2%z_X;S6hG6Mi} z*z~HSbK74*4n*`+;r$KgXr%vn#T9;TriS+Jz_{{SYPfZsE} z0APJ-44E*bU}JLi^rooX4i`Lh%_NKm9;?YFk{Lstq?70~)}6EmB%Oyv8~*^SMj#%b zjw!|hq@Yl9-!y_%8Ekdn;-oT-fJeX`k8gT51VtsFMrw&l(TInQcrtJDU^9Ao)W zcX3#$AXUbB=cyFZUmTu?s2!?l5S0nPC$~L5v`hB_BI5_2dVIjrDEXf;9XesXX?(&P zb7X>WDQ*!+Rz*KHe($ffH_8q;8%{#xnxyO|J~s>o!S_0oOc0IR#(C?_Miyfu%778+ ziboSXM?7V?2ek=4dLuGY?R?OMrY8-UA>PaOXMI)B-Q zc7O-24M#J*!p)zZpYU@4fB19%0FUyR+u|(%6aN5lD69E|uj(`Y4s?wN{1M~F?HJ&A zhr|5iul!7*ujS5(JF#ki|Iz!C{t1^J&)E-8k)N-PJXSy>vGE1{d-Et5Y~UWprF`@M z00hvzNdEw2jXX%iZSkjy$IajVDhu&m_HVZzERu24noT~3L|WysJgbDpLFXRkqh?^? z#s)elsFGnT25CtjO1C6wusmb&KD1mldlAJkY_53qJ;${qv-y06%7cPOZ%TorbuF;- z*R3^fe82%6dzvj_UqZ%Zm+vqja(h!nv2_wF6aDO-XjxdR2Mhq@@z8xLSWGY=+H>4< zOgA7f$t&#`UYVu)E1snP0G~>>qBa}b11CF4sTL*P5Ag6>koDN76@=`dWOK+0I5lED zC5Xe5$ZmT-B&ySk$91IOnA%>{^OuTv~LIN$3u7k(^Z4@cDA_pZBWp zh<_I&sllhbD%(GEjCB<5B?~){$K|Yhnlq8m6V{buk0JBVr)nhmq}p46a7Xx4WmfKb zk@!@OOz`#;L!Jlm&+jXO;IhO zo?6Uut;TYBr6M&^#xcM>b4^)eC|E~=c+agz36Z2Ajt_7;P$EF3Sb}-a89B`|XFGZ7 zeGN&vMPM>A4t@UsDvhFNZ!lo<&lCtzazgDnZ}vg!O_J;>^A-DkRUef90C9m_9IX-C zw&NfK@%KTd?a&iqwbL7O9 z9BUe9q6`3jg1QYhPxN0c&qK~DnzCZ6v~oiNd97%q93J|4w`7H)=DnP`iPzWR5Q_-FeR&02sHX zrY#5SlSG

        0}Cx2spWj;HzoJ4PBeDs$jnFvW@+H8oZ>MRGKY*l{T0=) zk{8%N=3Se_SmeuPoKgJdhgKN=n5bJ0M@vV^OLC|DMcC~Ky}0qS^vtE5)cDOrcT8s3 zCwbcRXPeZSykq3W^<^H}hDmFrz~Y`y9~+bOd9{edtNLO=6X$TvtVU+RYxFSrSpX!b zB)#0j^a`_uuh2c3S?Gf1yB?*FT&`2Eh>wPHtdy39_=O?+fsXuq0uD$FBJF5bytZ~k zu~A5B{!Eu-CtijB6lE0Dw{4Bhlji8Y18mWk#g2ScQK8%W;pR=!_I)aaqLVoda-LkX z@V#)XKZM_K8Zb*-VbiaRbB?~a=mgm`)T@m;;VXGO*zmUi80?nQDN2k3Bd#G{fSlIC zTJJ*5k1tl7w(J$Wb6d4223KE8TD*4R4W0;?8~>rwsqhRF6SYi`L}meNFH=Naf2orJ z9kwRRJh`tfDa=c_=p1`9{;Y^owA}@hyq9I7aA4atK!QLeZUZ0(8W(;q!kGx6k7|(E z9OrY$NkUs+bOhNSvDWl-ECIvR&u}-n;AM1utrlG-Jh;L#BpMp&1a>_AMFEI&WTc<* zjuWW)Uuu3Hqw{duuFIV`j5GzTd=PKq(Om3flW{ij>T`=q4;y|`RYnaP6uQo&F@A67 z4q=O|gO{A?cPF#YqqM5+sT)9?`@4tVfm`2_AhMGb*UDEDki>KAW^X3Sf>iJ?%LA*^ z0B|4n)OLg|l{@(yZ>CVr9WDdbuP^?FKATf9dFmOkWHHc~!fcvSG!CpJ(mDFHDC&Dl z`3pi9k#P}-OY|Il{0|h4$&-SN*Yumhz9myvBet@{isx4FwMW);IrvEykegD>yu2aleQWT!}y;c_^8nf1qRkE;;@c0E5jpx4hMwI4Z zzj%reJl~uUQlt0(U2dn26mY76(Gv2s>! z!kulq9mcFZWk>=|ZUCmfw8T&oWJ%at6@{<%A1FW1PFpDp#V)Sf_iLt~1?7Vis#MYf(%}lI)*&_oXtAa{;U_nHS#Kd_|R1C=rc#eC(`EwjIQDKBj3tfzgUqUNhE$XF@5oj6XO`X zrQ*jm95H0-BpkdFXD4JJ^bSG5Li=G<#YQeSbN!0J{PH&RtUS^>>A<5hcr0I`QIsk` zw-*Sg*=&jTxGZ%>%O?+P3k6FdqO>lWBW*2lh_DDs59pIh_BQJ5;cOS;umrb z+z(vixwRRF>^uN}=}yGi?dKniX3uJwC#3k>-^mCP2P>)PveYpL|Fu=Io-?dl8Ul-T zC=t}b>U*%9ox(}x?zM9uO-m(2hsWyt;p7kLF9rLL^;T8YAQUoZAM(?!7%0a0&=#_B z;7NVbyKGYDpAy@qBG1Q2()`R%t7^qikQZfQ^V|x1yKkoqpJ`Ra56~vWnGnASvAYY_ ztE2UdVYG1(L<2T!U+t>OhfVnMxn;Cv=5R)eA0MGn0>9@d*1kfWUGv*^joWEC`%MV8 zxheFkdr8t>8~P}Qli%|kH97AV3JV8;XpU$HZtY)Skrx;<96@4`aqC4@K_QL)zBBlN z{R2E$PIm{Eu`ee4VubW_mGuS{clu?YLWAS>ccyeRK-wqtT&qQBAX_(Ni7N68ok6|7 zzkThpqcEGiLtRXc<}Z1k5;ehrE7%~Nb16txaMzkn@|bq*0~+;1PVy_WE};B~Q{>N8 zeEkuS9tZQu^~!auSq4783fEyc1`eo%A0rpN2KK|HxrSw2eCTYxEt?-uQ@dDWhnvmi z5i@5sp8##vVTfn+)Pqj<7bH{En>vYVqAPI zldxBwkKy3qd8||}J zX6gbYBj!{^Nf8sZ5N)*L;HHLA&wMgG@sBY(1!63fEclUD(ardKa(|A#Xl~Lj_XxN% z#xtI``UbbdknFi}6hw>}XmEg_*VdVV_tSQj?l_nr&#%z}H0Ez$kC=~nryg4_vg zk$1ES;SFdNp(rjOW)PRE4TY(Nebdm_&eSH>zJDP0)j}Fbn$}#MiuX<#pXDV}!MrLP z=vmgrZHtZPFR2a-!^n$5FEw!!cNL$jLfNg}U#Ri3s5KHl=3lVh#fnAR;Po*&Jg`z| z%bA^%F>znp`~xLZplFlR{70pE_ftq6bl;me=q#nTQW2$?jpiKtXw#|ml8sZ>bv0j8 zMlP9TbjiIiZ0YCqOWMP>|si}UuL#2u9X zW57@@k*LE^q0`!v@N>lVobD(5DxbGtB13pnOOJ^a^@u)kKeIaIgF>m_qe1@L-aG6R z!j{>D6q(H{)bqT!y?NhZC(nT=H;|yV+97H=|Z!*F6eX*oI&y0(2Qx_ZM<7cDQy z&@E2K1U+KHg>qg#N&^L*BctF4g5$n@AWo=y0|ij4p8?^lXC6}p08%A;!fJDoJt(v; zUKX|A7;nCiIEgWtZT{pr+~M0*5366B9a}w7QOcTEpBzL!v1O5N-T`*rj{7UG&n0#6 zmlFSh#1keOiWj9-W;}4{PzxD6NSrST2vN52WS7Tm26Z#vMhMx@t&7=UaXR&AJ(=~7 zDI|rrhEy4Kw)6P*2^QocQtD5fr>M7!n8tom#(5f=hkGwQ^EkF#@}!@{|27lm72QO~ za@d;TGJwaMZWUD)*kiG1^M>BcInH$DDKYu=IHtUSiYX( zNx1Gc4Ze5gceviqkQID#OgNwR*#XBEloeXY1RqdYF&fUj>%edPJv-My9`fgct+vW=WEv-wU# z+dcL-mDqsUh*G0n6kW0~G60e^W75oe+rA&al9@!3(a-cBZ2{Y!y!|pi1oDnlOT;I< zb%y@w5JiaG4lnW51jaN+dPV2C!mg0RAVEf@4|0pq4gOi%oxS8ik3v+dzFGqhEh-31 z;=L*xDUeLw-@S=4$~`LLGnrlCgiYK}6Y9N}CM{3q{j1+W1(MUbc;ujVk(+|aC7n*` zDkQ-*D6EbvE^Bzp%&>S_9%P^>@(HNHb0a_2dXouSG(#;^TS&^wGcQYHBNfaMtP>hw z<-Z{D>TEn(><|-~B1B0yL!)(G(t;ai8gEo*D%bXh4XnYYReWU@7t>+RlYI7)oCGc| zo>xVDRPKS4Qn#Rs>w>_9Bb+GKtAT;nDeRjso1Ev?o)W2l$_{s}p;K@F`a!8pDAci> ziLY<|UQc;K#!U5{`~wRXE3s^wsPn@=&5dm8>GQaTDh2)$`V%9>2<%8wmL)Hc>};rS%gs{`gb;(WPgI-&27|ihm(G?6m;^ zi34%?C-<5qE>s}I2n^VFckICVt2OT_z=0es()B^SM*ZNu-j@${PP{X@LF;Dy$k?;!qX|W|RC#*Gm`zjj z5K#@q;CL!(WOnfnH_E7Tp;2*-nb>j^zy5BsA~P*3pYS`~uahd8Yk(KvuQ+Yc8uBj7 zTOJ{d6S(Bjqn3K@Q|(3Xa6iANZ2zm)JN|Y@F+?4n_XEfx3Qe^eY zny2uapIvkm4@?`!5i9IBZ22ADd{B%9$hB~FyksqgVoz-L*{THhqN z;bQniT$%n6J{d(mYQxH}1Apr(QaGFF*SFiul(eNgjGD=rnvlMvb^HKd1gD9I0A5wy zHz6+2b@D$A`@@OUSv9lKc}#8Vq(NY%#2}TGiK9d4bSvHZiodLsK+WCZs_W9&p*`}7DLV9PIdmZ|`o`9T z_JWpbLiXW>3fmA5E(K(kbSYIyPsmh+A z`!bWn6XpH}hNL+4gr~$xTyqISzS=3*k7kLrh0o9gVg?tW?7tQR+b} z|I?p;AXEt}TnswG2gjR?d{38&Z4=J<8myD^R^D%t=R)nw0nXtUe^0X_G@VtuG!aIc zSzTnxEQ)`8MA~As$!h2Qmm;r^z^I=1Qu_L({dkM~ueayAB>#?jui@}yzdq;t0Mcyx- zFh=A*D^V34?9U>5V$i)xQoRo*Y#x{TI**#gDPOh4P)|jWWowTkDY%h;S{J@gBFfvX za}}eL;6=t`w6NKzUuFV;$IP6n@``-~U0R4*qpnnTrb4fVZo&;4PHLmZ)Ef1#xaO}n zEUQipI_hW{XW7f_^CQ$e(cBvrYd#3=wDFxBcXLHZ;ER($&7qxs8@kn3vo)U8EwubH z9!*U#gfTfqjBzBnmGKF;`D7 zMA=BQ%Rpu1Oe;nKVQIdCOE9E!q*sNbq-lQc>|HZKMDJ&o8LgazI3Mxiop~!Y9-i;g z`@!1uZEGT^{YS#HJ<=PF-GP&R3vB@N*5iSL?nl;zYEAS54j)jZK!h0!9VanqrQ3FV z`eoL(bK$@3SM!+t{jKZZsR|i>g(3HVSdXv#KM*!}!;_qjfG^!0sOESN?VP^J{RjF) zr3b*|y5t|}&zJ#jj+Xxo6sYQ-!f^yPmFT6hI`uWv-1ss2`)Mzuz>Zx!S&~ze2M%bs z^plNv6|e{uKD?D6@qe4yMo<&~59Ap7@b(|*M^L{b6s~o@{tq;O|0vnJu(BfIDn22= zq{~Sa95ctqGuF~eR@Yo@6kW&EBC_W^qm*kBMQ)^CksxLUc{{*T|<_WN=I@=S)GS?LN-C}C7R#yQ;o0RNiHzb zQQ!?|=*6;PUn3x)=q(`xqs@LRfsabk^!Nq*E#QyRjcP#V`^UFGIDSJ$;u@;ZCcukb zwrsSU{wOL66cmo^q;MF4Fumv9e5%6 zeu`ZuEXs>NY`1RDijuKWc4>cpqZsw;4scgMVIE2URiCX#)* z8~Ol|?L5vtd=xQ1pBY9SA99rTzp~yFRrOwPD71S$X{!Up6hGx#(3j&Econ9(zrT4=a-=sFot<- z_PeP3Qo27)-HRCw427oR)uNp3O^v5}`b3Q2T2VqCnaO=Mv1IEy zv{4yi*wnyQMZ$r{cXbtf!4lGb#URZXpDR9gVa+($VpF`%>)$ZJ{`Mt7iu|vEpQ59r zWaF^5(|FM-41qndhGe>TEKwu6(aC$#{O##x9m5S|{?!E|Bva}6xEXw>M)^fw-F3;- z`4h<}2j2T;)A-xzpN&!UXH{`xKB}`HT51@%C}W=Y*%2+|f9o}|W?XafnfctL76&+O zzOVR;Rll|#igtIe%9g8HOw>NggMshu-A67Nn0Y&5C0)!KG}0k4T0j{tpf+_ku3l*o z7f2NtI0w7HKtmjbiihMFOlU9^N~%lp$VaC;qKbTaHnXoA?TW}nFX0;v?7yPd$r-Z-1C0zD!x-52>w6{lE{f(zsb2}v{GHO48)~NpC}@fwoMb#uAB?y^^-f>&7KY2Bt9nptn1{%8 zy^+CGxh%T+^P8YZ5K|P$-c8wUX z_wDa=c`o)oAmC_KLZ*PPTgP$gM|MeMtxH##$}1CI(RUXYa2%r`lrz9*NcDZ<(V$*D zDySB!U{uQc8!4tUQ+UsY-meiqo0$+oklw~nxt-=gk^vyh(%F1lo40|`+!jr=lEw;p zG=w11Du!jxF3pLoRa!&6lB8T`^^H4>OcZvpW+m_b{d4N?-|rpt0vIz~N^E6>XPe@u3Y8S}%$`={IF?h*yZSF1>(KE<>kRLM3S>*~F@&z%!h3Zc7+YbV# z4)4*4@ftCph)Rh^iyxnoQfu3EaP7|{o%+rZPAKMArEI;08z2^4W}xRD%fQ00KNGrm zJ%>6K16g7ZA58!5dm@ao5E?ET!wc);dwaX;M03;e3lOAA2A}3}$iP41OSb<8WY z8)Q#trsO|RIH12?V*Q|PMc;5qH`puqz7o{8wV0 zl)f4aNwbT+ylb*dDf9eGU(rscjR8bmvH}B4K6blNX}lgBVrbus&u6o8(kn<$=pFn) zh^b+`JyM1`0JO7`*!^;6*bS8-qoJ6cJEB2HP}3ZG9m+18{v{D`d|sM0L(emZ4cWb1O z8aTw+{e7-8aK3&oRBka$Zz0|ESiegl2fP6b)XCHkpBn6dZrV8-*1XA}CP~mv@Gfia zk{orF#0%bZw~`9#1#8=~Clx_vie5;R@bJoKA<)IHWa%6tF%adJ{CGqN5lV$clN_(? zplF|~Es`8?ze9i8qcMdL9siTjZgp%~wWxRYTh|GXH&ec7d&-r9s@@Eo7|NeS@w%$s z32%12VMH$&{hQ4kqZPYgv4+v-zOevVrR$3Vd4CdtM7DSUkS?1XQKfE>Ov+Qz#e;N^ z&<`Dm`sozEwIe8|tU(#+QyWJ$cU3?YSKP*p=Av__dC>7QSiahhNte!;bvkSLxf9qm zlZ}<_aVUhYXB7OpbkX=(ZeY6U`G^Sr^ZAN6!89t^xN~?$xqu+LCu)H$AJZ99;}`&4 z0tNf(o0}G)-fPVE8DE+(VUvTKQ7xzb`S9%iN8oqEo zt7p6_Mbv)Gi#!wT_0|-I{W6bDmXCy`l+L^1v&Zx~qo#Y5gjb~Jn>pEFvu#U`n}zE% z13SdgPG-#*jS=yoSJ=RAVIeVRX{YQ*n z^jh6VWuS@5wjAB%TD)Uzj{3^zmz=HU-I)migAIoGhT&C?_5@+Rk0Ndb@|La%WkCRUQZUPBi>}7u9 zk((cHD~QO|J+v*;zx&iIXKyMcW3(JADTwMW4XtVAtTni2J zt!S@O%eo;)^hbw5e*=M#Hc0fsKM+y{@Llhs%nz;$@f9Hpcrc;1l=y9&V_3DM-|95c z`=o6^VYueE!FGGz-C$uGVI#{EuW3y9LVFoe_G#Xx$<|)INxs_e8n=)5EV-Gdd0J2Z z9*R{41&h!k3OysPl24)!%8(M_ZIqYxv~;A=cz-Et)3WF0usGh+$5h8GG!dm07=n)6 zL+IDuBC>$0ZhI*5XB1FO01j9Yue^cV=huaag4elA_2zfO88WZdHylNA`|K2U#KH7| zk+Wr<;NDdle+K`4;Py)TV0~i`U%c7x%A}gQfE;lg7#yrHNLYTx-AZ}le#^j;UUH<7 zjv%z%)+r~B5eA2gGguq5oVG=Y>flAM`^jqjHsa~*m&5Y1deKcB!smrg-#VU) z{@r=Dt$L^TA87u3Lm&vVhid`4-qt;ad(+hIRYZOm2|kdvhIC zT91aYoX$dGb(MQ^)NpV9@a6>3>j(t8(A@URq}SV`G}PkTp9IFEzBMk_|Hx_l&QK5H zH;a9!wPO=T2yRycp6$n1uBXgV)lqbv5+`62qTRdd*&nTdRl$uVJIBQakG{0aAn|uG ze&E)q?P)_Utf!u6_ZqHt4|Yg^Fq2)mL4+YP6A?l3Ln$H)Jz8*m-4ZDTyWfh;QmQQ? zA>$}D@u1As!H4Xd9bkgl-zsubyx*HT7P@`od8NI261Fh^vGYkJQXtck(G;=F7QA%A zJ;r?xec%h-Xgf&R7<;kgIixb43nS-Rxzw88xuOsB5A!^KsH2&l^C&OulpuXD z+5p2cS#A`Id}(H?N7%Zqk|uRMYxiX5`LtsQ2S`QA-$5Vs)&YaQHY|Vo2mKp-h}Fq; zC(eS(9+3Jl&KGtKEt*uMkfF1VB{4nJ~^6%`#v{;Cw!D(+pa8RNZC5N!G{M&iP z93(S>i}%k^N|{NEJs3W5`49Ab zZ}zSr8ue5DUjg?B#@fNZsJ9k@i}i0ug=dH8YD@sc;Z@@ec9H)m6i31W8iu{W^)ig( zfD4!@^6&RKux38Kxmc2W7K}wTE~CiHdiZp*+h&J|f>MhUc|tq0o{7_VlJ)6F> zWY1O46Qd_$qg1Drd}5&^uW`yWX=Ay};gxBjuT!yuB_=_bfnbjh*+Jdu#A_YOEFBPeFR|Ts9No z%43-h6W5NzTO`%?By2qbJlSA^fDBz_{-rcE9i6zXEropp{jt_ETeBWc32Ov~ZB}&) zqDO*8*EV%K<5&Jn@X4g~$x$rR!Cm4KYuiF;i#&0A zvLR&;*6F&(LK|}pA*rx3=gpKg>-_MKuNcF1=P+O&-7L&aUsT3;>$GQboCrS+K*^uz zJQq79urCj-I#LA!kD3M8{V6AD&-TGTzdBME5K|>9)^yeHO6>&6-L*Yop|7u!drDuK zO!G-lds-Ud9e1}%OxM(3D3*HFzFQhKew&U*az$dPHeNv?IO3nO{v8KF)LmVX?2}K) z`K~!JbvrJ>i?A_nD{}MrRJkReXh$%$fEA`Eti|U58Io;D%(yEv)QLN@VgcMoBySeW zpT@jRBE&gvtfZ@_j@db@!x*Zj-dJx~)YpeB|9FcvSo%HS=mWJCUtU=QDj|j@Ku^zU zZhOM^D_YoFty=9Cvw1S%Tp8W}*w7fmBJvt`H@_4hB&fwqv)|W>adR~E^aAB{O!Kt2 zZo?oAAJdm_DmS$2=@|!K+4SSk$I`}vU*FisQw**NT)z3ARw{gZm<_KaH{&LM@G-0? z4DWFr9cf_#&-c#OEae?m>e#msTF{V9|RInso?^j__8TAj)JEzn6X-lT1OYop@y zr4i@~o9y^=<4#rLNCGTy1-CUANuPYc499OZHT`yiw@v*f)gOd!8rBfu@%v6UJhw+= zA7(5jj<-yo`4zBZk>L58<{dIm5iB&jue|w>fHK*Wi9LPHnKw}`jt+UPNYdyQNx{dq z>8^@L5?&nDmHu|Sx$6n5?wDE@is@wJPut0AFV{=id^tX!m6x}WR850SXynebuN*H{y(~5wXW*{mPlWuVUm#XD$*-RUH)#m7`T` z1ATGm3ApC`f=(U%jVyF(qfOMG`eq1-d>-n+Z@M;i4hc^Bfc>2FNK^|B(Z}(}OS<9^ zke@s}q9vaouzhbj>`vxkYT!)&@)yd1MAd93-4D8Is{@~MU$mP?gss~{L~?`ZS*`Hs2ExCYFK;4Fbb9rVqBo++ls6>sJmWi7Xyerk!U{j}ND4-9P{-C= z7_~o312G0+W^~O_zhU`ezE?c`ig<6*zDMOu0le%SzXfY9mcN|-RQM-Zr$li+pHr^x zSf24Pe`YV=BY)v+Id@6IYHUHe6IzY=y@tbh?9qRW4Q(`9J6=` ztE4)Gk-UyNg*+PN84{RO&rk81a{o#YiIe*e(DI$?bhYqre1cN%)g{@|Oc4;iX{f95 z`gq=(ukzv*kJ(%Dm$pL>TpP#Xv`jZO_c}M14`d$eMQQD%&@U5KDU|CD+M^oOlU`m} zY`M$>aawAw13i9N_k@rIyo~#ozM_*4qH5KbCnWU&B@Q?RbA+y|Gc8M9%!52~Q{7X) zidhuGRb3N*6{}yx8;(P2)6|0PON?sXIIW+0HrqxCjwKD+H?g(qxs=fk9Nk@6|2f?` z)LJvaeV`f_e|Phy6H3yD#40O$pv&J=&lxHi6F!prlm6ZCt>qULkh+gnR**?GUtN!! zuSUTQqC=;ZU{;g_{utfeC=Pd~ZnGR#XRgjA!Vta;9vEbAmcs6#>bTYfa)eW8t zUSADwrQ1W*oO&Yj)t{;{!L?Q&tsQ_`;P!0g7?k|(jIJ71phaPApeKZ^5@u~6!kP_` zi08f^P7YcL(l-1CZJypvnoeokW?*-clJ3U;CdlA{=S(!0n6Q#oItz$X-=ZM6+0Z)KmDm;VQie(lruK4HApmnK71mx z6;92@DgOCf=kJh$G~suzG5yD#j^@e&gCt~pP$aWnJrfh31qqewo1@7H@Q9K1pOYoC zAG+ZeG>bNr%LWE3R|m(1w@Fs%qpQBAFj=J;!xOHwkZ4fW(FHuyLQmY1{sdo)>7+35XB#Bxh^|e+HMT=s=v*)Y6_u@B#f!9G@S%ovz43q40UPINJ ze(Umsi_vjA`1~1cAj3lm1#?o3ymi+|Sn@^_^Ek4Rd21{mY`?xQ*l$KoE(R8ZyS^%d zWDj>0H1;&goy`r5SnGCeb>i{Y9vdgNyh$T;U`6Q%Jv6H}T2vVJV;oFuOK(kC)N25otf6H!DDQd{!d9!H@Ja~awkF3y= zo5zPb6>-Cw;6J!Ok|U`Jm2vrgAuJ7G{h=$okydCLOjWm)rB434wAE2?v`CVeblQ;g zpDv1>OSX~&akvRdUsJ*_2S-K_BqT#8kRk37ujtyiXC_F31tXlF`9BZv}Pv% zh{`D85-rMw!O*NsooO`^Pb7E-p=jkYYzD$x<=$5kw!7^LjC6)w=1(xFm(Fw~)D8<| zKeH7$dC*>TAtGaFL4seJyE~IGV2Darg2N zTk=iyzRdOwcxwigz(`!4DXJ38NC{e_1d{isSTJ8X_kl8N zjH=-sEB&$~>4C}yMGF?OrHLTY5$sZ$d+}>0&2!bBTqC8XX9Bo=G;jTQtW{=|sLk^6 z214@V5!~ud04-)A$KcvapenY{bwrvp{oLH%E?ROWKUlU24|^w5;swpO21HTFVeK>W z$0JGNKD&y=IJrIjm%F^In{c5^J{K{3?CNs4wJZf4`9$0F>l9WN<%S(hn6k3t&d$-A zRisB*_ODXMHb;%|DR^GrOT0Bx=N^#)#+n9L)H?>3OCi7(rKhHQvDH#=jJyne^2=hM z+Iaj&?YH0PRSM7Fr?DkQ!sMCP3jJMW<^@hvu&rXXeUo$0crL_>d0&?nQjFQT=Vf&N zp<>}N=ND_i75mIyx-4fG^GQB2erLW(@IANnfGG-1FC>ue=j(_5mfK@6L0qeTA!=5O zI_A=g#KTm{$nRR9Yq4F*k8dX4i<=SkeE@4nKG%&yxd0484#qmOSqt-}*Rl%N{ z?C7i|p=*pD7wY$m-+HF~VVVQG7lJNqtU9Gm*9g^XB?v#rlhrbYB59@Uv;Sur(8od#z=*t&XI9l~I zb+R!=Dyc>>uh5&t;qnd{)w}Q1)d(t{U5SUjkE^7vjKkbf#@#RSqJQZk@j}m3s@2kS z7esBDnwuR9E)JA41~)`Ey7npX&AtC!W|f4-{U97}o^*5zaec;zB)d6}=9E*}{icsp*I7{J=T<}6c-{klrO z)B)q&^TKNS$VAK@e1i} zM?V%bFK`P2x4s*^*0>n?v_ntF`@4V3Rr#sA(J>`YX!Jwh9$1-XKG;Es_F_D>kv51K zXRq(N>P|KIa|i8>@wCgL(%WyGsPA@CV{~}}s4j`WGM+BC!+tB#0~6cj7wTtq zkrhv9h?`;}qSt>9`5yUojCiY>$G5{%B2c`hs5Ts%&F#Qh#g_aE_g7R4U>Qx_^L8)$ zb{ViM62oB=zn%ESMx_CVb8^`iDv(S%8aprV99)w^gZi* z7b_tg=|~FwD-8|5uK&YqSI#{LgRm_v+fosfmJnhr$%x4^(}qOXR7YC8=z~06ik0qI zob}VrAJ_`tfUVtSSr&NXVQmWXWg$lqy$6AH1(RKL8~OJR7?<%*nE7TAp-yJZ@IK?v zyUFa7{4X7|j+cAdi5Dc7T#BBn`!qZ+cG#U&(=tY~xIfUlT@+XK7gGq(C45~@*W_@C zz*5SBXX_^Y7ELQoIU%oclxwXeElznpw6BU_k;Q5YX*AtHOiy{V}~mLGE@^#S!S>#b`3n;Oft zscbDfq1zDQN%Wx~{8%peo+jYlik>wT>6a)%n3Ho;S5^IyG~wLLXz)Db6m@z^70qy< zi<4$K)Hbb;A6aBrb5q46z9s1p$#|3Ey{$Y#&k9C7D_t5z zyt#~tjJ#aC*A`E`PZ$WUHp_>|g_%(i3GN7$ZZ#+-AuStL@Y=~>LIV%*kP~#Avl!P% z)QOU%MMIf`gS@YR2c7(O-`kHu9iy(-@S^28CeI^Vs7(Tjyx=H?jhQdahlfh2emfa{ zo1k4%uP~8%pZ6DrA;Yyb^NZpH_Uc#sj*^~D4fI#kQ=zK3FeflMUjW}H>;^#qG#z^^ zweNhyLBL$6pGey0_g-ML@wM1i10bH{`TI#_>>a1`sED@OOfX6)1!npr^VG-P4}OJ( z6EN*Mj6daWuZebgF$>QN_|5=dUIq%$%Tkj%-nWnI^pS3Gj{GbpMd~|PqVecGcJjDw zOH)`pX5En1Xf7MU^>0k(+f+E?wm+lp)JQHtW6wGB&iWNZ{g<-p4@8H}|9UK;>$~KhO!&KTz+_Lo(_7!@ei9 zwwno{wUFpX?6$MIe;^mile^XP|FtzQt@TnySBd-SWbC~7nsPOL`%?-w7l;Dg*XJq% zar+1~*!~lEWUw&u$$#g6&kyK*fRKH*$CK7S(2?{%P?+yO&@LcvVg&Bx(PdUm^8V61 z=jRwpf_w@ahoZT}t}I`KOK@ffpWON$9>)M#6W7ywuUQ&E?e<^irn&M&f!@SAJ^{GR zqmR&T(b-4fm;P^KaE?RcO)pq`{HOrV&TN_Z#@lr*?Ru()E>h~*Aqne78ZJ%=?Em^F zEjF<4C4qDSQV2k&h=>vYK(CJ?+8^kqP1?Fl!iI~YXdiob{CSrCz45bCBj;W>QOv2w zpBzHqw5&9U41XOXH1)boIhsst-70o15o$l?#pGb%kal!W8{?+CPA?pwd%lo=Z^t$4 zAZ`YTTHhy~56Zc-W9_`jptf*7a_utp(b-4*%s$f@pN4JAlc9M30}-ZXats6v^lWH#gYH*aNsWACZI9%ks*2prG6)FW>ocg_01rrsl3 zP3tvqsAvIq2b=9c7w)@-FSCBIi;CHnF3EoO$|r5CmhEG{97 zfg-gsvz+;+Xc_DO9OGbTj5mMI#qq{Z$FZ7e%d9v1RuAnq$y2tA4$Bt^`6;Zx>kKJ& zc2@JAcNNH)IL!LoLviKUX-p)(;Fh*$O<5M$I*G(zcAchm z&~jByyz$3*eop?Mk<;p?EL_y>~u zOLxNxEH1AVN2@ZEfi-1K{U3;Tgz1L&q)Z-vy{ek7(ZPiIvH;ro>qd=&Rg|x;zGw2u z&$gy@{7B*0eQEhean?!1QdYV`eTRr^rmg3R09p;u+ydRroBx^xU(L8euTy|_fr-bP z;P}l1`-9NQ9NT1C-Ogq4neUq$O_B*NoV5!y^$`D1(oRg+;mCurIN`6tTtxndK? zAYp!xa`ZLC9hoX{ZhHR@bW3RLlfJU53&0vw{d*1MMUKHq|xK6QUB_2Ppdc5h6EZ_q?8?`^f0;!0FF% ze#daK+JqR=^ZuArZ`DCjg24JlD99*aLwD{tT**R3CztXXfw||tu+o;l`%`5AcX{v= zgN&0@>;UcMtna7CWdAoye=|Kg5oFd^q*7c-tKIxOhKdZ=On(ySuR0K$)bY5z&5i~H zutE5zPA!{3ReL?*J)xd+Jq3O>MT3I!IB&!>FMAi``t6^N4b3fax%nPDcx`;kgv#|K z!U#X(JtFXl`S)YBo8y9tkyQVlaCBD$K7M{&6Va zi1~Y@Y&f_p!>8k}tqVc!*{SSuG^7LD5Cba;ptUS?ZDGjQ4JvXz)~|FigLHmdkKN07 z8f*Xq*kuCC!nD6=^8C8hIN__8^H;)pvId-GE0g{EWKi%+BzMSq8Yb=P{d>LqohZjY zi7Lx%^gKblt-0uNr#OO*KXEPbUM5<1rXxtyWVj;|XyT18eBjI_$~9lVLao=>HYY~j zO1TFo#5pF``6#wEK6#AaRCTpgMIUP1^WW5U$M_HWzdA|EUOOhTb=_xMZ=>w-AlehC zYVdmaVXD1K)WA`ZV9yBfSKR%XPsR>Q%AUrqQ;lPhZCHCIgbrL2ibgW4^7Zk`)ph5Z z$w6(SJ3~tX)aL1HUlHS^vVED>w90z}#*C1&tJ zNKb<(kAq>8>(kXl+d|`Y>-1P$G^J`TCi!@r%HP4<$~H$2Fy}IU;zfy{F%9bihsoF3 z2#27*x`!EBo2c8S-0jSwI;js}y4r(Gmd2_ZF0+#-T--nC8BfiQQJc!qDXDKK%}mcQ z)-!JqZFUR1raX+eta zFGta-_4Z!s%>yl{3ZNL%Qt)U^_=c1symFxrWXZ^@O7zm zilC-poC`R~)Aq{xv7r^`fv52??Fqy8slVGm$x>eO(9`~ z1SttI#QbvXtL3#7dV{iQ_Jolxz7F z^DAI}zXuS>XU_H? zlfdv5IWg!MHySCtaaDv(U|9urjcU3aNL`x6`PcOM@;@eDI+Jxv5cxvlR#i`#yCDU& zQ=IG^dE9z?3KSgdIqXffIo$3vl=6(G7zg;1%DOT|+|~gxAaP(>deNVltHpkGy3_j7 z`A&z?7k`*|UsJEJMXQj-ht8{p)Bdr1RNJvhv7!VSDXbbj{WYl4@Xp?G>#%SnD`mCv z_yBP)SJ-C~tldWS@OgcI49}Ns%6Ej)o^{5pdAj@?k3omCbAyzWHVfktJVvjc{{PVQ z)lp4&jo%?mfRD|1@Sp=|Z+2}RkwzPNTH0Fh@0_8d`avac_hbf8;|Yij5RHTB}lD1ngWx#|hKEoP$f za`TQBhe{#CItljlG~@U1E$^}&$ih!Ygq*#koGD-X{Dk^O-|Cu{k$|h5

        8m^u+ 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�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%0Dx%Y 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 literal 0 HcmV?d00001 diff --git a/object_detection/g3doc/img/oxford_pet.png b/object_detection/g3doc/img/oxford_pet.png new file mode 100644 index 0000000000000000000000000000000000000000..ddac415f5ef079f8d6fde8dd4c9838735fd96325 GIT binary patch literal 276715 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

        W7L~(Hm~D3- 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

        bk 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 JPDHLkV1kCHd-MPR literal 0 HcmV?d00001 diff --git a/object_detection/g3doc/img/tensorboard.png b/object_detection/g3doc/img/tensorboard.png new file mode 100644 index 0000000000000000000000000000000000000000..fbcdbeb38cf5594681c0e206a08b6d06bd1e86a9 GIT binary patch literal 79342 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�I8@s}9>daiyll14Y2V{)X&=-x}Na*I$+ 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

        FHkl*~F{93XPVQI@|roj(})x%XB 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

        )l(Sue7I{Q+8P_B!bMn|_{;W_)pN^lqb z8oX?|tJ}e78OS&KtQ5eI^M+7P!Q||NmJ^7s&MH#6_(Mjw36toljwZg^J2Ykl52KAm zJdbQv8LEc?{<`efYiHJPucjw?b)twv|FR`(E*UyV-XvWFEvMwndxTKRowi#=3*3Y$ zV&TWL?gxLDk-{vb93lkb7kgRprZIy(;%T$|fQbjNcQa8%3ERO(1!{(3C0Kprb;|$k~6EVO^9hj`EKh^++m-sMym;j@`l9TF!!Pz-QU%UYw)t{ zO*9z=xV-_VOWj111^e2b`Cb7fubJ4sK#wv|)Ujt{vM?#ipLDD!qt4!G_bfT{RYhK0 zcjF3376aX4qNW){d(N?KyiFBXjIWV(R_?fwAektMC?Hs zPH@o+()~BD-eae`@aHKt;jJ(jk_CugjbtIm<&mL{PQ?DU&8#hh zyOFl#gmFgC?yy(Kt3D=TUmRVKg&mV)9ANmR!H5@ItLB2#(_n;rJ35oVmwjLJnR{bd z`Oxy2Yzbf{!(H5%xJZ*~-WvUX@%5HbZLZO_@EhEVdnxV`v{;L~1_kfNgX9FZjg@<%%1S=cE3?JERQB1L&ts60IX&6k>#)ns-TGoBXjea-_T=k< zLo87zN;Q39>lGT2_p4M?D4Btyt?lOVozCa!KOsJ}u!;iYr5_TgT(pK9j@;P=d-l3q zdsU8ptCvB25>(-hH?||!xzj$omp zyg%lR`>j_tB~8|u4~k(*O&=1FkBBD|na7s}6q$f_~XZp3?Gx84G?3Ql91fSdt z@13`1IV|=4EIY{^^c@Ao`qG&+u?{nY;>S$xJt_F7dPu^JJNVmd?wG>pQ*et4y__iU z%q!?xvt3Lnt0}3J@mRg0`7kdWJNb6^&w~9#k#j5FJ#T)AuHwYRAMZYGks9 z(e9_nRyl;+a7YKgx~e@v8x|9oRF_pzTl!`BtE&9nl5H=nwewUR>go8R5*sIA)m!C( zi>M)aUW;G7;KggOU4iCH3T0Bp-CHhO|REtOkRj}`Jair=xzJg%DPpVsp-T=V{Jw4iWeW^1p@4x zT+! zo9SW5(@^LmgAfijG!|4jG-Pi&3+W*^GJT^eI2%b897#!R`NdSi_9iEP$D&9oiAn

        rH8kC$~hUlrt!WJFD-qV;Oy0PSIXu@z( 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 z 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

        CHL3}D(gNVe0gJOTk>?s(;?qvU7O_lxgS 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ȟAW?yM-S}DgPA|A7?7EGlt{;7~wbv_XM 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%0DBb^V6EGh*&=5My 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 Wis0iHI-1AWU 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%0Avn3xwPiCFi1(yplP#6mDe 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 z zY7=t7f879u6B6HAIs6!1&Hl@uQD(b>jIA^$S)-OM8stNT>*`Pq4JaI!x|?ZRUfT|7 zmwXPW-x*&%n`Qs>N+do(q)?(bT{w3@o(Z@XswXV|M?d%f!lQ&=b%;w*d22B;mQ}9x zWk*>b=kth_6r(y)`_zf?M(;#j==9tL4MPid4?Yw5T;vhZ&{*gmQl}7V9)H)h+T-ZR zb6#E1Lh?Zd{AElM8&=Hi&Mm+cu$Hua7O-t~GNW;HSRhn@70PX$l4t-iMg{Re8O8ENAtcJUf^(6i`9SeIM zmEpVU1*k-!wgNXwnk}HNS7TN>qFG+`2KbFJ&7!WAYGlqca7z?hpk`&sl^{`(%tj5d z^Rnl~N1%8bGz(gqRZ)nm@d~Gz$|Z~o^d*`Lj04jVZEdS3B$(a6&VSd2u7=03K&))z z#(?B-KL9`&pBtE!#fJIw95)x{1Tvk+EZM==ZKTKN!klzJl+38oJvEU(*xA^a4$vBl*NPLW&N|j75K_nAzVn-?hE+y(9$-)(^yv}sbeN*W4w6fWMZuFn!fo%TsfjMI{P@W3cG~LriV<%CWI2xzStnAL=xt@|=6|*Kk9L#>cjsGV1eT z9w#-x3-?!E`A5ksV)g0p#{@2!#6d6I&UuX{NE$LO)>zv>Od8gU6=`ayFDTC5(bMSg zY$skk(>at&8i~)KqD6dQ29rLeEA;S2h9}m=JKKg66A>KbD<3VSp32FO=I+syZ4M%p z)Kg?mOn_byKPR1#F+1_KuZ_pMD%~C>g>@*i&d*R_b;HXj+vjfV91M&-PcbV<4Zpz)C znU#t&{_k3Ji0ysNSGknGnyfr9wQX_3J~F~BC@ZL{;c%^o=Z%_J29gHurp1)x#l(tE zPv0CU#X_|owop6WG7p1eGCi41lO--pJm!g>+dD-A{ceQga1<)9tm%8D%qv)C8SG>I z^QaBsSeMwxv4?)-7Ic`a!*j^lRWKtP4~0?PvY9QCrhvU4aGc^E9FTERK&a3D)v_|8 zH4d-iO$wVf#tbx{pPij3zWL^bILtj(N;YZoqLt*T($lzovs2k9hEzWUT0?*xfguS8N8qUK6yf=D5KH!BvxX^hw@cEwQoNIJ?!PoGi9a{w^679Z1i)7=Vg>-uc2j0(31Z&TXp$9}ay6t^+N3D4cuGi}Dm z**v2NV5Iabx`rC?TKQ#VqOIlR^xqbigEyU=we3psqO-+_Ey?-NU^<;+%S5)#N}=fF zQ@-rY=9WxIL++IOym^~QabDSvuP*+I$HD6P8SVZo=n8jA;+qwJu58~BZz*NGoU_i* zZNS63AJzV9S}`^wE+m@V=)r+>CB+2++f0RxGBiQqU>b+*ybvDjE96X z&^`2Q+309FRo?ZM1+`<#Y^=_F3$iEuSCu%GLGO&jcq8xrat_V^1~>+u)K z$34%OY1Dg_Au*btzXzwoWsI8K1GcLsFL#rw^1SiwV{!fQXbFI}sVOqo4dgXkzU$av z&~`UeH2&@?d(h(X$bC&|&m~_Cm2)sDiB!k43~x>P@XF_%xLU~m=X&M0n_1W(+Sr*}XI%hp zz&A@X*K5ZtkyyIB|Ja7WZg6$mRl*kC5P1T_pOb}R4UVK#dHaBq(E?h}vCmDMz!=FE*S84(^N%`ghq9?pan1*qqsOl5cBE84gjS_|347b<`;5 zB9RGr??~zUgw^vV-`5Xm5?Y8B(T`_HYDBIHEEu}6vp&Qewc&8;@(bSxU8I(W1sg~%J^B+GX-e2c%LJ5{y+bTom%phj@F zb~Z61P-rkj$q7(x5`y>Mw>6;Jpz8&a9VaSAG;k+wCmY1-HiBbjgTn{n{?g*@IvYbP zf=sUByKj5NvEPlaeH*4>E{O8)IqGJA9w7ght2ql8=~|t@<3_0#2JQ4isaA)yYLR$S zm3x>i+tOU0-&WI!n>CF#OKe#s?81ZhrmKx?&&51>zEd~PQzlbC%IwMr)u#p=tiChl zCGJ&b2;CN~yD(%l3j6Rw>V{aM70YU&X0i6sf*7=;9xGXEND1397Cx~(sBy1v;|+eX zbPU3VmWz8Z}gOALQSwUf9yY#8f2gDXLIVyQM@O)o4uSe?iHmGRe8;A3k}LT!)P1& zLalUd$5kSrF|>8kl#wOq9ho)NRc+oyPPK`pVhSzxHwCzkUP7cwDYV9c(xr}MB|ya8fs$Tedl*-FUOt4 zXVuw$HG3rM9u6n)r_F_btV@7Y|jp&Qf?#dDoyd`L3r!cHF3|2w? zlFk_B^JySqO@DP!H~7D6QU|i7tcj}0GV;;uj@+0yw3MbgKoSqEb5j8MXI97dj8)P# zW*HZ?e!x>>v*cHADjWS{f_2zBd>0C zTs-M3*$B#}=giyu%QsLBdoNZ=T@>rky#r@U({20l48}kM;goxpBB@q?vVHm>d1wB~ zvmT)4kV}pU`@2r39gJ7FGUuxb2qHA=GVeIcZ4m&$(;W_YFLASzgexIsmRPf9PT{3& zUMMSraU^r3)obYaki)QBO^Rx{gu!sTt2X}(-d)H-k1mJn{}%jSy*!@X+i{O>Mx*(M z@vg^E?^r${8Rg4v#C-fQAg&`>vCAjyRf^x{hOc7%0Y{|5{Y5U`scIH_TNqz-?TqwR+?(g4x~?|0wOii%Gv)q* zC1DxGefNi0rpKRNY+CFJ-M(&UNP)&d_=h;{6Uk|4d~?Ka0#coX5MO#^Ri&)jD!ia$p1c55 z#=7?`(6;lX_r;8Hef?E1Y}Xn8#zc%pJzLxpdf)}DVitTPw z?dfy-gr79Xu~nJXF3o=bilE5rjaKbmnP0_2MW>ljB3adXK7QR{uNGb8Z0__nz$v;w1VzH>nipyEDZR}^s{31SX6+QU zm#wae-N!HU{3#SiFuK7DOwlJ7vxE$y{IXTrhMgBlwMpX?t2z$ED&36xGxPHOZ-qs^ zOFvd7MCSmrA&kdckuUAejP0r4`N0V3+aXn#FJtJNeuVCE=i{&xT_-Ls`N10b4&MUA z*kb6{1;0u=j)@+7pMWj1VrUf%)pdWnV&b^4*K$UbixrAdmk%e}gNM!DWx*T8ggVpy za%AOU(jF`yi{{P1^7MQee?}}s+OtmYUfqQi-PMUEzGwS2R%!ohETxlI|}&#oIZf($_U^OK8|(=$kV z(0VavnC-la81(XOq)W@JAt0|wDJf)}XPHEg4Mi7OOe_(TjrlXEhS@=)5;Wl)a|1Zy z-ajikEjqE&Ju<>e9x@NBxNhdJqc~fdrRH@&Q`Bnz-F&PjZZRcvH_sP zgGpcBEWIR1G*_T;48$$q(Q-ZZ)_{B(z@j~$5=KzkSvH`*oBdOfu=_ESm>o3MdgCOL z5}fOtMzFK8v7NV8sz!#U`EsC+S;bRr$n~29uDsayz4OXVMf|>AHZfqx17}2HmQV~H zSkK1{o#3Qx^OtKwYQ0gdo9^67BK^af?v737yoEwH6Oc^wRadNSjqmZmVNwBgrHFcB zC*R_x@?tZ<`v>1~cw^xl`J$`g{7nv1#tT#p{bpuaL?4ja5e>npkhxBiOdDm!)o1jB za^8MnDWBY0*09NUF)S4+TB?~D_W?^TtsT)8(L%i#k-R~f&rh=a`THIV2J4E&OHO1St8VLx5_tWvG~c^1 zdXQ4HL~yS85|pNCgT%O(?zor%20wG6)qc{A^#Q~23S2K}w!-4rGXRp5WM^+B7brWe zu%MMLbU4cmbc2CKEaHgr-)*QsQ1}OKr5D@DZx>@SJ;AEgK4@rTS zPg`L;xw>~tU^IY$)1vo}|E?Va_YXFFPrJS}2>jhfTB%Ey-3@;l>8V+O!F)~y!Nm--WA(BaguNo{8>P8@9*#?`X_%hSZp}xF)b!T64V;`W0L_qphIYnbfpV+@O z8`ymHKuSkkx3%29;wLXQzFOTfB22b2Za? zQWLA#WZo1U>bji!;t)fBEYLSyWODYtP57N`(A8x6Y9TBwQA=S$anJFP1Nvjm&Yh)M zYyBVhr*2Y(D)PcI8ol!;U=7p#BEHx`x2h-ID~h`&|;uV z$vB20_QcjA$(6-I(=HS0cYM}Di0_?jB9>=S8YE}kZ!iEdl(g`zr%-4YxP{$Q(V}g( z(#@B;Pn?pjYt~ipMZjL}3)EEhV|0px;##^ifMM?d03X{^U@nQz#{TcCIIa34o0gOPn0K4>82qIj- z?%%K42t;qC&ykvadlSt*fQ4O~Q*oyYjVwjDy%!T(Woo^eU;e;@CR zI;ELMP0dv&_d;{e>}08diHU$)a}NS@57hpr)N&V!=1vh25pjSEM>%unP87|Zdxk6R z=H?;K;KjxDyT0Gg=lwot`eSbJBl6N`+wb={_5UdN+AX>*$nuOnV5*0C(Istec<&5e z|8LClaLxALPqk_#3iBTC_1D$YWIeTiM*38ikRT*W^-gFz2tGM4V=)feG;s95Q2A06 z9}5^@Z-Dvl94uVcOofWqq6V23wlesP8OFP>{d0q{9@@=A9}GuK`0Hx-H;Ni+V)^X> zm9I7q_2#$~i>;BYq`vPT#XmUl@wM(P;s0xE6LR7deW=1u)Nd1l1gWUBXxPll*sYsq zLHyJ1QVV3<7K*G*L}J_5uNXmD1_QhPsqqO+`ShfGT*zdO(QNDNfBQH7soR-tyG3&V zUf-EqyUF{KF*^_zEXmsIFRF;&Xw>;%EX4lJsE{G@aDvmLvAW%PH>{cSP$@%7abInj zn!CN}B_8ITeHZO5e4DmaMv@WYy(GO4U+)33AMpq`f6nt0*?c49_vPVvr)%C-kCfb`YOefK8@p*MopG3I%2)EfBAE9t=7!tz`NyKW zR6n6*U3G=wB#{>g53MwD42>C9QZFTjD@-o!k&&llINwc?z9tN1809!ony=sVwR#|P~jN(6w)q8_^^h_P$^^6zot$!qNJ+7cGW5Y^Ha_>z_f3^}V z_V*o~hoJVFyn3)xRb0OD5FrLEgZn2LJ8ocMZrMVDgg@Zp%bcvNJE*W7LO85eE z<)K@+GFLA{c@@++ZI-;PFdW6+c60lx(~%0cM@HWO4?r|mjq+RsA=`LXkV_*cgx4;? z=po0Ts(talx9{s+jJzcF|E|r^b{Hl0qr(s}K2M(N*N7cqC0mz*HI`%~^VRX?o8{1z z@v05=Z>!^N5K_$Y3JyeW!b<(R04BCscR0*!GMUYlDLF?OEOvi{rni3g0rbcYarGpq zwaXLD#j2`sXj9prOsokB`RBeUrA8%$HywND-@hXL=k^;Nxi7xK{coUJ_d3Zmn@1)& zPh2%oMz)g&8*Wc^*VT__BgwD_{>W-U?BapUCR=6=97}0P!^uJXY}fyia|ALSfKoFn ze?*=NocCKzT-xHk=96XAL8N0YzU~+{$*qoCOcp`cc_u`CNyi<%cME13Cl^IEi_ zHQH~)4VP`oIOhEhA&F?4%qHLDl7}wcXu|8s$Ps}R$(9+$FduM6#d0+M@{m6il7zpZ z?LgRG%b-u$eI42v+`#WpKJH87=I*}evejR(sKLMyxmp%{k`o+K)oDi8b$~!-U00@pHzF@KpX;DRc^f&=aae=-9C4~wPkkhrJg$}& zDqXGeK*TudbhQ2yn&M0M{;Vh%OAa61rO87n#;NHy)#WX4w>*uDoRz!?AaLn0Xc&98 z?yy%J=mEASeu5T`#M3lM17&G$$3=@vUi8kjVbH9*5uSH|{7qS4O>rbNpks#DTOxU8 z#*S&&x&Np>pwaZtbh!)ZO3*r@{sc@o7zEO+P;8d?V%-iUu+w`K)ls~v4k=d!~z5XwAG|E>mI$_=`>5!{dGT=Af0SYVd~c;vVL z!@f(M>{U}7&eaDyrBFnruccLZ!=k3yWYKP*)^-GNX1u0LEMzX_hL1ay%jwgJ*!XM3<(Xw5+ru$_HTGdf zB#F_@%e=e{oeaEPD=BFSeu!xx@Qc!UbS&{3Rb8N*(lMfL)k+^h=s`H&^Cw^c*}Z29 zfpD~LIPMUA@Tn(O_=X(%5vb86*EVp4Om+{E!EX&W{kqT)c6adO>H3-76Klb)EdI@; z(L;gX%D1=F(MStUrrm182X6tEsYV9xM^-Hte@El8T7y&|Sc^> zeWWhdcF}(NYy1%L^w@G7<}&ObH4HGz)j>WB7S1WKQ%?JC%+D|ULy+oc)@+W>)GjJZ z&!|~d4py~03Rt)qe`vABisIRY2Dq?XaYmj9{o^c6CpoeUw5BEYPT~AL9bsUwLudTZ z4Z*LZ|Jo*c*W8a3HMteL*M{)MH3FfTP~vIFv&VBzla@Jn3x)N|B{ID&>iEgm9Txs= z7M-wMjxUgswN~sZtv|HW&S=VrG~#%eLi+xKqY=G(u~9FCZ94j5TH^RAr2MFwZ8d|` zPC#Im==Y9MS2yXC2 zHgh#H3Sc=V6zr(F8R5ryxa)^kDFWF zeElgi{Zf8qo(SKKUl-&F!p*}uKa#8)?}8>EH5on@W&v_`%=D=Rtym3Cou|7}OO;ip zunv4@X4w(khCEj%a^uR%*g;VavllH|JiaXDEO{SdYBW>MX2@SHW)q`}-QRo!sk4XR zN&4=B<9;lo#5 z?rfPJ!YX!4o64lF5H@w7RKKd~nA)0{yRLKhTJy!M*L9!e{Z-vKqeow&1w{+Gz!4!D&GJF{E6-To!%m<=fx%w+Gu+(tfiRrnBf4elI3AT7q2T^{X zpvV}zR{gicO%z)vZjv>euO4+1K>|n(#dh!5L`r^lE}aXLk{cx%JC5U03BCQcu=+F? za{p%)TUQa)YNwZ*wVex`)Ox+#Rmi5d-n91kx6ZS%)UWaGHa$hT z+9Nr{w(z&muqEnkK`FqCv7A_{+`Rm}Onm44PhUC*a-5A}Yf}ug?Buw8L%A*1BPS>X zn}Z&_c;0bO;`YiGB;hvs$fB+Dp_( z9a49N^Jwzdh4`<}7Jhrc1xnT#X&VcYn;>@I2PZnqmWqz%tf{Yf%Jpb1gXKWGX^*w8 zba-&{*p}bQ`a7_ct+9q;K`8r!Qf>de4uTK6NsAe)>z%JgoGSeEf8DOSetvz2($?>3 zA-*Tl!_{{FLg5xci@{*Rkb%Y^^*!`&~@ z&yT|WLLJ@V)KO@uVG$m$`y{_%IxKfIa*P$+wi9%fQ7mt5-=)}URlFuo-M#W@-+z+P z-9dEhXNFikTciBC;Ko!2kC=vLv|>Un?RF(AMAlm_A|`a%Pk662O!a_L4HdCW^~rN)X0icV+Q8pyu9Xaywy^PL4N zNF-v&O#73P;ZCD;RhgpPf{M1N57tTu^09jWoRFCH(tli#?q8LGS$lqRxZ#OZ%tB$q zb_LsYmB^&84@#Bj=sBd4mpfYe^lon2YLS^xMLcspiRM%_MO(CJOjWd$n`tpJ*6s^N z7(HQkfjAC`t=c|6*r3ntL7l-o4R2GXf7D>^AZE=xv&VSs$S0-J+Q+&lO>UtC!Ya+V zvlsZim5aUL_klTg10-O3asz;pz1f^OeY;csi06$v%eBSdbz9mfw=%OtzH+~Av=pOc zNQTHudr_3i@`UE=V#oh}X+C3DU}|ol&CCsIW$V_Wq&_aFT@{dy(bq?G@r#O_u!Qj% z*R0RCie%A4s2`_x82~Xhh z{#AY{pKevoZt@kG1`%eDK*)P0*`RbW&C@nUQqBrEU7JvoU`dZ7&;7thZ5^wH}>x^=Z+~5)G&MS_ri8B$ik21U1u_5U%omEFMszXRO|f8{;A>7%TCiK z=i6hAde7WPwu7qOmqJq>kJ9p`hj)vIpV@VK6no8e}Xr<0}f(@|yap#3!^0=PE_6gmjHqYp zSt}+tX5|Dccss9jlvv*<+sh~Eu0f5ICBI^oo~GNOvC4|sM{0?)Df{ueY^T2m zVJP|6`~ChTee~tzZw=iD=Hzn{%3QX#VfSqEZmCmV_l_2x>p)(`r!g7CAn#9>$>|BY zeqq59{KDG8M~x3U4X=zO?rO+zhs+aY2QzCjz+OZo&N~-YQ!saGoe5|bH^NVQ=exiB zb>Rth*A00&GLxXJ57P^_^Z{{*L4IcEjgsPOR#7 zy(uP5)J&J!lmjg2g$HkrZWA)9n%nWm6ghMZP7+;ewTx5k{8u8v5fN%R8LI3Pz#>#N@ zYbb@vLYEJ>dr!yYe5gaTiN3G9aEkA|Ho@*FLS^1TX{jTv(*FC2MlN(OvBH58H)HSQ*TRgVcb0oA!VuTZBRv^o5t!X$}#;URRYC~L& zZ?$T<`RCcnjHI82Gvd1;8|*B% z1d%^}7~uMNcv}%go-psGKH`e$FQadu-1D}6TiHqmdSvlq?PD3Q1$PZZE-ET<$L((j z{8n0#C&-zc)dqzXT!ymJ5T(0Vu(k2cA^#bkC*H*omt0@=RPwxRcgr-hv3y+(lX*q3 z;=2z!TO=4($LH$CO?G$!n;gg-SM# z(HT3$33Zz7b@pQQntfW`gbW;BrIk1%{O6bJqblE!<&z8JBesv;0jILFdJCyReg|e+ zb6RZgvSjVeo1?zCeviY`MhRZ5#M`fEC<*0$vlKI|)?z`+HvBp%#G2+P2ZUpTN4!D34K(xnKqpxVKsS z=F3g~osD7Rd{1--6!>rDC~`5@11ouHep%0kTvRJ1@$Rp``T~{xIjWF*K1ZJEu#O1| zod0Y|2pUh8Tmwa+LSz-hQYx8|gR@#|0BNKXj;Kp37t*U%D3i@H+R2?|%= zX5R*Huus%f9nbiS?3`8%Bte7T6;T;C#^g2CEAh-}qW+U|twM#j9w+owRJGG^M(^$vjXQyit3$UY3;IFF!8`eQY96{iFo&sQC>7h?SiT z4*T$#F6|qlbpEA#b+k>f6CVV}k*=zBoN}oDvngamgi_P9XUv{$E#j4~!tKv11(s}o z5fT3`j zYt?EXShp{%l`gjsoog`f@Q&!D-i^s~y|5^tusSh_(7hq79r5b|PtvEcwl1EykG*OM zZF9T%7sKY9g?Id5V>w%k_37!2IZZ3+a3?tBb&Tz9`y9@aN8gMC{C7t{-N5x}IV0)^ z?2?8ENht-(AZ#4&ly+)1(~tP({<*31V79hxO77X#&kx0R?(`AGycq=AxpFBc<7u@1 zaA%DEQp;u|8<$#!;^WD37PB!LZtn~|`9hLXh}sGaTOH^(olhI~v1eI4i?@LzxA&fA z6^0>P}dffK{t= z+ByWGQCcxX*vL7?J(y%F*%g%?Lxv}OVApsHOa)(ePJH?{_XZO1T0>URNEZtb>dC=@ z4Z5kLw-nOXnZvtVs22Bo|Ah}^mw1zQCNn^F)uYr+leXY-2ELz|tnmKe?4k9PoiCc? zg-_TZ1_gQgs@`9EC*I!oW5udpyEs-UUHOl=PFSa9yW9{-H^>K`SdZJ3YcjqwDCdY+Xvc4U9)N(~N3{FT4X#LXh zbmbOlmftRqLytJjN-f?h+SZe+WlFG*F;RUdl-K8D&U0oDIt*^UG8roSsSH?o69Jps zG-zLa%T49FE@o@oK)usgt#x9Bff((5>8QWyzh-;-Jc9)y7E9+O>0vX*~K5H|@kI+hf|(cL8}C z%NjlbP)p2Vv&_834=-IL&0*Te#Hirb2_KU$mOezo&_*&T>iKF}lU_ zox<3~q;9G`YBu};Ps$x_$Qt3E8whb^Q>4Oztl&v2FOwrm26E0jOnP6Iq~BSN@zD-v^lS7T+rILqN0_k=$^BwYf3RG4%|?B>-!x18y!k~r z%d@_gzQal)hLV*7PrpMu&?pTN>-@)K01CFI$T!S2(!(v@G*Gom@n+s1ZK9oc<5gJi zojVYSwbz25P|-AGY=7R2X+}wOU zqMVj*^%kLN!HXEI^`f$wbayKw4FA(RzRippgWDDRa1uu47)Sx~i ziR&^ar(?6xcDhXn?!W$jN=q^oOh2`PfXRk*hhgJ!*N^{@$-{RreVZnUaSPuUnjb;hTq( z1f3e;pXs&I3c&ea7gA0yx7(Gwg^{-abHC3tmm2VV+tr4>>g@VWXfS)qsN$WPZa zbxK<|xoA$h)DRxOLif?1*?t&`lOPCVB~s^pRHd!ER#c23`eo5d2ox37OA61-O4)cd zC#D9eqSfqbwVNW8YmZe{LmV&cko!{aiAj3hoxPRD3~O@b35-@Tq92pV|R!BXg!nIQY5 zJsQ9~uTLdHB{_mxRd(^lB>Ei%ei8(E?n@iP7blWDPo*Oy8U@3na?6h90r&g+=bhGV zJ+K5@lCN9bV#O<1ZTvUA{}iRTn!4Ub`IjG+PuG4Dt%?EGk9N*0z#uuL^A$&r_3^<6 z2=2?4`9V4l@^Qo}{rblEL^<8}`sxK}+0%%JXF2JOtoTG*TO}*8aP{0|@V!aC_9sWx zrkKf%AA`Ti+KI8@q6PYS;%IMmoOgg|}m^Zv{)R60JRaN`mR}iq# z+v=mtWv4{U7_jz~(zPzrl$mrP_Kc%c2>e3QvyJsQui0)fi}vU3A98K&ORpcxjrfqF zmzhi(uzv%>(NxaH#_3_W;G27{PF&M~X!y);W=gY9F0F&>c5fxpA|;IK;{U1a7o(-W zF7)ZXg}DyiYZ`0hb?x;k{=-Gy@rwIURgT|*yS9-$Ho)FN$IQ4lZxq1qu{HKH%Ny5Q zcI3(TEE1 z6JfHTzy#?`3695WxSciM?YG?cJ^armxpj|Se5Xx&-GL>(6 zv1~=Iwa8`IFCl(0*oOs4$qWrRzkGHo6YAUk_9*|;tIoXZRP#ICIGc!nca!n>yVNT6 z41uJphh`<#w#`DtvEy4~iy^@_Pp`q6hwTCH=j-z%bjk4qI8RLY`!#I9RSyZQ4X8$0 z2u?-?HjR0d(@@}PHY3_z=rvLJ2qn-qR60M`f7MvZ;)(xCnse+*lCb@zqhr5`V-jvC zg53i7bM{DzVmg)P&+{j@^?y}Zq7BLZx1Ks-yohs z(60-%>I-PD#_IK(+;(xr&e;VvUgiuxJBE5 zC0-la4#lJvY>3LR>&93egw_=!ybh2QV5|6reMpFQs?sQWZc1uNrX6qoc;tJDSLu)?p>!@WayO2s_6_B79!Zj!O!n|MufI@lko? z<$*wV9b-LX4dq$*w&G3B7y^eyghovEhl$E&34SBvevrWuN7{mnkda2eP`J-=ROSxh zCohF%yYu2@vqXf}F!Ef=^xLlsah2aOp{WlVj{alSDF)r;vpgUDe?{xSGx*Bmu`=J3 zeAY3cPPNNVirR|sd~20$8@e{iFWPpa(vRSIf3$T@t^o|tW>|+qQFC5(J>i|b@5qIF zjnby6!%)?-?B6n+7i^o^2`)~d5*L*lr9V_|#2-<-)*6k)X||~Wq_69aA3>9k9o~JfJRqd_0cgyL!a2zdOHfFPtJa^+j#BM4qxW|p|e79ZP8&^{w zFXv!|$u%{E5|_2(IW*YP-cA?U0F6?18j>G?`q5y1?7QvAPIL~CMeXYX6p3*C;et18 zRfxM8kO_p8G-XwfTRf*yTQmkA@0k4LeZ`X5!55bR?s=T{Mk=lOZYpGx&g|NorS`X6 zXzzL4l?ux5HWm2`aUIlDT<5h9vl3Sk&mD_D8IULI%m-X$z=*>!x&hWbIhdC%=nl=? zY&cRXc+<7|ifxRJSsPdS5cXkC0h@!5M_EN)_kQ5Pq@ZePgN8fG8^F`+-VKW*p@J+n z3uvCp*bcpl@<=dy)v;Igy=v-vLs2zGh>hAR_eaB`Z$`P-RvC?G^aujh(+*sju$;kJ-f$YHr8|ao1;Q z5DC-dIhl=K-&J`PzpGGw-LPIN5<*tj0B)9-knW+=a{Ku(Ck(8m^&5 z-9PtnkZdPkekEb^ZZ4Zk#jh=yeTWn|rfi38P|&#=<+zGj`8(WC$DhO}{s`rLe0 zHRuQy>nrqp&~}InF0vn!`_#JSIQFSWi7~0* zh+Yl-{sp!dV4`!J)ZFjb{Uk{e@@m%1`77{l~t^dKi z*D9df6~o?`o~63qZE9pJC8rcHn%cbKwzSQ<#=QQ5l!2y4Oa8-E`g=W%K9+?oAzJ+x zr7m{^fBGMy7)>*4Ozhc~CP_L6e`6L1(%-9f?_t(FZFF)KYD1wT`g$eP!4OGen~)s;JHRqkJZBb|P^ z`VXbu<%dg;Mn4qiN^kcHtU2obx}YA|G#U=-K1@#6@%c8Awt0OxB*aWBDqpI6c(!!O zzqMxfVQsCT=E&N}v~2a|T(!)Lk#bY^&0vbr+2(^tE) z@MQ8CiR7InI?m9{)U3ReszkWn?_0L+Ta01p%3_W1pnOLgE~ zfX6Cp&f5f@hPCq;U52nfVzW`|bSKb4wEW5wi%dh|ArQ?rodCk&TT~M)mK>IfV4J?5 z2!V+?-`i5No+svDsotL9uruSyb$jNDYNl>!3Sp zwFhMOIEn-Cd$8mV_ZtSp{OtGQqRCNoGsvlt>QyMO6G9XY(I!~ovzO{&a7)$ zsrhuAx06vwOR8`0j7dSg0~~=UDR&8N84r8hklR@CbSrf0A;DZ*#HVrep`o^>eihLv8 z$ymnhykF#j6)lp@M=vn|lAN_>XvIhox$-eNVM99Yx}6a=g^O7}f3 zz(edYQXO^t#z76K`^Dde;^+jBDE{|w3p4ao;*p%=5 z^Y{A!VL`lH@i#5~a>wNPa@@6tupo?uA5q{W!U9wEB;L-^_Sm8DHaNSj ztC9Gsmbm~-24sZ1l~mTS{HpZxkVZ=e-tj?+jR)5{Tk~|V`Ek0MKl2|rGi_h|9ZR>C zgZ!G{(1{O^7BQoQp9QUKL%oRp6uraAguWFw9Vb!#aq|$HeO1bcCnO*00a%}iq7>%_P3)|a)uZG4W`g0bXsJe`TJK7E9kN`JNSVoTk0AG$!{c|$ zR&U*hB2KpOy3|$w(U;jk5KmJ*8C_JKVdbeHIhC9&W4{0b^QI^cCoP5aA~iwV*=E?( zpPcDoh5%e1@_zc)gikV4MgQHDw(sS6^n5~9A+Gszp0(MeUTq)7tLTlJ6l^8 zd^K`}jzBBqjF6Pv7H&crrmzW$%b25UOCEXeEwQJQ;l!0gFcqXW?Lq%^j^MF39pH^x<7zgNEnlGn7S(RtZ-`- zZOWl7vLt?;?%cc@dz}`fG?@wL^H_*%Zlk%$CmR0zU%dxXK-e-ZSEs%eygF%; z(H&uH7ioan_{P?V8mkt_E9JMR)l&dk)wYaNhY&{RGtCT)f^|{#vC8!OuBpJV$7&D$ zNh|MtDc~x;`%2nhVn_tY_s;%p5z zX_Z`#yzL(R@}c*YnW_rE-=DrhC2<`0D!LC{O{)9n8U@SooZ)=?W{{8(_|Tp~3f`KT zaSR?aO)gsj@21Ge*DAzg7xUJ0J9{R^G!G_8Xqr^K7q*{Hb++vF;L(pYNwQW%`stTy zzJz7{n`o+I1gM0CuR9;R_k)L`LnZ^ZgO;X9!#^vJ+=x!|)%3{nhV_QX11btTl;De> z7S~~-72i#(W8{m)9-j&u^EwXlq=Z6wDuUyH4E|5HD>1T0B;X8d@33L*)CsANM|aUi zQJPEUFoYh{spqZ+Y84T=>C*nUqrRY8H>#pABd3el)YQkm4BMrg)6q{cG42;WS1J58 zEA%;hI6IZ3T{ksJkene?%pgO)VH$K`COm#AF{AMeuucjIZo(cqz>Zzv03I7hmV@z0 zpPFPWC+Fy+Vt-9Vh)thlbSutl&jET#YT=q4e~gbm1_hIsLYK_uhTH5-N@na!jWp({ zSOV`u@Q^*kYy#E@=_`cCpH6=N(ey^L`lW`NgAe}OzG0?o@}NMhoUm#|_wOClN?$;9 zG}68I`QH;-6)?$dJsG!+8pJm3$ISSc=GHryR5iLvZ}(*r%a=|6H3zrzHpxecL9+fX7zPqrsGQBR!= znCYg`sI?7fn6{pYdkea}jhZln(I+a&-okTk$q$3X zWxu`AetHY>4d(!QLa@xzrDiXV%pko(`hz_2*wZ!F*SW@T|;MM0VilLPq?t&@?R(ic^I#4YtNv{-If}Rfv=#(xmFEv8L8gv{dRz3MAPDz8% zw9-O4>d>^*s$rWBT6efkp0sWA4V)Aog>do|Bp`bx`a_~N#XpEx06x^l-&3{!yL)-j zSQYdXX;ZQkIuh+F+mD_etOiOIqE-*KJ$<7?EP)Edkf!pVEQfGp@kxN?Sm4+E9=jxS zNbQr@+t+Wpwu$Z`_lozSa~W6`?8X-YaCLhPQ7Ir8kNMPDfB8k^UuS zbMAQU0kHjGQPw#OaI%f7Nr2{*nNq&L>*7xw@jeuvMk%XyySQrZw%Zzq)W%LqcuW2c zc;gB<{933gkzLTeQU7%1QazL+qeRuzW{)-Z zOh~@mYYmBKmTk5VU#xr6CT&Eu*ml_O72Pr6@!(Kf_VxI6A>Gk-n=BzE?`^D7?Oj}S z>Wj*S|GFUO#9Rpt$Dl$iEP|JY=#hs_bOnux0*KkaW|y(g+8-y!?=pJD`dZ=7rates zyp?#Dea%7G@>-Pf^N#gcvQ2RumaAGDWFqS`S?0*i&o80{2o*>{c}_S ziZy^PZMq!z7W$Slo6z3qEUP@eVU~WzmExu&RlBn))}f`~N&x9YoNJ@k&QNUY)ZpK< zhYtS+A`v5r#5$-Il1W|6al)1})>|+Q$V?C|8!IJq4L*&#v9~b+6GS%!w%{`~;h6>A z>HbV(LiCHY#^LSAeY!z3>fY@7Lpw#u<|e-|kv60vMG=+aEJ~(%Bvn1S zZ^2Pcwz*eY4n{qymFuqC9_;m!DxI47zEM8(-Ll}uaH9OYXz_%eA60Q1WwdR^=)a5G zVf3tsh1`nvZ8SxM5XE?>94niwZ#N=EEUH@G5t4Y7tATpPlGi>xkgTe@_{~jTaKEzm z4=WxZob`nC+CPwey$AuZnwjhT#1-@6M>g%;|PUQ{^Og@VdzGy?#AQICr#`TWywOV#h6 zTUJhH`+t6ZNw7GrJ`l9^bNqXQoe}a@_GWEc&Zt!rN9xO}DKq$~9eNfSL2;SE6K0zl zGO4{UM=na@v1OGE5}m7Rdtd8DYsCx?HiK8lz&FFj|MV`LOad`}OgM;<-D{%;EI9Td zrdbw^G)#kk6sdvfWI|@K9k z@kf?zOk-Xl(lPPrTafG&yWsV6fM&>yL*TkD`;ux#Zf*zo)2B>GwDiFiQ)z_R+!<<1 z4}E!y&yp_Mt2oP0sWgfyO81DJ{KL@=`I!4oX~}cw)kawB#8Nc$!?ac7G-ejfINb~+ zGZg}E7*j?3tD5uHAR%ZyM@D7H24g+GN3$(g&!8gV3tA#j*| z(9-GIAGXPpO4*Q_;qCJ&REU{Gw%39^)xrh+`ju**;a$e3-$E8~&&ObSw?`p_d#;gs z9WprPq$BGn@Z9EJ?1HX(s^dTqabwiAytbM>xku8No1O?QCBnlUHfxQme>?7{>zosJ zSoyY6ZOHs(A*uf!Xa8KxeQ@!W#512i@7(GA5TEPcEDb)6Z z^l~LWQojkeqhBj@Zu3>AKaUE*(raA9(G0DsiRdoNPl*)n=$g7LvX2CW*ykutz|?> zz5r~9C$^?l^6!{($q(GnwLIz65=qDnAM>H6;*1lDi9R7}r_6AXfs;B~AxJ)?nZYam``e~vX|g$QBvSGY?6Tl zN=_3HayEN}K#Io*&}Xb+@)3$(cGQY;Mfx~*Bg1$s6+41FKnsoQhWlt~@z{E)eYLgD z-J$jArmZVJD+G4E0~|;P&TK1kOEq+f*ZT?nqgpsBJ;%1e@%ttLi^x^svxDF`o8seI z;=Q2me$5jl2LO|~-L#RObZ=QV`zz{vyuaaH~3eof=W2oX_n&K>@7cV@o?9 zPKx!s7nbWQnelw*C(^2etY3AHGa~hgG9wm50Ao% z7fw6KqZGnwIip37o)cTYGq$Z^DK%D;^lZjOI_vP>v(YS39ucFfLt&cF6+av|+in}Z zdk5u;_wjLF??hQf|FeR>5}>1@T*X+bGTX`ucBEt!#~P?lEln{K>tWe7wd*AM_k&HM z0d|M-WY}(##}vQ%x8YTDmdG(?d|~lpUDlN5_Hto~!+u#6%Fs3FLhL}SK=pF2$z?jj ztbY<;ZJJ@Sc)F@^hy30dAKDKi%ao=lI%I!m9>5t>Gd(IZ4zP|*S`78FlK369PNkcp zj5UD&kP`ovRDE?_UVpNGeX0xQ`Xh2>YW+QTF5!In5Wi|Og~{@h;2Jv8+iz}pNj`^2 z`l%AhPi@L-YNX)HYgEhTcBV0}F_G|-F^fqu`S!?mnalgn#*=QBs}eHaML!!>GvT=N zhe}d!?`!;PQXC6o=}n2^NwjxtLXDNPm<=9sUz3OHVyy$IlBLn7SDwlD8B!5K~yb1hCGFoE6oS#hU`05kR6 zgXVLTd@tJI#OuxQplN0Ni|Y4fV&gKd8kJ#rnnsU=AARCn?BICsx~!4p_wMajLX2d# zRdg1TF+O&8q{=RsebV=Rfzb}@L76Gg*ZXEMR5}@eIJui_{v`fn3vEqSF5BFEny#1N zNqy~5k^V1Pmbr94QjA{aR(-{wZ}-jpeNEC|j=Ig`(2?jIR}rm^)Yt0t8cO8N>6#6O zSzd<_guu_KV@A>dL~hIA9MfBj5aK44REVdU<&)8J7lTKpapjniJ`MpZmHz7+TYM@w zQ#n;)%Ac~*w3jIr%Q*xcKo~)KYMBmP72JAO&RV1SuXKX!YfRr!^XW)7y3-e&zF!?j zN0hV?CevpLoC28`CRdRn;AfeszVZ@&k9Y4GC%aj~xPKX(s@9x%hyc-@Y;#$ z%3nh#O3De0&eTALW5PTl*I;WhiSl(TYb!EEPq4-_EkR^e*<*=U+nUazMml}BxxD14kRG1BU0D};O? z=GHxCYrifupVA|?T?w^kgeZwCWakmQsy!p6Iy(u%FAzX&l|}?6{?5yU`YN?9d$D>P zUds8LWI3w2-nP7)=agYO1ck}tNFm0a9)MQ;G+zQu zlDF~>$e2HVi)rsB%>Z{;DS1@qj zOb>=q;!>xjMS`?%3|d)Yd-&z$^cWEKXo+=@0|An)x_b%vtmqo{8>T~tc1$YC&(GVh z)Vm7ki{_{QxwqU{4Numq3N}HAjjEW)h1p{&GaRov2|V@F)^}99A{^SM$+kf4kNNOW zWT|VqKEtfH)cLfU)E4=w4COdD*6tM84D!o*MaS&Zha9(YwPvn?3A(;)sTsGAfSQvJ zTvs_3CDovr;=DrpoP1#RPx=+0tJeR*}jwD1OYB9TDe16Wf{Y2B{ToD!(-Im(Q3CP+*d3NlC}>=?P`-M1xB$ zc9LcW&~yl-b4%=|_p=r3Fq|&FrXI^s2*t(2y~@RDVVC!zW0E1WQ$6Nd1I}0|5b0y8 zF&uOS&`&rq8>5|P{>gAgP~_D^%jba-FKz0l#OYzKneVQ;RJB^3j8=T@s}+L-H6T=# zI{|56uqgR8b$S3LtRU;XC4qrah)rWq_ zn=!k({bG8JTfJsbL_g_j-!`kn*#_JBJyV~0<5SO{jfY}JpahC3w$mcWv;W4(q3xkO zlSJHhM|U26Pr9uQ1tp-AH2pBA2ven|gAvpc(!{bZ-F@u;C^{E^Cj0-7clWLCQYy)r zx^q6u`K&vIj7{de895(juh;AOj9|k-<0bFM9o7BBU)N>dZdD=$EIf7gKIcQfGyZy!!Vk3+felk2 z9Y*ns(2GXeiV;=Y-I*dEZNaR@$XjRfwA&DoaU5=c98~LCQx}LZ)RyzpD$IskF^r** zO&?B7eu(%!<$mYuVcBd20wzXI6!b5U@cjk=pN`BEiWy!c{}mSXZ|dMB-6mRbp5M*s zohpmlC8HT!Qj+}-r3t*MdjLSNiV{nGnw{=i-ewmZU}#Z8pO-j4XqR2XnXxS2gfmav z@@ND!UODEsB1{4(J87g)v$DE@Sk_(ASHa^qJcvv)&bvruLlJDR=Z3I%q&cFxif}yZ zm~g=f6mbjm4B_SBNWhw>w{@(5zrzbD({&b9rzO|+ism(d{iMMcF39%=B+PLMG}{El zI}(A0N>F=$;Ns&Ic%@BT^*wB}son;{&CWkdtbTfN5M2HK+Gp?7GlsZm#@lL@ut)0l zq0WPf_VjLhoa{1q=+$GQ(kt3Ga(megdzPQyjfcHHKQo2au3@UqPlTmqZ2WtW5J9pG ztRFurU@vFofp7PdQpy|X!<;M~LrV09;Mb-jA zo~AelYb9HgI{CG5V0@vxEhp37OZcv-M!NLwe!cFnh-_PdPsG1I=^3KTZnTSxi1|ab z)zMh23xJlmjcNpKk_aOyHm?k3-CSeyl08rtz+oSyi5g63>H2G~(3PTCZA875uDT-~ z-0#Bw^mmF_s`Sr^RUdtL1x`lM;l{0*A6pgV+RzshT_ncso?YZ(`N1P#kCl zQ2fQh&#y&AOpTU0Mm4=bE-pyazQMdt;SHeS8 z)&Z(hv+vB3Zr&_f2z^^CE2hEeVqe7qEGGgr>lGUvYc9AKnsI?}mPd>{t+>YyQxX6J zqF!?;HIM=&Gn8J52_CMk<)0&~gMiV``&6HgofMNxy`U=BLLypR zYM7PFrPlpVvG??$zTZ{ae0oKDs9wN=yjN&b?~%1p)klv)Kw|fGiP@XVliJ{+YuQy= zvxF?!(Efg`rPXx5s+OPdaGznlTx0~cB9l=!mNWV|GR|?#$V~cBrgkI*p|**-`JPTW z={hK4>pw(n3BO*IOhiE6_P{`7PvPoX-@y zY^t;!6$O{M8-)aWZk`*)t)s9OeH`b^9a;)&yZT zUqlSA4`rxxlVgx4qT-;>!NC!0`-@?Kwr$y+b6|x__jNl^q3)a!P2Nk$D_7F0C<@$& zcv+czYh0ZMHz1c2N{*=is zB@hU29ta8TK@i`khW@1cIPp)HZ(A(CeQOAVGz;!UDP3QhI9*DX>1z#Y(mrgFyKw$X zk%GcxhLeooVOZs$Qn;M4YyMux1dc*c=ueTno$gvi9&*g!I5we{NaS(gP45oIV7$YE z^fuxbIYsnQd_Jx12r)mnBcLh`f7^89qp;eg2bX1R#Xr01PAqC3wnE;NfYiP&#Q2Cz zpj_YN(!xU1o;eZPFzf3%fp#U15s#MrEmfm&8(dwaOc`k>gH$8q869uu6Ew~b_o;NH zM6B@krK{(pO5ZAfvyqe}2D7+jCrR#C7ooqz0=DNh1H-GpU5%WH70MfXE4pbuDtLCy ztfiV#+SoRpiZ@pe#a;lKVe32O@saNQK$8~Kj?-Q>@uhOGgjD~BxH&zLZ<~x4Iz56EC?^I%1Az|7gFgjbkSi7h< z3@Gl2vaJiu%2m~HZONU`)B`7u)JnMdNS9+}6kVsBz)&+z2Wbr%1UvqFOQ53{sl&UV zrfKh`rIUL@bTTr=S6v`&A>drGAXcWM`3c1cknxX^$^%-Vn>kfk|aXh55rMtI_C7?MD@gvFyz7*<*0 z(RtQsLlTYx&)8<()L?>=e#F;}&$>5}Oz4bo`Gworeusvx=a?C?QQf-(cJc$`CC_^n zZpfww=;=A&0R+)V7>z8NjUCiBbg2Y5b~Lx!lLWoM>DO6ifWij=+89?(<+L9;=0=P2 z&qhyf)e3!|o%I)_ejU_VOOhB?^m847kLn^!T4vC1+2?rR(q` zE+7Vk$6%yHp zT$@DuZC!diEROm*%$xl2=FUrx!B4}ywe#&w7i4^pbOA}mImxru;M*TV?g>0!FcOr^yj-~2>X_l?{Bf`u zm8B61XF4`cnyExIEmyZ?=z=w}ZE<22XnnU$s9|5tF(JY2`IUwIzkSdx%dwZoxf>}B+>jx@z4k*Js@>6+} z0nHq9q5n<==)Rt@P(J_Erbw4r6n6HSak$s&*3B!P@X7kLGEfFU{d>U*{aX47(@&qc z0joT!HdsT>q{pl-%6qQPUH;Dc@06NCzbh4Bu%10;yqR#)$ z)I6kwm@_~5SD{C4=uLFElDT)WYKo8opM$T@;?RymMlzsY=;?CKfsFjZ<1r3ea!wh{ zsTu;R{Dr~5ZhmFwDz@CvnzS~#1ZAzJpp!LoE{a7gNGgIY83;oLv4WkfIU(p5TK$tpeveK!n>TJ z4Og<-FDDkV#*a-8&6vfiy_%Be=q&qdm!2#jZQrTvnP)QMmo23ueQ!YUp`O6y=YP8ua_`DE5ORZvncdSUHmpi{1wkLCRI;w}CtM9O9Crtqn7DH*7ZP z>Isz23K1-nw*#nnDw^iU4-Slzo$KRoOjAi0KF(( zJNma!0r(UeI3c5`ma9v{P#eimjU?XaC{D=4vCM)R&)o5a{a0Qg3liqj^^tdY_nVv% zkL%ursYY0}M%tD^fZBxg59VhYH{Wh%?k*Gjb>sF$qP-her@h0D*$%y+Yq?6Q{k5a~ zFM>A;JG&Hz$1_eo5e;Hho%>W>!oKa3H9yNwrRXO60g|oFsy#}c;O`D8)H$)|0lbX$ zaWE_-DXG$C+MVMwsb%QDsqId0vOz`PfCAyRV}z5yO{-?qH!iCfvTC5xI6VuQ8F^2@ z_WoqRJ`A$*lTpCowTVH!8_|AGV&;TAs_fGPPlD@t7uBx<6vF5g7nP$8j?)xXhlqwJ z3`_f*^0+PhKN0%XKZ7O1LPKBZC<$)ec0_^;R^8N~6$fC)#MO)u+I?<202wbuQ(nje z?RRWlv_-j8gxu-9!N27#By_c09Zw3hJwV!0;%*Lxgoh#9-^l(?=Hrf7mhw+`wcZoo zia#?#^oLdmOL($DL;=nK6y|-qa`8YL3^vT*$7|GxMgwK}Fls zzLuE4+&%LJK4HfkLFGBKltbe!Gl&+;B7Hk%B3*K|y4^6VqIys+S~WhbP}O_ZLpA0| z*H0fbTB!FEZMMGk&esFJd1>gfE@bXayrUzsIixw#FG=p0U(AA33~bHn70qa9${ZRw z9JI`~oLorN3=faHNQW{8qBQ3d$Nj?3?T`KKz^h2CxBBtlse%Ck8~#gups-iC)O41D z9bOLDy;*eG_PLk8d1$d_#=o;~M(r+sBq*APbvxle=}wJhFY1TN$GeOjB*f`}ZOi7P z8D{PO8w0PYHmh>Ak0L)HIxmcdXpl%k1zGtw6wvP>u*|(M-$*_e#5LQuu}}NNADhW% zWQ2N{WQyPYr+*4>b(?ZK2Od}jX^|}VQCqHFWrl)gn##U9oHY@xaU1;e-`F4`e(2E3!?cSzfo#N>I?D=&Zp3De|~3D8a3vxD2osojy2UN z?0Sfb{^B=3f%!GXw{G%-GM8iV>jd*-@+ebk;&&!Ba0=1q-aRv@d({IaFZQ4)oA< zKlwVLIi^a!pI!y&Poya4q8&|$ip7fQ{$s4*srXg9C@Y+1XG_9`x!)J+D_#`b-7=FR z%0@k-{Ord{9Og!CV`C87`(-;r=p*ag(3x74+B@;bn-Rfu=AT|T+#wh5bi@0kNKV0u z>3*rL(*AitSsY$UC@Q)>QalOF&87W!ilDzv%~6`i`=Tccb$yP9>+eq<)ZFDBtgl5w zp$WM7fJv>jgIm#cn~#377a1yTD-!t0rT5eiZ-6cS3wgsYqJ$xu;nQ7D?~vTq zH#e0Ica*Z-l0M#vjH`)Oj<-274}`R&2Fam-cbvW?jt32g8R5{SWSSU=mnD=+biM!} zUw?=EhwuT1NdWi za$EAP%x^2yuhC9nT6tnq942$X9FDdqib&Ovd9aAm&I&kKQ~d9g#ph?dX4` zIAkx4fcKuI?(E4b)lFNk#sN-y%FIrRCpke7{l!L@2n;;)ECmfbrE z?lmn}Ug?xv5dAeTNXRj1c(-Glk2w12)PaGc^>%38-vYMHD=w-g`{4-L53`9Ru3|Z= zuw{&Z1KR#DIk&I>6R_Dsa}vdUlt66!;;QAFw|8}DAyWuh+CvP@qO%j;@n{B0;nx1o zPH^B#JrWbyDRioV(--j1`e$C2cYjXCyE25V_#7-mcrNF7=SaOQds!p!5>N4Qpyq>% zjV%-uG{ueGYwW6Q_)hXuaNydiZXT@S4q97oeF-EW4@6KPDruFQc zlv(fpF~7g@Mk;+!HzlGKa`yG}o_vO>>HK@0O4HgAo+gu%j#isX`)a4>pMUrn?D8CU zrrMN`QrTS)JChsSrKU+Z(6?JHtc$=VAL*rw7Upway&0}+iBH|7Z!jPvzj#jKr5C`A z=D8=Ge<zb zINo_7UK8_+TN`@0FJy`O&D2$r7J4w1$ElZklO>Zjlgqo!?w8qde=!{yQ2l1!D7Q}W z8W`(X0eue6D5`(gw_{jIKV*BehgCfCzX#&9b^^Dac3`Tc^Bqa!S9B)>e9`OmQG;ZY zXIm{t0My8x%f~Wfk7EALx0&h`pK+Zoy>1B!_5CeHguaNl@jzqtkIvJ8AqR(qmB&+o zm5O#lt-iNG$AsJAVXxc+$9m=4r14mJ94U?1QLxkg#9_%feW*0|b)jPZj&VNvJeC$+ zPKJ9Hrx;z?x(Dr&4B7Xc7M)UWi*!#O46MFYK>kl{;a(2)Q^y^sH$GS7T? zjkE%Tq=+B~GmnX}KnO4;(aWQ_{PlF0lsdLXgn`CW*uo zW*+kQZ+0+bD=OLK*4KP1pcG(VMrJ*Z$_h#p2G&4bVKpJ{4c5drNq*-4hDh2)e|;Rk zdy0otBr)#;%Bk`;QWM>CqiQw2knfH^oOq6TZs!OFGTf^heeM|zDRn1OT_&{%8C${* z3isTR0X_Dd1a?!%Tk`xJo@h**is@QEaGvp}Q@d@PVRZOB+-*>KP+TWB5#n~|>-CGy zrCGx}rKvpfnA_{ruCkP$hiIiC66Hs@w&LrO?1#bOEL-4UU!}G%H>GtD^xrA+K-z+` z$qn0RR~9;rFQv26?R?XZE6|E4o8UvR8tJ` zogXe>6sJAh!K_sAZXi2HuEkVyV|`wYA^6C9paT8Gr!6XvUOKLs?MkpTe;D)*Njf8SRNeAhhJ z4CP`h)ZpmmTCAugULYT684>EI0@5FzRkX_xS2@Q?5A=!xP%IqgNI>~Hi@3th;%|kb z6o*M|3+k_#gg@8QRB9vV#LZ;i`547{r@!iZ-=>y;Tz_-_)pa+k^^Dsk_aesTKck)% z6MOpc##KE+FC7$cLXnhV!GmH8IETBA#_=t+RzJ>~lHqBm<-GsZCcV)X#Fi-~hm4GD zdc7uZ*>Dj`qv5!u?l!_JTht~y%JKE;6w$5>R-!}GjA==)SLP10H;nO;>YAnR{~+DC zDOXx1@FWeb&(uP50gN~es@46Cb<&J`(;z!sWbLHH&62!hfR++cA|F*vYa@$D^pQh= za=-$k<;vL~u`WfL5j3Y2A90P9rgKnVg-8`l1I8lCo|vH0Q z%xh<@|J(NOQ44xw{Z}Z>0vB;HcBo-sWApEF@BwQCBlwkr5o>_wc~*?9 zB~OPe*A)XqAdo6f!nAB1$Yy?VXvTA zR}g4u2=^@uk>iT=R&!}VBa?}m`~64vh?%SBP*c`8`n8FV@qn7tWf|S|<0VZ;XU_i-BdI?3(c^3{ND@VpICy7g68w^bXc!4C6w*A8&t*u~wU9a)g6)mCG$R*jepj=El2s?vZ6!^H zO8|{uFF&;CA>Eofry;xRkn(`3;3AEvWRnBYIN>8J+v>fn<{H0Fj0=+jw}j)H{d>NS zV{9wd#%&#evSoWa0Z1BGD2Bwyz1W=-m~Iwb&N!ASWt_hSha+4v36Tj>CVRJ?S6UkS zyO~!7E|O-I#LwJtTl$gi<0#}%!h?ZaVFq)StnwnVJL?YT%stm0f-4w`X&7Xz~ zRdjuiu9W~~76$Dd`2q}7+2s|4`@PAvQDHBn#0AhTE#FEXzm@D(l64Zb?d>j$RMI|M z3&nir<`)xYDrU$GWXpCMDt-P>09FrImTVPwf1wr=XI!^yiNKEQ@GnHNdUeKKUaBs? z=aC!Nmgo6OxftxSnBK8y-d7Hii3`!tq*R7FKgT}tq9eUEaQ zMi{MDqI{D+h1|{ashAha@a`hscAW`8=BX*yOK*MJs~pR*B?k#2ts%na?`QaCpLOXG zuTe|}go058`gJG6G=$38W@v1O0rLk{>%e1pvnvuV<5!Uzm6K0%nu#N01#U<-G!dUh zZ~j_CzicXZTnGq9-==V$6Ew7bYOo**3$n5Y&!o%ZBDo31#)9gqicVoREpq4x**M9V zV=fmeX4|FPV-oE4A#9SnsuK;WWp$_bBEuJIce%dQ#aVISECFAffdJduGwx+N?+ zw0kU^S7nFHJs8_f^+c^22L0$1&a^BGu+C`ftJMXRx;9E%KheQ4ClGvQrY}I9!xan?O=LtOq?`MUpOb`v+vMv{gzbmD(wGwXdip+~GDqROB6x$_> zD^esa4TYkH+5t?5Fhz93wZI6-v!ostKt+u(Hdj~0&FGL0e%Zfw9qcBU=`k#KI=vaS z%$ZKw`q3+2CtJ&4yKaNXGB?ZA(7_JRgV9DpZ;Cup;X!bxF7}&t^$O+PB7+_mE?pr${FZgr12#%4wQT2TBMA!(Xt+h zKR!D$CSg*Hz6FngRbZSz!S3!1Ztm#FZ@RcoiSr7E8nNf{go0tq2|dz#x*DdnC1p?c zdMT`-w6@vRT1|3fnaDlI@^MrbFh7@ZjB#p@Sut&2D4&>ct*@R8SY^{F6=Vu#$|%5y z_Vnxi+C!HRRf%55Il7ybM&TRlAl`NkSl!1?W40e~T4JK#nI=~Mr#v-9-Q2-=zxygV zqeCsxx8Co+Q>fLlajQQAGutcm$J3E$kQ2U+Jsh!%JlfbOhyWis5tEwx7CKBN?s}vN zFB7T13?mAqd~=1lrTs5`&l+=7r0(+A?8y6waq4y}rz%&hX7stUq5a|wSS&%Xy*X+- zYOl_rO7V5X&n;HQ_latqad__PHo~}Q6#k=_%u7onz#b^aJ`LE?iV8D7Y{~FQ!mi$c z_hxdFOh>9q%n3tv-ZLSmo-2KOx&6eLxPIWq$r45nSUD3P+nu)YCTTKvPF7U6G^Uo;4`a4hqKC(SU(>+I^ivOxej z3}uHfgt?m^8WRYI+jy0!-aU?}*~07x55aKFwzf_wER7!b!4Qh^7u$Hni|nM z_t#C?#cLbglFNU>T|B`j<7H=619VW9y70jnr;0)~0(FAkDXWpV)*E)zJ`%EE3o)Cf zB+f)o*@c%xA8o%=J??+|{T=$>tGP#Gzy?2J`jEZV)6;r3U1EYg5hR}556SVVa&#bk zm<&9C8S5h3_$mv~Wi|CRsru~2u)bZy=L*vGJB44NqOBl^ zKE_T^t1bHP)E(nImDF;7q4kh}irep6l-XL>nlB6O1$w5J*Zl#OqMSu4NwE<_B#`~L z9CyiFGGyh~dNGb%O@^DvSmJ$R3=L&#_vRwjnOTu7c^Ya61nZv}D;4aA9ezr>OL^!$ z$+M3f4PQQ0%e^R+r2XNqPpFs|k)gEaf9vfm#@6$9#&n8daSRu!3gMUI^%NJNLf-o>{~jnf}K$t@5$yGUusj ziDMwBaqz6WQ)2*xMvN*A>Z5VSSfPzmzn$XXN=m93E}Q-{%r(CW)ez<5nz?nbySh#2 zSpwmik!_8}tZVz#nNeffJJMaPXG=UOJ|E?ern>E1>*;!PjGPkxDy5({#~R1oV9xr< zG*0^*b!jiwaxVA{q`ZDF2w$cj*I^=-eP&NLZ;Q})kXgDzN!gZGy`%{-!<`gV$(aOs z_(c2_a^A$%q_#|c!l6dGcskz}jW0)08Ft8oAj02UkqJlL*%j;c^2|`kvFaXe)CZ?b z%!u>h`-F0JJt=wCZ(A|;*;e_!@9n0$teP|Q^b2Qt1^(boCwhCa`B{a(fJu=vR)KX> zd))4!D)vF^z#BP{Kooj|y;6s9w>oaac7)cuLjyGZ1L_6F2sfJnoNb$MiRQhFtdj~R zy9|v8E}L$?pJx&n6XX6@aHxGvH6JIqUU5?U^W+@8%VI6TF>OlkK&W~7X%oW5e6YOh zCYrF*&|}>454DGMpTS1Cle5A_`NZiU@snmB4~A(KqzeP zOpS#{a8zJ$>xOe#z1NzmX1`D_mng`4pFMMW_TK+8YMGFR82eV0B6x)+Ze*?nWMwwY zi7hW4no0U*@K<^%Uc}sp8@k^ex8GoNI5c>H zxv~%b;T86Fl#*6G4yv;T1`Hw0%bDc(+VL4PCbv-kW?V?PXFi!WJ%gdc%;1SFq_s`M zbltJL|4-edAG(MSDr8AMcygwOY}CsC04gh$^IYLPmLGB7vtnT!c!I?r7Z5=!0sGMP zok0^PaCoRC*`lnI4E3h%MUkc@&mWsMj3S4%liNdGEiYZ}7x7{aiA;H1cN{a*y>ijw zmWS3~pIlLb&Dh~T^@miHn1-W{1V$$WzpgMy)?o=G934#&5s6V@ z8U1=GZ6$8yo*Y(ADXkizU&)+KaI|H`X@xBi&V7#vSdeWhg3T zO&tp;7#((8l)Gd5)SY*R?rIU~6X3mLn2T9hVP#X2KQYH3{Vci%k$1`96xkZEYFg*k zGd(@dBE_xvBvu>1SBO^AjY^&eW#<8)+YqvUVasoL%^J6DSxM2!UN%==Dq6S|5l@R= zj1yC9kFR`Q*VohkzX#;MKMW3hR$RO5P`aqU4Py-Y7hyINTIh_RjkZG3*NCtKOL9ys`aO?rB!zcpLN|H`>;yYPq}QltrH<;l_AnbX>+0;pau50lKnz9_#Ks z`;C6|5TSz39*1p8WWc|%^z{Y=WGF>OP*@vimk!LtyH_^(h{L`LsPV6 zRhVjA0Lj)d;m}3JnAXT-=bDqfC5bw^q@ee21lsvb&~b>2-t&tw&Ij8ztj&N&4=_IF zjAj95hXR$g1QMtCo>Kvk(m5Ae(*_vFz93E0meTY zIi=LYo(Gx}EW6A7?EL%pz;o{i2@via&Z}(Xrg(kAOK<97b`#eE@7*cES=q0+ZLyGy zvH8VTXD21dO&0@leRJ=&%4gbY1$F{HiK&PlY`q3ONEp*~kddz>B>ExBH%SZ^=wMWc zy^J02I{kUz+|i_~58Ukt`QIrXM#O_&YOVH+{&Mc2&E=U27K-adxS$+dtZ&&PmSw=( zH|7a^d34uT%vnnNVfjgE0ovGZI*67H6Y^1A9gLe9Ks^TWV96u6=B`;%h+48$aIS38 zBJ7@#PVSf4GHaPP)FaBZ{yLur-{;P}5)1L~8L7B*%I2^4wOhhzukjS&bqqM^5|$H! z!_v^%jGPsm{I85QsFfAFrOGg(%dJI!7;yOe{EbDY+)cK|=y$D$fmck9L(e?y3!K_K z(;DFZ*kWY1yv(yB%#=&k1rP!hiA{SaGqP;&md-hzPC8`S;g0t=Zo**hb1A9|N`wU>XNtND-5{^5tcB%|YXgU@GSC6iW|TvBv^Ao!5!VC&@8K6IE4xaZNe)*q8`l zA7R_d9i^hsA){aqpa!(i5+Yk(fr`?H+P|~|@#VQhC&=07;jWrcAa8Q-Cj?ZC=^}TR z1uJ<7{w|k0^woOfT$>3l^*R1JDmRai6T1^dI*9+p8uRqGZOSk}-`s9O;W@vjpFTitCOP_hwoAs_RHu|$n2igY` zYq>+gm~2le{Fua(U;Q#0xgM&{NmbMcP%zbHrQ7Yd1fICfz4E{&A<9uR@X$F+VSijE zwWrr};lQ_P?z<}tYWB7))$?^(N4~i#QIJnZ%(pd4LGQ%ZE=#v#5Y&zpHVhaRyAxFw zut6nvsRyIa`iLmzI&}bCs~GMJ8$AGcz5r90o30H^OwkJ!f7kb!}lzIZJD^VqA1_gkzo z%fPyCC=Pvb#62uCgWbeXU(j?Y6V_Eq7mTsA#tNJdor5^0=dFeo-w) zATMCM-=U}O+J|b5?9#QNNGU&qw`tj|q@jAbT6RUvmieg25mxl)3!_Ma;?<{!c;h<8 zA(=>a+>1j9eRO>IzoZLR86fWa!qbjaukX3OiS`QziN`)Ulnht6#fbQC_F-xzi-wNKx z3^)>73oMbU>|aY0Y)Sg1Hy463DhnO|{vcB7C-${|J*ziF5G^W6H%3POvVfP}+zT7IYRum!N?2M4cteY9mrDN}P`ZJ0%)#7c;K=59wo7SU->dLU1j5|Il z7|vS}RTq5)MfdisZNr-8P0BF*czx6{o**AS)_cTuQ98mmXOH^{)H{>mV?`uVe^v<3 z?C|_SZP4K93FuwiV64Nlq2N0F(rfL~{x;qvjk^9&))r=WKJD4_1PlkD+YC;N$|h&S zW+oYUWJiA1i}g?e?}G+#Ap#qv=J&l6lNQ>7(V3!8hd(T~Z)wle531cY{`+z z*+hn{w$S$=GKeWQpa8QNpyT-c#|`C4!WF`RNXkW_30S$RlqFLv8%Mt)V>7aD3Vqp- z_eaa5K~6wrRrREgod1w+j@rIbjsGUmE80WuWp)_;MGtp(F@Wz9;$1-hNb!N?<|Ae|xNi{A?+v8z5UgHa~Vc1e+6m%|p zB8Z?Se7@GJm5k!7-kEuJ0)R8LiDRz>h)iSgYul3qNX@q%t3zWmQQ<=P8mY@wEkD+Jd9ST zaj(TA;J8JWS_I>6ed`9*dS*I_7C)JUHt7jtNxx6+8H&(=7`v6+IqGc2ID~Oo5$P zW4hESTIU|awVBlNE+&LkmmSOUjy6j>M||@;p;2Nl_$A+Y6VE$&ZC_vRwfbRsUW3uH z71*1p(i7fu+byV$-SPZJVy}V+w_A;AT8lUl_!WRRJd{KF7*9m~g-t0A_kV54Dsxqa zxWe`RZv3>Tf_S{q@LrzszdIv;+>{b>tv0kzvqe1x(OqD8eIj(1eBic}BegE00CF8P z@y`B1pl>z);Lf`2q}a}-20!1i$U;-Opif@_d!vGa)`b}=B(dm&o>`E@L@VFxE*-$- zYs=pYEvUCwkLaA1mMNIZCTyEg<_0Pc9Is$?>H5?a3w6Y~kKf18K2oiOLA9V2!qXl?zsSQzCf02?-_E<*hu5 z^a01CxbEl7jyC*K+?YxnRmMxA^uJ!`H{!{jxnZMHz-K8z?9@_rdUbQU#Xj;xMVzD!&u5S4e*`#dKSIjJAUK}aC~B?0j-vu%mQrcB{8>2hru zQW*7j;7MsKff&!%^EcyP4+vhlf>LThqvb?f(me_3h1oyq2yQk|6*pqg_NMJbpsMTa zUY6?W5IvAQ4UMZPNR(e>P(pNytHrD&c>1Z%XI_#J%^IywzP$8?SC;{{z)iB1t1dCI+}?IP@?)YPiXZb52|uGstid6aSp;bN0}jij|Cyv zzSIr1U|#GO-D?3`!@zlP(gyjkH`yfN}<7HfNg+IUi-}IK@^S3h)T=F=05Wa?p-nPqqDuDWrWn! z->BdiFDImFsFCp}pOO3Wrn+?JQ@WFix2s%Q!^6t+I(NZPHlEOduXnmh$XOe*O!3+AV>DYdy})mvy$!wb@9# zC~-06PcALR3R9TD`Ho=$L7UYpC#x>oE||#yT;Er6 zpIM?o)z+Ds$!fHoU4~xV{gTa{LB#dKj>FvFQoBtgbDgT1m6jUgrLqNyhSNEa4f^V3gJfLDr{l^2vOcT^iS!ol0{3;~d+M zJ_HW~ha%ZJnKnDDWq8OPsWdI+Y>j{hce0uRvs#*#OySX6c9*odV>zMuH<5FHr(k`!JbnkQq)wA7Y} zfiyW;x^&<-zU?P11Sc=**v(TU0MJ*drNn6EAObWlLlK(FV-Zs$ztanWz%Dq&k34$V zKg+hCWkw17WFmHtf$^q2i?<^l6IQ`BpwQaYhtC5hss?$&@OrfNdLF?kwRd_$0J*jo zlxoM`YJ2Vh{H)LqNSAlSpnm(ve>5{+W$sMwO;BGgo~y@oYm2FzwypR>(wY((!Du_%q}r={nJS9G)OdptbcxkNPgKW&5zBAdiDB8^Gy zw|F|Is&h(27;Sn-v(4-auz}%$_TegngG9+>J;y5G-7hs4Cep8c4^%~2jzl>IPdy94 ztpCue=RXG0a1+7J#VMrWUnnTu-2~^u8fpmGOWUAfw4#tz;-;e`kDk{EB$sy!Jw#{l z><2o39?**ZT72pzwbjorgox>-(_#cADDM+-b|bbMH=;8W0Xt zRB)6V5%->DS-H!B<;;N_%>lU3a+R2xxB^5I_W<`!&yV;0Blz$<&wXFl)nk5$zr}q~ z>SROWmahg*N<*q~L}_B9BbVQ~@%K=d;bmx!g}1=b#5yFkIcc{!3S5jCdz#Oq5Zln) z^8ric{LtJ(2A#37CrOD$E1M*tn9Q~5WYue|50L5GK{5BGApKhcV-nZle6mm5aK=2* zp+Lwtr?Th7MGSv$t8}J<4n_E_@9ow$f_-vz;gC*Wbc`%!i&9(7XJ30`KGUM| zR#VAj;!OS}hwD2bYfi&|#b)|I$m_D#|BblCumZ4nkv_FHv_~Z}Ldc8{E@qz$y6l}l z@OH&U<=uRc$Iz>J+d1t!iiztm^)Gty%@JuglG1sBT%eYNb>n5>{F5-;d7)n6(h3x_ zZZnK1BiDmH_J=@{iWjUtsGzF>Hd64(iRHDEGf~5WmOJT$=>P4EgJCRQmlHS*?xF89RTS$s=i5v9TWo)2Ymg8qk>> zgA&t2;pY41#$@V9wA)(Bp+Q$=(O>bgHMyszs@++APKYuZV$b)&Y%2jy)TatC2yVAf zxMT;Wkd?Rr?po{z4Ie$8jbu4}n>;|4S=Th8lM5}Lq;A|GW$YI#ewE{! z>$v2Im<#mb_XKN_@&wIFW%UEfPgu9C7BVD_i)R8oA3rN(!s!x4|c<_cLld*!J&T#MA9G6a6rWxPj`0G-#j7EE&_^8#p55rea(d=xG zE0zVEWNyTeL$2XEtBU_EGgbKM)T%JE@5q&TdSTSJQE)_hv-5w3ey>9-B%4)Fn%8m5 z20c4>fUVTmHL5&)Qjhnex#OxbbX+;o;ZdaG4V?xTq<`n99yx79m1>xcXCPs!&gwhz zvbKI>!@5XIsR!R#1@F?-9@gQcwpy~{drv%ijOpDrVv>L9LvDvA&%cHMA<96j?98Q} zYKM1kFK&qN-HIzU4n!PDtN3hlH+X1O>kai-FmiIF27J?-@*7e;d|Am)iAg%DTH7AD zK@M`VwDkQs;=zq3+ic^LW)&=tOwtiw)QFTn;<@j%=9-*W0j?Eg(peZHYMEZ!m<$(w z-tgOi*$m(ks|PoI&$^m@(>fIp)*iw#(lKYP2)kOK38lQ&zvM_&E9HFl||TC%o|YiPW$q9_uO%j z{Ga5Ws}~me#?wxgK{eNmvy@ef6-CR-*vZE6u?^eSL^<|d&!It9v0iHuKf@8muTb>% z9Zp&BOXqqLkl(J{yl3W1gN0^jXerYYm{zI@$}&%M2g+gkR0k!Es_`5FlIEpvfBGF7 z2j+N;ltYTlVp5S@mBSF0V*TKlp{oG)0TZm!Mvi!#`>IX>E8{rY;omgcs+n*=IF{sYI`X+v79G z?xTt8yK$Aq2Hiikl1oJ@OI{IP?pjxU1k1km{3!dSBXKf8n$<#{G0qwEGat3Vl<98K*V#I3{5IWLP z#@kBa`7LY(SI`WAC`KAL5vaqsfs4Rv-KGG@6hDpUZ1;>kB*Fg_bL)T72!rm zh9nXjXm_-U9re%{E;yoOT{a0pfyv#Gegx$ePY3Bq#n=&JSYt#U zu4&O#2{E<5Z)1b201tVWkoqtWv6{FGe?N|NTHPUYnwiiqBspE{if)cp(zTb=?xsV*8`n<#r z!8d*YXFf7%BQy#STIu)fmdG7TKDU&f{@WeiI92qQQM4l>n`dVLiB)(W`}LP8P|IIt zgbZHmAHb4wylSlKe7}yCEJ90De0ROFEPQo7v{fr3Dfl_w-Bxo-zs-}t_P^X)omOGs zyqD}EV1kIo#+$d#2>+OncR-QiGGJY*g}+|*9JK}3>nkX0Qaf^Qt?`ZMb3ySD9gfb? zZ{~ge#u7cQAHz^(h9&UyU+K@K!bz%%AwZtcEV5FP1><-=YtPtI?Yv~Cv87Y&_wh;% zL!LH5VxZ!%Z*X(L>dfjKUqu5mGIBl(-POKse2cO?J(p>c($g$Kb+q;xez*};Uh*y2 z`^}WMPIx%|rH;Dq$F)0wQr;@Q09n)udHwtwsktFi*}To(u3uNAU!F+FocV8t%Z1?# zm};ed_1zq5=@l#EDkl+(@}4W3y0^Svv_?-WoF}2lZth z7~^&_h^8iWkIrK^)S>lg^4PDXteP%i7-LeQ-b8k&-wSf15#RFOM1|Ylz-L^U7V2yJ zwC@ry%TeddblAw!w6AsRatI8_6`$;6e$|eo@JZ`q&V#xd?Oyc|%hx4SYd0CGI*0q7 zc@4*eUA5~2C(CJASh^SMzf=Cus`8d8d-o;pp!*2T;9Z9=R;vV$7bbs@OxtduDk~T} zWN02)PWi#zNB1tn7o6?7bMLEZb&%e{IXi+?0h={@=`-YE6Q#~|aPyw5vG+#{?D?UJ zx-N_Ieiv`|xxq?XraJ$U`SMn&ptnrlJ^o(p&i@(MljtXQ*qY{Tbk40>tJNa+o3;^B z>7hOWo8MH94TzAe#I!@E$UkiN>AtSf7|E%&DR-o{HgZfZ3yVrLS& z9XCwDGBWxYM9F9BoL>vHU3tvFG_#hR%&kz`?^eQ_hE8V62TICNBtj@&X?1Q+(}R?S zU6*xL#m3^M+$DK6=yJ5L|U~M$&UL^EAJ+p@G9b}a8Yybu8oeu=SL{fmoIE|KA|kHkKF(L zZ;Dpw3GF&?+NrW=3i4{D zC1sY%HHQy*4D%ypg&tWTks1bs9QS86pqh1 z0o6d8^Jk`Qb46~F?!bzRjQv7v+55}o4^YNl<4Zp??X6fvR*zINGIdQtS2VUX)sZ!C zsB1`vNZBkoVdNiB44BY)9^6YL_jQtAD!*`a9J0{}{&322Erx^jm4{{`Hmw0@bP+hK zHr3wus>6OQylluS@_6x()Z3@lDAPsv~9_+`Z&xD5}?T$?b(+l89p-ti2@7j=AzFSyD3h@Yx7Yi+Aaq}!5rm1y?; zJ9LfZFP~O3RiI894jJtzGr0!vR=4)wn&#!72T`gKH;3Qj+6tx_I{5FDhTlUai5U}6 zNfqYi8_)ZX!9P1stI?X9^3>lbvNh9~x1{2tbHk;vU*(+vNOTLE(*s-3nt)v%o+ zu$`5NmRAq!u`C&}XAgW^K_Hq{MHsawvYmPPj~n#lN5j^=II2$eMU~xu1kOEZpmtP! zPOA7S{qoIGRe`0>)>-URHS^cAP`@069}vJ?hotmnXGdnx&?$F*$`Y}m`g^S|5Qr6p zmTF?z0+y@F$x;q{K#c|r-xe{<2#)yabGw1_-suOgo`2vH6T>U>{(f8X=QDIAZpkvO z^wQ~a$bB!<+0wp%{1!e)(zxm&QF!M`bHsfnJiS&Yr6q#6<7EyZqIcUZQO5QT)Eaox z{mVkrC6#48qUp9jn{%;+l%(1-+}}iF7^X@C4AI{MN&N3~6B&$4-4Z(yZ;BaM7mfzT z=Z3NEbP>Yp*cd3J^T(F}mp%uj(z9}!B?oI;xNJZRY|IX(#EeF)#W%;jm-seTE4@HM zJ#yIktciM=QT3yfo-I`hwn-zlg-nY#Uhz{08KSID~Gxd z2?9R$vrU=7W|P6XjF~!0@!XAuEl|5ZSWh(~poL3T@6`GPBQ;6Es(P|-~*J@%dH)IXmjy!Ug!nMVbWx<$sU&RVC_ zCN`@Mv0@y7b)-PCqWt;{i#$RWuy7RBMp!}!Kz@dV4rWJ*7@d|6F5jUCid@+52@L=UgpCycEeXGVwNQ z-bS#4H>YzSuO3K_5}ZfwaFEo={UcEb<)R~yL^*4^Zo*C6i;r!lp(oBEu<5rPd!h12?px zEm@kl6rl#C??|4K50`7zdB@EP(9EaBNm^SIwqhP@X*(|5mcohPR^8_p-tQGO;xwt5n1or&#IkE<3gS zG|T#Sf9^n$Z}5$N?NG>%E!eWx`!4wx2_(aCGIn0NLXcJZ{@I@zohYYB-6?M=iCL-# zb?NUQ2Im{+E24n*LZ6q(fw$`*47p+)+|XueVaTE}dQ^Y-k;9cI1i^q*K-sq&M$Bs~ zStpnqt|X@~oyrp{Vx2ud{P{BdhVYL*%O_dMrpea0TOHB^a9$h~L1*s6^mSm^obkh7?6_#i-JlhHW7B>)v~`o(T1$09AxIC5xZT9+||gjj1^( zgk0}c`)n{B^1Ch+EG^AN;=6)dG5=AAs0KW9EMU`waWxtwDyC1Wv5yr@Jf@qW@4c%x zl6PlhWwZ?lUF8fQn-*s=+lbyp3RC;aUojCMx4kd*A&&~VbfKMQ08B<=o-_0hGh@mR z)KJ(w;{m>N2|CvqDm?O>Z8gg5A{etVEu$!W@Mx&0-!Q|I{CA4VpX|K5@7WT_wu?~U zhOl1|m;YSmUVTGd0M*8PH&OfYc$}KCcCGxmAbiS>{*9ljc{Ozz(Y9zh;bJ~r#iNx+ zRgu~fj;X`(cpsqP$%y*6KorGq#EO1&W9WL*$YE;-5c;>l2lK2hO~z= zI=;V5;&={qa;znz=jkgjdFM#W4=6*G0!DHl*~R21Gr)k}v@zA2aMq`ux9hvfdzm7_8`1Gajg8l+lcBqlLbb_E zi-s6YwrMac)YWuacI-*1;wKj&v}Tm;%&QQ~qbl1_^SP`{F;&qW6etTy=xCGgt(?ee z%J4KOfW2<%CRuuH1~%NNaVKEY>{0G>qRm8nVQRD&5*E8;b0?KNh-xsib>+35T<9D5 zW2V{~i+SLd^mO&3)s>$zuw+#-q-^a1=Bx?&dKz#%J#DzlVK7-Ujcw`IS~2;tG`>B*2zFV`CKudYu2T*{-VO&vK^gl*OR-rFXSp*N}Ql!%YUaXo@qAx z5Qv;6o(pj$3@ge3Y)ch1=_L)r3~$`pmcl)%>VoAJP|irV;1VXd@siHoG`CQo({ zds)7Sr6Qz#IgIR^t0S8(cGf(X=n!~3X(QGig&$vSQ@H+67GK?VeppaG$BuskjV6W|6QSgke@xb)$`t=2hQ>+u=J_7bS7Ukl`rHNquX$o%%bT8cegV2vG z@&{!I2}m)DWWHaNk{>D$=^R^@n?mh1lNZM>g9nPU#_cTA$YXH0Q8=wvtVo+E!*CW% zwWWllm~R}%;vW;#e3$XpY0Dm(rx(nI8(JbACzVCMu2U!Owmi=fTq?EVc^6S15-*=u z_u4fzXso}?UmguYuJnf+p`m^e=}U{uelZD`Ilch;T6Oz0v~f`<43EyUiv9br8j&Vy zPB9J?R$Az~PN9C+>URpjV(m1WwEy9J%k_A{Ptn5E30q*!Rq}boVs1z;q#50wy?in} zOw34C%4{BQD7t6_9g+A!-(JjZrfAbhd&)bv;ze}S?jJ6<-wdyl<^phT~>pEdo_9rW$S zEZ6+?<~3lX{YsZscaF~`&$4sJfSb6v9)eUp=#!}8ftP1{L5fuU5P72r@o&4X`-;!0Jv4e79~1Cu!xZk z65ol6P+}^jLnRc`KROj|&-z;{ZPle;<;4GdHr2{veobbPmfm0$j_?Le>Y%nAuE-Z> z&2)IP=8Foso{=E10`j7mDCI(L+;8Gc#Ya(G9( zUcBiK7D!@6R%))ZFlU;PqRv&yc0kw5+%g5p0=JW&eKeQsH5hwce-?s$fO^#>?;V_W zRnqTK_=Cw22-0{QY$N`uL~c4)3#ix)DF@(wt{9q?VMeR1kB;=5=L&-oTC{``?0`?u z%E8lb)8-S2xk&HcD%=R?n>7aO980;sNs6lkjJpc zF*A@~3{~Ss7juOQ1Cw0mc*F=Q!!40$qWb883}ws1ZpmyBE$3Fb7?v>}cS%j1YD>i~ zw`E>V+KzIX>^)nW9U3gxG0jA47R1_Q_iw(Vz%5h0bZ%<#)!fLjdyKha6ZYf^eI^B_C;17@{;Brll=LUp)alfKyex zt8hYPbA%U&-OSrPV|(J^{n$ zPg1qDf6vEC9vMI|vze}itu5Fv)OatSEb8ySyGF(%I63hM(84zzHS;POS>cYg{+6;# zw;(fGu9z@&`YCG6#azFG;Z`+wgFyyYR>F?M2+?v4P-FO5&D(U{94QjH{3m11B^=JE z$5Y)8Cwq^+I4m9#=?&0!YF*tk{tgFJ>U50Wfmqi+z0$yUi8YFeGk#CLUG{TQY|KhB z%&BS{&8=~X3=bHU%bp}D`PRgexeEWVju$v#gT(||1@0s`JDg_m13f*?Pu zpJ`TC$lcUTgteZwnlPE{)wogyd`}ys7&uUhQ-c67>QuPgl(9n=u^*vn_;;eejT(6Z zN3bXl5*&g>gxw$n^IdI}-aPAHm`074e83{*)FpL;yAyT2+BXOQw@><4r;1%p3>Io& z4UPr+uVpk1!mEo)y~-U@VKlIy9gAKBeuNRYPHBATUq*qXy?@_@$``+$_|lm3c#hxXvY_$gwxy*WJZR66z86%t z6dC%iYVlV>YP5B5!*fZE7S&2fYZ^XtFOXQhr)EzxYj8f^R!1n`4wWx-d%ZC0DkPRD z^O^tO3e()G<+oR83?wu@X@*l9ZjY?=M#{MFMtW|C8GQnPCUI%wnYbN-eKvA$0<@sk zBEQ2=Ug8oc#DP$<7cV9e?p8?uSO(~eOP=q0ucv>Sl$c`)&}a`X4uvuQQkRC@ryT13 z{K1g00)Wy`@QT|aI&(X?1=yw5{G&OsAL)e>rPkd+>A7PzV`7$e0jd0C1JP5Q_32%& z9^A2s4c3Yu*-dT8-L*F{QTSeqdx8lW32q+sLg%}}0TQEryJTihpWVv!o}Njk%|JS1D%zSoM)6kTpCFirEt@S7xyQm8 zMAhg(l3z&P1smBKRpM=1fX{k2V*XXI>_%ZrzO>Zkj%$h4{TkMXy#A6h)+04w0K57s zU7QV+hNc(q+E)H)O9&Msjzg%w9Vr(1iY zbOa%!urV#f^>J*L;TwS1Gye4KfpnS5@_$>{Y3$U?5B$_xTP}-X%k5$Q?}vvaz3$FI3cGJ#&IW4#9h8%s@Cx;B8MyPR9>r1d z2ztL%Rr{ej>h6r_j4KZGcrR>;u3dRuI%01=-*QcK7+M#+mo-#P^9~NO!G#xJ>li%a zkqAX1M!A@q@sESn1kR2rHpxlfm!FOp{VmXp02-@#^aCddW6;H#im)xa(#2Kox3Zx{ zd=g{e?QuK%taf=O&da)VEFhaV>yP~hpX*O+3++(`QVoj9XLChU_4!d80~Z{XzRIAa zo|iWPT3Qr>2Ezlw@vSwqmV{D{x>1>jH0bExF+8r>es2-IAXUDPS)EIk#CnwgzVXh} z49Dbuka!=7z7vDISn%gcTv&U2!Q943;DYv%WFvYlg;VOzN7QDxq=&-LcE;eIuk< z`06K>85%A2EzM66n*4-R-%~(1uc7(ledVc?KPLcsIjfK#N-F7?4g#wNUgt0{5O&N z?i+Q_d7L*vH*Ef4Jx+ay<5awla)cK87cp<%QQP(!Pzwue@#>qy?gc4B(&zNT0HLLa za3U=@h+bM-%9Cz-tq@eAq`aZxuTm*E`!3<@;FrKt_0B~xt6!yuOJ+v5WT>>iYkP9) z4tF)5&8;6UmClUOGqJ0QyU37g3r@~Y3pT}xfH@Ok{I8*Rxz29Ss)|*Tg)@U4OXpyI zb5?-%dQ^3@>f~f(@Gw0Cpw2hcf{2U;A4ko(n#^6K=ON|@^gBXai!s5HRLhw_j)C^u zu7Q$p=R5rM5c|VmWwsuWAl?W4o#a{bfElXmTn zTg>$vUKR@XKKb5x+Vn5yeaMxYxf7cZvoHdFFf&>&rL7lJy_;@^mFyi3D3V;Bn3`~O-^dmbECvM<+G7~B}y&`)hDZ7Vy=jP2JfW&M6y+Vb%sIOq0fYy?%aRvvE^@= z-w;F@%ydw%$*3l*m5-`lq%MzBC=W6+LI8^lY zxp$dcr;EP(l;7)_beDbNe>WnoDOrFd&8S+x$29EMoHFGh}9}#)POVV)vD|XsnG|ikijh;niNv+L7e;y@2yV0qsyMW_t=8wzEZ^-1&$;c8Px+sm5uM@KXe}O>4!Az*-Dy z3zB-N1+d690Y4hYoZo8?h*d@dwSQ#`myv-jX`#c0x{al6D{=tvJ?aSX2yriBMJ9;og=r`9d+)v7Mt|8~=dWP|bIDQ1f&DV!p~-W`A# zzKU~RrWRDMH5{(J0^XLTeN58Td2f-g!n2K=&Fn?3FSV<(@V`r=!!MI0Gog8$K50ht zH1-|??)1yrpFM7Or3k0K-8jFQ@#WlZuRaf=3FsvyB_Gn4mhs=I@Zm@lDr3j>MmfO# z7rWO~T~h%lsi9K$mP8+29!)I6`z@<;*?xWhgZF&0Z-)%%X3_lCt8)npFEq{qQXe)} z`omrkRqa)su}I*W-CChT0*KU8kqfi`?^IoS=$e=NCQ)n3{@5xbuS$;T`6GGx0W)8> z`0VSuj0@&m%1(Vge*~1CzT}zl{Yc?IW!WmHXW19!5>9CW_7fYnC+Srci3*LR;Ew0V;yCZi)Y%rvkHuY!Ay+h(oS}@=&hV!2#^B-*%_v7Y9oPrNhsAohx zYh^c>fi`!Yp@uYBCrK&t>jiOYzyaQ5vMpaUcRVx*Rmo8SZvl=)RMK(ymWCSK&JSI4AGSrHNN$>jrT0f&6M`9t0%OF;cv%d?c;J7#`&)0OYr6Zmb6PVDWO4F_11 z-tbXP5TOqB>ByB9fwi%dS(|bh#~ygs<2U-VSd-so32JXxyZ^qgkoER+ecq+-Zo?#X zHF;0A#`|a9lfLXC-SB0}USTq#wQn+Pu{t9QaX_LiB7jQO)Xb(cdu!eaNW_1qUQmLF z7@Pl2eMyycJ>qFlPv)sYty#C|6vS%@J@S=JOP$hc;<(Q5{G!;hVmo8Tl|`g0RA-6K zw&*4IvDDHf9{6Qvpf?jhU{=k6gZ*+}MyDxy$CAlZIiFa&b=;aZ0|*r4aWUs_Ni#+AIE-zmPmoDZgdh;=6=#H24H`+^vwt%UKzcGXl_ zld5w^VwJrv0^)|&jN!Fg0r6`Ye16BdH<d(LX)#cqICs2EK7=PAnDPB$3Rp zauRqs!(psnCe1OPdy{mtUplZMqlz)bpkt}j09)GSUzNJt2?>m0uG^B9%ZRaW-Wc*Rm_xQdb3F~hESk5{X@-c8cY+S4gD{JN`B_b2f1>n1Ku z?Ww+Vs+ow1A8}dbak(xKtYAIH84C`_%CsHfck2OiqO5nZ{Dxkp8CnqgHKII`JO`f& z*unSNL&bU$N~U@%9u?Ylm($P0E5SlVTdaAWnlAtE-h2HQmHa-~HnIQJHd%(2l$m$8 zK2;pdLP^2)yq)t~WaM^`7_ws}tVRWaW8NUt)mc%d!1=_nV?kol|4NYg2%GIbl-j^o z>;jd9FdF<&oDu*eK1eTzh9SfoXR)YRKRcb_|M~PK8vdIW z&Skwp2r(}!>V+z1r@-SG_4lm_+%$4XUi_ck6 zUYwuW5+VbV=tK(Ub(dAfj2X#y)S%5CH6@dV2=w?{gW7d;AD_IHZ%oYU*$pqV?MSti z&->D?ERqj>Z0W zHLTl{HZU|Pj3BLGMr-zZc87y((z?Ga@u^W^Hb}lYuu!d9=hIXlrHZ)w$?%ZJvOdq? zp*r1(p>9{AY;wZ_+yuSk@YR@*8n7y%mqK%&+#p#<>)Mug!;KLdQ{gr+t0DF`JSv-% z!EB9+#24_UA-(U~RuQ-S^q#Wj-H-)5@L|K z9Df+om-1{s80(+|Wtvq&Hts_^N%3FR!MCEgGU$w9k8$cD9bUL{tHpiV{_?=hUYIrv zFiCv?!ZxI?5>#eJyj3M1u@UQQZR2+tJ&f*x=mrH6h-S+^bL5Enx$Q+Of6-RgICdp85E*P)?MTr*9e*T!E(DqYVO_1P1h2Gm)>q+$CZV{WUG zv2ufrHr4{E;Y2cnb^BMx|Myf$F;=c2@aPtW4umJcem?yty${rO_vb^uk5IWK zh-KBBjbw|RnCmdxjCQ2ZlC_ttIwp8y=|~a|EoMxFHYBq{*ne?2EYdd9wDASC>KDw; zW7Bq?_egBTVM4#oh$ytWrs4zQR=)$3^=w7`FQ!KCK8Ws9GS5VIuSBu$*a3FiWBq9+ zQ;7wG{OaNUm0~4%djo?k=O__z_^0oG?`3A)qyN}Uz?!M7XG*IX>7dc`tVb89(UDhv zOx`=eD*n^pGC~L9c%I6^z-0sorpcwc;yzqk8`u6w^`hD9d_t*NX+^0#(vCRU{)TP! z*<2JEeEdYsB$#8OgWQdr1tHE1y*RDa#eBto{fXG-Xr4ap=N(d}!?wfiYxJh-;|Ql_#8w66P7NlaiApvzqC8r2M zrr+l^2!Ff}*mFA^Ht39V(9PWw=YZ~&ji8TYDp!^wgX^L7lgv+tUMffdV7KADZ(Fo>6jfcYwseNq*vcHzUQKY1EOV6;Ck<3}FOT{RGq8pmH z($QKf0z?^3c>$0V?Y|(DR9%%CY~yhYWP$o zLBv@)_>`HgZ1YFh6=^KY0}{n*+s+;v=&Q~Rq}8-!NQY!)CL{nA+{9~YA_FG(Qi_6_ z^jEsSI20$j5@N17*<>2O6zO5y z#adxForVAvNSavjRvj*9FHgA)+j+ZqhtwPwVeYg(`2(`ke($3I<-CfO#)3w`^3yVdHEPJKi6y^-|5x-X1MDH)kzc+W2Jzf!&ZYXW!~sKuUm}X8z`;UeJ0tysh$+ z?%KW|YX%D&l~$MBG@=8(2UKDIR`l=HQ~N#5M!ffbWnZwSJA<4SKM$cEDp-xX z9}sVVb#n^DC(3(OwvAawa?FJa{5W9MI{Bzm3;9DF7yA6=8FM=5T#-(3{$vgcK>7V% zvE!D)b9!vwz3Zi~F#`VGz2&OGgPJfJCa}+ox(EN=KitI-OwxnX&;!5P^N3+<0eggI z_7g*_@N^4d)Z0;BXAvcPSB-GN>o(N6$^4%tTVS1z@rDMy73IcJ{;R{nH#OIAlsebS zlOI?)q_VT(n%ZKxTq35gn4tmFTP-fmWfl^Us7MEcI<=y-O%~0mrFKIu59y6YRf-j%}+Ob=f0lXa}usfJk4I$N|GA< zv{?bXiR~RgIb;J=GEw18K~O3jX!iOJf0LBM_9!kgtP-(_n;S^EwExP=aamrrYDU&u zUToy@tl-PQ&3JfPP<5U5T_CAB9QAK6Z-+f_1L^YdaHnul-8d^_S?xrewg+j3$x+*y z9gLl@j_ze;Hd-~)sZgJUNElc*x|fLv4AK(M*9mrTK?deg736>Q-lKo>oVSe=OJ+TB zyi!~zaC7Et{ayJVj3%_M8QAlA+WT(%|kAe7nf5{`(x1rC?< zqLA#r&!B)O3*a%kDisQh+ePg4FSvEjXC|%*akt$@{vXn3xg38_zX3iC*@@qyp9ZzGinZAI z{7GM^m%MWeUrI@K1~}m!sbm$vmr1-6b0}2SbNsF7_qS%Jff-|I<(%^NsN$M6l`Jos z_F)SP+uEe}WyHmDxadk?F{H)p#BxnO%YB%Ydpz*==#dfGTh_2hn1$8u_<6`alRs^K zDzo`@J}7yB|HDLsz6=69MdH`zzCuh3D6a^VCYuNOq9~hFhI>#rlUA~^<#Nf=dBH&1 zXWoP|9Au7XE`?)CK2Vsu@7^Z0-WWG|UeYRvW!9BtofdhZWeTy59yS<;tHg=EkUpQD z?m94TRUPWMeyx1=PnV?|eBvsC= z==qH1P9Gp(@vltv;`p_GQGeQ(AuqWR@tx#w8)gkl^hh@GbkzraGOV8A9-@sa$dc+X z3-M^cL|K=!PY=r*2)*px;Ydedhebj{I%5e}m7ebsD7Li{&T27YqX}`&W3QN6c}1>& zLLX+rHl5@#uc7_5&qHCS8*iV9+$ZTliPCD7S3IU#-qg0*VK`Tt8o)cvi9r-ZfBKp+ zN}s(Q9E_pb?bSyi!%@M$W9UquLFG#<;8@n9U}55t63n5+M3JjsIHN32%v#h~;!~ohdMZc3hr4M()0=BNS2LIa!@(;h zy}AKb|DEE=pOg+1&Ydm}Xo+0&NHPoY}txZIY7i~pqPnoMs zA*k%Fc4zfXkgpe1<`awcbJtKp#PbF9cMp%~D{tD z>qPQita}nD^Lv|;i1HfuaezO(X*|e##(dez>blG=g@8F;l@A)`?6H`~Hz1d#1V=D& zAzXBONFIwEb!f}m-CmGVTO#{sfvFa3O=oJggG~5TPz7Y)SmBa;bMY?|MoaeQZZ=CU zP-wBV)+oUVB!)@79WyCDnV9-mM2(jA?)SKMXNPiWuch&lrY?iLf^4yQu*Q~*mrY_k zaEoQ6SS|BX@$A{z%y7cb!_XG$SW=(fUH07B8UNg`WBKGcf8(f}^EFsU#RMF_qy}A) z$Q98k68rtHFhA>w4IiScN2$Rgs(;xYX`fSW*iQrai{g<1k8hTq?-g?o@9zOBW#CqR zj_w4l;9Jnu^4M*hlK7``yO*wIOy?AD51|3toRBpI%7Dav)FixbeHy=s*0wRw&pMvC zcTqi*+ID7h++N$k`VUEs*@aMVp)>Mkj3qyqba%8-(%RRAIp42x_yPtJ7450iN<-k~92PSMB#B%?xE}!+V>VtQD1g$sNas;(^!zKT1fV&Prn3>K+>vOkf zOfq`FYM}79W~g2FEE}`{>*=teeOqd@k*u&McY)3_zvt8C9&Cgc-#>;t+2*l;VGP8y zto&Cx+X@vlBhfFRuC6{P@#x}*X+_A_M;GG`TXIT9kdgqBFF`p2)5i1%=&q*CC6C8M z|3N>v(yEhbzC6VnCFMaaZwg%v)a6|;TqnVv@98@aqf}@_wat(y=b#osBf!Yw!c&X# zV}ZIx$2*DT-4TYh7Iqh>F>l_OK+qxqm|zX^_h}jPa-GM{OJlp+l}417;n&iV1ImVP ztX`E~nEuijtEz4}TA7%gsSGxnD0PuBB&p49)zxQGqIiyT^aMg&FUw(mH4vj=!ziv_ zAw?GJ3vd2xoZa}hWnn}t%+~wpD7Nzet(@{Zm{n(R_tS+;K#0F9lvhk%YOoVzXD%1W;*s$;GF|k zbBL8cl;ZjT{;lm-nL>*bBR6Vl!fSMa`CRj(cLX6l3^(9?Q`2&L|M*02$sTDyiy@f0 zL}m3-?gb4`*Te*Dzp&Xi@7!f?$DI+M0yp5@|2(f#dB`Qn(f6T2UTxj?n-|Ge>^<2d zz%TLAO{=@^6QUN!66>>lmGmU~g- zi2zyH5g@x-Y<&rJ#_!vigzNg4)0JJ*P&Kn!pVNffH?vqLU0=7%+k`G25kx@Ki|Rsh zeCv~A_kGo85m z_xu0+nq>ZJbn>j841RlPaCAv-xH)rlNxW*Tydq593mqK>8L*x(thHRBbXRKOM6<$3 zQkpm{`=#Fm5*SaFw0ZnNlpU#A9#y~Xnb!0Hjxg=2zsU3GWz+YcYD-XQc?-7NA<(HxGC0l2BLh5l)f9E56Z>T{Y1NxQtnn? zI7s)io@<1Bb*;_g{vR}Pk(8mSUon@Xc@I&eEk4QgYI7m8DXH|O0pD@~gk*oYI6kZ! zD?iqryxH?*z3o-$fcTd>eEs`Vm9sFLlgO;)3=p1De1pCUs&rsIqGt{9mr~VcYCCHWVXq+NOCt*?y#k;f+>%u zBVAPm?5J|8m2+TPTQjlUpyZul8=jvdJ}KsRDE|w!^?m7o@6QFI<|Nw$9*@7La?X_?kjxwqwB z*^@a!b8ir>oJdGcocUB{ZgZfCt5hUKAeEsYT4t65O;Je@%$)-?XRdmA|AzZGuKT*a z-}C%@Y^`j`lBZ49InOxOZTE-g_L9=dH-%Js4dJ$r`xe)I)3XB za%n_wWT^{ot=8d8b5`+K=u-rM>2L+89851Jklm`?^v*SwZ@^i0R5 zO(P{D`$W~kYuQ5Sa~6m%&B3|BJ|{5|J}Hc4vC4O>b|-Y~yRINHCpQ5%X93zt^R7tg zzf^Wndo-{Ma4V+EaqjQFLy@a=_H|>+ox5?e%jI9xDZ&-WkOx`d3h{mL?DqHMYwGf8|SuCq5l$+skh8-&lzy7X92?BA&lRDr-wy z>4e~0DG+#mn(`Hj2H?Thj=J z#HvMidoqn<)_sgWeiJQoK;~GPR%!@ z>T&H^BVm1~^Ga|#fA?`i=|Zkn9>oSc*Rq-7l=QR1)t#C-uVJN^1rDzl5Lr~1d(PMf zNmwPFwS=5W3O{ncqgO~0hzC^KzjLU1=3WcDh%h?x%yrZy?(4{ZZPTZ(w)YmJtul^& zvEv!+Kvd{?ZfaX)=p5>T$d{Mb(>!|V&bX**WkjnN)F_S+F`(y@yOIApvBsC$($62U zRxyV|l>Ce95AFP_H$R!mxUSjrp;{QzaRNiNd(ek;Tt(vPi5n!&&m7>=E_>`jZJD~= zZ>N6tx-4p|Yo1FM4E3IH+N)`P5D^!i9G3va%xiLm`LS@)dm(gi?MkR#gEs|ypR-74t;(xOrHc{ zJ>KLXnzI~P>a!%&QjF!*myRt-9nOFdRR`T2iCQK!d7s(*;1Lx}gk5S{ z2KVUYf@ID~AB3x&@~a zmD5&w4_tj{&_>RSvQ|$lzDbsD)(8%cLPG;bql1yd3_QoE+i(<&QflnY{3l)Xx2Kh_zCwlB3`HcPwW^-kmG6GZU^O%F)=|@N zed*fN^op-B^U=>Q8Y*6kZ<9X)eFx`meQZ;>vH>5Ocg!%iNKIJTD3b|UnYCgCF`)7B z+yXt=$u6x8cUFf_G%>jnGNKesNo5GLGxGDz>ryat*L z{DN6$_sV$^s&H4p#bOn?%0$rqpB*lMYvK59GUkv~ruu2<1l_#@ax(`s77@7(>24~X zXSH{@oIme8=d~Q9Rn6$<^17|P7;CoMmriY_hrfg2Ch5)nr7le(KyH?}UG=?`uxm$A zxc8(~XkNNfY!Y$O7fUMl=k2a;h#~cy#4rx}9Ru&sN(M$9n=^U1h=zn6NT0Y@EhHwO}HnQYR zO`A)$k#FT*z*WtIf`ucc4E~jvpc`|&MFJuoF`F~WkRCmEKW7Yxg{5j=cujuw?Cs;r&AYBgt{B_sS&LQJ zSgmGhIaF5+M3M#)PL*uhwmVjv+Skm-`Z-!D7pP84$P?qny5m)mx%0!b(XjC>k$K6y z3zREj%?B`_{SGA3i`v{S#58bBhXvc74x>?7Hk1?BGV;J_x}#5Dj(jTVW?gEys6;IT zeNtSZu?t#wLd{D7C8%=&O4nl|YlB5IF5Z6dE411`{_j5a#N3#7{2zfEv_5C8zaWA{ zE}R%z8oxM0>;GG`JK?CgkxjVR zJ4!D0^qDP3F3nFA&DA~o?9}X|4%O?~D{3yt1qKp0t^}MQTAp+yZHh=5!|odTr`j3c z#M7!Fc0MZ6g{5pRPDBP0_bp@E&;Ti|c_Z8nfBd^LaqgpX9ts8q<6Zv@cnNB@V;%D4@o%wp7HD+!ae{lNEacK~ zZeik%#Rrdxd{aOGm)sQez|V4X{YEHJwAoLmQ~j6MVi96>%*~&FSt0pTuSr+Z#U^ds ztpH(~q-dN{LR^hBgz2?;Y0;Tio4&2%L|2&I_66siZoji^P3r!@2nc~?eDps7YtfmI z)4xw2tQp>v40ax9ew6Dl?1Lctxz!TM3Uzm9``)()2B{~7?`1i7R!HmTzNoY(bK zwst;1z`eXOeBEZcTlU0f>LsJIwFkDY>SyQ?P*(Z{tPF^)5|$fFu^I-CeTHdlsc@}~ zNq#RO*bZYsm)Z!g8w3Wgu?mI+59ZHH^7&NGy!5<_*-4mh>7vDe#L%jYHB2PpgPY=Q z6aP`#|D7X1KB`DQ*%Z|SCM zmd&~wPh~vq*4e1wX;~%-q)#%U6&e?DuiPe+n=P|9E&bp}^}?*)9zhx@>^?bkapbf} zxjT^PR_A0x91OD1?H{v=F5PZTfsr^lg!Jb*X`gH?@9qpa=N0WhKwQ@$6%)aXun;Gc z#y?^|7~CFu#l$>+_%8cU#`NB7-tu1Qen|kLq-IXaqC!cO|L%dZVkngi0rC}~UMgmM z7M_cHYceI8r?kVe1sH|Jblwck$5|-t_C_?DsKee`43pY;K|R6Y-B{ce`*bb*5%!Np zi>9YeO4DDnjyW||1lT)cUJ{ZV(mq=`+MpHj9$!j;yZE^|^pGM8KSE8Mu~7mA0|dk9Jim?Z&yc+IiYTwKFWz*x8S_(u^$$zsKyES;;y^^oM`< z*)$9ryHxY$v!h~eTCF53g8!#+tA6*^{i_4vQm|WQqyxa3UmIKyK&vEpc( zQX`t7_$g-<1ocOH)^u8I#<5_OXcI_K z+U0wOTQQXx(kP5NqN(`zscEcXzlXa$pCile1U8G)=j2`*AW~%=>~5dbk|TAZ1&1PdYQGufBnT!0n2TR2s{}h!iboF;UaO_Ne%@bE;PAcKv{HnP@wVp(0hi-Fu z!Accr3qKd8YgZ3^XRAv^*db=0bYqvEBuPPIiuos9c~@3}qV)o@Cdlw#MskQzH~jGT z<#Nbt%|l*32G^SBNp)ud9WSg>XkWZ6h%ucTEk%4hC7|ME+xSGm&B!7|F2xYO6@y*h z;({LPYpkbXlgkGed0k2ln9PZrwjF`iH5wzmzqGF32b{T(Q~UCT`qAYk?LhX$i>t*oFj1czOLMPxK8mJi*oMuFP@dXKtL)H_fXM7rAn0kex#1ud z;pK#y+;l(j8RCL)E9|RfPb4<9rM`hEt>t;&zc;B{wd_*w2;~w=ITb9N(6?*0{frC!H-a2 zUU7S)fo$d6M_hDqfjSRPvDn40n_!j|7BSVoQP-+}_qnl}Zw53>QAF6cZ=@>hJB*r_ z%RgKq7cyg7M|^PfO#W%M)7KiGX}*vM`VB4oB7^71`N0k}5Wl->&trBXjOu)~+Vnb3 zo8NsVc80wa4{yR&|6!D!-aS?o#GYn-ws{BzMWR4LIr+fq{zV^{ALLMLQCM})(tm~0 zkSo*RqM~ruuA2J~l!;--kurzJ8mcAm!JrZIc}~2>CU&$d$xjsww2$)kQwbVZ0)*~W z+vtB(I6p*LsKg8Rll4XRQ~;VIrkBmLl{8R4mU>rn;$pD)RjJ_itI=fs?3arg$G?6w zLw-(j?^@$p_=!`;SpD$S0v!9J^Tl^T-!lPi?% zUoN5(iy;FTN0QahwF?)Au(k7%v=KD(?s^MfVzS{-N_+P?yHl3Oj_e<2uKlEvD*ae!u5aa^a0?9raDt)oH86UXRx~P`ns0#|i-e%M$!I zN3gJI(vnJPP}b5-bgtbZ<%zdom%@S<9?X`aoJJA9by#+9M4;xKuLej%U>$uoQpPVo zoO*vE8#EY-ip&M$uwXq`J1DHGfRsr?U+~8Tu&mdXSTK`c6T_~f{oZ}ovqZjTcL@4A zov!pg1E(Xjw8U0Y8_ox2Je=$N_yq-=pR8f|36Izd3A8&gj_9u9yx=^p3F~_V-_xwExdIh#aV$%Lu>)R zs4G|1d`qR%r|^9A;s$4j&abH3x4d0u1Y66lyKnpjB~`#aebV=9SGz%%DE68RWb1Kl zljA3=V>%ubskxD8D64;IR*>DU_}SE9CLP)2MQ#OGj8Sl;nS9PCYT`g*ycGx&`U=Q? z^B+L<<-RYM?!IFJl$^h(;(O=6%S8@#WmrraBGG<$e5W@l*9J$A<*PZRLOPTX6bx8u zhvkL35OHgNR1(XM+Dh+lHiuz29ZX{aEcVjlj+gs=$l@6$j`m-_Jh~rz@PDg5Ad!PO zC9K>=2_c|$i?(GnIxHT}%yFdFQ(HUNTLa)70~2HB%xMu@namZb7e10+qXj8xKd!G{ z&UD|MeN`W6Z~v@*=%g8>tC)$h>J$Ps*nE{+DhgwkZ^F8Hsd4rFGzG?GM5}84b|ec| zpiZY(MrI$qb6Ls9{X^=Fz<1rPK?3y-f9|UCnWmgu$@_Xs_U!w%+f6z50!B1t)VDA*YCbpA23HyLZ#RhQ2=P zNqr&r_;L;XxVB96Lr>z4qbD|=JvQAPOaPrz?DATJbg_6!q_J`^Wrt7n$y1SdV3?1I zQLo>*+C*)l*cF8xyVQJCRzx|^<3M!EtACFV&gl*y@+Np$i zoW#PEnb+T_mbl%>jQb{ZF)~>JWWL(YTzG2ow%BTwf@}VH`?KDjUjcyqL@(b2s_o<6 zGW~Ink=uuYiXk@Su{J>y5N6F-m_?)3>gB$iTVxCG_l-YC!zuAFzu>;^n&}Y`SbZel z)p|YQRT!F0J1TO`~c!+-p%vZa0D^I(3FB3HO#a4zWmN;`NS z(^c|^$2v4sdUJ(Wsrz9ndGHJAxJ;e>X_3oM{XCW4Dr;I7v2TJvBSt@)@JJ?Cn>3IA zHt9OIq9aCOFMttwFhuMlE;65-K5(;`bGbagwdck?v-i!iWhgyOZL9COv->ozHGg<1 zTO8FjoliX3K zv2;(($e_@jul(!K=mGW9L1@R?KT@*%iu#f8;GGdDyya`A-_edGR|1_dgcug$&G2|6 zOWnugZM08;%LCcx)0EiFr$Art!t$u{SM4?bcKIm4du+!Fa>A$kmYg5wW)Ku$;S2aZ zWIl@B*&Xd-g~~~d4b#D{z=icJxCykQpb)Q$(E8;26s1;|mL;m1{o%^-dkz&q)8voH zysjTP?KuM~L!qviW8H;}m7UTRF3rS+(lsz<9v)!c5d^SC0a^;Y0Pp~=SJ&R7cJLAB zm4GzIUniGSe2sF3LDm7808Qtu6xCe7!QfBOBM+`l+!L5K*fWphf~I+g=kL0Y+36S?csu8cASydb|}ghehGp4QE@18VPHl>1&a&bgv)r+@#Ezp}}1*(G1k z$>VwR7(UQOz)MNcs99%yZR%Cqp*_lBtys6hTRO}%f2aIt)VmPLQ2x3gA%B5gEHMGN zY7wFumx9ck^Z8`-?qYmUuWgYhgU+<^Sipc1TqzD%ISL?X&5i#{W#Kn_nADR-W0>AO z_;kr@<}5IhoH_9AQp35kg@u0@!M?p)C9MV%-Qi66FuFQ-4 z()`dx^Xky~4aAm7=HGpKe$0QFS`h~`qNFoO#$UoPTLMR#qb#3mi?Aq8`8CxBpu+~VMAc&%`4V?KZ=`Rq<+2N zB|p3oBWc(f5TM$d4b-xWhF&UUckpyeAu?Lmj%oKNW?c(AaYK&swqSf&BHF3VOM8jY z8EqvtwK>(Qm1VLrgeR+4-RMRRP8Ywy_3#T|)A>*9;Mp?HXS3y##% z0&I1IdBbA^q#)-9ydj{qgqvl#ZXpugeo@0q7;}g|@!XRMDBtd0qo|U~$yZ%xE!tn5 zUaTRSy$82r&9Jwjck+KVqZ#tJ*)uO5q781!>1`7CZTdQ!$jOKcq z%5>tpf!oI}I7X*XdVHI+#}O`xLKll)gu}A~`&0<0Y;|M|2Cd>cJuH^M@JMn?zEI_- z(xnWnb@ov*@t$GxtfzxZQ#;QKIG-HkdRS*aBZ41ZB+{ExD$IBoU+6S>PWX-%aIhEX6&^Jd=dhjOyzv!}u6Ll7PM+QJGD(J(zuSQ|S& z&+;Apna&F7kf=1&o?*MV{bThhLZ-;aum7)(|w;BhT{)>hFdk9@O$c?Aw>V52*bxb=H*~(Pn;8 z1yx*&OsJ?0s(4~MP7bh?vUT1oReEQxvltDJrOVVHV6Dgv$O{AeL^;dv7HEqlK1Oy+ ze5rgBNTYGb(D+mn*SD`-!adgaHwf}UxS+9nt^55QXwb~=&mo@XzqmeDj<+RvV+hUmY3P+k-2T2llwEt$!& zVKcnlplC*Gto&nU1p~oubYH&j>me1oT#%?-T+ph5GN zwk5oloYa8wDl{DXH zsN`LQi(M#yCw~8r?egbD%CC zfijTx%`_k^`Y~ZM|A17?XYPm%bWWQws5-|BJyk1n$%;dth9b+fqhmTry=xq6nhF+1 zFLor>5iFYJ&Llyw@7f4PX+Ke}!>oj&7)^fu^YIdk6*UXqz!_pz6hw;6#>OtMTq|>;S+SJ^ZZS( zO|G^T%JUa}(RDk&!qDuz3Pd&QCD(Dk%ZP&yCE6_cwx?8triQ$mr?UThQr?z0q!St& zY6K#uE=?8S=z=ej}*= zkRjb&euv)umTTbQb6+^;x_;ag`Q3u+>^#?DD9@s+og4ASkvLEcX|XB9rGkG!Wrm1? zaH_UBE~Jv?!R<@C)*B}>n9#bQGmm>dZHA1QeLeeCbfn@&H(96i>5~VP&5-n4G3$O;q9=SmuTQX=eX>*-Ft$FfBc&T>kA}e11aMK_m1#h`k@qn zSFe1fT2$)~koBfta=c^QEUkF5t4hB^+_P#NWNdq}_lBo{gBLcqhH^>7pIZ^3ozz!w zWGG-k&|OHwEuqPrd_x4i7i2%Aq1_$*Mu-+WY+Y}5j%SVexv?PgUn#6JLp>PirXcb< zrRYDz(s#Fu!4)=7_g#cS2a86Vm0FRfH@l^zpD28y!qxk4pF-18 zI_yLw3qqeKs@1v*I7V15CLq=XwwN17i_{&4#y({ozR5Hwf#`>R%CTFl7NY%#l(DUZ z+kfPKS*GAgQafjkM0pUoSLf_Mp09{TTuCuDRfmD}w9fD~7I6lm^EXc9JvWk&xI?^Z z*efj#nM-wKi!9x57Ij zuiG3kUWwQ2ipI(eD-;P0U0c4W`7%usl3N>LtiC^Vk0)JTEz50+ue?N+Cl2p;s0aw< z+QimNzcsvW1u{vvV1JQLu~72|QEI+{qqTFF_z%elC6SEX5nS58xEZR}Rw`()&Gl37 zlWAb_ubAr3Y&&8=*Q6YwBgZZ_DAf6FYK6k_yt#!X`5IsxU95WP0@O>F+4Th>zINSQ zjOr}nHD8|`K*}bl=LnR>6Eufsj+GkV7K7EMoOATm9X!A49d$T2!zO_M767BzWzW$Z z7x6(q$qaxKvT}0_T-%RShjey?=0SiC)twOY4oFA%teu;_b6Sw=u#!;jD8-7&nI}NP zuDrZriny(ggS_+P28DJeC~A#)etOp#wDP*LH9s;_w72fFs`bG%QB|GH(^>Ut>DSj4 zEpT=)2N%M6fgualR!ng&E()?)S-? z_tCj}y0}$kIXf{JR|^*G84xhBpq5=sq2#Na=?JM*AhcglJ4}PeZc=EB@WYfOc^W0v z0EaM#Z$t&lP+(8n0kSy{+EW2?B9bPJCo#vgo;w#&XWblJWAKbI_+9K~*s%rSpz#?@7NC4F{w7Z0CnZzqit&ku9tH-gPC; zLNpNO^|9dyYX8XY7+6Xt@gcglvYHM?=JLt7XpYT#9fM0qIk_F<2|+=krbIl!knML- z`MqEv9d08{-_OGu2`k-E%I%Zxvi}t~P|HwM#c@w(=bEqx8h}PHajRiD=TqIg+_8|ZNyIV@ z_YWD!hs$p#ysSvGTPcUeoAwUhttb)Y^eJaa8wZ5hs`=;ku>aMRaFxcKdftrUWBg01 z-+{O>ay=Akd@NX(!tO3YItN!)RSp+`gtoMBTs)g&!)aLJVs0FE%QipEwozU zqH9seSNe??~CLE<8Kz} zceWbcjGbR%6*%rjc3$SzgKf8K=gWdfDcZBB0kNkiWZHVq9}K*st$fA)1A{Bo-HQT)odFoUw@wO^ zkV}y~=v2l#_4M_9e!6m`~#g#ol6p)?VhsxYYkDq}6!7X5uQOf9mr5 z$Cf=^HaF_rT3DN4{4fhNLO&(5*c3gRnnNm6kb#Y%asC9{;zmnVaNQIT0z^;qOVXtm z9&Vk`MNe4dz`73Ve(Ma(ZhrmTsT$;5Pq#Kqajcp)YSVPhyNdSc1np4z`2p;0 zaA=bP(B64LpSEhTQB|J117I(;U@7#b7ZB{H6*lCLKkA$hwsqkEwS_2| zJJ*bo4@V!sZ{2q`&2z-su+Po}byohgQt1qPM5GjLNp&Pn_slRuHj$QIhV+u$R&?&j zTx?M%*5*P<)GxalkI&8SqrlOz-Z?2f!Sv2KPL1(Xlw!-b$!jhv-Kle_kIQb3a&eu) zDk~;7Xl;2wB#cbGkbyk)T5EX9vAg;-z6HOD6j~XJQu_~X#SB{d7 z!0V@TyFm*J@yZ4w9Y5PtUU%Q!&p#y<{aTo_5pJ~HW+G`r5ktbV8C_5Y#lwCYg_)x1 zc{it-5%v9a?YT|Q!3NE!7@pBh@6YUwx9>WowRI_mnHg$}s)?!_{d2=o`P#|{@H}*r<^~M z{DVd;6&u7qi1sx*9GiCk!`rq>@1R1N$U|0#dXf()MsVrXs~vW{ch!weimRma{BnSa zumGu7^|M!7&cGZUPG9gC;cW+U`4u3y#M0*N8==|TV=R8U6pI68$h;dlOMso z7eiq16bVi856_keF_~QtTPqvT=KE(f_8zAtAA~S$;wtJL{pg`RfKlSK(6uQpze79O zI4-^{#1}4;KZm)i?mBEFg9z_u+&ZE5A=brZRr-I|llzeuw~O4{0lbc0Hd7 z$-~zGZA&wLa`^%MkTDQR?Ti9oc;W<_5sNwaiecD!nejB>;;2mXiX0MSsiN>&cSf#_ zZ}E`JoT?V0)tf$6D}f<3P>aR2md#xlBzVrXts7PDIOAF8Fyz5!cTX?$TXcCxA?&gX z<(nH@lOjp^iUdqEEkSGc^gpIq`jG#{f6YXw7RlN)MI2gW&lc$5Yk6E4v22WlTk=L3 zuT(qQU@n@2tc8gq3ts+w3*suRemSxspR?HkgY?;9xe}aVdGrCP6d@lU!#HIbE7(HAsvoFcWc;! zF5)V(f224$XUdx8&wZbZex;Nh#|clgl1V$YapwTsK<@ee^Kb7Ul~fos#5ARdx$K3T z_uXUF@}*rbCSmhrKY54DV=8Tjd+(gAMBHI^~k|}Y~ zB}oJ_O84>MYw$jCAwK6D27GE>j_At zb+F4Gr+{~X4E0+j0%jWj>pHpe38D%=$?S0PZ5*1;H^~0<@UFwRuU~vai~Y=B)(qy( z294qX^7&NxX%ZzeE1z~^;gof$I1FA-bR*9X(;~@2F27}I6z$7D;>#pH?#17I?eL>f z$`cXf%&rk!oRNH;_=oKBK;KtjYe^Z5;Fb45z}aT?7aiNE*Xi;Xa`bDTTsU!S3vrx@ zxd=kzCwOUQWw{McHqkFC=f`V?qpZFsH*tH_Jt?7o_nlg*B5>IYHOjzUvjJ@zi@^0W zX^$D=LoY~Ekuk*KR=+^JgX}XSCD9`(uzoS)_n(y+muckBi zm^gsqd@a5S6+`+39oPuEzOs#!ImYase=ydJ>F(Vc8Y)VoBZ;lFU`l^U#>)&zfNI{I zFz6`;)iwhISp^(w&yb(fu;H#nq1x=nsQFyeavvYs{so*tP_aT!WmARnla-tpt~IyW z8@Wp$HrDBT`}I!h<{#mr4V1N`V}b5p*XBH=;hZF zFGigV6x;u6?K|5MN{NZg3kMnTx;6l}y13}D?TZig204)lDqEDLXm9LlLwZn_Xj1fK zs=i$w+C4)sF{uz9deEjn5lmPO2yOaeu3Y0Ir_$JV^Bf>zAzmC;!J0yTUiXf<8DnGw zVMbubT>mVQx}#oBoUeX+M~d@1bgA7@`k0@Mx=zwjakR)5LFdy}Zl8qwZ3t8>w^^y# zC)6!By?4Q{>(u=^q3^6$`lDiWl_c@K}t9 z7bhwVd}GpYo%Jb+yJ;{jk<7%onX%>#c?U#Pv=p!?%7QZ6Yu+RTBo`foSQ(7!`muB!hN%r^;Ym$Nl9VN$8NL9f7mT) z_0zUo7=sJ`?h$v}U-sEKP1OPs?Pve~I-_#D)c|5$UXvs3>JJ`R{vY>6=Om;_IW!I* zBhMaSA?9(v_3%YU207`K<#b-r7@9b|7v4G^*seo#FYzy%Sz+5?wL=TfmZ>Y9dF4(s zQj~J~{qbsPTE%C@+m!NY1cJW1Sh5t0!JuN??LRUYa{tt9g9Oxgm> z6yeb8j2FZ>z zw5{k!ro^&@fwERQp`07xI&h8?q0^hf(cM>A&>=InSJJ%1g9jBw+-wz=c3VsgqANdwNVTA-m6k1KfkEBE!C-_ z!+CEc@juD7tiIBJm6FC*epq}5PGJkbx!IQ6s(8ni|5@6KYz@QbgI&;_FN?QIQ!FF5 zS3S7V8wDV?r^oN0H}{6@xPsoyxfo>N~@YMt`S zi|19(HslbrtwM+y<8fV0yXD0`rXo2(490v(4ihxuCG^J3(9!b`>fIY}+v4u7>W5{Ojkb*W*XcGO$Vbgv@FOQ|)Ev0VL~v-qaF1 zhBz@?a(SJEho7Vz0d($oI@clx%aP3Z%cLi%8whg7rO||QyLW0qR-c@gWheO|AH}xA z-*?L1IG>}E5+K?P&|=pZ0Rqm?>E#9N4ZIq$JD1h*v8ytW5Ib6;%Y+zNEmIM$2;gQA zL$X;{RNaIzJcXD^M~zKTGyzzW?;closLN8}-S6jpd7m`WA^@SecVy2So-Xn8x%T>f z=7iDfau0P>XPxeX^nB$0hp%J=eOyA2Lt-(%)2JFCTe3E+2SG2ls;O>~GVb2i??@6R zQ5tHN;@Nq%1b@=seIG~$(dug;ni2hi%QwEU<)OXYIlVp{gs(=fsRW4kP@k(F5B8zo ztNc}WK2&vuvrk5)sZaH7=0=qA@4Lfq9fL}MPBX40O%;mzAFYgc004%bLaf4)XPsk( zmCI#!QzhNUhXKL33i`FOS~$3|_=7R?+o zYU}QdNL#Aw2AQ;(D%pQAEzb?|WIE4#^EIMJ&}t>Ps;svsH(Jl?bfTHl%j^8S;r{Pq z>P_Q+_njH}&be~}Ae#b(%k6Fw9)EptttDwjakDm2ELyDG?+@PJi#Ikx@{CNspwNgc zSr3}?2JdcHpps&d%qIg;?MoQdX{A*?R=zG2iGgyVxLiZfmBYWE@z{dsNoq57$LN1P zA?Sazji12ZaGAj@`MYmq9)$Gb?M;*m zcv&v~4NK7`)o682H_X#(>Q_FGKRKPM)d@{KjvWXpk1NJvVZ%Jz=gaVo$?GE8&q? zElvQLI=BMohju`G8^3@b0Tg;lvr>iX2lm%o(4CFIyvBAi{-s^hj`_e>hleXuE2%U3 ztcPTtlAnQTVv}b2C52xKM?D}+7>^9xo-d9?zn(d3{YNZB>%|yNNta88t#WL*foP0@b%q-%7Mb z|Cyh&cIghd3!h zsO>MBf7bmsT44gk`Vdc!jxcEymje*CAwSq6on$dIm7G)GT$;sJvXMYx0m6yS7u{4*HQ#>zCRE6 zr9R)m9-egnrPD6WoivO?3@i5Dj!ka)w%n=H=J`T(f-4vC=>DSLh!?cfpi9ZZDa(EC zJfBrT-&;_+Neb$CpCL9KY!$Sl%jQ#U)YM?&t;q7)7`=9bx2x-W7us_ z3KH9VQx)=8?Vr9LciuWI=X~Esx&EaNF3?Ar9r~#gsN~Um19p?kT_SKvrJ0U%<7{gV za|T9(s!?oz*?9fkr^Z)9KacjonY}NuyjS0pcy$HGakpq%L2q%{M&}#dM|J-vDt@rx z$bLJzcpxi$0)2-&?b*#%L$S9P*M*j00KMWIQanO3^B3H?C@nrWlIr%8`ZK?|@$q-< z`Cry}HB7hI_x<$X$#rI%DVPIotX_oup-aYA`75WA)#C54`tkCVgLv z>Wc~ovj<%R9}j1q{`u8M5?ldzFOU^?&Dv}UHwJ$heaq!HN(iWo1#7u3 zSLOUt^@cr@qckP)C$|cl`?clSN6e8vNf%^K)oZ z_E}kjDrOK*of_ProU_v<2g~LFNT+TK>P@~)Z}3x&3-7yH|E+f$Ur_T3l+6{=S~X$> zn;|UMH9*7+%^_udKCeK!2+(b|h?~j*%2L^e+hHPq_dNt!?1M_5>v5RTB(D7L>?lqw zNx{rjiS$10zha-qIGz;S!gvswOGT14Bjdq%>b7vi?6K!xSu%)%Zp9DH(dgvA`)+!c zY)F(Bs{lPrp9RZmS;LawOIfmQNq~Nu13mKFq{8Tog#8E01TCPnLm>`$_ucmbwbSgn=y%BxSn_ zT+5W#@h#DJy-*Slq2CVDO093f3#fnTFK6>@lJDaPVVT3d3u9dBgX-&XsF#5|5k;?h z=54h{jb&9W4I%c~sR{zb(MO#F`S8`w<{ETtYFneB>>>VtT!kN3TarcD6Ky|}J7W(n zxK_Q;eop>7IasWc>^pK}fi|eUBV3y38|pF5yQ{&Fe)AdnmrAGi>$hO7&+h}x18d0E1WS98J}9?xYX0VzcjT#u@n;D;kMO#Kjc<|@HBa7_ zOvvm0<4=9oOj^Alhjg}PCv1^N>ggvoMqWw-RcvKU_iRLIH}$INFIU0f&gf|>-m>QK`%IZasKMb?iIRGIPr=}Vff%iF2rY`_VI{BfoZ)gi4z%`dyB*N8{%xQ194A#v zR@L_4nE3)C7P*{eu`!NQTkPWhiAWhlH3Pe)8k!y$-R!K(yU=T7_r?3w9pe4WG%aA~ zo5gqCkN$`adM8Z7MkF|;V?2;TeAlP<>KS~qDQ&V&3Vg?>kkqG zccBTtc3{r6t3@L-B$&f|`PI{zpe1S}t!4l{*k@1takSk3OR@Lj1Dvp!?TOr5^2yyl zKH(ZFx-PCiAu4P|P2Gm@5oY$Os`duaM}E|Y*#Q+p2m70nKV-FJ1YR5hx*95NHqWg_ z^La$})kJ5edY)J%(b4OJ`k-s4HfV9uBOU`UyK(Q|IE!n2zl8!~AGGHkZ|KQW%834) z|MSTfr4deT?B4cQb{0&4kTEm7?_2DqQT6()|Fr5fFKKq=N5!41=ADMzC(CF(wKWf{ zce4K3aEjGO(l(&Z!88)9aH$r8x{SZUwM}RyvRrq2l)zyY00t*|dLA8!@b}ztb0=gv zUOoObh1jX_Hb16$S-d79Y44EnjYCqPl_dWvrO;n_F%g{vy@o2vrh`jU0b-BpV^us0 zaMI4PVws3@{8x8&u;79io|@7WU`f{6c5t|};B zcs34?CZFJ3x7XB!g8z{dnSK4K^8VA+o7cl16hVu9bfkldcXH=NSIeMJDwlldaCQ7_ zh2PY_1qvB&?VOBmyHpVwYW}>KE^}mDeQiWZ&b=5pj<|u`2l&IzL+59ERBMbbI~~q_ z^HpBHTvHLO7{YA3ZMrWD_~?cQ+4^zR8kx&=+*R-e$`wGc3A(aW>6h+0h7E@eSZMHF z4T>$CRNF+fK}~lxD?9?gzw%0yprMM)gf6)bmoi=WR}G_%;qe$ zvj&rhN<1&r3TLE=u+C>;rA9HRm_Rh9{c5-;-ot}-B=H`fC_WHX>h7VSg6k0f`;Sko zr*aP3Bn2EMgDgWL^VQTa{Dsl%gYE8$BB|T`1e>~*bek0RD%uEHHrTePfmg?Q-TH%I z;9cj-!5=DxY~X-*2Z2iS9(uJj^Re~p3!xw<)~Sp+7m85%nkb zgvkVzG+Bcu){#?c4>C3C9PBV#h!7~Hjs}mUY)3I#FN&;vSX<5(Fi-5vhBO|izIR*@ zh&d9J5?ID{>2QPfgMO7mEjsZvvLKfktrtrv!q-ZF`6qeOY)C4N+Kaem^8?IoiXN0y z7cwGU%pT~;x}_^13J*o`hO&GEbh(V<)zAy)1S&dk;>WLkzncM9|4l`0AQokd%)AI}hzgW1jU z@Af96wkWxo_8C#3brmox6Nf^G<59 zdcw$XF6!<*h1!(SlYil*b2D3Sv`&_~quj<6qmhGtIwtITrOXBvb&<8m=SGz+#R;pKyYa(}#)>{VQ+GPzV zmkqSoW=F1%0FBfh^-7uDR6l_3G%EF&tsO1(!A2o|XxvMA(4*6ogMAcO1iz>8_t*EW zF~QqLVds=qmGMO>-r?gVqE&+r@{Rz9i=bkjgtSs$5Im$Qq2H`%WraPvRyJAvIv3HG zJAJ~*N+Q?JnF|gZic&*@mI%}w_fWLjXV%q}&GcZIeR>qNin#Ez?9bF%%<~)}0XXI@tj^Whuuu$dz^w?#AG0r#w9+J7`RmQiQSJ)pAxlx* z?$zHypj5}^taLD7^N1~#JibouNS}QKkQV_Ddn}?dw1)$Y~ka)clUg{rj`)W zLmAw~m2=cz6?FrC>FbdjhK_zfdd8%fIIoPqOru9*BAv>y4Y?8yVM*(^Jlg;2y|}Qf z^i1mn;GZ{B=<6u&(>0Hu%wi59vxesbZDX_jc?RbF_-FSk2f;#<7BaVas?4$^dF0J7Z0IJ+ ze-GKC0@On~e^|R1|GAQop{4BkRO?*#KO(*R4jH;WzotEE~n) z)63Jg@3XL?3AYvg4xBs0hZF@c{x~idAfoqc8rD%xS{tjfh%#EN%&u{!G^c%@gi5&f zg*DMI*iZ*SKC>C?#%*Gymx#-}n%irr7F7l59-YX-XH1^W`{e9v*+%+fB#OwX4`T_| zXti|q=;-ZAZnAbIWiv7)EGEp0;r)a*dbhAHs1RTwb4)z}P<}pBe)-$X4Sbk`H@g<| zt=%5Qo($yp{W4r?qz?XKe;I%)5gL|O7UuR3`UUWr4+4XXb2;3+@}pL*Vu!rL9|NCQ z|6P96cj297_cwsb=e_8Q&W(B)m~&K=cvl!F81?7iTt-Ai9cGyk$!qQj--?!b-g?-+ zwxBKU0Hp|rO=^ED4`By9`7o0Yz1IPG(bg`x=ZWIf!#(iFK!uPZ#iKjV1v@|v8i|_i zW?Se0AuhBYT+n;87{Je)+b!#-;I9Zo$>Bz(n z-dsuGDdMoDl&ZvK`S7jkde0*L!H*7AMoZYCuu+7LPgG2frCPb|WPTgx|=ygrFccTmxb4Svo;>I4lP@XKD-u9D*Gtg zqFMhU^vJ+6uc+>I`LQqmrTRLaKuAcT1;3)K{bT>v?$Gn0fs!B{XKR|CT3vKzT^&u8 zlGAEV(<+%4lj!Mzyz8nY!#O{j>r2ccNF0_R{eF?<`fk!)sE6cyORC4*)#g;4RyX*0 zV_;B^Wa~pMWq)RDuA+2sqra1L&e*$;J5S=B%vK6Ba7{VmtxMN)t4Bgvw9;4KE46qf=tB*L$`f_Sqag7WK09^6TD(@^|JJ`??-)*F>Sv zSTq3b6BCwiTN9Ktn9U5llw z9Ikg?cG5eklofUqg&3+4*xIx=hu{_bnCwyh;M|M*cha}ZPOI}QK|AY%rcLn2mBTqP z;+Z!LYCe4Uuuia*Lqbzr^gk(Y$CGH!9)`EM;~mc^zvquZEiHC2Td?MJnp@Y{2X-E- zq288VRpxeLYml``Ys~ekvpw=31Dc{at02OziF?3s5;u1LD%%eHw!%(oVhY=lMCWA* zWHnPBX47G%iHYqKu7uV{PC&|-PR>-W|Beb!9e07UO$t=K548tpK{@(=#sUs^kb2VG zj`J7<{@0eFT+hbgy^E!;qoY16&Fy#yU~M8W*wtby|?-!X4po*vg4Oe*bKUmk5ASvZi1V3>q3V)Gy{;b5~$ zf`32Km19hufL3P77QEVA+b}5>iLh3&xbOvr_6f813Xn_s3*+{>`%nk}^zu1ovCneG zTgjF_2L|ZpW>e#S^U+r?4A+6(!RuC$iUTmtxr3G8LUK*zl^OpueBUyt^f!o;ftyZE z1z()=k-JhYg42E=MwC=o4qI?xmIdjzw^w?y5Hxb-AkfK(gPyCW#E)8>5@s}+Dbh1| z^D!@0cekA_2)GT0IHSbG2#wi<$w!!fP_|u#0i-{mi)fv{KW+Spx?=t*>UqK>`FL7l zxulMiQv{d2xQdKesI_)b$&-E{;89xMj4`QzD-y2qKXK`^OfE}|Db6@Cke->RfH zjo39rz&Lycac~7TF=R$2dUg92sJ`v1Yw$ACz^B6m=)SQx*?o+1Gf`p1<(m6L)mglK z19xn=WO{72lV>gU*%6QHOTNn@X%nCScCBu+FO~MwJW%4P_(QFI!mgD!(#QM-gYe_p zepbMbW@fI!mc><#nb^ItRWE-hmw|>mWv(tR3O4=NIk{JAYMVyEK^v;BPWMdvuYBCN zzAi3gq^osye{3ixuwhh3(0Ky8j?_`$+gn_N{xg5>X_WBleQ|@5>`vSF%n9A$+o7c+mWeV&1E-PbJ&_c@E+j zL)SY*B zT*9r-?Mv<^PUd+ZjLhF2*h)RYasq~Gq{wG~zWur*Y})oqOhoC&E6K9^iGjg>M*U}n z^iH{0T|Hx45g0DEe678ATDec_*|U+Amsjf+3WK1WE+_dyH;4AYlJ6r=wiJ7|BFsU4 zAXe!F0g8Hz=O)~np4)x&LwDtmC@%zY+yavt{CJ>KEX~O)YL(uQuHf4niY#cKC+_t~*moZ)9wYrt;nynhH?fbN%P$OLuY89>Lk3=yS=F3v# z_lF^M2`5}g(dqDy3 zrnmpi9)hn@@agOyAUkMwa)G?HXORMzzHo+8*u*1FEHi7@s^Zn7`_jITZaBluL=jiV zbYwnM7IXOVkB$=tKsDl0T3}<)>5bO`qjq1*RVd1>S-$fCU4bT?-M2I3gMFip;YkPk ztI<|gXGcZ`%E`t<{%7;9wuwjycKorCJa<}yrTQZB6Iz>6*N|-vMn=f%stlTR{ndT% zWV7!pWrS84v&S}IcE`s$jjQet1(qVbd}&w&H8uKW;d`dyz=ok;VFJiOaA&v)WBeAH zp$Xu75^Z{V)PzzR3aK+E21{Fvzs%xhL8F39V|JJT(dyJQb8rUq-f(DXBe8QWuntNil||UN9+1wNjFwxYRWCI?Hd9y zmI8mwPrt3GepA=M?LbVlTUk@$kV9DceUd_?*8n7Lq#yiiIg9W!_{Obz3Ba-7YXQ=K ze^JeOI{tT`rXvV{(G#ydlTX9g&@AXf@X7*T);#JMBvvLRcfe|Z!ecj%mhBP4nYh93 z;kL_+p}|?sMc}u=j?zf}qfFELce>&%Kdy~k&ftp43Hc|yF0#C>8M0S=Aa)T$Uhqs` zn&|62&CIRp((B&Zskd7x!2as#9?9@Jso6oxEbvd5Oy~-5uNgXQQT?~D&#{1-%Lh_= zcT;JEzeMdxpp2;Rr3M-iomOn$QHYn%I^PIF?w4%0o527%8%A4UV9Wh&j-S=*vGKoq z(btCtHSz&D$=CKA?!S7ZBCpwb_;dF}lcsY2%Ge(tb;y6_n)HVvk?qahU0Y+$l&XhB zo7=@M|1PR!+s#t5LvTY;R0e}?Q#MMsd`D2b&AT}1xn7)Rd}CWb;KAM@;N1i-fH>Uy z#dAFi+j-H68tWZg5b_|euE}b(vH3*fDQ}W;S;lY?aWATH)UwJG|I0)@%g@Be@}Azu zQ{#hAZSrOH?D7<42u_-`&zjN8*ODGjBR`nkq1HJf&7iT)35|PDYU8R`l#Bz{VWFqG z)A(+YqA;j$djtb-0x104S&w{?#~;6c+t*Z1I5;x}_^=_(bDW=6q#+#@|5fbNIlUt_ zZ1W+j<3Bqxs?_!>D+=&c;bVS``e#7n#x7h1ICedKE;Z~k{L`mNvzzYyI(*uE6lM#E-Z1VSu-wvwTf;q1*c&_Y) z=2%DIiwz@zFH#^1VCl&*cxuK*oz(|Ua__}oWgu!0-R^BTe|X4m2l2Ry)*kZ<(9h?n zREWan9l{*2B$V;N48zDbsVB zfV`mjyVZ`tKGmo+M7xKkM~r_1XnJr?pMDU8fl>S+C5#0mVvZM+h(Yj%3pd$C%&jqA z*hEQ}+N^12k(`D8P)A9Q*Jl!6`$)<~*uBXD+vnluR#}ck;;fcK*D-5AP)2=`6qs05 zQbjy~L+IR*W6YS7xMYeg>>$ly6~kCSV{a8^YX$i{Wi+@SF7A_ctY(W|zj9iPdd|fk z`mhXwEIbYI7%!ZfqQV%Mg~kGhLJC#06rw%I?s3b6>nv0f26t2zVQRB8Ef$R7g!}TI z;yc$JUG5H0x4rJ6+IpqzHufra_k^J1OSWsZrAnk|w*+ONx+^^5iQqMchuVJVJDoQS z+X`#$cZPAAthj3|*8&8+8`(Ac;c|^dXz@|$b7|JS9fxkGV{Fkv&sXmxRR&n~ z>Q7~Hn&CSa!{_Q3?Pl_3%UHeoRoF_NFNgfOZqu;H87@!l!EUazevS5x;I-G1KMT;4 z+h4sl&L93%8#nOHLh~{18kq6vZ+OLWukv1yWZ8=jgUE7IL4gn8yUa}u-C5Z1>lkX| zH@EsZ&~#SF3q7(>{+_F0u*Ux7?DJ-!dfOmy&^(gUbt>aZ6TO@nMle>dO$bfwqZkX{8cI{K=Ycd()`F%W$rJFw;IkxnfXVlW{Wp^ga ze+2u~SFw&7f7!8kf)XoIsuKTM=(XOBQ|)2$=;es3-EXPc6mc$(Sed;^;WHfRluPYC zy=uROh*%Q_W3{)wTs?{1;^aJ5EU9kVb%7n;r~9f2`d5JJoyrk;O`1$F85pAg-L7FX zztbrwbkyUl+{(9DMo%vwBytIhn&|cIKIgbJddTb+;^B2sYpicoxTtx10-F8`mE-Q^ z?T}MyAY^ zrN-s-!p`3E7yWd%?=d+YtE+c@!=WItD4uKsX3;~YB_czns&p$>m9?jdbv3IMjl*G+ zfxD3qS$&&~xn(9Sf6A(_S0jQExkTi7`jGz7N!BEwG^~ep5Mzg&Pr1%b^$lD(T^=m? zaIH>+$|-J@v6i0>sgm)kP7$w*`l(&dVs3Pg!u@f;)jGj7KOzqjXs<9{EtcW6-Izzz znJMaK^4&_P4)>|rs|lyw!HJFM?+(ooWT0S2h5TFIv-xKA4a3Cxu-s2~5wmTKrxt;@ zQaf0RZuwjQ2@J>2MnS8bVhZ4B-&yIgD4p=`M#1ONH6{>QR#Usj-C02Dh7Rufw0n10 zn(jE&52I$1PYxzJ+(MtYVP4%q&{W7gbpe}qSw$vq{rb3NsESUR+3g~5R!~=ECbt)8 z1nW0rmXjj_Nw8Q&-UWk-Jwka&IX2qT^ydxf{*MRRYa8&M$(;J-S)6@(Ut@hU#_PeM z4{?jz_MuRZNvO$pt#`*OohIKJUnrTpdKGK5;oLJ7#NxB9;#mU=Z5{z*Nu_-hy)#}b zL~~70H~Za3T@DSqN@S;A`Ym*4HJ6<4LYdfB?x*_G{tSo`tUK9k zUm9Bzl!`~*l`PUwe1I<*LvN~14KG-usi}X%7KkHu0usZ{E%X;VzanJ^*!ZLUA2oq% zwN(;lj8Sz`l6{qb-(AURZ+Y;b>Mz-PFA%TGkBw_4tXk2Azm?ULPM=dQn_rW-T6qRFtqBwq%D4XTmkg9BOB49xeNCeZ9X9 z=d_d=fBZA%F_r$oaqQOXw~tPqcRnh7p+MEw<+|e9@dToegu%O8?eLH5U1O%HoaSEV zeZ$}&OViMcuuO#RxU@s0Q>dHH5@mLH0oM0#N;AqK8wDex)O?nj8HEN*W*fmym5^EneKnNS*Gr=hx>OA} zpb?MX`qX_$LtXzfHH>(bmGYxOF5VL%Vq+h7&Bp#*LfaEMv;9kv^{y2((vPsj;EvF& z`gqC`7AI`|)Ng>ZOonRU`6EqvCbr|V_^xa zsCGr#Pa}JLv<8E1wwT%6soKr;Ypvw^S*w#s6E0)MDVLv3vBW=6{+_&FqsIE^MfVC- zR!HJM>o{Mo5+v}#dFglEx)~a*Fluc=uFPqo=joUv78Xej#gbPIO!oIe5ooWdP;RG% z?2PzEF(cIRVLaP!dO3-WUg7fAqmP=q@hH zi5Bk@s6WS4A5>b)vkBwNSaUi>X2b5pz0L09g2;QVeLH92$Qx6mJIqlmz&X| zi-A7Heh$k!BK@IiDG5BGZ%5bjr;OaS3Y&)H-oL&#o0jrLf{?G0R0b146Am^~Rfeo8 zyMMBFSPP9Q&1F-7$!QJ5OX5nS3NuMXO?ReoYsh}nk{mi$?K8!=p4b?=JLn|t`#7ey z@*Dn*uJje1+1dWAk1oLDZ{kL;sxzdS_v)K`l!)Fd>`|Xa@?iH*ClmEx6){A6NA$(pdOoPR<9O z2c7BWFsyU*nYpT$d$Hvs^zlr4k5v7$XSmv4?;Qws*%?JDnz^jm`J~)UtQ#In6Q2vzV8H!;Sk?ZZs9K`(2SIV0fG1+^Q z8E-{ba$f2XGK2hjxxL@{$l@aNOJfH=@1^@!RgK+WJ6k*Ehd^CZJ-mklmv;M)S5(bO zDdtvu4wNew0^}3GuBIF9Q}(j}n$%++N+WC{$~j8=*2#m6*@($^y=IKtL?TMfbJ(MT zzVMy7s@`d}i=L7_8zKFw{)cRXsSBot%eiBmGOKH~b3?7mA;n7s=VcWg^>h|am(Q4% zn<{e?ks*8U{1%cr-sG^o-^^)6!L!HaKou6!HJ zz!rLSubis?$lcsZD^rUxpt!2AGD2IVM~;!Y-4}13+^QS$sjL0bK`CyVi_rC52pXjH z^(NSY|J^w%_VANfygA0x=i#L=?V5et7a(g9sOA&ytm0ai0N@ij7Q(=8av>L@q#(7e zwzD{T5T+)|3#G9?^8a~TLsS3c3i02?8nAoGZhBjoBv4(0a`T*e7V2uYaeZ^JSG82b zf5*Uah!%r0@<%zYYO1Fq#V$1Ft2dOwOCc4dtrJU?amr5U-z9fn zc;mI9paSaz>)r(~ukw*O-gq`1|8r6L1vP7u`VUlMY`Ujd90!&<6R7QKcS{s^?S=Hc z2jJQ2B>81-V_74Hnyg&RG~*50Adn9Q{%&a%G@PREk}E&ai8ZU?`w~j3c@N9Dchi%O0#`UGff!dDvPzrwFC11Cyu*h z!A@jTybpEIbFn}@C*-11Sh}8sVFobtu!JpKE&Go8Ip2<{OWj3Q58C>g&lIIN@y6deKEuB}6#*QhYZ>(BN@?^g*%0_vgN**n^l%uKjyE@R@fpW(~)yhuxp z{|*c@+cv)I-elFnkyF;EcQGTZlUYhljW3{wBNYLn(0?O#W}S*y|BU%jeV`B%g2Z{Z zOP=Fb%|$}&V9qS1LKbGsX*03**thTBBx*bDwr@Jwk&d;1if2P(a1Il5yim!nZYOs+ z{-KA_TfKtw%wIW(n2I+p!DKG8SLB7gbcG))&t>6} zlS{VcD(~lZ5QCwLg+U7dfs>t+IMSuG^2yN!K)Uwjr79=G=T){1TpO^Zy^Vw*eMCsY+R0?8b!1~H}&7@H!cvBvo@`RvvZ(< zlKMT*k!DQUx854f2j-tTw z@ho8xg*DdLr(32j*sogaqy3tpu(_mwAJ4ZzdBU*b1@?h!w@X(!aqXj}k&frg^paON z%-+HH?QKl-rlRO#Wf@2rrn@-9Vm@Xig{xg^X+GZoE~Vm1iQjirPWBcpG+m*BNBLTv z@pFwMDBkn#vxjB>YjE=Z8}~{^rGKN>q0K6g3^Z2>Dz(lBh1q55?B(T*^up1N6&X=Z zBPBVQ(&ZWEB1n%!Y-HP|>V5b%G3iX?&h`CMykz5IMUc43ayWEvs$Nfed`GFz1uTht znPDkvG=DX?)nk3711tfQz)9*DrWMe6Wj0UxpfqC6Dw#TTyE;4@VSfI35_#?22XcNt z4PS+#IHXd(a(AD%Zf~*Wht z`({tHn_2%BNiK--Y-ba9A!K4Ea%sSs`$JO_Ci%|bV=)h*c$DYQ)4?44igf+)n|VNn zMd%vy!sSweWg-fV+Hg?M7BgunZzsiHJx|i^Nb9Toh_hQ4WQ<4O{X1(5Q47hTj1#XC zGa{+!u8XO-o1}lh2{ zSkO}M3)zlLlX34+hm@N&`f+P&6*ML9*AnaVr!J?cYKbSuI`6EUymuTBccT?rHhl~gxu`NX<3b6>2-UGy>*%?v_or*&tZV&KDu%!!|!G$?ptJ@)^2CM8x_yetpE` z_J%c$F|0-=T<0keFtpk~UO4vYRZIhV&5RWdLzm1$a4!&sL4s8pf+**A7ibp=I7)$ZKR0 zGqRtsVC`uv*f>aqk7b;VR{6S_#ko-JHaP^ky$f~A<%nZ^Am z>6Ggc&4%$#_GLuLQWaD$`0glRC<}3^c7w@~$Q@+RsQ=ge*#-ZIZ@#HPxOk)d8 z$N7!0V>3P?XL3HvB)oXM2q`A@m><_DONyG|jwaFkmz+U7j+)H{LAiF(!0B3fm%_9x z83n=lk1U{$xjpcG_|%y#=jsvxJkt90j=}@Yi!Qh*0z$l3J|*anvz8rN&w!F*v*dWZ z!7ZbXB8P=3BP`6_2VL9o9ujKXv9Y|H;cpV@l|Uh?*oLY$(dvBeqxkv2Sh37H9PIn@ zCa}>&hnc7Oaq7|PfL*yIzpK1&U~qiAtlOo^`6rfEKTj)=uG2V8%+<|5InrR^6G-eT zy)}h8hd$+}TQhFNN;a~>`-jS)*8Kv(+po}5HYHAp7>O{OUhP|ZKQ354{WyptTT2;c zC`v|8p8|{grM$%NvLc&;oh=n*L$hg(4MEFR@*LAqn+8rimqmekeg z{H;-qGiW~4(Pc5a10T57>^c|<5IK(+4TB-aufF14)GtYd=9`?GTb#IeuafI*UF)ZJ zDol<|+1Djm2Qd4c6M`0pm4CrBMB?)daoaHv@~r{9nrI+^`*QVCt75NJ39fkdl>GOm z3vK1yj)Z@UGaIk)J2w_>+XH%(@`4cv8J4!|V=k(B zJNA@bx;&su;k8!8XWdU1G^>>Iy<8jo)`#$h6w!2KzDNR{f%^mPz!c9v{h|z1N0h9DSS4lKItZqY zGle@2mV4&Qb2Dq!i7TXh8ICQN%QbiuV>$>Z4|~?9EQiG!coJ^PEk3a8$-+r?IVf_% zp8gW8`P|`W1u1=3PEr&vE*by``g>H+2m{ZufEah4I_-MT9?0#sW4K1TvXRm3l1e{B z^XcWsri1>|mZ0;ItfaF&F~-m}hStlFjY_4g?1-EY0*HrHczaQQ`VZSiV{z#BTV=J| z19RK2{b54_bM^W3S*#h2)uq_qoANm?+Dv@m-B192TAVe?aezXbYA9PH8dh-B%@)^7 z*heO@8tD1)PwVk$uUepV-;~Ff<+Qi;UQY1gd*|+zjQ`^z$Mb(lD68J}`aJXNXEq}0 zCT@F`O5ZV_Pa=!w_yGYHY38;LBR_rXXsFFaBEEc4kM0p$bI&79?zO^yUpXJo-AY(!4!5RX>doZ!Hxa`*c*i@LDa^3X1J>O{GXMtn%G2mH0QP91cuYdd0wJ;zpL=B~?5S7aXR?vt#0 zT6%oK4*cwWj~J-@^AhNI_I%NDU2a9y;F2@9OJS9gnpEE5md)p z_2la~h(`sIPCGVP+BN)9P@*hK%&aSiMp|RrZ}qJ=n-^V#V08!e-|ySJsu&N%1A6ru zgt`z4XV{XuKH&?i*p_%I%?Z)S$uZus!W+~>APTG4j~%^?1)s2@ z)pg3U&(aQEn+tDBp91WuOM6=kdkxJOfP}BEbn%V#Y`PRc-A}q~!#rEwFmsDE3S8rq z%7aJ_Uwhp`m0eAuhF5)Nd#O1k*DNjaZAnLqV#4ljZBSMk>KPF-P{Zc95QYI%P!k`n zvUO|=>kTgLB7S=BZI1&R^&F+g0b1siFP{erlI-NrKY5#LYsrRsd1dyL16J|~t(NJ! zP2teT6jG#Xw+BHv2r!9Gl%Q;)qbdhMKjAJu`)aNJ>Q|!9we-A{vq2fzPFOo9 z5OSU#TjUiL#l!PBWYlm%xLgH^@5@z)QfRPkr#4@TdSbZ`$Al;?q zz3fVB&tb@~9&=ed$eG&D(M*4qoP;Q0W(%&0$4rbTdPcplIaXB`HdMM1n!8^<(jSvI zU6x%^CHsTEu`2D`+JM;JQ#!W_eQ-$T#dVb%r~piyjOUZ;@y6@;;SBUjd6>(@^Jd&W zI#|k#wZH~9YVYx@NZEV)=I@zXOHbjItCJi5@{Oze-+{Fxvz7kL+n^uTl|0+sEv#y7 z01K%vtQd?mA~icHh7DD6^A!7*-ce+wt?dixp(FiKVMr3BKkXn(RGpC4@XBjL5{Q*M z>Ye)NMoh8M8CAVc|7qUTln=OFuh@U}bUCMK#}e-B#fX_%POB~T9)}cwQKN8NWMxnH zZy`T2HA{=6y8-(!OO#kPH(d)`XJ3Ip9(~oC$3%2#bEOzC*Y!blHN=8fEzFIxzL-Ez z1eiF3Mglnp3=R#YGYSEmb97T-MHTKoZ9Ps?8l7u>W1-2XJ`djJdui`^%vA6fh;@kXg7ZOpG~sJ75cZ?74$IN`E%X<5b;ujNK+mTX zk8A(LR2?CA5=!UDgsf0CdQDlE8o6EIGGcjO(qLV=bG=KXMr)s=eZ?v)DW5RZZ^hHD z;{F!8>KVXy;=4j*%vY;akZ>8!Qe}BR$G|!Dbo)EM^L{iKe!J-1Udq(U_HUuSj0=qJ z(g26v+p%%_>s@KIr?=!9SbMIrQ?805Iex~~&oK#LQY$us&oGJZ`d$IIvaqy^eYi;< zwOs89X})A~8xG(BF0p&@ZJNb`dtKEb*Uu$VvI&RGM~)4i*19e7^gp_e4-~KSCm94Q zt|u$uxZ|ViZnNdb!xK`V&vD6Hi1qe~A?#9^PbHl!pB7xQ>)U@~oSeymPp^wRYh3Gw zWXQEBgxqAX+&3;oq@9)sA*Pk(%bcz+Gcd!DqVG+RRKDj-z{5Z{k;IX9yToLJKF!Rw zAv73`$*&S*c}G2ajZmliz|S9{(SF|e*=uQL7iLp4o6PLvi&)>ykNt7q=HN#wKn$_1 zThNht1Cy%PLZc59lbiTRl+(O5o1PM!y9de17_O+Iuz^m?&0v<^N`vvpiH3y-M-w!>uUHT%4|r3j$F6J!@Sj`R=8gAYn=1p;eRr)v}0%Kj{- zprkjzHdk?TS@=ojrbdX-T|dgU4{xK(Cn9=|)LzjOG2K(G#2=ROCMZiyoxZYu_=1DK zgovK4V`NH!v0V@dnbp1&-dUN7EjQVjO;a_-Ut^Y#41@fbsyNFPVqv67x^t5okhtK|2z>f(eb@L*+em?>QSUlx- z<{44NW%jx5=GhMZ5YOd$+k^F5W~gniGC3!gqLX&zxN_%rBY_3{=Y95pOwI1;1~2&uAP%YbVRK9QX>7 zgPycRp7PYjh3Tt3f%sZKosGw`QV#=%oGew3oOEuP0<@fulR2S38L*{z>w$lX`1O|I z0t)_uiF8n`a)cIX%er)ZcJ)kboBO0~o&mIg)~b%+e~9;pB1bYGSI*4$9OrdOI!pqf`$o*S0wXc-gFVQEzc2Q=8mesq>kLizpEtfSb$P> z+W2OfO$(%$Q_LkaOvkkFBcpyQTj`uRYb<=>fm5BDXo7mSbruBtX4=!K^UcOXtup*^ z1q1hI&M`ke-yG`Romom0Z#iM)a_znygFtuT)1_5w1A;C7C~ zo?h-1y{v7!cdmC`i5GvtcFOjQoWtw$b*q2qTU2BqhjS8B6>J&V=p5&X5N0I}yh``+ z`2sRGW7EgIHX767=8Ep|LUGH^@flavj z67yteZpeEpO2RBEQgMg#21GnsW!cUsAxe&U;?Sw%$p6fp%k`%|8JqA>O5!8 zYUQiyfbV@(^NocMJK!_14KGZ?r<3&qK6iH?|2H4P-Fm41FD?Nj1 z!bMUz0FF*nv_ur$RUZT@&Q&O^qBmDE+PU0l|Irx<_9z#zYK)#1Zc9`>Bf_j& z{`aPDY^$*iG3P7q{!!tXSFytDZ-IyCX7^Om)8A!`@1-|Zk+)eRY_G~}gk}q_l_FXs zMqeN5`^8_F3u3*DH@| zw@3R0+L8OFG~yW_pUOywP(o1o;FG zRP4^nX2Zi)>JV@zfUIEO92oW&v?p8GZPI#@vP@p2aZFM$^HcpPBMVnikM0a{fvumr z3Z42d;j=W|wQJ%ZIMZ=jKkiTI8cFsY1R0k8n;ELBeKM1EWe?zI+llAgeuAbsvJik%;}3MmFvHOvDcYr-2X$ zmGSq8A~TwDFDb%}z>fS*$Q<0ESrnc3&xmlp=zO(tgpA&%{}#el61aw})I@a+wdIP? zt+iiF{4M=2 zRH^U6V$Gq z+I=YT!xJ|({4AAJ!e!r9$Ocb)n3t<(ZO7kzFZ1THe`PU+x*m4u#NV?gg6i#$Pa6hg z5P_XLxSjfRkRCM1CZlesXtd0KCpl=iBAWr~LF!RQK^o2>`;dW)Mdcj79l7~77@j=; zbtd_s7j=%s7WRz4;-o0vWPg89Sw*6!l{yDeX!Kv$&}Q0C4boj0TPT3h0*lQW@kp9C z6Tkq}zRxm=Q8^6frRE+dGxaL%#PVRTh*Rlf|0!tR(zeuek96Y9e>LvRt(3aY*vH>Z zx%@$<(Eggn{}?(Cza;lJ4A=R!ZE99(W#!&`o1M&sq$VmVh*nM{BnK`Wr(wBGRLofp zT!`iX6hu$1Qd1KZ69jXX1NX>ze*6vZ`+mOP_j&I7x&jK5Ob&ZcAkQrLy6~*32HJ5%>qjE=q|D!U~S+GF(As;l%U#o;w2j}F#mAln^9l;BC4K(SCGT`Usa6JgvFKPj) zQ%aY*OoCnIL}U67CI47XwH-?TiJVxVDak#4b1ydfqF~$KEBn2rC3!!`&mN;iUxSW! zh4@cGMU+Vkp|gX`1EXFH!aGXpG(xbYf2b8O9HTu|m}k+dmP_=8_crRtnP=N%F9CDR zZ=_f!D`!eM^vdqJd7C=qnOYb7O1HfAgSx7b(t{v0SR=3^)Vnk4=3&40%2HhUIcsj; zq|*8RN6h-L@jdH4h4)+mpGs*}-%G_bZxpGI{|;5`Y^hZ?S8>qBMA`1VP1}eR2j+KR zb8iTF$=Oo1tim3jKsarOGz&<}4a1EfS=@^L?%rHfT=NyU%GM}p{J8V)Oh?B6m#@TC zod`F0u42fk=BE#&>XY7Wd)}6nI-=%sW+fg9#o;_v8N}llt4en8>Ao_eRhj z^%pJQPRKs~QA_BY$vmE^lQG!lP%0}wFYwc0HMtNQTx-9x9GM-$w$jp{cdyZ!zI4MNN$*}w(SXuof(wPc{QBy%(hIRl1Hqggeg|+Y z(SPrYo)>KDC9$$<5-$gUjaEwq?eaf)=9Z-k@T#@Y>+6kph2qI{&?0G;$%QNvM^yC0 zW0qyIuVCkfWN!za1xj@eug^FsoejBq9&}t`y6yBi`M{m968R?6ZQ8&y|)h1>s z567HMf#yDu+=k`UQmVDfciU>in_)ol6Rs?nAB7gbW$>Qi!}Hr%u=-uwe!}A)2rFGf z@H5CQ3qJvPeuXOg~P4#YzRIiK5e8t@4IF z#fpb04#IULoXa^MYG0OKSR;I0rPyOQXD?%uvVef7Ytd`3v337aQNI7b_BSF%9tPjL z#4KhGojnqJuIxA3lCrR+UOPFyDp_<8eB7K&Xn}3g6X!oK^R>zIyT#l*UR6Fswg*+@ z+8+rog|dk0{fbC2;E~(dzaQB2F8=%RL1vKY^D4`a#yM5#8J5ZN3Z_Bh2tL8*oF{#` zHeJ{JNBM6i&7e7(POY9z%7KqR_nI`wcMXJ;?mu z;4pX3`lDpSk42~ItFN9~m(wZSmhj@zsT6J(oLD(z3C!0?Ob?;Kd;EyS^?P(JKNr%+ zIw$WOyEvt68T;(M+1+l;%f+MdYEnrZ-B$$GkN$f9c|Go3**T|HwV=T&ekx%KLqqgn zbo{b)2m_;H4MSG<0UQE{pIRIMpkeuWDy53=79dJ^U5EJ$b>4+db_3zuNO9qhN=%p5isZGhBlmufN(mmO-Y`$J~7A&X-x zl-LMBftzop_yyu-@ep_LE0y+rGI=Y6qS$*~FIk|?`*L!Zo|B|(wnR?Z``BgMR!w!261{zRm9V@VUrzlv&}4ew5k93S=_d3i$7*Ey zV*lBzqMbA%M^Ss*?r?dr{PKz>dELvwO^I>ZskY;~Z?{Nr4Tm}P>u2w)GtLeL_>g>j8N5??FzTOQ4QVH!hGRL-lI>q6J zL1!sv3sns#_~Fp|LF7;My;*!o%y!VYj~MUhD<3o2Ib*y9}YD-%b;RACq2?>Bxbojn=RXjkiN z+dSVN#UYapA>1t${%?u!&E{b4xKs#cba`c|NZnT_u>R45S>0_?i6Vc4nX<%Px^lLzN2()YpZHgabsrRICf+Zh(Kgc0f*J% zrm~G6>7~l3o*Mn|?pW2N>BNhpMO+Me1;*65|bcLqIwG&<(^ACorm^-n~xdiwR7 z8T0-F_k!mLz9bm06lS=oRB zzJtBZ$FRM`UTUBL*W~|kKR2-2s^|+ zWykmynFeBNY+yp$)yN_0HWayz3z#j}2~UPpQSqg)pyiOrd}$R&xaRn+wecwY z6M=KY&+L|-R`SpCPx>`u(-&{}!*%xcN}Dqtw}AQ0!n;^yHCsQ8${}PSfDXpY_Qm;H3QS-ye4sJ(HMBb>ZM(~+*<7B#i%iA!A z+2lG3heZ8N{DtSn&-dVd4sLYW-I0BT1MN9$pAa`16hG4)`1R)#+u)x!MtZFv8^bKC zz1joU-F=E5Sk-E+C31T_nwE**RRJJ+HrzhnyRk3xC*<7lVReB;zQi*&+gH^XEi(J! zGh8Csx!9p*tW7EJW67{fOchnN&CF%lKx|JChS#k<}9g5m@Vtv^Xw%2xksEp1L&$AYy?szYHiru zZJ5AGEB!Xb?ay3=Y}O6~lP_0%9(p}vhqJ*2mld4eLb+i)cv1G-^bZ;;_k6}4yDY00Jw}SZBKCx|drt-~tQCs|52unU)vY>XLVUK#(QEO={Bt`jCQ9P(c z%Q9gir1Ix9u6b>C8#`A;gM0RhMGcIfiAi9clV}hBlzTi2*<^4Lz?2!k_^w~8Qd#)Z zz{jLin{SRj?hw18*QGWYYk>aAbh)bFNw%ZEO;yFJBVw;D!|Rluw@Ex3`8+wgOHmv zGD{`i$aZp^g=!C9N?!>LoZ$XLsR2BH+On!C=&QZ8`ku_@Ja}qivEJSRW6t^%{W#?c zd^XvE(I0a0c~Wj!4BhgpwN%I=(83fN=7cfGdK%m|=}f%cm*IG9U5p;-8^w1ai?B&r z9zlq!{Hb&M(=w$1^ofA2+Bs?0bcreFO)OOZG2s0j$n#rToh5@jM-t<>Sv_qUJ{UJysiIf@v4$J|2+DIXesN)|G^W1S_&{4f{ry;h z&(cHadq0n~S@!LJAJFP9oVF{M9fEg4zGSD-_u2Jfv~fnidmj-jEcp7iKK%ENyz4#L z>M&&{iS97N^fgk+-;&M!z5e5C;(te)8JY{nHPSAr%R^m8shx%+VK)xLI-`RI?v#~+ z6D!s+Iz2s7%Vuhn!U2`+@kkXPs)K}ZQQ!c_s)vK+jkw|vezY&R9DA~xG)&_`+-JBq zEfWIFGX|DldaKHgdqVn$Kt38Tef>Jt?8(gU}7%-!Wh-APew$ z9U?Cmao4~gY%_9OA1U6Mxpj1wPi1EOGPacwy=*-|R`n!dJ_o(iOxE>GYHA-VP!*(< zf-f=vX8#=#h^Ip5H{fAz6%+-_wT__@UYMQ{QbGnnSNzbvyG_Za7ukSTy^098-r9~- zliUqYuqG8^HH%*^)~9H`nbaixkOdzy72LqV}%C>LolRKq&Kt0WT7TFHb`yE#HLRGT7(N@QO3+*VEj2x=D`Y}wTU zBewJpKT~RHmn~JhwrR5F3}}@Pt0vuFV`(7&J)!N*?Nu*1-L1{E>lnaG9#AcNewp7x?5ogKd|;_opq*c_9ZVab_#NybBB6rf zvDw0mm>Q<%`(DM5vAi)&=vB3Mg~JgI(HO-B>vic189qJbJa;aySQ?$_XLxC*^(C7)Lw!XhU$fjep*1Bgxu3wfo zcr1`tThX2S!7$w+jiWhegG7?^j3AAHk+5~mWhDJq#Yi)&d1PlnFd?*XVp45%Ug_+6 z1w%EcQGtZv6X3h@y)sS|SS;k0LAv@{_aOyvP+YmR1LJJhF@gOPoFIT`{{@dqKIj5f zXSI!@2D52YRg~7oBR}*FKwB+8KE#>TNe`qjSO|G8U;z4o$0`HMo1~TW}DZT-#c^6lX8&^9?Rx@k+{G z*W~Q;|7pf-KVC3{jOX30B$KnD*#|)*#Jq#n`3cYNotsp)+aC<;Fpq~xJY?6iYVWwo zo74dBu8x*=#=c;0`~K=fDFvf4CB8ixsJW#FyX_#kF^=}aBN=cOleLZGC@1?osR+PJ zmJGAwX(7uVX^yVZkxQnSse31(_XDGqIy!!3_Pj?ymbQCM)%?iGx-(&(8L5ALKC=_1 zG^;8R7&!Fhk+qyv*CKy6rGyTFD5-D`KA8UiCq4lTKFS#}r9u{hSQO;V<`7-CKh{-C z#V1WyuF%2|ih_6eOC^TSmaPRNEU|{=y5lI8yOd`vTCYR6oA>ybS+t39)J=aVgM)l(SYx89ldgTl zpNcM-ty{(88F|?)-o2%cHQ!8S5|>nD8iqIWlxKAX3Y{VJI(kK%Fhh5#V+|nI-OUZq zmsQy#9WXNdblfzPtix;z%a!}N7{v4zx&EHCvgg>cO6vYGE!D^|Qbd$3qOBCkL+{m{Ov11 z0oilM4cM-P%x2+Q$i|elUHYAorU_j$KjL9`8gdTlP)&M!uj9WX$v02FMCm+ONr}A) z&4}*=+A}wHB4SOfez`#YMq4d0^u#g>|Gp`ifPG&z#DVB+pRlbu@}G0Ba7$NdQq28olfILvq1O#uNQQg@_l>Hct;w*!h^4;4Ey+& zp|QLAN+mP;y5p60rAR%mQnN&M#{` zt3{uRbVv&^IAx^%FYjF0%5nk^#*!`8-i>_izw9m0ba(TcZ}*MNo{Oq>w|3%B7(`M< zHWi;CHx*sv735?@S`Ej2#|DzHDvv9Mm-tP3{R<>xcGR-I;(P} zs;Vru`4s%NT??NncafxEmlgE`YC<;1!X1f2NLM3nxzQD4tvkTnVmU32%~g@T+SWWIl1O{|)jL7MYZoxUO6zXg{eHD+(d@6lTMqmmZ#h=x|j9ht@LEDGYD`y{>`-e?li`cl>`DE`{DnR{y z4IdUfsAJi6%WK^eoDlK;n6hxDquWWHXjG3bLXzd!oB%+0c5g-c?U3|V{M%{x``kU5 z-f{E|8eueYBm*AdTm-Q^bQ$Q$2|n07I7k^4y&g9eh z;xTLyU^b^CIhp;Nhq=eUL~`V|tYaXlfxdn&d}``d%%RR^y<-$CtZ_j+o_ZI*)wP)? zKQD5_7BXVOK9S#~b~RIIEHeM`+kkTghP*$Q)c&eTM!tw~IP*Sslw2}pZFOJ4cO3YP zgmHtqF!Yq=>m!Th>|H8&-TpQ+!)$spZ%V1Z!|g4rpY8r~+2rM;PJ>xs@Lx_%bqZF~ zR!#54yOSl9BVOH!{n6Y;$!<^NB`Uj~nV$d9gzmZ2E#k>^hg_cgpy;SX4CN@GBQ*!B z5@v47r^9=jovr2>O&%mn&>-g7B57zA+L15LJl=kV@T7 z`QJk$hY4dar~}lZ=rOr}z?MSLA+Y)d2GdXL!SPruve%)7?(6RdAfoFsQTNO}yIn$i z{vIqaP2C7ln}pvYHDGt=FXUys25)_Lp@j(|)vqP4Zk__Z^=u98RwLp0O1X38CHq11>-!B$ z$&04`NIzqf`G-lj?-{7dKjro`DcGjpnd|M((<#oR`6b~!{yTC*J0r`#tvfBZM9z;Y!3pXi(yk&o3`(46%uv>inZf_V>pIEiC%7 zr@TYaHHrfMq>?bNVlZl4T^^KV?om988yLn9kk(Wnf8GecJZ;J?C78(IPUhG!CbN&J zPFJRmqttAU5k+fjHETWp^|&PjODB|l?j$&bWm~c2%qjGugxL8Z%(tHWlH zZX+weT#LgtCtx1xI}rI{4}4C;E^j}nR>Ro|ItG=e);}-K1YWu1p+tXr)7eYn*sFR7 zV8}MZLS;JrE+zBnW?zd`$JxXj0eok;fuXjE1)wfaT>@q$_tti&J z4mw0;P?eExk^SZ>U-RX8vreI%^WB%H7x#3QA-mFhyh!isNR6$AKd4aL+ji)_L5Q5e z;wkL+{xx0q{J$erVaGCR94daw%XBkkaQ?H)Jp$c* zTeZ=V2TPUaXS~w!^67XRA;1DpuDk{?%-pa^l>I( z7Q#C0Q;W}>44q)upCjM~Pk{E2V_gUaM!P#aNa>s3 zO5Xha#D`T3AM#~&I3&<_@g-avYVh~LX3-iuzibkr$?A?qu^_AKy5E^ZRWG@iTPaOC zyjx4hv>AEMgVFSten#uIzL2V<&5@aP-5GEU5ThRmB2~?1w_u#zOlw=_19iC98i$`{ zh=ZHx`RB@~#V_@`d+Z%GSi&;R`6l%giyN<&ADeXwcmA#z`9=K39LZ~r;!*ink&`u* z^3LV5dtDnztQ}{WLh1mT+mjFaj~#A1S%GkEs&&O74HEecq?9cBeI(LR66_i83iQP^sHeOAExKk z+NUv-u}EAhKGGv6~Vb7^6y-OY`1O}6Clro*-75gS(~%f9;X-2VjHn{}A=gp(Rt!zHg2U2oR= zQ+mQARn6L_O-5%#-u!F$mE1)^UDy(Rm08;{)ONqm&NoF7R!p|+FU2L0QU?|L@XiA{ z1=dBS!pHS<2XlaYx^#06#~_4j#1~)IqGGDFVutHgE^!2YdzyRIu7ZoUa!Rw>1AviR zk=C3gN=3=C>b-9tuXPEyX~q8hCjX@}N=&u)a=IPy+AJDwM^HfNyAEj6hwwMcea5x= ztt0NAnuyGckaWRfL0h1a$Q#4h7Fx9uWigq$xAkn#?r-mw28T~dngP*IxeGdGC_N7V zlfOcCYVc7;dfVvh-HHWdnyI}u1#eEJ+7dv5rJ_OEZx!b|&j)1i2-t{Tj_Vq#nW!Ne zVcB^7ia1VQUS7Q{{aJG>&|;nfj^feE?VA2vD1@ksEzm*!=-YdC3u+Qp2DmTTivKoY zO$0BdevnsD{O9k`oiZ0avpo9+M3 zwViQi_{;55N1V75q3cX`sesJ!YKe@hLBH+UZ~~(7Qh%fJgfTV~%Fc#`rESkl(`Pew zS)J)E$2AQ^Kp`K1Lr9pYkawW3RNB&Ub41+XsQjl#CB~`CdBR85T1yy|3vDdBOwvrL z)#zYiKA{NZ>`QUP&LN*cC(oMv{8{+Bi$;A{FS*QEW%lqr$3eq&;V1zgFbg!ws$hRc z-xQs1WlUZnV^v!`A2Gz7$n{?xrH%e7Y?P4ND|*@XecN8H(~xC-TEQrO&zW{8YBqN> zgt-bL^1Su>RKxE#BTCsJ+q4~e$_K-c30(7kN8)0bHIwJ8h{sz}OH47SJKxBQEA@9; z4V){LzN6qCk(nA@Ejl*?V|;g9`lZX0%0V{5vV-xpuY3)=ReV@uy>5jIMAq!x>}#V# zMXu>`10`cJx{ZNwojT+?Y_8akX0-Yr^ROBfBv!1()tW6(Bri9WEr%N3yAK5tB*$Hopw7*$1Qav1mFxU9Q5>VG~PsQ^eo)H_l@c4 zv^X2O9OnuUk?Y2wB7So4#QiO^~sst1KTs(s`btcrhg-1ve&lSy{P2s{+=P>8e1tvhFkVdowKI^rO3A z3L47$m^>@{?_)}AuVie;U$u?rzBo)|IN7()3Sa&?Lc3<#0ozwrn_=khjSMJ3X`tT) z7vPtRUdF%9Yh+{R5REztVdV*rN6!Z%zsB(k=2!m;y>y61NJ-e3~h0NYMZrk%EcgX7+|DGCw)4)vD$ZNi~tIO<+kYnObHOi-cRC~t- z|4TF_QOhcv4b3t8Q#~0Qm&Oav)z=%)x>~1W=~ch3RQSCLrD!X7TCnr>R;-DQ7ESD} z1A3>j#jteLmRe|PdKRHfjlXtJJ(lJ*4e_s zZ6(wbKQ&;7h#fgU|K945x=3o<>FW`c3Uly`?QksJq=56K6Rd_}q)zsdmc@hb+G7J! z=t$(X973vT|AP-t zSMUGN!ZCvR2*QTS<70!@1?37=%Q%wH6%wl>YBQl3O%6_GTz+pLqZrj)lEjZ4k95xd}+vQamv>q2%&%yQ7U zvQXgJGU(jr`?es*?yGQ1J()F3W z=3=VYpty8MBN~3MRMzCHh>wYJt~Uj!);7g`1vfr2VzErk-jPr?JN0^}4pozDkKJrVWcs4QjY z`>nq7wto9nbK&81^hQ9YL`5jpU#QcAqzrg|96!_aVp#i5_y4*j!Dk?k7&1AzXZ2q| zyXpFur>@EAD2Yy|=a4x&&$ekHb6#2XPw`T6ruae>AYwPdU~_%Zf1CO?&I``vwmnJ~ z`DU@+s&zGfO#b!rhLj)?z6PZ3gVKYN2`aVhiQ4;ozlTau&YHOgx#Sm@ zS+&-5_a5Bws+FZ2>7;HWfIx%hm@f>E>cPsE=c0sG!6a|tvGBzEH?mp4_e4Wr*(>#> zF-dKR33+n5-1(uGn<^pf&EH3ZcdzT5^7=C)!svJcA4FtgDdYqzR7GMTcQ=UBwHSeS zmFrPmPmhcV)1_aQGL>%H`6Z5K^_Z`)3x4aLTwGZFU%P1J(4n|Cs@(=8~Xlr(SG0n8y+UXypGT*orV#Mn3e|n#m3xymFY;&IE=B-WkZmq* z*NQ)M7@hxALq(Q1vPRrilA7P1TX2c)X|kL1AM0vp@Em*M2D|{gDvQw{XzeWaMtUnF z^jx=-3J0y$=2*L=o_^Rw>8S_j9thnFSWEY{zG&kaYNj|76y3 zAxVnLJBuM7T4CpBoYP>mp%MYnF$7nXidE8W z_=@S(M0)_4nO&b_Lc<#tAkeu6uuw`P>kDHoV&lWZK-7W zAgu}B6RqqSx!K$j*{{1A+*t4@eyt5Oh$51l@2rC+ZVwa=C@Kl{s+kKnJ#wlT*Rz-u zyxZRW{m3QfxSi5t72OUJu_^SvA$O$UTme73>-?+AhhoERj1GdR$I<{OOSM<(MnW18AZdNl4>JHNYs_A5{KQE$zN zN8*Ij8wU^cFQO$Ly4I6Ay2r%j1Ip1m`@M1wZ)Iduns~HG@ocIM6{$qUGzW&^eakV& zhg*`-1ipGbz~)@j_Eoau`!x5zmC#~d0I-8%q0U9#DVl0l_*xNe^3#u)IGj<_N1_M= zJPp?=Ox&s59A@|1)Xg!f0k+R^=U>l`(CqjxB+t1X*K4rBSX`VLlJOUTx4S_ z(V(Ghy_d|{2#(ath97XqjRU%X`vB>3PPs1o@OXU)4^`Xso%^q!U+Hj!>Kzk1VSG-{ zRykxsWXfuL@{)Y{5j6@}?$&7uf^2wai85VRM-*T=&rFAr*tik+GoB|$^I#MwE?|3q zFu*RQeQa`wR-dV1rMw$VU%s9MgsyrPuPK!c7CL-N;%#*(^*!u*zx42Xj>+Rws`X~3 z>H78RoyE(3dhYAWP~$w^o<*(_2Tp*aFvP;;Qn=Xn*2m&By%sqMtPAHMdZ-qZ8jc%V?i>krxj8RH&7JAnGt7YWS`j z;_%8K7#@xIg9X~NC*~fw|H8q)XG!X!_&>pFWpTyH4{yC&>N@(ubIGa6WXDrc^Cz|0 zXO6M^49B!SSYqkroz(zPv*}v&jB3nX9YjTBb%FV#hSiMTlph<_DkjYa{|>2a%%L9M zPq?T^d>C~<5^tWT$+&EK^wv{{!B<-4S=O)1XZ}0VST(uhFIY0ar+1g$(GuxVwPm?D zE^wWiK4m8)GJ^l_h*5#osjiIx6n76-PHUN&trruI#hsQ)i8VAos77i3X0EaCw~&S< z+Ir+18_Dn5AAHhtcx@;KQoH2vh-(J<^YXI8^>HE5O;pcW)9d$Y{O(FlDI);CIhCYZ z^6E0dO}<>V|MZKXFr)VQ@(x-Ml)dj5>E<(+_dokR<2X_tVv%ucTzBXfi5BOuZ7z;$ zIN9T+o|z>)c51loct?2pO2%zDz@)#%ESv?JnHk_niMejmXw7-(xPJNiw8V@vI!WWL z+3VEiOg0bA^I!erJ12F{yJ}vr`&3d%V^c$7k(s~fq?UzOK%0LA;ao@8DGMa$G$SG1 zx6j&|nMTjs2yP}s>)?4SSvDfZE(5rmr)iu{Iptjp3%#ez#;|*Q#m~bmoU1k+8!2le zp4synQ@v+(4AZ`(3hZ&FHTkcGh^caH-VRObwu? zQyIKSg>V7O2$MJKf3N%LHNO;oe+r^xqF8rrDj~2kB%tQf=WEx)p8WNJD`#$ylQUnn z_F6L6jRr5}xBbE$TO2Xa?%v`MP=~3OWR5?4-Q06@bX_G4v_Hv>4e?xU9Gqxg zPsHvN8q6sxj&aQ63Y}#5xmRl)k;@I>ko98)?;THWMG2jg5xrP8BM0cSE7z-^S(OU2 z?1AFfm|b7$F6BI}v8TrX7|*xC>F`!C)Hj36(L?VPMRg8ZF@81M((L7j5fk>m}^(G8-NzKCN6)t_4S+f zN0az#+tM?CJpza*GQX-1) zwq7XW(7AKx8t5dPsdQ^EN=Nf1++E`<7RxTSQIS?ZqxtS4$oPk{SQPIdSN?ALOO*xoaF`aK=ap@ zC2yPOg^$R|8K39`+nt4zz{Z!L!41!(6orplrk51->SO*gCprJSoN!5tnKNy!v7Za@SNO}- zYA?#Th$sT+3`qcol31H3#tMKs$qH4MD^?(2x>FXjVKidb_w_sX|*&Fg&y*laz zjMO%`Yc0z#d*|$nTklRiHR*91wXDR_s6T!|<=dYfpzcmiJ8a$Tj7`NWOIw(0^~ypd zgfvyDTH~KSBWIU!IOL|Zj~#$V5h6ET$ULn)@Ko<;G2&vUiD3Jhu}q9pwK}BVy{y4B zNv!gdUguB$7-9C?ve^$>qNxaUaXS6FU;RReG-=5_)?Nmf(VacwSnL_avs`w?MIx&b z=VlPRe_Vc8b_`#8Kj|1GpQRw4ZML}fD})pAsq?ARO;dQ@NrSu=1W zv~UI;DyY-6gXj!;4zx9y*$H{Vmq^!<#z^`1Ok6j9M^>!P02 zCMn!T={{54W2pwHa*&Fos`S#LqCI{6N-+&#bA_AZB{^)*V)V?ND;1wCQa?*x!1j{O zUoal-&s^>VHnP(ai;jL$J#*Y$mSMxORL3|+MTPri@ZC;v4tdT{oE1TV;#o4!i(qmp zmv1_p`4Pqq!P%e6$(LmTB#x}P&K?)6PjsTT3Yd#lreZ_<7~8LAxXkb^8^45VKicoE z=Ro_#v1iT(G z3bN9|s3Wex z$;>|X`|suYNN(;g5xScKEL^9S(#7IfOazkzUsbY!lvooLL$<`@hJyuJp-;!1%#EJ=^ZBD=izb$99X zCV!J6T|TU{N5KqVoH|xW^E)B+b4a(Za3;?;H%AtKEM44$OVvW`Q;TG~Xi}$$O1;(7 zOF4XhIijhoLpbkKFf{I3z{QT{5HH2r-mSP}|9o||TKubm5OBf)s3Xx90MMm;ttPZY z(f8&szKdI0sQfEbo2Z4p1>o-{8UdDl39|E*a6OHxnD684?lhICG3k)xtyp5{SuE=u zVi6;faDzTnAi^OoFF&KXx%P5?&!Do^b7!p85suy~JW6Sg=X|xhv4EHt)`Z0{v(qrU zrB+mt^hI5P@?PMg!w}9`=j_pSKR#hi>Owfv3c{Wn7+<1be8TM7hXaruqY)&(@wb`P zPmk5?8HAA;r{c!!db3vVbdI{uWSuL2q7T!HG!c&w+9)GFT_sdXSiY?3Rqa-Sq3%%QOxRyI~mO)n?B zh4Y`T8Q$9>8on$QeBz6FD5>h?{5{DWoLhQ0=*F5X%EXJCVWtZr>LtR{K6+$^_U6)n}VY z;pDo=w?N$dY&T3_z+i7XPFW)JgFx1-)9&S(Ym3z!5+|9%r{|8k;IXTOnq&xA@?gTrjIU^GR23 z#6+rdaU;$dAQ5QMn}77Ngsrn<>!aLK+lD^WM5Y0vn~5N8WLAQw`Jhuc^;x%DZEsebN5@tl)rUure;_Uc=~yK^KNxWFN)SeD=#{qQVt)esa-u^ zekzXTqx8Y4>17|w;>W$LvuedY4QUvcCFT^QI9l<(#T)NI%qwimvnggH{n81sF1$rLzs#Gn?`eFIS zHbo>V0})9pI7+U_{VHaeQIgR}YRT_sayItG=pEMSdJO;nj=Y^~QHPA##Zox^kde1{w*vR3y7{O#$+fz(>k3$r!1m+ zbniOQ_x2OPSzYX@Vf)Nj4~1WE3C@;w{<%T}c&XlyD=lqEH0cBESt=SnkfCLr{R^Pb z?0DR>iiaK{?Kam+C3(sPhA7kSwjx3m!Jy83)f9UMwBM(0Gk7c|XyM5xg z2u%0!ldSJ%uUoQcZ@jJK>~nK6vdJ_}>^^M)iLCPR-}}z5|R^9{ZweqA(-YL{R4SQiV^wo?w~;YuaRv_SrIe*^!G>4q`fOy;k{3 zMI&BBw6VM^JYxX^y&1WfvuCBH*iS+8I#Kjy3cJKQLjh2N_?ZqnRH zBV|CY1^kZ3tyKEtxMZG1>jWu7QG@c=+`<%+PO6~~z26PR#+Xs!Ike7+IaL674U9x5Ay8Iyd zhN;%%tADYjN7&DGb?FVZ>UL^0H?K1b;iZ)>Q3{Kx)kY^0 zTSm(y;W}Bzz02 zZ1K1lW?A_!;p5*m4^GFofs-tl)mMd=I`I&ap6KY_l4Z2+=q4STEWD~IU+pPxKNa+U zhR(#F2|kYFdODtxE`?Aj_bvCWC^U$l(U^ZkC_?~$EXZ%vN1DZF0TwQvoO0F4OpEG1p1x@^D1)f?f?72hiz zS7UIxj~d-0SYYGiw$qRxsYpogAX_`ESEH;%By$G7n@3fgj1bMpTahxHB%hxLC8url zl52>NO=uP)FmNAsIIxSe4XvHE=ecmPy=Fz)eRHjp{5(q#P0LE+c6 zJ^d10ckjE%(*5Ccb2od`f~?HJ-kv=G?Uxy}5yR5LNO+##pLhV}RqfED!0^mLeZt9E z7oBjgwi5q(4VTOX;0^J*ArAtwj`ijybrnEX7Z!p(?sHU0UFekJ`D97yycX*r^TM4@ zH`3a`h58}O7^RHJK#`c1(NsICH(-t5m&9tb*T4`(bfE6{z4&(DZh^@P+#&Qy@n+LV zDR~LyCo4GNL*Py|`mZbd%_II4!cP&PoTVf1fqcvl69=aKeg(9&~7iur$n%O?AsEeC{UHV2ht}>(;-ugg%o{_$N@Qy5nkM z*9?$v*vA{9a^QxlWx&=Jog*?0Zx@I~*o##$#v*|MB;tHWd>fcrdz@|B^yz}GTf|@~ zg#PruAJMd(YPNswe^g=5?JD9Jw=J{$QbGZvS5fw?QqB>J$L~Xa4+r=dLT#o&tn!@l z?t%SmQeO!3jU!)BbWoo8HKSj3)deXUS5%(#c{okhceK}A|GdpjKni9Pa|1;p1GF$U zI#YE^p?146P`L6aB>eq1(tD|& zA5YP;K4@k6FcV*666TC6U3&(7C{W5ca^NN7L#q&S^JzKmndoe>_sLxejn9Z7)OMhU~IzY`;mtrytO8Y0_YhEJo z+X7ZzGf~fotn8g750}x@{Mb8tEZc7*48?S(S{cUC&OC`tZ_s=?@=sX%#pHCh3zx48 zOO-({eTA$ zRjStGG)M^MhSJ|4TIcl&^)Ge_HZG4Jm{`1jAvyz}Hev*zWVm;i3UIG1%sgaey8Qzn zRce#4ZSSq`Vu!GdK5A$kQ+lDbkaU)YNMLP$_~tw1P_(=<;BBfh7ZLSc2t@P($1-BkIjOMdVPdb ztUkT?x-N9i#Uhcl9%W7Pc?jAn5bu#(W-eEbA=Y-u5&NMPpB_!<0tj_U1Kj~*fg^z% zL)|i~-N}8aoH7wU#ay(Q0NZoVZ`^lGPdF+P2vSHbG>s!Bk}w!X(@GK4=OpdbLV6YV zCC2#Rc;|b9$4<0soF>U$MS_R>55R*UuKBzo+vlNzqC7jv!&(kwhiYZ$>uDPJhwLX@PrOEKUqXysU1z;5NG$H0q%cH-7gog4FOb9x-lo+h9I z|7{h2eyGY^zEDtaTs*lF?3OwPlL`3CRu$0SldFz(LfPeu)`c*7e`0+tT6K8G!o0qq zqoZ79F**~dU+tk@A{C||Tf_T?Fq8j1y3gL3?`!*Pd=f#)T|Kop4-~vKI(@_Qx}; z3TEB=#U@A^c)4hH67yvKP?2sO6fmHfYiL@Vv|wGRI&B+JtyuQ4?FQGnqNi}LkA^Ac z6U90r*k`zu`ND!ng=p5&A&Un}7#uZDH4ZHhl%7G)rdxIzn4?YX22>U>B5G#wc*=73 z2Bw(lQiYhVe4zU6&^*ZAGN2AmT)$MYq*X?+_%4f;(aP7{HL2A-+xBwP06ly`EXghK zaq790bUE3Ji3(vuhgv#9*YpZ^)z__!_Ta$A@J7L0O6oKnHf+AdxHv1AUi@bR-Obxz z(WYln`zt*dn(@1iUMo0z0%cLdzkt#kBKT5r_}rHQK92w~=y-k7 zvDNBN7i$*c_fD>~d*s}0yJ^Oig>Ozf0Vy+Rm-(aEwfV_~k5_@$GOV&19N?%V0o79T zJCpn%^c`ov4CS+DM(WB&Yu5ajO~2yCE9#1K+@3F$&~xSkrO4_y08HlPD3J-j-MWnG zGf7-~f2afDs*(5;xZG<;Vy-^(ST)oXo^-H*+l6jCjH5+e_P@ zkP`HL(P^r|d)rpQOCO0XZ|#6*I38I_%u1?CvRm2a?icPm_ocuL6TF+Revkbbq23)dRgykUMSjvcYujRy zcebT5v++1**h4C~2@!0uQWz?AoUhop4tskR`G6z5d}wk&Bl`pPN1T{5C-DBE9PKX7 z;2y-L(AoX8_%CB$^Vz2*`120;x9@Myscn|>jn4Jnw#abWE@V*~jRty_m&$H`?e_k- zkZ34r#hvobIMi^+JjB2l1L*|~Q+o{m^;%!~FLR6-odqx3ySxh1s?Hm}ZSLmzZ|3eb z*~*H-YUy)f-+1Lk7p{?RDSN*NYK>Xn#+bD%@T!P5-BHL0)4t^|S242WX@s0M0sx@X z!-JM^`xtrLl7avI@wUbC>>`PF|J?@VC=$U-yg8nN%e81dpk`by<<2dIe3N!?6GL5e zBn8uXlNLt$2`RuZjI{aHDeh}m*^f;GuE${XlnXx>h?g{=C;`7&mfP|}v3GINlJ6Vj z%<%pG{GDD<*GT3#=)*G)H5@vaCNp)FqKjhTpbiU=}V#sUygr=__q$goz z2GF!=FU7Em`dgvF>W0}@n6?cb>MPiW>{>8|fRHJPJC<(hb*LZqyj4DFJK3}*;mM&; z=1{!)QR`J3hg{M>T{Ud~ebvko_f42hCoi&2)I&0g#(-0%7cKWuLs+?0bfEw68YX}` zP53?({?EWH_p4ehq0lFwWhWQ&W8v68dPE??BP>{sg7at@lwbxIp><`7ayE$=x$U@-kj z4@EWIy)#(Es=<+LAiFST*%;pvWX*~Qsp5gd;|5VpV4k|-USMTsQqol5hY;Kq7El^jIyC`9_JQ)%az^okt zW^6hGW`03zgo$~hQ{lhzpv`sSdd(yo#HY!xx*6=~?%UQ#5xAJ1LN>`ejWk5x*CBeX z9&M3hEUuR}aAy#uG!OOzw!?vp@pbFpzM-c-H3uQE(%_(}4_bZoDG?5>AsxCMruFQX zo_<~C+w|SS&GEx2+7LLn z8V>aFR|?#wAXX4CoX;RY8D=D>_;h6T-0bh<2+g&H@tRDHb^kF(918=JkRwNh&h@BAoMXhg0< zFso-iQJfRAJ!%`CpSAeban)0~yt{j)Z_c@j9AV{`S2s3xIAZR%&KdtR!3xU)+aS2| zm6=tM+9)~goX^2L7)-XGW3r&{zo?r=PT>fdc;oL*KHoSg%V>I{8zpUq}+swbRf-_-e@ zdZ{h=MbT9CYjsm_UK1<|Do@rha?rXb( zbCEJ$(+7}VU>N;()*J26jmmn?3yhZt~ww^@Qtge?t(i6NU z{=9&=XgyMwBUx@5`S9YY!>(^PD^9R_?~BVYJsKOErD7~~+urh+<**qssKVDnf#pP2 zsuFQS)0+b~nRUa94oE#Oor#&1mAywjbxUW7UA2>|Pv&^+;l#HzOY;hL$@FW?gtZsd z4LMRKJ_$l8>fa$!78ITrCSJ}(x>0=QP= zs;#9F#$d7zncY@(3C&=bDnnmDyAS5r3W>l~KVs>lDBFp>{R{o!GL`XV9;xkDg{PET zTea$<;>ydhhJ3$t4k;0a zeoc38&nq82_%j@;0%uB3XOjx}28iV2?XHa1I$=9&?y3{#=AEq_4y8@vDpX$=V2pTg z-QRY#xMWhEtMAI%{@zrjUQj8_LmEqYQR>~LS+*GLd4P!j@50K=-Ha+J*&f<9t6>2C zV=GU?m!R*wgWnh^&jg!y-udjwXPM$1G-leP`>C@|{i2bTZS;i0?YX$c7^)wVNQyySAJCQa`HRp^gU2JaleRxA{p~ zEUH8|HbK$I2-_&&`VN$3bJZ)>MgC}g&0E1sBqH)c%edstve^{}2~fLsLNl|qoyL%i6RV<*>o|H--Ol(BVe zEST?RYm_LQd{OZ<;XDteD6I$g#j?X;T{-wUy4xh8=R#$TX^v<924NFyVyl+mC1jGw zccVzewcmYUH{`GzJqFj@rl1ZG`K`G+KPLwrXXpHG86ILn`w@uQI2A`}R0e$%`E|cW zvG6R?<^zrS&(%wT22?B`Pp{`l)0?0471#cet;6zN`X9~Wv3ig6yb5rSlO?inZqHOI<=!MVko@LHn zE`IKiBHVNq7|5M!&}F#k=-bG*^=kyJ>+^_a$&zW!3{_w|#bJ{GyWL24AKGAd74SNj{pEdkO3l2F zMZ)pKAU+ota^ktuQ1x$2m_}V7cWWD8ZWMO75fYuI#iJsR;}Pz?2dy^~ai~Eg-ftDs zv{V<&9Q`#~{Og;Vj?2EI)9P;6Fp08d+eos5ehPQJ-bXj`_8pRFP{9rFKle#edR3(-X9s)b8q|Up? zmWRpIkIH};#_MBoIQ1*3J7au4dvKGWu?Vhqa#IFhvGXa@@_%#Bn??8Xl}~sIap}D( z&6@qX5#WtEKa-tEgqwiPo2>$H%cFtlPi6(8rN|fF63cWjtXZi!*jYxvFOND7^@@oQ zudPlUj{HDl#B$P|;(s4Br4-v;IO>!U;*JJB`t+gCMPkUY+dR2vOy{&*#}6TKYJc_3 zB~>y+X(v=)yf_C`Wr>bB@D1LpFyX{HO9qGCFY7t_nrq0l$U==!+!`sBL(T9XE6HE? z!Klw!S`9qEsi1#`&%L{Cr{;gRS+QVXaeOk?UWTo5?*+L^$>~7z3r)iZUF!oORMv&d zIro~jOPb+t`Y??7iQysii2wrTP%C_`RW4?1?BzjJ3UXOj@W0G++^J$0Qj|EeoUDJU ziKiMWD1B^5SQL=EWOt`$UE8F|0HN}c|KU1##OkfLHm2TXa z3Cq6D1^D4EZjq_rkt-%qPa;?ia3-YTGwYeoaN%^Koo|*IC^47@1P6?QcAy?uc$3|M z$NaQFj1K=hV-*y4e#uh6aw-&uR0&weHm0Or7GiOqfty@_Nq6bq@2=sYH)^K1_)MZC z%}U*L?4Gos2*7fq3rkJd19)%uEs!W?CqvT6$9DmjT1R7`21yV!HZ|S_7X7B|m)=+x zwbJF^fnb@A40w~1>$8SeAeX3sA0)(-?c0ZJT?5f~itiTi)gr6t>0rqwWISD@j&KA? z+OEE_ECCoYDgyYnleMP2T>Xb+wjs@d_&0VcQ8}u}ft#npf2J<+8wu*b8XkidMZwqP z2H3hRu~h!4nwmiJDyx`eu~9o2N;X?)=%#;}9-!GBTUg2S z=u0B>1YY4RdhTnz%|Hp)wAnw$tKzkfa_2&dwXrdP(4kHrk9CJ zuq}EJs(-$TKE3;lx>G}2_fe^m7PV(?vP(?;WqUq?c<+UO_qh5=Zjr9^lQR29|`>W3ek5J+*rbjOdT;nSz5oS3y1^UU;}a(A+6;v2>oYsi}`$DLb9Ox0MF~IZm zZWJkB)h%Iq+NbALIUcQHislh-0cc8ztE>^pM3F_z(Bvb&SCmeAU?9~9HHK&8jls5R z6yyt^IOHm8w$C|v*JX!#rEKKj%-z=kcoW{*h8WW)&n4&CEr5pS4!U)6M<$?E%m3#Efc7|Fp|F2_`bPne5jGgQR2>;ykCQb;QAcs!m0eijwyIH-?Yb$|}lxB<#?u1XfJ1L*`!Er%^N9 zab!s~Bmhw*JPr=&EH)P1dDUk#*85W7tPk)yCy%L09z1`-)czI=@ZDp(vyXAZQ;+@d zee-r$@|alQ&=zHvwW3nHQn=^*o(7H)c$pI91wz^WF!nBfRPycAC1grz!v^0BuR$wc z%fF}6Q?HJ3g{hotENsG>bpwMB^OlEct)uD2;KLcKT92IEgxlBdeo#ujX}5GDEHlf0B{l?vFYYXmi#bxRaIf19B%bcA z=nbrdL8lTx$ovs^WY>hIWpB~vn_d<+k7zrym>ha}EQj&$g~O0Gd0W^)wvs;Y-O z_$;I~i^)kl zg^5;#I2Az&5zv`tQK49Q|9Or2AaRSN?`7=qG~MFShHc7n1&Uw;_cosyf3eg#X_-z7 z8BHjVvz%L<*!BS8Q^&Gn)|1->V$Iy`?h=Q#CGN>M)Q(^DL)mbcYJLVFY;I5WSPI`2 zF8k@@AUjkWR`=k;Ug4{@3R%fwhf&*mMyX$hO_&g)D=h8@1>!+?%4~6J@GI9-7E%|c z<*l-$t#@wYNvWFsPvCafDgMwU zzxskC@rs!YEkJ4F1GCT{!`(8qPYHtJw5j~OrgB~vIW9=*VVlAg90A4u!}i72;g}L+!XC-yI4umZ&c8$Y z14_>m3Xg0JS&KbVU%%%s?^uv{<;mE|?PVf&nWq-$JUs7DE_sW3&zfk;=b61Oc-NIDc0cp_Y?;~n>T8|OdkH){mgyelIeSEZ zaScx-XQX8ww{rPdkt%yoRb6JRjlktsqB4#ib4BsiPeJyN#O7Pem35kp{M^A&VBH?} z)SW+QDU4Bh+0C*IOY|axrBq-#9tNEB+i9&gzYPmK6b!rk&h`&3PjswNQ*Cc#)-`$d zT$Jmq_5=Mtg?ro`lRrq-D=Y;e=VuD*?{enK$UJ2}*=YSt2sIf4vw|p0O<$4S%`mGAmftKA1n0Y@!{jeshpzC##ge1QgNLqBTe0{N2E#^nP z?>ApIe|V*|z6V(^u$V55Yn6V6JHYCjdl&HzkXbLuJb}#XHYVvs#vNF33YJxDIo8-? z?SEbOzy0r{u?Sh(_?}`%CQ+IPY}jU+4JWQ+3w!0Cl; z`HVlKX{CVg?dDMc$xkSj7?)YW^zd^I$jB|Gnfchw)tcO?J`;jrxj(>pQll@K%&^$4 zrI$^uDGR$Enf2l~7rR zfsCnDZ=*lN?^w-&`Xzh_=R0fS7Iu-DLxIDpyG^0Tn7?ctF!w`(=f@4y56n&eW>LJWl>S zbN|5#x7>w~rkxhO7}p2ZEz&J@0@v-Am0;>-Z4Qgk{|#f4u`Smy# zjO?Xy9FaEqCU{A_GpMk@=;{}&tg8!+x}Fe>jsR_ui?<#mK6rEI!k)~W04={o=iYI4 zru|<2y4P%e`(L(O9>k>T+5N>m@Lcl0Zg%SHUPod&D(f<=^?BgC|JSqeo z-loxF)bfN9@=Y^dPPnSP>c2a}uj<4EyX3=+GhA{6(pg}cE5ij*Gkrv?n^p3Kp>NM$ zjh7FUh;hY#bCjC-A2cDj5!#5-@rKa^QO&0g9{i`5(@k`Z)W|| z?-72J5=nd7Se1DO&!gonrUKi9&WNr@*VVX>msR%(jXx&@DKe>NZL-AH(1wgPF@SmA!Yq;H| z?ji5Au%Qh7v*o@unKB~*K4Dn@z}<+`*Wxj87|HD=jc1lK-QosvR{@?WAX>Jpvb*9 za85t~PD{Y@M~%!Vm~^$)V!!Py2TvOGj-A<3$*vI?}q5ut&s44*-#G@_sTne9HA!O zJ^hnAKR;h_$=_cFTT<=or+TQ|j;m!Xn?k=5yfZ?9QOWaJ!p3Dnq1J9M=2eP}4a`9P z%8gY=nHjm6Kw!p-AEjt8wr#dtw}opmz9zpV&1}j4JPGF2UuET#UZcFmWxZE0eaYys zz2E&*!lRPptJ45?jtGw*czkL*{8QFEG+4HfQJo3TdcRpaNKl2bI88nZZ(=M;$KmHg?IZHFFGDotu2dFCK0QD;O#z*61rm5vBVE$` zUS`$+1G*AUECiH!2F7gxH_xe9&ON#!Vdn+Aov%0nVKxM7uM&Ns(-Wh)Pb9>@P2gE@ zU|YJsS+b$?$nf+=8<7J<0B{{sSY(5`e$k3eeaSwR;`{o_q^yPHGZh|luLnPV=KDfL z_ww)&QbSoCE%H*V~ek=3?Y2K3I1AcQuXXZ9x0m<+Y;aP1j6M7atfza zR+GDTskYx22YsTe=X0yH7dk*R^^{!$lE(&y@y7@Rea)>Oas~K}jwXf^@Y`_2G|g_l zLH2h<@0nc)xhB)VLH}UzuI1Trqp!kGayYwc)SvTsd{KvtTv8jDqHt|{QX`{Qi8}-Y zXQn_+u7s+)aNWYLe*}>|%4cb(mZ9d!Kn%^HdfDqxGQ+$6^82++TFWY7+FT&x}lD5Yy_Lh1H8**L5_ z6nZID0pRad{f$h%YhQ{el?hH+xq%a#IA%DfuJsJTym0 ztY_3bWSS98-opQ;U?+fiN;j-##JCUaLHP*W^a{|u0{@s8b{~;4ai$z7=@s`vD5bLt zD1Ps?SYWz}>_d@^xP>x<>>kDyfQP5+$n?K#WG|QvLMVE? z=ez!`yJi2WBnqPe(-^61_4hk=!sa4Q-M;j)T+(kil+Gla0QqIGp}`R2!}`&<+`PnN zh71!+f)7(0ZloF12v1hY+VfvYxzqMatNOb9Ly?COffw;M;2af8%P+njTaz-}I?d@yp!MH6QCgOk5%?uO==Ta%7NG-L=Du zi3XRkATYs#udDs+=6#fM&L9&wuO^@^|9Mce<(H&HhNEtNvqH zvtnM19$!Sc&z|{p~tVZ$fkslKt7)a+T9>sUf{$)$< z1@NZ4alNK~GtBU2_-pQuVbzx}a&VdeD&zdiO}f#&p-hApIYi8lxaL;n{K)?{<$xa6 zfF3y*QX8q&*n#pCdr5Pvq<~I|?o6YtYs(c1W~JYnSSpnHTO^>uYQ3AgNx{l+%+|uu zOJI>cj+JlZ9zZLbl6F>`D4A((!1_lrX@wu7(D2~6)a4#KpLX->H}Ac;m@f~ky?n`+ zh?i)`bdwQ5?ewFzpu^y1LeqCt<&JCU7l+bXRKVM zcwGY|6|;En5p1}P+f_=eC55xhZLG{n#U8-T&Ai>4V0Y*zw-0QBS6ush&2ulq&C?tF z!SndkHBUrXC4tVMV*@Mfb>*_T`f>NOgdQxNQ;k`jvBJ^-PGE!QH^2V7aQ4-&)7RTK zj%4&bQprrr^crY81ig1izwxVsTAK-7+5AlyrZExQ{LVZ1T+1McNM1pt4)#mmS7>_? zgrwXzcII)32(C`mT<~2(V?}A^O@NKAh_5eFM7*OYek{uZ&=5-W%QiZ;h;e{GcB zdrd9J>Q8}GW_#vMSr)KMr+FUq5K42NbV zqfW{3I`U~AeHkVdRw1MjZX?u0*E5yF$x`kQVy3CI(txxk6oWoz`R9m6iD~?uClN&~3K|o#oD!9Jkx^YO6Em$hKh^!Spz>q7--M8XJAw^|vdx`tgrscU)=h zAq9yTDwjh(K-X9Ja1tR07bX%4&CBZ{Dvch)sNn%+nZPl_z|dbKEY8U2Te;IgZ+FeC z2j0zU#v|F$h5x|8ULtu*jKAtB%cWgHK1;XS!5rA zl%FqYK&wdspeRNl8U70oobQJl*=U`@OnBw3w4(6uRZ=oDJVj$I5N)y5G_^&Cc6#CY z?px)3X1Y%^AZ1a>546&nlEK0>sCyx!CW)v$WZqT=@4u}*O2ImBAW2(WWb)KxGP`X{ zz;R3)l10<}B4!9`HK=%1xI9$)()TV0bK`AWVZp@P!hO^thE?Dz51aI(Xo`^;@DLyNFF~UJ4&ZPrqW_pK2vl6bGNt%hdA?#F=(Ix}^DkQ? zEngD1Y?10+rT&Ff+J9qp*H~ZQ-dMndFy4U{(L@_vU{pYd_VHpRRkOo%ub|~#(Gt#| zT71)p&QHC!Q@cw0&JI;yxLhnQ)8ruZc&e?^6dZ~TYEWYx-x1TH_WCTx)DP=$NDj)| za(0!P4Bl16EO{BAy+S$QgXjLTX>90kGFJ7&chHReiEt|MER8k&@M9wNUyY zKFzk*FtEHScN;_;KB(%d`l3%-3Z=tHCl~hJ_b@o1{Aj9jin5#Miww~0?KJ7t@_9=R zUFjNw0w3>WWx&5l@DjBDZOcp(+U^jHHXRwBh1PiW&I6zdmkAC%2&dMZ>@-ebmBvKk z=uc8U4%`5QjQehQPG~B{C8qxOMbKdC#vS&3is-VX36ELbSV;HuF5D`jhmnZpy60aw zZ$ATEhfX54h=FOILJ2^T+Pfs8jj-{dV3K>B;+eB8^6cjWzDc(weA%~Fkh64D*BeR$ zgN#L)p8cYYmBnO@o9+6)XdA}p&_L2Nm=c3rnd5u6hBSh-%6oPdE+^50ZbE&Pd@bNm z*%9>*;Ru&PGn9!|JC*UZWO>N*eq1?)Y|NLFi)81Mpj6ac-ATH>c+j{tgSjQ@TWooL6KQM8I&DQVW`dMFGTi z!2U)$WQa~%i9l)puJCKQ5$t#}sb>yuv~&&EK#2G^(KePsD{YE~SI48^F!S*zjb+&; zS1Y`tH|)HWt)>*JrAYO^&h0LhF-0y4&xmFm7qK{jH6A^^ScY+M)tWD8M?&2Qt!~5Y zmTFca$=IR%mc0ybb*NDR#RjoL{M-lq1NNG>N{aGlx(fBwPkm!kK=mX_rk9t3s#IG= zxWsXjt7EFz3T#bNCwn=1B(NlhC>A=gQn_bcH|{<7s^LTSe&yMr48vFvnD zzOdobsZBODt*_;GKl#66cxQc$uo%+UhuGJ9ULNdT@uZRtPqwOj+-4;wO16N3h42wq z##;3);#2RMPfX7QATJGA!C|ViU{R<3O_*sptrIZy6m|PF86=xIxK(P)`s^|lTvGk z7TY6KNuDd{RTh39)%B}Dxp!T3n0x|zkhvE6vVlBV3sBAxk9XVo{^|9`oMnBcI9ag? z1XdIB=)ULhg#Fu-;!(QlP1PU_NknuP5VAxAFMmkCh3=bPT`4(96dQ@KswLt3ka^2X zEuC=elY0(aoXZ2l;>F&(by;^nx51ak=X&{Vj4Ca)(aOD&{@`HMGw6lPHUha~ZQccq zSJQ==RB)vZ4|_s>(<_c}W97sr!|#mJ**wi0!lIM-$#(GE-V?lD@e9E-tCIU1yk_Uv zXW%97>Y{m61}30}6nY@GSTo;)zBzD&@??-acWU9VFrt0dapqtVOsG>dSILyE@YTv0 zb0gA~!TGMIhyOJE^H^ox+NZ(>6^HW}kkKnDVYD&%x5(+K)Si_mD^-m&MKizIw2WMQ z*i;ihY|TL9L2OB8E_v;T#R>bh*KL&}?4W zJhMLo{PhUW?T@=nl0$-{FNN`Buk%Y|M7#8Z@TN48WBifgQY`(OO|jH)QEJZ(^mdr1 zvIMBqsB~4*QQo}Gh#YwHP|_XX(|QeZJzvTB8S=7X(vgM1dxad#gyW5`6v0{!r~7*e z#vDeS!)@WLf56ZlcZzsI^z zhZ%>@VPJ+GNR7oP>BV8K2Ngj;drBo<;9vVC&@+Eu$yV=~$@nv>GOrwo@5Av9Z%RY` z1_ffQZDAgY@9%FWLh^M5Z60jC;@=tW{+9phR6{LU{r4duy<^d?K3X3Rt9+504Zj-%=8a3CMW**x9Da-CW+|#*)7ACTdDD^~+s>5R+)YAE_=_+XmZ2o<%>D*q?OkHeIZ%EB;p)Tr??@X`3*gYhTf|XrW znq29%mi-Lp&wBA{XJyg#hDhdu#eZY{3UR6NRr)hNIjv_CG4I=EJnF4lXJL{Q=a_a2 zvt;Tk<)zl^(Fujit*L1B!L-xjbN78aOux-?iBl{~KeS799Bs{5&@4*3d5!X=k7=<+ ze4DU|F9))i3J+9*!XyJ8l2>$1N}A*)dkJS2rF%b`VHkb3M(^rNemlW$xmLI7EB#d< zo%SB(VhU5r_!|s^U-fB13GYBjx4)L^cU(`D^p0dl=+n0e+9U3z5mrCfc4~2h+>8lB z|KyrhPQg#I%G?y4ZYdwf(9HS|kH0E8@LX$c3O~Fkb)gpWqZVF2;`7c7Wa68HE+GF!6BYsmg8l|#4rDrMHdh~D+b)^KKxeF`_yE|!Oy$NBWB z-bDfjdh2BY+9W_@YWq;-3%A~ytcFn!*z|r=@>hn=2 zt6=NNPK2aJ_eaF=?5vA%%{c@2IInM3Y-e4Z7Si{Zp;;`qvJusY3H3xW$9ym7cK|bJ z)P4KPzijUy+xX)pb@o5AFt%2Rke@fRwgX z-AL~kV*_zW5R(eNtd+)LB&ca);OTVgbfJ)<=S9NT@>G*T1Ogtx zoxHHMCRdyBR3E!)Cks&e%O)18M83W~_2r(3Q>d15 z8lVpQ)>CrHuO&4>x$F<7l!naSz=0D z#7<1WopSV=8c8Y5XILj0L|hvQpl5Y5rrRBF0{k!OSw9ZstaxXmVcR!3T4Bs_>Bg7> zQNk?)sFhOI675>a-5hkh@}&|kvB9t>Pw!HeGlr8I>B=65KsAxu8N<(3!>a23vMIav zyoByWADYIR&pyLx1eXg%+gw`VvY+N$e^`@v2#CGec-pUOnW!-jCUhNcmrYww2JBGNoEo8hl{-BXp=SQfgVwEn{C zXrGUE^>;!26QE*KU{`xI{VT;oPi|7r%#6qq7l|Ms%iF|S`v?A=NV0fCi;@#VCux0h zB>ei)qzl&9l0{CpNly99u($4ZVc`Xeir>;C(EFetXEutFHe7YKil^ogfanMWaggWY zmySe$SaAc7#+urrJq{aK&YyIa+Wh)`}FeR{^(ey5` zh$&IJO;r4XGLK{JN}>#{?V+^go$(>UXhq=9rOhaP*W_c>XU|kr5!0TBWwHN^%G)?b zjbH6)EIS*JP^7!jZ)Y?d4~hr;&P9>2*wHXT+7)MWs&Vg(G45y4#J(L3Mp{Ex$pk6W zFQ7LvWQN-0-yc2|1q_FAnw{Q%!QmrS)jBi*4G<%6+Nq<-h#%WKby|zJb~Og)JdOy0k?I z5C4=eAdf6wYE-6=e8UCjyx+J7;^cbxG|x6^&PP$T&&cNx_zbChgF>wYKSQLBtddU_ zZ~Up*h1yn?2L_Bl0qDZ!z{*1f{#<(_&R{eGdFm!zrqQDX`a0>}c+;!;*H=7qqGxpHTH zldkgyzb{h77m3ImtK-O6Ie%>#c&*6V7FKVXIp1*I)&L~+q2l-Ari|!E;p%qD!Rm~O z{Ju%nXPEF=zDBXxORoZbR{I6K;{hje0l#ZJ2_$==GbIMTIJn~_^jj46{K9YN?s$>0 zyWx4J(>4a|xmO^Rc{jTG0^sFKmENlYZs~*G3;i#9+O(qPF7W-7FnA7+Rzt}znna7y zLrh8~6G>&tH&EL(D~>~E7>I_0gx8aLqP2dCBv8Z=RNz7UJLqmoban=(Mr09%C3xtY<4=EMsGd0D57bR@$p< zW~55(uE&Rlm(VK@Mf|BFypa6Dj$Vo}=215y~y*C)*MD`HAnQ=TFTj4j}IPqeH zN!fwM<~<2~{JsO5ui#m^&wjhmyh8P?dduOfDD^Nc+Tmy-~33GvzBVL7rF;bb>oc)S8NkTD0$rT-{1{;X-(aL$Bhz;ezU z3lp3YPV=B1UO@%z<)v zD5HlKyyD~@8zRa_$s$=bT zL`ePjjm)3+Gj9!2Ha?$wcncd~l*{X}tdxo;7eTiJ;dtUc!a-uwEHF`tzLhM=;>H~P z9*x*CPwLgHeZdiuzHZxd<=_*Oca&4u&^bw0{&hEJhf}iCHFa^{Xyy00?B3pqaG+sO z{Q$t;l1hA_-H7#d2VS$7&d{+g#ZP%Mj1jj_Rx_uX{Yxi3z6dsuh;iex`qg;|r8l0w zDQ7>E*ehH6z<&NH)oJTmgbk(}6mL?oA2Km%waC?1HSf7g-RK78cnFu3IyWWS+dsxp zw${R98#S6awPckqUOBzDyw*zeKPsp)i1{+rRG4QTD-=Xq9gk+zU;M;uZ~pWs>r-jh z$h(7fKA-n+w8?5uWMjyY&eoim6H%-bwHMgds5R)Rx9f5RSCcjb zKKx~4_2D%Sp^SuSA*az{C8Yld?op(J!v{fKr*k=*$gyBzd^|bWpvCO=N$>q)X*~@XWJIW>wCHDVP$JvV5qni1NN527RIX#g|eEr9~)9oVUc3fd&k~H?my2*aLI5p5jW(HqE(515sdt$uj92tMG;DM$PCBOY0mH zz7jzkSh5O=v@i=@{y7z3G6aW(+=-G7DF6(muW<$Y=oP24qCe94jdt23ghq!@k#+C> zBtOJ8wpVbEnLp-$3)vPH_oiuV82c%J^!Dgv+!$j{r|AX zICc^eV$h8sofa{W8o7;uAT`D|=@{`nC@QVMKuQ!C2xFVXHfo@x^kE}pV<0Utn$eu! zet*LAyq>u4`}4lu*PfVwsj`oZolns+*}{J=QzJWk$4Bz2YS~_x>+%9s1d~?>LXs%9 z)Ih&&h|$z+b-~)R<|LDj{1m0y(KE&+D$}4*2tu(BYlHwhVzggqT@N;qwJn*Z7AxL#?Ad#C7G8z zD*3e{+I60~-nR?+^0pA{6T32rOG8I&9qvQSo%~AQwLVs`$t}dECbR3|MMyT18a1$= z|GU?vh3C(o2rb+n2S#MdzF<9_fN<`b=(Lig#5+n{`*6bPM)G5f?6T7XC7fw$$weE# zYCA$&)GE~O)9}*lm)T)t0M%GSaDz-WIfOZPZq zp(djt-FaY3uY!#(prJa2|91OjCA-7{TiWxq>`G)+kV;wfuj$|;M!ZuuH=@Z>W%akB zm{J|3(`+gGUGy5Tqjmh|fLh8mY)4Y#J!hxL_|;Yhq5wO?-zXfzwREdtnLh)EAU~J! z(-kq670k2lHI^+k^=~$~(C}EHWZN9bg@f_2^9xIoIt#YJg4N_6C*rjX9X>Y_3f&6@ zDS&3b#OeJ{Pu`hEgZgCYcv)NC`ya!BE;SbGcH&H@s)VQkl9c!XYvT~I)-m}soVOk& z|G_n~q5~Dizi=s9rTp2)^ipZv(Qg6`Nur8J%iEdf*7Wbll`UD^z**$F8u7FZa<=6R zjaJGREy~NZQ=@qT=Ab!EN*1X6K9Zr3nun07E-p0~7->UVsfW*(ZWm_;q0Zn5Zxyo@ z1OGq~>0|Od3HRGU<4-rm?cy~jFA8zjMBRcHZ~1~eT)bRtyyw+e6?vpP>k~H(n=bor z<~q!wh(wwpgXIYE3^ENpsy96|_{0A7>~e+e(kRvAA{4xU9iY$+2gXM-BN0SczNa1C z<;b5@W1kIsbQWD>XEdsu7^6#eml&CAUOSSli((su=L4Mg_s5r3>2+FSM&)H{)*D@% zSvtzuc4gxCHe;yBXV-uLHy%ch>=eYQ&t^`s6;gu}$^^%zNb!eM)Su8+Q>w51&mVX%Ao zkW)!wibB|;>|(MIp(^03C_sv#s4$vZhbi}$#2e#fRrO&bm?%C9aG5mZe3yyvB-w9X;*FfKocj|um$6n5X zj&uug5D1EUYO<%0dh1SJjr3RM5`0r3Xit^$2mjxRpLqSJ!1y%e%UB}9J%`D)C^_$| z4d`SFw_1AA0m5*N2k&0^A;fQtfjg*}|D`Gr+Pc5Ch^fBb_;cL^l&&DCc9W0?jxIRZ z+PL2ev_anI)`O*3_AP{?h}gu7#5f9%bGiM#MBAX8D1N(#{6Mb#;n-Zhn>?!+ z_oRWR`SmX(EXgU7mGM<{j3J3NDo5Q$A*f7eLwTWeU~mGd5Dtqb1>LM4v8Pb7{!wbZ z*xU@ys!lR^_K>g2%g=ueaJr`Us`6hRZcbrlXNYMHn6Z-)d&UB^RKQ~y7uIeLq~5Hq z(%k#Nv{$66+x47HWu9p&Y0Nz}QhuAdGt!H$80uC>-7*j0tyn;m`t-_`=SyH{?VuSM zUaMXiI-B#mx)J`_q!Fb8EP6TyzthQf(R=o^HZ0xgg@q-wFv?_9L4ir4tL-N`{W%!; zQqqu4EMs-*j53ZINESwVnXNMH7oYUPwtD5df8Aj8yEKg`rmLoG_K>yRzDop2`RAnG zcsOwP`kN26(+Na7G>E=m?NRPhon+iSRGp4jbl*aR*f-Tv25obaE)K&M8CI`?n?%!D zB>H$I9jebm{a62<___}0XW5};9FIVy{6VpP#t&_{8#2J(*`eqEr1eY9~neV zr`3&*z-c{L{RHe{_$wa=gKOLM{$B*EceEoD-|w}4j`ucf*o*hCKkN{0pR9Z;|KmYk zZgp#WdM##J5aB_5lk~dCvPf)lQZdLfzaii|jCl za-)l`UhhXC6o;+v$q6cV{hW8rvh#FOQUBAGy=cp|lsml6F<;V?kZR0aJb*Y1h|l)l zGKc&BFf>x9)Ju+dacm;D$#wqB@p`3K&f|iLsyc}CQXe)s-C0U%5)K_19ka@OoqxUk z7$$pe&q3|&&>q)Zk^Y;A-@}H?Y&V%LG>+Vx0-~4!oqAf&3q=|jo12lsqaAODk8khN zL1AtU>oxS{@w;al--**$>0j+Ll`ZGxeokVFVyAq)bo{#*gV^{~YsZg|)n_ea+ED|W zB|Y4R6FmB0So`J2F@^JG@0)GY(`%=-u+|WxG>i2p7=go9dXU0#U7I1`!@jCx=f>pe zka6zzLFT@vXNCrPl+}HGv+kjrjxApn`EdNQGhZw?IY`-g$Sy5?Skk8a^Y}_Ww_|LU zlMPc%t<VEW-zgqT?Pz%4JLhU#fp!RD~9xYLL)^uk#d})OO^LKmT zWNsI>*?fL6b*G3O%-VBt=_pPd$@!kvf2;BVZ1~}`B!Q~N_YYm>7*XAbGt_G2XL7sM zvdLto4{}T5QI~F+Sq4jul95XuU?S_~4#w7c_zb(l)Q;F0^(Ao5!eU;}&qHBYiK|;o zzl!9-N?Xy@fS0|mgF-$HFM>2Kxqfrky14nb;-?_rOAMIK3LCLCvaEyCK?QkLdDDtT zfr+-odv05%PNfjY>g@0io2DT?LT`B)W~iVreJ#51i9|70@eixD|w!e&_9PlwDorTW=JTv+DnJ8&$ij^>OI8vJA4 z<(CARz-%~=)YVZZuwxCm$V7lXf3w8pdoaSx155F`{y0)3?Y?2Mbm4*8_Y8@6>E^m? zuh4+RmA%S+!o6M#J0&@tQ5>o1d#ZgMl|5TJqT2#5s^rs54Yp4U3TIUq*mkMR`c5d zxm6LzYO}X*IKrLs1R;>SdTMXU1mK|5@(_KBLy8-{*%J@2``4u7BL))SwnmzxrWeoR zd;pT=Th`Rnx(UbvoE@O8MmN6`!>-!iX2h_v;Wd)ju)uhiRolK+sn675ytB& zts(B$afeazzR0lem#YV(<^<-cOj+TwgIFVjBGo;UR>#u7Zc!jYvfH-A^YGx2l}S05 zs86MfByKSYce?Gmi&QWNy2$pS?Q3EN%1Qm#s(L#RW;*O@7Q*wsvg2c>lsb@rpq*bs@RMUxWhy0X4P$ zqeLzx#2hO1wH%V|Dp8weej0hhDiqP*BH|h50+}w?3rSV5$+vCRrM3J6j|#ycvvcWP z{&a3?F6$&hX8!1_%3a^mNNjQFpE?9RJ+%&iLWGY44+%RX7ErO+>}()LOMl;JoU#-x zu{mI@edksvVf3kxdR!RVHS|_@L{N0~gc_rs+IkbF^N_P5q{1%@_Y-L!Qzax$#fSEo zrmTG1mIx{z`%Q(CDhHUB)kJh2@3)V3=MQ|JiRp!*ES$=YL~5xTQ5FX9GScuivsh6W=n;GSbX`5YVbIf6Og5*M-WEUHDzDr@EYphdz zram0pr=@M{_L+*+>d3*E@-9k@I7EGd!O(Ik1G?tZ(gj&+T3egaEyQ0aHR1Y9BgZcr zk`&6DDaTxus;+@vk#DJ1&z|LQcsDNvrpB7ItH485$H%SaEIScLGqj|^7OPnNs#HS` ziOMtUoHMGxVoNT%TrZ)mx>q0fzH$MH%u9w5eBJ+NETr|nHhDO*>*5Vl{tb>vKXt|i zTD^{Ol@LmwcgQK1C_>O2lG5|><&?}(vlC0kpVUeR0I)!8ZzLPZkfX>!L5tRwar_~f z{tEpqRG+@q@6Sf~>)zz>sMc=sEDujX{1k9CtU_=Se^kDguVBdDj4Q`9c>LnHri zCuMRF2pNyaDpKJr=)5S^Ds{=kjA|5G*wgXHcbc9QlXmmmHiSc~i8mN*$KiHq#ErS_ zY&C27gt;+=a?>(^$CJ70s24@PWu$>yp4U6Zu>{mSko7y%VOlC_lL)O*s ze=)?M-m0__c;`f92B#7G=kU=a8_buwC}Ne`Lp;;lmdNvcpeglX9Fk%FJ55&Qf%}8C z`WQt&{F_!80~mZ<@rs|h+0&J2HBbDy6knau#lPY|kENC9yP!=dyK3TWDmIb?*31w` zor4)cx*_#BX6WEekL!SdmlfoHV_6c^vEN$15-Uzy&+)nD5;Hfo%$g z=G%qt=KG{tz5d=zvr2)c&n$HlducMCy#kMoyHNTg!PkP1{Nd*dhRs}}Yg{E}5HpS9 zlATcBRB&+3m)jmv+PWO5Q>H@Q0lBG{GZdKzQwkJR_+*9$dAwHD$VVXT&nbKfOgH3> zlYfR6FlSwOeS7p?os;WNJXi(blJiN=d0+1~c`@IXU?>En7FqyN=J$f>3y2^vo*1d- z>Cq7%A%>W305^Up9fMLn%ydtwDZO-!V83}N7V_b`0UD`k<$plIIp~U+Ygwp$5wAwr zCOCj0_zARlX79I9Ut=AT><6o=^gQ+QPkn&q0Wf3bC^Ph56b}F%S6vS|r!bS=E33UU zB0G>3Dmo=I9cP8?(a@u*A+Tk1ltR-bBOvCxeb}Cs?kaZ-qK(p#*_Unvy%U#c&KY8#m7^fWZ z*$4a4Zgw`;TMV7@^vUlpO*gvmR`Jt zAz=~(#yGM!99~6D8jS!HjKeCS-Dmzgv4T}6UU|~#yT^C8zsDJ`^TCZmOu=CH+ zxFt;l4Y$ze>^yoHRc{%=OCB)E;j-?|0C;cDH_X^)dbM-!C_cJj+H1moUn#+HuzJ1Y zpKQj1BZ_*)ra0il@NAMjz+z5VK{4obO~e^x9aFq`fZRPh*^~2@JTb(Z0=Aq;7gAJj z4SqXqh|KNKV@gt2vL?%lCYNRV;H&`JM0kACDzO9}AQYmnyw(ji^Scwjb!0ywQoQfG^#1-lM65jHuAF6nRlr@rz&F5qwF=$&LW_l zmq08usP+2j35=l&Fw7BflJ?BKj*uU(tz`Q>#Fk=A3ukvT;zqTj2}5^E+cQ)hI@`pZDJ_j|Kt%H|8&1!1Q_dJ zA1mKG8})u|D}}B3*VH0uXMJpQX4_?0Q1i#>VI+s>2Af8z66w>3{OIm~ zCm!ZIRMWN<9yd>09T*m6sK5-aG`OJPMK109nuWDPJqjg`+MOcblg#!mpN^Y*OjvEI zI-BCi=)!2y?ec1+EYHSqSLMs=eD{`zvi*V)5;*FIejtzae0+LPL!s3xKizx_w+w%7cO2e8;S7V>A?!AXn zMEL&ws@T-arhv6%wKVdr8}828=(`d+W)Yb=)kIbn2+vaYkazbBmEBfZe;CyeB12V=oW;;A8-C%)?NE}slrX_0@prxF9qkE=Qv{bCBd1IXy@4X zGEcRLkVZ$A9~vji4YscZ_2w`j>TfW z+{yay1kw!gz~QKXD-9F~UDth7whNymJh<`V`MB1XE9w|+%ru{p&$^?x zv)YXYSLq+L85%GEywQ$yn2fv>B;T#xIw@m8;(L{J1yCz*Kq?lA#hvIK^*$zNWCzGpoOJJTcGeK?(Mm+LJJ?8VJ;lV#W6a8)+7(L;-F_jeok zLPxMb{b5WvPoV<_NPOEmz-{1p)P*tCtx7X+F8!z7Hr?inIZIEL(kbUdrx#_`!`qxW z;LV7RgNvaDEfW{?g+iCUD@;Wv=qnH0-Ay3$|8@~LG#}Ycxv_iDc3bFv+liruCxp=E zsa0E2Jo=Z15c17Nf}XbYT#mVkui|IQt3MCMAGCP>ipVCoel!-&Ef`A&cn?w4%kwF!9fWWfm3%@c^)c zLuHCm%WX&LJ3*ibI6Wu?Zb(^|pyWP`pW9e9{ws531t#I0ZnRvRsB?z#M^pB4#F5ZP z-!7Yyw-^)KDx{s4g>u@!0)EG(aCXSdwAOd6)4Vw?e%Si8C!=Zsj>Cs@B?`>(W7DSJ zvv-n?CBLn&{&0DF@#~^}T~z+s{!;s$7iJ0ear5g2?<6Z~8?0SbGbkD~$3GLEJoT3Dhb!B3M}~*1svRz( zzKUyv!&%-uM>zAwx=PgI@@=2W#ocFKRbcxsw+zp9xj3`~OTrFr*;LQ1(Mp#W?c#wp zR{K;Fv{rA&ro4o_K1lmlqRX&Pb3U2)PpqbFDlX0%SR%V%TeRRhZQ;Tu-QNiEI)8A{ zB6m;hIR3vA-*ygp_4_$(N12Bgr}M8K8m=3}G%9+30EdcAz2TZYJ!;ojnXP(aX7uRl z%dv^{#gW36x-qU@elAwLSAGdQ{xp+E{6}`Ze?r8K)2#@DcK{Y!3I5G#YEYpwjUI9UnZWg~Vfhj&O_Sc_OYHLx}QmZ5j) zV6(pW4^u~bmUh+Km3gF(N}hV|ab4wbG^`iS-_h>Ov!3+&mn~Gg!}!xm(917{HMF2! z6}r!ASEW%$^lfnN8PscBVh=aQdCnuuQ!XQl9lq;rnix&xV~fe*Ajkxd^4eMX#w)qr z1FgW)9;}Szbsa;Am5mLJFdb4zF_S#jSh5Q`5cB>dMni4)$MGNE_%^JFdafPRAIlE> z@5Ch+P*P=B#dxPH?78z)m>}caq&(-3fbw6XaQctgAwD%QHk?;ENGd$76v4_u3mLi!$DEHHt=~fkhsE+>3^&0J#JU`hz+*G2|0b^lm&#$AzwOV?ut&OuFyuz zMx{5ya)0GIl{LA45i}=t0*s%Mqm}@F7?pdt&5KiCM;uZ`v~E62$Cd{?+*em5;N9|i z7Ia2^LT*HRrRVz+?~NzjpjNPiwMX(20*IRJin+2z3Y4?L?Mp_3^%d*s8!YLd4Q8l z+HGGdCORR)Oo545gp<=u>M*w-5Pm@MUayTn;7r!_`YP&%1$wT7)N_!-c;QQ7Ap?SL zn;CZt?kQ(o3SODh{P;>F*meE5>REczZ*jZv3P=+rUthL-vC03k5cgnibu~$Y?o2@;e)9jMCvJ4|sJu8=FUa)4 zgq3Njo#n5d-B?{A!ClOV5T|(CJk2JUhMG)((Y_AEtG)@LzvCuszytF$1*6dckpW_3 zCx_z>$R^)BEmakVFC_{Y=|kA3-Z-huV4riU;8mF!oX z)SU6LN(h0lMBEA7f`2SIZv!*cL!gnwDll@N5=72;0KRxJ=%^6Yp}1A)UI#^N!DEtPha=W3IJ)lbIEmzr|LYbRSF)-lm#CWQMN?Zg22q@L4=l!9v`jJXI~C4 zatzgxlJ_#Jbc4X-<`kVMj7!#rLaQe=o>pVN_orJ^uCjFQL#Ho-%BuW|v4RMg`n3CS zCs%S(w?!iK$^c&h=b)-S40eh0(a_F9mv09zb6f{+W^v&fAT8LQ z(m+I+K^&rvEryNSNNrzYd)|n%YE=D2O(#Dhe?fW`UyD@yTvYd(yI@;`knMYrn4L&q zO-+o3>uiOq61iko6{Zvo0d-1`)@-kO4rOHiA_+MU*1yyr`Ty*4=;AFkB*LWz)a)rV+F8O z^55?Pf*HVyn2^UScSP@QOn2vYDmGs%yzQ4BHQ&%q3H~jzvq= zqg5T8Z`}l|TYb3KFM*j*A9USVasgFDawq%VPiOS|os$3kT!RJBJE@JomgrhkL{tjf zbmk2GVJ#C&_P{enSNaCWh*)+($jWf%o2NlPW@bK z4vzf7i+Yx2(k}Z#4$FSwg-snW+#0~uE0*>5;$JkibmAhFhKRf9po8|}66~G(W+K?b z70E;Z-%R~;#~k;{u1v9R>Ho>RBrIS3dGd|v#HZJ;VUN`U0U**6e06kncU<&~EdHzQ zEZiY*WtGm>3qHC%FbXw$n870-ETm9Adc*KRccgBm@;l@kfJcJwhm%ErowvgzNGr?z zjTQJe-4-KloE0FxDt?%=3AaP#Hufn8!EDndv~;{v!@0iVQSk}O_F*4Au1G*%J{0$T z17z^lH|ma~(U;c!Tz%e*rB(<2G?OMD!=V+W)9*V)|5xHU(@vk^Grn4_EPEN~2)<}U zEi*^e)m4Ru9Wio0mg|{z0r%Tn!f-$8o0*G*@jQ|0@CEekS6n!nVbGS{m?fE0oOHFN z*y4FTg~nc0GeL0!ynj}Z-0)Lt=e5^>DUz^Rih@S$`ChOe2bt(iFF6k&Nw;a00uC)K zgLCSJ7eI0<3s%;q76EB~RTh>REPPN&;PBD$jg^E0!$YHlWpzoHOHLJVIJ!H}v}@03 z*yCuaTfLz7V(V$TrJO>GpnkM`r7!WxSvh}tx~p_kuuVuE-GRVanp>&M9g^|ENJtTz zheue39hndv-+CCjn| zQD)xsy5EZZNHp{nFUl?T2T9gu&q2Vl+t~xS`QWF1-j=A2F-itpo{P!MMn8-@N3quHb~Z%wboI}L4X?HFAml>= z>gU(Bf?wE)mwoNU9XvBo(`;sdtubXdmQO(@6xD+cjTkw_KdUQ0S5zDM>E5Gle_+B+ z!9;ymMpJCR@OpGh{;uKO8rtfy983sNXpF4Wo9U7olB&z`U*r$@Fs9JubKS|r+V^uv zjQ5O-?wF^YTpMI5EIgi=gq2l~f4vycRW$eCi8%i3YRp#502YUwb6Rh&8N~jRw>L8; zy7!_hXT};(uS)DWnnn1sz4xd!YcJ!EZ|)MO9DxJCzw>krB4Uf}{yPCM@Fa(^#gqU2 zpzGnR^X4B3K`l?h*B37_U#wgB7us{GOMn;)TMSpUI%^53##d5D>Dr--J_@q~xsW=a z^1zhT0oDQ>s=%?AsM|IFYFVOK#63}pcn~?s41Jz0GZ!gKTiG`obW6h-aym7P1o-34 zwrf99R_&Zr96WB_+JpLFyu0$!5=wylxh^eg*zKW4uRyj(q3ibIt*-nEybukoSzSno z+tj3@>df^*EXU(rVl>j29t~l|(VqQkI3sclB+lLaS@jLI*X@hrCWjOmj{txFvdzcN zcR!FEzE8=@aEUOZZ0=9NzX_sf4qT{%qK$0KMBXGalZAq0AL)BDWDK{E`+Dr4pt)_Y zge8VNga4aCgbr>Yyxdd5Xb{3)9B6x)+?Oc|^2%U5j&g;m++USFmMx*LE3no$vFzXF+Z#rzAp!X zs>1#JeCxiwvz)t^aW+h~+x7ZCK;w^(#Ofr^ja`rn@4u{_tO87FSe~Gkq*a=BqCAh$ z9oz&RpA7?u>pg>3#VgF_Iu4gH@?6&mBa zAPg2Y5DDUF=gsc(nFqQGJ`E{27LSL7c-{`9H+DBg_;vCeRz-Yq`bX}cdhD?2^;p3T z5{G6PL{roYL5~KZZ#icBAys1aByg2n!jfBeq7(_bRORFM@CjTg&|N|_{`|XIrHlmh znE53?S@uc04QF#~mW!VbPY%N_VW((u!cLlC+fdCNoJY@AMD?X};rrxl^6G8GJ|t49 z1d+4zf}CmX7Bvv`b@^wa>JGn(rTl@J{MQ9}pG50Se_oYyBd7c(gA2hquhI*qRk!Bg zXi_AT!O%z91-Dtmm%ybb>X^=CmVx+Tb)|e`mXFQOhErE1BE!45HgxQ1)YJP;;Jqc` z{#O-Q_uuM>yY*M6+m3UaV*WcJtXh7!R}Wjmh~rlci^-Xj+-H{C2_t)1@w(W#5_D*` zhx&IXmM&*QsRyWXKy!3_KpuUcCE_Q14OB`8bQ%^7?F>0{!=v99L;}ery7S$uvapRs zEGmBAml%TICjy5CE9A|tGSyB89!v?WtG@F8rgY!P_AdD$h{vmkR%&F$w6jXo8-j@+ z?vEd+H(d-Itz57G`q#zIRNIppp@<2t{U;Yh!X=<%Ny+_I4{6_$(Nt%~b&P|4^oRN= zzna+d6(cv0;%>EK?<}rpF9>Tv!AsnMnPsopyhpd?6*l_E1ow@f!>~yQqY&FIg*L)7 zp!D<`eyee>EI-~IpLX>=&?m>%(v!Ko!OUEq+LLcG!MS09NTuKv8j0fIuyi;Mi!5_A zp}K_G&%4MZTl4*SdA~R>mhUZ_}y87|k-+d_dLVb?L zH!b<4977b8OoexQEfsLZ#^s%*v9_xr%M7kHluQ8*xb&}+}+dIZTHNv^0qr{X(&yJOFI)%o}Bm(hWR$2UJAqtpr^lxl#=r&v6R9g3`WRq zV^4do6BZ?h2&tsIY;I7?(WqC)JfW+tbs8Mjr%VK@Bx?P0P5rQLaZ{$Gm-+3n4udRJ z>sW^{@J08mR8>r_D$Kt$wB+38rjC)*Kz!ZM3W1H?axPm@uC*=fndF~UEgyUlWk^xY z@v9thC)QU2WWxDVek)vw1TRjsI?HfxP>g^pU6tx_o2yxTbSYJhTqsVX)>#^4RK6Eg zd0Z-9W+o>ZY=}nFOYJW>)wSpDmDzB)dYGa^75EQnxM#C$F!#m`R(&jQ7AUJalScZ@ z3<01bZ}%$n&vzVOxPEZ;xTmRFsUykf&b#+Z`*U9=BNZhFealJ0BC_owS2)LJ)z$O{ zLqEkl;vas8bzvyVA^OT#)DDD>-8EEl;V?!Z?;Jnkpga2@aJkxYCXoj*zA~gX(n>dzt$X?#9OXBU667kjjMp`iX#KU8(TxxHPxl?Y_ zI?(1?)|}*x-kLWJa@9CpVuY9Z8gaDF!N_KEsyEsywaRqgWaeka;|ywpE|Y|{>_f$@#Yz&RNx$@0@$ z_m5li@eQCJKP}?r-!&+uyjz=^lg^^whuS?r`Yx@yW)3Gdbw}QP+imD0@Mx6Yx*|jt zz6eZ`53Ja2Fmwts@c`ysdiLLmQ|t7FAI*nX-*q?Wc7}$iOdiD@uX5V=$(L%wTEC%T&xc{L`GboCc#DjCUpsaRf6sR)-HCAAeXvHKx}8)Q z>MVzPcbk8p;fVybG0#hlk{{xQRCE0D4c%RT=Dm;Tl$qJD)QKxUX=QziqC~>~S#a`L zw8gbTz)2CE{yQLCz}Hej*IDGnT6KkfH;-xVVl&^L0~ZhHYj``OYVktg%bDDIgi;5X z-IG$Zn=^^YOmvk;P9}?-vK=S}i2f~u6w?kj_ehT)eFX(eG<{qIfm+H&vR>gVNRI!u zd#qu$?O^RM^CqGzmoY>UXn9IOCRd>YRx6_eBzk7=WIN=s8V-)|({Y@pD~tO{NA2~$ z^PC8!A-crB(^2kqRdbTbU5pm1>VpSkhPMn|-+;aZyLHb_&m{n8E$t+uZzPHH6seyq zfDEiK!BiWB+YEz6hjN z+ICN-(GWtT3y$Ca;SgBa+ShgS(kU{5e4E=pD%5GJQkkcxG?6uah=cNQqc6jXDy>F} zSinFILg(@Qx~1|!7JP4Ge1PaXZT_x?n?^7(@p`io5b^$=lj#No+Esb-M+~<69Yagd zNj|IV_o7`P?>t+=)W8#gpwV*z_psy<^jI@CBzytVmf zy!x4x0Eh5=odnaqi7UMefh#K*&cSkZ!?$#;5#8YmSm&l>&Ov&NH? z+`GAqS@HKJ`R^!3*CA+M;Y)rekKHFBFQ>cZ3uq!6O_|Mh0tFCNRD zFCnH5ZL00EnT<{7)4Mqd9W^PI12@oL3&$Igg%2XrpNp6B+Q>&){qpdp+1Z~zgftUx zl^W?E);h6L=Nx==m~}%6IZTN6%>2d2U09P*gCKv+#vKdB(uVznQJ})-32vajv#fve zNTD#Z^W=&#RG$$hc~_y8A19xknA3xp{rTZ_QtepnI8(bSRx!Ga2CPQe6{Ug2X~PbO zO7Kol?v}(&hg3UB8j1zbAf+yd2s4ftq1gMq5fxr zeoi5nrFxF3+x~QO^26Cop}$QEKq{s&qkCb>0%d6>LKtbwtVW0K)2zHy)OhmnNaq5I zL>K6~+=L%64X*aGqtBUPXSms+>PiQQ^K7r^)Z_rcpptYs)w~9~k{0sUTetr~cF3~4 zT|YfA&*&!(!%E;t`sLogi57)(a2GE%-U<6L`%KmXS3nAjg14DoK2)?W<WX zay9?(=F}_VoGfH5FuB;rd0GQAX`^URy{QfkD-{%o z_fYi7ePr{i#`WdP#I%_baA6Y2R4#a-4Wy@-h5$1``BuB9z8hT76)ad_c)iA};_9`$ zsQG~5R{zDiqKXM<_k%rWsSjKX^J_t>F@I&kKQJ%YC6k0(R&NOLAbX+on+g)3S}mjU zf>}8Y3aPpbs#nD1dhf&uFYSAkgNo<1(~4#VjBGI$rXgm>5iA??6AYcHgxM=%b38<}sIs8OGdAV8uJW18l|l(L2)t-;W3|Y481DiIxUIW( z^Ph;TYRTAAc+};!yrJ#3R%PgJ4En0}{%#>J8Rii`%s`MU%=LZ-T)N)aGS}s%3&c69KL zzUX>N>z!+%t8FiL&3@;%3?3DznLF6Wo2|ZE8*iILoeO>P)W9>@4ARfDQ0fIIC`7OdCLfceXzDN>fmvy(9ZBG{kQG%$WV~nz1OWKMdtd z`Fs7D-!fU4xwP>6L0tg+x`RT-^+z@I7~HMLr5u~DbH58xL#jhYn}R+mJfkaOw2`s5 zoZz*ZwHCIsMx6}HRGE5eM)F8~6+FWwF6zXt-{ck@QSEY~ZT+lW@3c#0Hqn%Y_tEy7ywj_-R@e)`w9!(d1_ofMR~n=^@&Y3pxL|o*zD0>>pW13dn49a4we}#@uk+e=vw2-L=T$SZx!B~s!dB^QHJ!q^hrUoi22Jy5JT0g=f zpf&&R2D1V%l*!n2u>bITkiDGLk$3rU2PhouC%)j;i2n6+c=FkrUbQcuXvk@{53c)7 zY^jXdPGf&IwggX%4q}yf>_9i6(sZ21`DR@JCfT^VJhvj9wBxnts8pH4@icxWevF!XC(7~TyZ=+;;arS zG^|G1co_L8HWb%Jsf7`P?MDv?`-Gf7srI#eP47hiovj&g8wk`f!`%&JroU~$M{1A# zZ^DO%#W<=9leAJ6Y6+OFTlvdb<>KnAw%_Ylie9d_bYUeY-`U5%Otnx)Z|dNuOYEx~ zYSwxE6ip+Bz;y`8Y$rzXgvCCSG(?x{p1kY~5ZbtU`TJV;B?ous1#l1l94qf0s4y<3 zBFWQ5VU)ltc;;(wXTIA?f)VB2f>Dz5T*u$6q2Jx3!Jgk$R}}^F z=yPucAF2MaG7Hg^p$IQimkgmemwuu`9Jj&CN1uUnNP8{Oxq8$KLrK9=M43F!SIJM? zcsELIrbSIoKUZpbKDB+zb9C#ViS)}UU%4A&f|T4~pg#I$E9GP?l%hMOhw6i=)m15G zRK!Sk*@HqsdT=(p$fgm8=0MfqT{}B3eIqOjg_jj`-SQ)T6j#NJ3rySVWMA|B_~SuL zY*8~(`uul+(II2OM_`NBV;Q-fhKASzdeDU32zHd@qvmxb$l53yu%QQubZHw}s-!>` zlVg_bV_dW{&Fa0UtoU_|?|7%$$u$}Q5QCbGhR3=^7j%D(y>URse|%?QP+!=%W6IuP zVM`F|4jJ>}u$uZVZWAqw*@U>Wl~)cB>_{Jg6{~=XHWfvtgJBvEjK#3o0IKjM!l{?K zmW-y69|gUuMWqa8snt z^1jX{Uj``W@`DbaKbIa$QR-@?dVaZ$_xy9yTl~Ha#eepjBb$Mrg&Qc?!1j)YnVBPo zqEnv>J&zUlBS^H>0fZNd^u(G}U31h!zA;g}?ca%2Zm5UYqSpApvKiuQOb_&Mkgqv86yY~D9= zHOu%9k5uj`o+DVlfL(72J#Bg8Z2;v;J24et;AK&*#Z9ZtPSX~aYpbgo7wsDlKFAE% z>EQxr#aBawNfOnVRWu4t$OIRpd?;mr5%h>l3U=Zj27(k&7N5j}_fG$~o8geqvm`m_ z;9-{%s$<^}UE1Zqd5Jr>38)#&#?0&lH)f8MH*j{S2IaIg^P$9i*^opn#B4O$#SUBD zG&;A^AUAd7_>;cS$XBVn_rDfC_Rw@g>RsT!KOKDKXRiJHGtv4pO!RHWl+O=CD{S}W zyG@@(g4ecJ?g}zG^jPif9mv@QCi(M}3ijO(ICB};tba7CG)I)j^Xu)n_ z!*=^bCR$Hn!ApFFJo<-2N~({3OZz{H&ciRs_3z`IbK17F9A#OVd!{*ZWT)Xka&Hl> zoQP-+T&SH&Eq4wyapk~;XbvDjw4AvU2MK~X&>V;px4(zyf4E=Qb=}|Z=l%YGo&*#P z8?BGGbn%h+_Wa&>ER6QB91f+uFh)~ zS#NS@2{n$`rWyCF>|}RGSp`&A)vmU{UqSanSef)R?}sCMln+*Rq#VdjT6S8%it7ODgPM3zKzZ{SXaI zDi}Fd^Ewo6J)OH~QO3L*5U#9a7`hGOLN?5*yu>6yMxUTHMUI3|VqL&Yky+$5X-SSc z-MFq#A}{>L!-9s=g!al6--yGZq1<&J%-*TkYv8E-Ew0lu-x& zIb$QiHeGcmU0Rv;aE`I11x0(ehaJgXz#ei8Z2rh>5KfmhNs6=>)&WCCcOCMvQ%S<@ zub45pgX%bn0oF4NrmAqZr*=YLv5P(rOlqr&6@1y#KLMkkitV(?J*>~DFq1F9aZTg>@z_}Nz|z7qSf@h2a9|}*3!)6O&74^Bi;#7NRJ1E>@_p+&^5ZsVPs;}F zD*ia6X29-@xTb#MoVcPRtDjWzCnlWrKGb01F5J;{VhD3uek(p9;|2wPKy?gy#@cK5 zrZlbbM`N*CmTeNJd3HoNFKW2?VPPd z8<&LO_-s6tDi!C$o}%&f-IuFk)t%lE0?V>mc;j3|*krviC3tjsi&GEQsNa=b`TeTb=GouqLSOOhI-!fu`#Te&) zGzTK(ztR!xrr=Tfdc9?Lg89!HNhqJ<%hs*Lj24moss*vpMFChCDiPeJcGM{DW zu`iJ^PEtbQ(*26cy=#tpi_4j)acqMvQQby9A|k~khXrvdHrW6(z@?Op`Ww7*mD!KH zx+HRPAsia6`}R4MY=Uh4#DpkHg5(818ihY5W#oNUP06yKqL>!cIS(#lys6Ia^{`3L zo1h6XxsnO1^4~Mq(c+s#-NE^qOoFFMMX0nrfdJJBgh85r-RZ?B<@t%zdK@MUJzWL+ zyS=g}PI)9hxA`|VhFT%++UK*gj#PBDFZ8e zgb?0tvOYQGyXI{gpTnE@_uYeHV&F?EHp-*)$ON0Wj%0pL#{9;b6`2P*9=I3i0kQpXfN`o zNA%%gXyCbUlb&bBqB?ZwB%a|6+LaE|te1VLm3+TGrqkYG#J8kkI2zqh=)tI|;$5XQ zYRe%Bn%lsTYp}#x1|+)8?tY$$jAViw={gIF!QR{2(BQ9xuef0aUT*tjzrWb#Yo#NZ zDST@2ucZ^{w5Hxy{;V#Yk2S32=OwZ*NGJM!dAWJkhL-wk9f_JqUHk$f-oJEa&}1Y& zQc~0fri_TX=7%P;>Dbqn!$N%WF_cZpb-wq36<|>FtZ1-{Ok&}0+4xXyYHQEcPnw<$ zdG`a2FIj>d@R(umkLS;z!|Bij9EL_XXtn;=wtP4al+uut7 zt_+*pmyF*vc1yy}(pxJ8bZ&LGxhYz_c1*d)N;jKgrP2GBtEhh6-TM32@;f?tqG@ME zLsK%Z3hGAElaqNms)kbw5&`kLyCsi={2L6W|8?o}xa!GYYjd_-bHj08*^^TlY`kKd zb#E&K!r233Zuwf1IgldQxKv&qeqk62$FW|AD9xCs0QqYU?t}nEpG#!^t%HGlsuz&R zyl*FJC($MT?rXKCfX0+_-Ed~^EPgmEib%FY9FE~w=B)OI!BE5C*-0Xnh@&_sKmPt& zqatZ6N}Te-3HkLc;;*arQEtg@c5it{k~O|-eSifcB~%z-LK4bs<*3bZigw$XobFxN zi%N^n4Hd@4Fha@X#4fmIwyB!U3Bq%SPj4$S<_!C=@?E+liFD<+O1YiO22_Q_cgN0S zqD_0e*V0CJ%c^Q9%ng%C@WWO4YA5+#RKLC}l+x=sg+>3#G&ZRX3D-RngU-@|5(-+YCo}Vual;#w<$gWec?Z`7^I551HHy=* zP8zQ%uCY&qQPy*hEfT9W&;O@V;jK2hJc{$)9%VG=MGDpoX{hD$+*-f4oyK^MFOP#Q zYLKgbDLQfJFu`EhCzzC#wzzvYP2lcO)#=~*;#xKUo}!c#%jZ)qYnEN{Xx+syM9_UH zn6V!WhK2cQb@7XIk7TJgi?nJuJ3e3(=pRYGT(;Dg*o8eYIRB54<3n6|;|nbvTf2Mj zQ}~)C+n)p0E6hbk4O2&0iJw_la_XCT>v2eR9Cti-IKBa8#t06kE#V2xlf6-S{W921 z?!Qar?R`maE{9oS8{HLLUZo7$=x7xESNOJm_PL!E%eWidLS5N!Hr=j0(+ql`@p_&{ zo$O{KHm-Q=pZ}I@I67PZn5t)vBgS@$=a^+nTsE2O7L~{JUYe>qEdlFz%0AIIcTm)F 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

        `7yJJhk&3dvIE|)(mJUMW8%Yxmh1;^ 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
        CZiS% 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
        Oq=J`x1PuNQ}4 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ⅆ-t1V-#S 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�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

        }a-ep0aZS>#CQ(51gESRd}7kkta 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

        )Ze(8uf2#M%^-Q^m1fAw>p5x9fW= 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 z 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 1 and ps_tasks < 1: + raise ValueError('At least 1 ps task is needed for distributed training.') + + if worker_replicas >= 1 and ps_tasks > 0: + # Set up distributed training. + server = tf.train.Server(tf.train.ClusterSpec(cluster), protocol='grpc', + job_name=task_info.type, + task_index=task_info.index) + if task_info.type == 'ps': + server.join() + return + + worker_job_name = '%s/task:%d' % (task_info.type, task_info.index) + task = task_info.index + is_chief = (task_info.type == 'master') + master = server.target + + trainer.train(create_input_dict_fn, model_fn, train_config, master, task, + FLAGS.num_clones, worker_replicas, FLAGS.clone_on_cpu, ps_tasks, + worker_job_name, is_chief, FLAGS.train_dir) + + +if __name__ == '__main__': + tf.app.run() diff --git a/object_detection/trainer.py b/object_detection/trainer.py new file mode 100644 index 000000000..1c681e343 --- /dev/null +++ b/object_detection/trainer.py @@ -0,0 +1,290 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Detection model trainer. + +This file provides a generic training method that can be used to train a +DetectionModel. +""" + +import functools + +import tensorflow as tf + +from object_detection.builders import optimizer_builder +from object_detection.builders import preprocessor_builder +from object_detection.core import batcher +from object_detection.core import preprocessor +from object_detection.core import standard_fields as fields +from object_detection.utils import ops as util_ops +from object_detection.utils import variables_helper +from deployment import model_deploy + +slim = tf.contrib.slim + + +def _create_input_queue(batch_size_per_clone, create_tensor_dict_fn, + batch_queue_capacity, num_batch_queue_threads, + prefetch_queue_capacity, data_augmentation_options): + """Sets up reader, prefetcher and returns input queue. + + Args: + batch_size_per_clone: batch size to use per clone. + create_tensor_dict_fn: function to create tensor dictionary. + batch_queue_capacity: maximum number of elements to store within a queue. + num_batch_queue_threads: number of threads to use for batching. + prefetch_queue_capacity: maximum capacity of the queue used to prefetch + assembled batches. + data_augmentation_options: a list of tuples, where each tuple contains a + data augmentation function and a dictionary containing arguments and their + values (see preprocessor.py). + + Returns: + input queue: a batcher.BatchQueue object holding enqueued tensor_dicts + (which hold images, boxes and targets). To get a batch of tensor_dicts, + call input_queue.Dequeue(). + """ + tensor_dict = create_tensor_dict_fn() + + tensor_dict[fields.InputDataFields.image] = tf.expand_dims( + tensor_dict[fields.InputDataFields.image], 0) + + images = tensor_dict[fields.InputDataFields.image] + float_images = tf.to_float(images) + tensor_dict[fields.InputDataFields.image] = float_images + + if data_augmentation_options: + tensor_dict = preprocessor.preprocess(tensor_dict, + data_augmentation_options) + + input_queue = batcher.BatchQueue( + tensor_dict, + batch_size=batch_size_per_clone, + batch_queue_capacity=batch_queue_capacity, + num_batch_queue_threads=num_batch_queue_threads, + prefetch_queue_capacity=prefetch_queue_capacity) + return input_queue + + +def _get_inputs(input_queue, num_classes): + """Dequeue batch and construct inputs to object detection model. + + Args: + input_queue: BatchQueue object holding enqueued tensor_dicts. + num_classes: Number of classes. + + Returns: + images: a list of 3-D float tensor of images. + locations_list: a list of tensors of shape [num_boxes, 4] + containing the corners of the groundtruth boxes. + classes_list: a list of padded one-hot tensors containing target classes. + masks_list: a list of 3-D float tensors of shape [num_boxes, image_height, + image_width] containing instance masks for objects if present in the + input_queue. Else returns None. + """ + read_data_list = input_queue.dequeue() + label_id_offset = 1 + def extract_images_and_targets(read_data): + image = read_data[fields.InputDataFields.image] + location_gt = read_data[fields.InputDataFields.groundtruth_boxes] + classes_gt = tf.cast(read_data[fields.InputDataFields.groundtruth_classes], + tf.int32) + classes_gt -= label_id_offset + classes_gt = util_ops.padded_one_hot_encoding(indices=classes_gt, + depth=num_classes, left_pad=0) + masks_gt = read_data.get(fields.InputDataFields.groundtruth_instance_masks) + return image, location_gt, classes_gt, masks_gt + return zip(*map(extract_images_and_targets, read_data_list)) + + +def _create_losses(input_queue, create_model_fn): + """Creates loss function for a DetectionModel. + + Args: + input_queue: BatchQueue object holding enqueued tensor_dicts. + create_model_fn: A function to create the DetectionModel. + """ + detection_model = create_model_fn() + (images, groundtruth_boxes_list, groundtruth_classes_list, + groundtruth_masks_list + ) = _get_inputs(input_queue, detection_model.num_classes) + images = [detection_model.preprocess(image) for image in images] + images = tf.concat(images, 0) + if any(mask is None for mask in groundtruth_masks_list): + groundtruth_masks_list = None + + detection_model.provide_groundtruth(groundtruth_boxes_list, + groundtruth_classes_list, + groundtruth_masks_list) + prediction_dict = detection_model.predict(images) + + losses_dict = detection_model.loss(prediction_dict) + for loss_tensor in losses_dict.values(): + tf.losses.add_loss(loss_tensor) + + +def train(create_tensor_dict_fn, create_model_fn, train_config, master, task, + num_clones, worker_replicas, clone_on_cpu, ps_tasks, worker_job_name, + is_chief, train_dir): + """Training function for detection models. + + Args: + create_tensor_dict_fn: a function to create a tensor input dictionary. + create_model_fn: a function that creates a DetectionModel and generates + losses. + train_config: a train_pb2.TrainConfig protobuf. + master: BNS name of the TensorFlow master to use. + task: The task id of this training instance. + num_clones: The number of clones to run per machine. + worker_replicas: The number of work replicas to train with. + clone_on_cpu: True if clones should be forced to run on CPU. + ps_tasks: Number of parameter server tasks. + worker_job_name: Name of the worker job. + is_chief: Whether this replica is the chief replica. + train_dir: Directory to write checkpoints and training summaries to. + """ + + detection_model = create_model_fn() + data_augmentation_options = [ + preprocessor_builder.build(step) + for step in train_config.data_augmentation_options] + + with tf.Graph().as_default(): + # Build a configuration specifying multi-GPU and multi-replicas. + deploy_config = model_deploy.DeploymentConfig( + num_clones=num_clones, + clone_on_cpu=clone_on_cpu, + replica_id=task, + num_replicas=worker_replicas, + num_ps_tasks=ps_tasks, + worker_job_name=worker_job_name) + + # Place the global step on the device storing the variables. + with tf.device(deploy_config.variables_device()): + global_step = slim.create_global_step() + + with tf.device(deploy_config.inputs_device()): + input_queue = _create_input_queue(train_config.batch_size // num_clones, + create_tensor_dict_fn, + train_config.batch_queue_capacity, + train_config.num_batch_queue_threads, + train_config.prefetch_queue_capacity, + data_augmentation_options) + + # Gather initial summaries. + summaries = set(tf.get_collection(tf.GraphKeys.SUMMARIES)) + global_summaries = set([]) + + model_fn = functools.partial(_create_losses, + create_model_fn=create_model_fn) + clones = model_deploy.create_clones(deploy_config, model_fn, [input_queue]) + first_clone_scope = clones[0].scope + + # Gather update_ops from the first clone. These contain, for example, + # the updates for the batch_norm variables created by model_fn. + update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS, first_clone_scope) + + with tf.device(deploy_config.optimizer_device()): + training_optimizer = optimizer_builder.build(train_config.optimizer, + global_summaries) + + sync_optimizer = None + if train_config.sync_replicas: + training_optimizer = tf.SyncReplicasOptimizer( + training_optimizer, + replicas_to_aggregate=train_config.replicas_to_aggregate, + total_num_replicas=train_config.worker_replicas) + sync_optimizer = training_optimizer + + # Create ops required to initialize the model from a given checkpoint. + init_fn = None + if train_config.fine_tune_checkpoint: + init_fn = detection_model.restore_fn( + train_config.fine_tune_checkpoint, + from_detection_checkpoint=train_config.from_detection_checkpoint) + + with tf.device(deploy_config.optimizer_device()): + total_loss, grads_and_vars = model_deploy.optimize_clones( + clones, training_optimizer, regularization_losses=None) + total_loss = tf.check_numerics(total_loss, 'LossTensor is inf or nan.') + + # Optionally multiply bias gradients by train_config.bias_grad_multiplier. + if train_config.bias_grad_multiplier: + biases_regex_list = ['.*/biases'] + grads_and_vars = variables_helper.multiply_gradients_matching_regex( + grads_and_vars, + biases_regex_list, + multiplier=train_config.bias_grad_multiplier) + + # Optionally freeze some layers by setting their gradients to be zero. + if train_config.freeze_variables: + grads_and_vars = variables_helper.freeze_gradients_matching_regex( + grads_and_vars, train_config.freeze_variables) + + # Optionally clip gradients + if train_config.gradient_clipping_by_norm > 0: + with tf.name_scope('clip_grads'): + grads_and_vars = slim.learning.clip_gradient_norms( + grads_and_vars, train_config.gradient_clipping_by_norm) + + # Create gradient updates. + grad_updates = training_optimizer.apply_gradients(grads_and_vars, + global_step=global_step) + update_ops.append(grad_updates) + + update_op = tf.group(*update_ops) + with tf.control_dependencies([update_op]): + train_tensor = tf.identity(total_loss, name='train_op') + + # Add summaries. + for model_var in slim.get_model_variables(): + global_summaries.add(tf.summary.histogram(model_var.op.name, model_var)) + for loss_tensor in tf.losses.get_losses(): + global_summaries.add(tf.summary.scalar(loss_tensor.op.name, loss_tensor)) + global_summaries.add( + tf.summary.scalar('TotalLoss', tf.losses.get_total_loss())) + + # Add the summaries from the first clone. These contain the summaries + # created by model_fn and either optimize_clones() or _gather_clone_loss(). + summaries |= set(tf.get_collection(tf.GraphKeys.SUMMARIES, + first_clone_scope)) + summaries |= global_summaries + + # Merge all summaries together. + summary_op = tf.summary.merge(list(summaries), name='summary_op') + + # Soft placement allows placing on CPU ops without GPU implementation. + session_config = tf.ConfigProto(allow_soft_placement=True, + log_device_placement=False) + + # Save checkpoints regularly. + keep_checkpoint_every_n_hours = train_config.keep_checkpoint_every_n_hours + saver = tf.train.Saver( + keep_checkpoint_every_n_hours=keep_checkpoint_every_n_hours) + + slim.learning.train( + train_tensor, + logdir=train_dir, + master=master, + is_chief=is_chief, + session_config=session_config, + startup_delay_steps=train_config.startup_delay_steps, + init_fn=init_fn, + summary_op=summary_op, + number_of_steps=( + train_config.num_steps if train_config.num_steps else None), + save_summaries_secs=120, + sync_optimizer=sync_optimizer, + saver=saver) diff --git a/object_detection/trainer_test.py b/object_detection/trainer_test.py new file mode 100644 index 000000000..36e92752a --- /dev/null +++ b/object_detection/trainer_test.py @@ -0,0 +1,205 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.trainer.""" + +import tensorflow as tf + +from google.protobuf import text_format + +from object_detection import trainer +from object_detection.core import losses +from object_detection.core import model +from object_detection.core import standard_fields as fields +from object_detection.protos import train_pb2 + + +NUMBER_OF_CLASSES = 2 + + +def get_input_function(): + """A function to get test inputs. Returns an image with one box.""" + image = tf.random_uniform([32, 32, 3], dtype=tf.float32) + class_label = tf.random_uniform( + [1], minval=0, maxval=NUMBER_OF_CLASSES, dtype=tf.int32) + box_label = tf.random_uniform( + [1, 4], minval=0.4, maxval=0.6, dtype=tf.float32) + + return { + fields.InputDataFields.image: image, + fields.InputDataFields.groundtruth_classes: class_label, + fields.InputDataFields.groundtruth_boxes: box_label + } + + +class FakeDetectionModel(model.DetectionModel): + """A simple (and poor) DetectionModel for use in test.""" + + def __init__(self): + super(FakeDetectionModel, self).__init__(num_classes=NUMBER_OF_CLASSES) + self._classification_loss = losses.WeightedSigmoidClassificationLoss( + anchorwise_output=True) + self._localization_loss = losses.WeightedSmoothL1LocalizationLoss( + anchorwise_output=True) + + def preprocess(self, inputs): + """Input preprocessing, resizes images to 28x28. + + Args: + inputs: a [batch, height_in, width_in, channels] float32 tensor + representing a batch of images with values between 0 and 255.0. + + Returns: + preprocessed_inputs: a [batch, 28, 28, channels] float32 tensor. + """ + return tf.image.resize_images(inputs, [28, 28]) + + def predict(self, preprocessed_inputs): + """Prediction tensors from inputs tensor. + + Args: + preprocessed_inputs: a [batch, 28, 28, channels] float32 tensor. + + Returns: + prediction_dict: a dictionary holding prediction tensors to be + passed to the Loss or Postprocess functions. + """ + flattened_inputs = tf.contrib.layers.flatten(preprocessed_inputs) + class_prediction = tf.contrib.layers.fully_connected( + flattened_inputs, self._num_classes) + box_prediction = tf.contrib.layers.fully_connected(flattened_inputs, 4) + + return { + 'class_predictions_with_background': tf.reshape( + class_prediction, [-1, 1, self._num_classes]), + 'box_encodings': tf.reshape(box_prediction, [-1, 1, 4]) + } + + def postprocess(self, prediction_dict, **params): + """Convert predicted output tensors to final detections. Unused. + + Args: + prediction_dict: a dictionary holding prediction tensors. + **params: Additional keyword arguments for specific implementations of + DetectionModel. + + Returns: + detections: a dictionary with empty fields. + """ + return { + 'detection_boxes': None, + 'detection_scores': None, + 'detection_classes': None, + 'num_detections': None + } + + def loss(self, prediction_dict): + """Compute scalar loss tensors with respect to provided groundtruth. + + Calling this function requires that groundtruth tensors have been + provided via the provide_groundtruth function. + + Args: + prediction_dict: a dictionary holding predicted tensors + + Returns: + a dictionary mapping strings (loss names) to scalar tensors representing + loss values. + """ + batch_reg_targets = tf.stack( + self.groundtruth_lists(fields.BoxListFields.boxes)) + batch_cls_targets = tf.stack( + self.groundtruth_lists(fields.BoxListFields.classes)) + weights = tf.constant( + 1.0, dtype=tf.float32, + shape=[len(self.groundtruth_lists(fields.BoxListFields.boxes)), 1]) + + location_losses = self._localization_loss( + prediction_dict['box_encodings'], batch_reg_targets, + weights=weights) + cls_losses = self._classification_loss( + prediction_dict['class_predictions_with_background'], batch_cls_targets, + weights=weights) + + loss_dict = { + 'localization_loss': tf.reduce_sum(location_losses), + 'classification_loss': tf.reduce_sum(cls_losses), + } + return loss_dict + + def restore_fn(self, checkpoint_path, from_detection_checkpoint=True): + """Return callable for loading a checkpoint into the tensorflow graph. + + Args: + checkpoint_path: path to checkpoint to restore. + from_detection_checkpoint: whether to restore from a full detection + checkpoint (with compatible variable names) or to restore from a + classification checkpoint for initialization prior to training. + + Returns: + a callable which takes a tf.Session and does nothing. + """ + def restore(unused_sess): + return + return restore + + +class TrainerTest(tf.test.TestCase): + + def test_configure_trainer_and_train_two_steps(self): + train_config_text_proto = """ + optimizer { + adam_optimizer { + learning_rate { + constant_learning_rate { + learning_rate: 0.01 + } + } + } + } + data_augmentation_options { + random_adjust_brightness { + max_delta: 0.2 + } + } + data_augmentation_options { + random_adjust_contrast { + min_delta: 0.7 + max_delta: 1.1 + } + } + num_steps: 2 + """ + train_config = train_pb2.TrainConfig() + text_format.Merge(train_config_text_proto, train_config) + + train_dir = self.get_temp_dir() + + trainer.train(create_tensor_dict_fn=get_input_function, + create_model_fn=FakeDetectionModel, + train_config=train_config, + master='', + task=0, + num_clones=1, + worker_replicas=1, + clone_on_cpu=True, + ps_tasks=0, + worker_job_name='worker', + is_chief=True, + train_dir=train_dir) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/BUILD b/object_detection/utils/BUILD new file mode 100644 index 000000000..dc71a38c9 --- /dev/null +++ b/object_detection/utils/BUILD @@ -0,0 +1,287 @@ +# Tensorflow Object Detection API: Utility functions. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) + +# Apache 2.0 + +py_library( + name = "category_util", + srcs = ["category_util.py"], + deps = ["//tensorflow"], +) + +py_library( + name = "dataset_util", + srcs = ["dataset_util.py"], + deps = [ + "//tensorflow", + ], +) + +py_library( + name = "label_map_util", + srcs = ["label_map_util.py"], + deps = [ + "//third_party/py/google/protobuf", + "//tensorflow", + "//tensorflow_models/object_detection/protos:string_int_label_map_py_pb2", + ], +) + +py_library( + name = "learning_schedules", + srcs = ["learning_schedules.py"], + deps = ["//tensorflow"], +) + +py_library( + name = "metrics", + srcs = ["metrics.py"], + deps = ["//third_party/py/numpy"], +) + +py_library( + name = "np_box_list", + srcs = ["np_box_list.py"], + deps = ["//tensorflow"], +) + +py_library( + name = "np_box_list_ops", + srcs = ["np_box_list_ops.py"], + deps = [ + ":np_box_list", + ":np_box_ops", + "//tensorflow", + ], +) + +py_library( + name = "np_box_ops", + srcs = ["np_box_ops.py"], + deps = ["//tensorflow"], +) + +py_library( + name = "object_detection_evaluation", + srcs = ["object_detection_evaluation.py"], + deps = [ + ":metrics", + ":per_image_evaluation", + "//tensorflow", + ], +) + +py_library( + name = "ops", + srcs = ["ops.py"], + deps = [ + ":static_shape", + "//tensorflow", + "//tensorflow_models/object_detection/core:box_list", + "//tensorflow_models/object_detection/core:box_list_ops", + "//tensorflow_models/object_detection/core:standard_fields", + ], +) + +py_library( + name = "per_image_evaluation", + srcs = ["per_image_evaluation.py"], + deps = [ + ":np_box_list", + ":np_box_list_ops", + "//tensorflow", + ], +) + +py_library( + name = "shape_utils", + srcs = ["shape_utils.py"], + deps = ["//tensorflow"], +) + +py_library( + name = "static_shape", + srcs = ["static_shape.py"], + deps = [], +) + +py_library( + name = "test_utils", + srcs = ["test_utils.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/core:anchor_generator", + "//tensorflow_models/object_detection/core:box_coder", + "//tensorflow_models/object_detection/core:box_list", + "//tensorflow_models/object_detection/core:box_predictor", + "//tensorflow_models/object_detection/core:matcher", + ], +) + +py_library( + name = "variables_helper", + srcs = ["variables_helper.py"], + deps = [ + "//tensorflow", + ], +) + +py_library( + name = "visualization_utils", + srcs = ["visualization_utils.py"], + deps = [ + "//third_party/py/PIL:pil", + "//tensorflow", + ], +) + +py_test( + name = "category_util_test", + srcs = ["category_util_test.py"], + deps = [ + ":category_util", + "//tensorflow", + ], +) + +py_test( + name = "dataset_util_test", + srcs = ["dataset_util_test.py"], + deps = [ + ":dataset_util", + "//tensorflow", + ], +) + +py_test( + name = "label_map_util_test", + srcs = ["label_map_util_test.py"], + deps = [ + ":label_map_util", + "//tensorflow", + ], +) + +py_test( + name = "learning_schedules_test", + srcs = ["learning_schedules_test.py"], + deps = [ + ":learning_schedules", + "//tensorflow", + ], +) + +py_test( + name = "metrics_test", + srcs = ["metrics_test.py"], + deps = [ + ":metrics", + "//tensorflow", + ], +) + +py_test( + name = "np_box_list_test", + srcs = ["np_box_list_test.py"], + deps = [ + ":np_box_list", + "//tensorflow", + ], +) + +py_test( + name = "np_box_list_ops_test", + srcs = ["np_box_list_ops_test.py"], + deps = [ + ":np_box_list", + ":np_box_list_ops", + "//tensorflow", + ], +) + +py_test( + name = "np_box_ops_test", + srcs = ["np_box_ops_test.py"], + deps = [ + ":np_box_ops", + "//tensorflow", + ], +) + +py_test( + name = "object_detection_evaluation_test", + srcs = ["object_detection_evaluation_test.py"], + deps = [ + ":object_detection_evaluation", + "//tensorflow", + ], +) + +py_test( + name = "ops_test", + srcs = ["ops_test.py"], + deps = [ + ":ops", + "//tensorflow", + "//tensorflow_models/object_detection/core:standard_fields", + ], +) + +py_test( + name = "per_image_evaluation_test", + srcs = ["per_image_evaluation_test.py"], + deps = [ + ":per_image_evaluation", + "//tensorflow", + ], +) + +py_test( + name = "shape_utils_test", + srcs = ["shape_utils_test.py"], + deps = [ + ":shape_utils", + "//tensorflow", + ], +) + +py_test( + name = "static_shape_test", + srcs = ["static_shape_test.py"], + deps = [ + ":static_shape", + "//tensorflow", + ], +) + +py_test( + name = "test_utils_test", + srcs = ["test_utils_test.py"], + deps = [ + ":test_utils", + "//tensorflow", + ], +) + +py_test( + name = "variables_helper_test", + srcs = ["variables_helper_test.py"], + deps = [ + ":variables_helper", + "//tensorflow", + ], +) + +py_test( + name = "visualization_utils_test", + srcs = ["visualization_utils_test.py"], + deps = [ + ":visualization_utils", + "//third_party/py/PIL:pil", + ], +) diff --git a/object_detection/utils/__init__.py b/object_detection/utils/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/utils/category_util.py b/object_detection/utils/category_util.py new file mode 100644 index 000000000..fdd9c1c1c --- /dev/null +++ b/object_detection/utils/category_util.py @@ -0,0 +1,72 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Functions for importing/exporting Object Detection categories.""" +import csv + +import tensorflow as tf + + +def load_categories_from_csv_file(csv_path): + """Loads categories from a csv file. + + The CSV file should have one comma delimited numeric category id and string + category name pair per line. For example: + + 0,"cat" + 1,"dog" + 2,"bird" + ... + + Args: + csv_path: Path to the csv file to be parsed into categories. + Returns: + categories: A list of dictionaries representing all possible categories. + The categories will contain an integer 'id' field and a string + 'name' field. + Raises: + ValueError: If the csv file is incorrectly formatted. + """ + categories = [] + + with tf.gfile.Open(csv_path, 'r') as csvfile: + reader = csv.reader(csvfile, delimiter=',', quotechar='"') + for row in reader: + if not row: + continue + + if len(row) != 2: + raise ValueError('Expected 2 fields per row in csv: %s' % ','.join(row)) + + category_id = int(row[0]) + category_name = row[1] + categories.append({'id': category_id, 'name': category_name}) + + return categories + + +def save_categories_to_csv_file(categories, csv_path): + """Saves categories to a csv file. + + Args: + categories: A list of dictionaries representing categories to save to file. + Each category must contain an 'id' and 'name' field. + csv_path: Path to the csv file to be parsed into categories. + """ + categories.sort(key=lambda x: x['id']) + with tf.gfile.Open(csv_path, 'w') as csvfile: + writer = csv.writer(csvfile, delimiter=',', quotechar='"') + for category in categories: + writer.writerow([category['id'], category['name']]) diff --git a/object_detection/utils/category_util_test.py b/object_detection/utils/category_util_test.py new file mode 100644 index 000000000..9c99079e1 --- /dev/null +++ b/object_detection/utils/category_util_test.py @@ -0,0 +1,54 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.category_util.""" +import os + +import tensorflow as tf + +from object_detection.utils import category_util + + +class EvalUtilTest(tf.test.TestCase): + + def test_load_categories_from_csv_file(self): + csv_data = """ + 0,"cat" + 1,"dog" + 2,"bird" + """.strip(' ') + csv_path = os.path.join(self.get_temp_dir(), 'test.csv') + with tf.gfile.Open(csv_path, 'wb') as f: + f.write(csv_data) + + categories = category_util.load_categories_from_csv_file(csv_path) + self.assertTrue({'id': 0, 'name': 'cat'} in categories) + self.assertTrue({'id': 1, 'name': 'dog'} in categories) + self.assertTrue({'id': 2, 'name': 'bird'} in categories) + + def test_save_categories_to_csv_file(self): + categories = [ + {'id': 0, 'name': 'cat'}, + {'id': 1, 'name': 'dog'}, + {'id': 2, 'name': 'bird'}, + ] + csv_path = os.path.join(self.get_temp_dir(), 'test.csv') + category_util.save_categories_to_csv_file(categories, csv_path) + saved_categories = category_util.load_categories_from_csv_file(csv_path) + self.assertEqual(saved_categories, categories) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/dataset_util.py b/object_detection/utils/dataset_util.py new file mode 100644 index 000000000..014a9118d --- /dev/null +++ b/object_detection/utils/dataset_util.py @@ -0,0 +1,86 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utility functions for creating TFRecord data sets.""" + +import tensorflow as tf + + +def int64_feature(value): + return tf.train.Feature(int64_list=tf.train.Int64List(value=[value])) + + +def int64_list_feature(value): + return tf.train.Feature(int64_list=tf.train.Int64List(value=value)) + + +def bytes_feature(value): + return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value])) + + +def bytes_list_feature(value): + return tf.train.Feature(bytes_list=tf.train.BytesList(value=value)) + + +def float_list_feature(value): + return tf.train.Feature(float_list=tf.train.FloatList(value=value)) + + +def read_examples_list(path): + """Read list of training or validation examples. + + The file is assumed to contain a single example per line where the first + token in the line is an identifier that allows us to find the image and + annotation xml for that example. + + For example, the line: + xyz 3 + would allow us to find files xyz.jpg and xyz.xml (the 3 would be ignored). + + Args: + path: absolute path to examples list file. + + Returns: + list of example identifiers (strings). + """ + with tf.gfile.GFile(path) as fid: + lines = fid.readlines() + return [line.strip().split(' ')[0] for line in lines] + + +def recursive_parse_xml_to_dict(xml): + """Recursively parses XML contents to python dict. + + We assume that `object` tags are the only ones that can appear + multiple times at the same level of a tree. + + Args: + xml: xml tree obtained by parsing XML file contents using lxml.etree + + Returns: + Python dictionary holding XML contents. + """ + if not xml: + return {xml.tag: xml.text} + result = {} + for child in xml: + child_result = recursive_parse_xml_to_dict(child) + if child.tag != 'object': + result[child.tag] = child_result[child.tag] + else: + if child.tag not in result: + result[child.tag] = [] + result[child.tag].append(child_result[child.tag]) + return {xml.tag: result} diff --git a/object_detection/utils/dataset_util_test.py b/object_detection/utils/dataset_util_test.py new file mode 100644 index 000000000..99cfb2cdf --- /dev/null +++ b/object_detection/utils/dataset_util_test.py @@ -0,0 +1,37 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.dataset_util.""" + +import os +import tensorflow as tf + +from object_detection.utils import dataset_util + + +class DatasetUtilTest(tf.test.TestCase): + + def test_read_examples_list(self): + example_list_data = """example1 1\nexample2 2""" + example_list_path = os.path.join(self.get_temp_dir(), 'examples.txt') + with tf.gfile.Open(example_list_path, 'wb') as f: + f.write(example_list_data) + + examples = dataset_util.read_examples_list(example_list_path) + self.assertListEqual(['example1', 'example2'], examples) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/label_map_util.py b/object_detection/utils/label_map_util.py new file mode 100644 index 000000000..a3b312524 --- /dev/null +++ b/object_detection/utils/label_map_util.py @@ -0,0 +1,126 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Label map utility functions.""" + +import logging + +import tensorflow as tf +from google.protobuf import text_format +from object_detection.protos import string_int_label_map_pb2 + + +def create_category_index(categories): + """Creates dictionary of COCO compatible categories keyed by category id. + + Args: + categories: a list of dicts, each of which has the following keys: + 'id': (required) an integer id uniquely identifying this category. + 'name': (required) string representing category name + e.g., 'cat', 'dog', 'pizza'. + + Returns: + category_index: a dict containing the same entries as categories, but keyed + by the 'id' field of each category. + """ + category_index = {} + for cat in categories: + category_index[cat['id']] = cat + return category_index + + +def convert_label_map_to_categories(label_map, + max_num_classes, + use_display_name=True): + """Loads label map proto and returns categories list compatible with eval. + + This function loads a label map and returns a list of dicts, each of which + has the following keys: + 'id': (required) an integer id uniquely identifying this category. + 'name': (required) string representing category name + e.g., 'cat', 'dog', 'pizza'. + We only allow class into the list if its id-label_id_offset is + between 0 (inclusive) and max_num_classes (exclusive). + If there are several items mapping to the same id in the label map, + we will only keep the first one in the categories list. + + Args: + label_map: a StringIntLabelMapProto or None. If None, a default categories + list is created with max_num_classes categories. + max_num_classes: maximum number of (consecutive) label indices to include. + use_display_name: (boolean) choose whether to load 'display_name' field + as category name. If False of if the display_name field does not exist, + uses 'name' field as category names instead. + Returns: + categories: a list of dictionaries representing all possible categories. + """ + categories = [] + list_of_ids_already_added = [] + if not label_map: + label_id_offset = 1 + for class_id in range(max_num_classes): + categories.append({ + 'id': class_id + label_id_offset, + 'name': 'category_{}'.format(class_id + label_id_offset) + }) + return categories + for item in label_map.item: + if not 0 < item.id <= max_num_classes: + logging.info('Ignore item %d since it falls outside of requested ' + 'label range.', item.id) + continue + if use_display_name and item.HasField('display_name'): + name = item.display_name + else: + name = item.name + if item.id not in list_of_ids_already_added: + list_of_ids_already_added.append(item.id) + categories.append({'id': item.id, 'name': name}) + return categories + + +# TODO: double check documentaion. +def load_labelmap(path): + """Loads label map proto. + + Args: + path: path to StringIntLabelMap proto text file. + Returns: + a StringIntLabelMapProto + """ + with tf.gfile.GFile(path, 'r') as fid: + label_map_string = fid.read() + label_map = string_int_label_map_pb2.StringIntLabelMap() + try: + text_format.Merge(label_map_string, label_map) + except text_format.ParseError: + label_map.ParseFromString(label_map_string) + return label_map + + +def get_label_map_dict(label_map_path): + """Reads a label map and returns a dictionary of label names to id. + + Args: + label_map_path: path to label_map. + + Returns: + A dictionary mapping label names to id. + """ + label_map = load_labelmap(label_map_path) + label_map_dict = {} + for item in label_map.item: + label_map_dict[item.name] = item.id + return label_map_dict diff --git a/object_detection/utils/label_map_util_test.py b/object_detection/utils/label_map_util_test.py new file mode 100644 index 000000000..10e0f3ddc --- /dev/null +++ b/object_detection/utils/label_map_util_test.py @@ -0,0 +1,147 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.label_map_util.""" + +import os +import tensorflow as tf + +from google.protobuf import text_format +from object_detection.protos import string_int_label_map_pb2 +from object_detection.utils import label_map_util + + +class LabelMapUtilTest(tf.test.TestCase): + + def _generate_label_map(self, num_classes): + label_map_proto = string_int_label_map_pb2.StringIntLabelMap() + for i in range(1, num_classes + 1): + item = label_map_proto.item.add() + item.id = i + item.name = 'label_' + str(i) + item.display_name = str(i) + return label_map_proto + + def test_get_label_map_dict(self): + label_map_string = """ + item { + id:2 + name:'cat' + } + item { + id:1 + name:'dog' + } + """ + label_map_path = os.path.join(self.get_temp_dir(), 'label_map.pbtxt') + with tf.gfile.Open(label_map_path, 'wb') as f: + f.write(label_map_string) + + label_map_dict = label_map_util.get_label_map_dict(label_map_path) + self.assertEqual(label_map_dict['dog'], 1) + self.assertEqual(label_map_dict['cat'], 2) + + def test_keep_categories_with_unique_id(self): + label_map_proto = string_int_label_map_pb2.StringIntLabelMap() + label_map_string = """ + item { + id:2 + name:'cat' + } + item { + id:1 + name:'child' + } + item { + id:1 + name:'person' + } + item { + id:1 + name:'n00007846' + } + """ + text_format.Merge(label_map_string, label_map_proto) + categories = label_map_util.convert_label_map_to_categories( + label_map_proto, max_num_classes=3) + self.assertListEqual([{ + 'id': 2, + 'name': u'cat' + }, { + 'id': 1, + 'name': u'child' + }], categories) + + def test_convert_label_map_to_categories_no_label_map(self): + categories = label_map_util.convert_label_map_to_categories( + None, max_num_classes=3) + expected_categories_list = [{ + 'name': u'category_1', + 'id': 1 + }, { + 'name': u'category_2', + 'id': 2 + }, { + 'name': u'category_3', + 'id': 3 + }] + self.assertListEqual(expected_categories_list, categories) + + def test_convert_label_map_to_coco_categories(self): + label_map_proto = self._generate_label_map(num_classes=4) + categories = label_map_util.convert_label_map_to_categories( + label_map_proto, max_num_classes=3) + expected_categories_list = [{ + 'name': u'1', + 'id': 1 + }, { + 'name': u'2', + 'id': 2 + }, { + 'name': u'3', + 'id': 3 + }] + self.assertListEqual(expected_categories_list, categories) + + def test_convert_label_map_to_coco_categories_with_few_classes(self): + label_map_proto = self._generate_label_map(num_classes=4) + cat_no_offset = label_map_util.convert_label_map_to_categories( + label_map_proto, max_num_classes=2) + expected_categories_list = [{ + 'name': u'1', + 'id': 1 + }, { + 'name': u'2', + 'id': 2 + }] + self.assertListEqual(expected_categories_list, cat_no_offset) + + def test_create_category_index(self): + categories = [{'name': u'1', 'id': 1}, {'name': u'2', 'id': 2}] + category_index = label_map_util.create_category_index(categories) + self.assertDictEqual({ + 1: { + 'name': u'1', + 'id': 1 + }, + 2: { + 'name': u'2', + 'id': 2 + } + }, category_index) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/learning_schedules.py b/object_detection/utils/learning_schedules.py new file mode 100644 index 000000000..217b47a71 --- /dev/null +++ b/object_detection/utils/learning_schedules.py @@ -0,0 +1,103 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Library of common learning rate schedules.""" + +import tensorflow as tf + + +def exponential_decay_with_burnin(global_step, + learning_rate_base, + learning_rate_decay_steps, + learning_rate_decay_factor, + burnin_learning_rate=0.0, + burnin_steps=0): + """Exponential decay schedule with burn-in period. + + In this schedule, learning rate is fixed at burnin_learning_rate + for a fixed period, before transitioning to a regular exponential + decay schedule. + + Args: + global_step: int tensor representing global step. + learning_rate_base: base learning rate. + learning_rate_decay_steps: steps to take between decaying the learning rate. + Note that this includes the number of burn-in steps. + learning_rate_decay_factor: multiplicative factor by which to decay + learning rate. + burnin_learning_rate: initial learning rate during burn-in period. If + 0.0 (which is the default), then the burn-in learning rate is simply + set to learning_rate_base. + burnin_steps: number of steps to use burnin learning rate. + + Returns: + a (scalar) float tensor representing learning rate + """ + if burnin_learning_rate == 0: + burnin_learning_rate = learning_rate_base + post_burnin_learning_rate = tf.train.exponential_decay( + learning_rate_base, + global_step, + learning_rate_decay_steps, + learning_rate_decay_factor, + staircase=True) + return tf.cond( + tf.less(global_step, burnin_steps), + lambda: tf.convert_to_tensor(burnin_learning_rate), + lambda: post_burnin_learning_rate) + + +def manual_stepping(global_step, boundaries, rates): + """Manually stepped learning rate schedule. + + This function provides fine grained control over learning rates. One must + specify a sequence of learning rates as well as a set of integer steps + at which the current learning rate must transition to the next. For example, + if boundaries = [5, 10] and rates = [.1, .01, .001], then the learning + rate returned by this function is .1 for global_step=0,...,4, .01 for + global_step=5...9, and .001 for global_step=10 and onward. + + Args: + global_step: int64 (scalar) tensor representing global step. + boundaries: a list of global steps at which to switch learning + rates. This list is assumed to consist of increasing positive integers. + rates: a list of (float) learning rates corresponding to intervals between + the boundaries. The length of this list must be exactly + len(boundaries) + 1. + + Returns: + a (scalar) float tensor representing learning rate + Raises: + ValueError: if one of the following checks fails: + 1. boundaries is a strictly increasing list of positive integers + 2. len(rates) == len(boundaries) + 1 + """ + if any([b < 0 for b in boundaries]) or any( + [not isinstance(b, int) for b in boundaries]): + raise ValueError('boundaries must be a list of positive integers') + if any([bnext <= b for bnext, b in zip(boundaries[1:], boundaries[:-1])]): + raise ValueError('Entries in boundaries must be strictly increasing.') + if any([not isinstance(r, float) for r in rates]): + raise ValueError('Learning rates must be floats') + if len(rates) != len(boundaries) + 1: + raise ValueError('Number of provided learning rates must exceed ' + 'number of boundary points by exactly 1.') + step_boundaries = tf.constant(boundaries, tf.int64) + learning_rates = tf.constant(rates, tf.float32) + unreached_boundaries = tf.reshape(tf.where( + tf.greater(step_boundaries, global_step)), [-1]) + unreached_boundaries = tf.concat([unreached_boundaries, [len(boundaries)]], 0) + index = tf.reshape(tf.reduce_min(unreached_boundaries), [1]) + return tf.reshape(tf.slice(learning_rates, index, [1]), []) diff --git a/object_detection/utils/learning_schedules_test.py b/object_detection/utils/learning_schedules_test.py new file mode 100644 index 000000000..c8e6ce641 --- /dev/null +++ b/object_detection/utils/learning_schedules_test.py @@ -0,0 +1,59 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.learning_schedules.""" +import tensorflow as tf + +from object_detection.utils import learning_schedules + + +class LearningSchedulesTest(tf.test.TestCase): + + def testExponentialDecayWithBurnin(self): + global_step = tf.placeholder(tf.int32, []) + learning_rate_base = 1.0 + learning_rate_decay_steps = 3 + learning_rate_decay_factor = .1 + burnin_learning_rate = .5 + burnin_steps = 2 + exp_rates = [.5, .5, 1, .1, .1, .1, .01, .01] + learning_rate = learning_schedules.exponential_decay_with_burnin( + global_step, learning_rate_base, learning_rate_decay_steps, + learning_rate_decay_factor, burnin_learning_rate, burnin_steps) + with self.test_session() as sess: + output_rates = [] + for input_global_step in range(8): + output_rate = sess.run(learning_rate, + feed_dict={global_step: input_global_step}) + output_rates.append(output_rate) + self.assertAllClose(output_rates, exp_rates) + + def testManualStepping(self): + global_step = tf.placeholder(tf.int64, []) + boundaries = [2, 3, 7] + rates = [1.0, 2.0, 3.0, 4.0] + exp_rates = [1.0, 1.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0] + learning_rate = learning_schedules.manual_stepping(global_step, boundaries, + rates) + with self.test_session() as sess: + output_rates = [] + for input_global_step in range(10): + output_rate = sess.run(learning_rate, + feed_dict={global_step: input_global_step}) + output_rates.append(output_rate) + self.assertAllClose(output_rates, exp_rates) + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/metrics.py b/object_detection/utils/metrics.py new file mode 100644 index 000000000..85f94efa8 --- /dev/null +++ b/object_detection/utils/metrics.py @@ -0,0 +1,144 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Functions for computing metrics like precision, recall, CorLoc and etc.""" +from __future__ import division + +import numpy as np + + +def compute_precision_recall(scores, labels, num_gt): + """Compute precision and recall. + + Args: + scores: A float numpy array representing detection score + labels: A boolean numpy array representing true/false positive labels + num_gt: Number of ground truth instances + + Raises: + ValueError: if the input is not of the correct format + + Returns: + precision: Fraction of positive instances over detected ones. This value is + None if no ground truth labels are present. + recall: Fraction of detected positive instance over all positive instances. + This value is None if no ground truth labels are present. + + """ + if not isinstance( + labels, np.ndarray) or labels.dtype != np.bool or len(labels.shape) != 1: + raise ValueError("labels must be single dimension bool numpy array") + + if not isinstance( + scores, np.ndarray) or len(scores.shape) != 1: + raise ValueError("scores must be single dimension numpy array") + + if num_gt < np.sum(labels): + raise ValueError("Number of true positives must be smaller than num_gt.") + + if len(scores) != len(labels): + raise ValueError("scores and labels must be of the same size.") + + if num_gt == 0: + return None, None + + sorted_indices = np.argsort(scores) + sorted_indices = sorted_indices[::-1] + labels = labels.astype(int) + true_positive_labels = labels[sorted_indices] + false_positive_labels = 1 - true_positive_labels + cum_true_positives = np.cumsum(true_positive_labels) + cum_false_positives = np.cumsum(false_positive_labels) + precision = cum_true_positives.astype(float) / ( + cum_true_positives + cum_false_positives) + recall = cum_true_positives.astype(float) / num_gt + return precision, recall + + +def compute_average_precision(precision, recall): + """Compute Average Precision according to the definition in VOCdevkit. + + Precision is modified to ensure that it does not decrease as recall + decrease. + + Args: + precision: A float [N, 1] numpy array of precisions + recall: A float [N, 1] numpy array of recalls + + Raises: + ValueError: if the input is not of the correct format + + Returns: + average_precison: The area under the precision recall curve. NaN if + precision and recall are None. + + """ + if precision is None: + if recall is not None: + raise ValueError("If precision is None, recall must also be None") + return np.NAN + + if not isinstance(precision, np.ndarray) or not isinstance(recall, + np.ndarray): + raise ValueError("precision and recall must be numpy array") + if precision.dtype != np.float or recall.dtype != np.float: + raise ValueError("input must be float numpy array.") + if len(precision) != len(recall): + raise ValueError("precision and recall must be of the same size.") + if not precision.size: + return 0.0 + if np.amin(precision) < 0 or np.amax(precision) > 1: + raise ValueError("Precision must be in the range of [0, 1].") + if np.amin(recall) < 0 or np.amax(recall) > 1: + raise ValueError("recall must be in the range of [0, 1].") + if not all(recall[i] <= recall[i + 1] for i in xrange(len(recall) - 1)): + raise ValueError("recall must be a non-decreasing array") + + recall = np.concatenate([[0], recall, [1]]) + precision = np.concatenate([[0], precision, [0]]) + + # Preprocess precision to be a non-decreasing array + for i in range(len(precision) - 2, -1, -1): + precision[i] = np.maximum(precision[i], precision[i + 1]) + + indices = np.where(recall[1:] != recall[:-1])[0] + 1 + average_precision = np.sum( + (recall[indices] - recall[indices - 1]) * precision[indices]) + return average_precision + + +def compute_cor_loc(num_gt_imgs_per_class, + num_images_correctly_detected_per_class): + """Compute CorLoc according to the definition in the following paper. + + https://www.robots.ox.ac.uk/~vgg/rg/papers/deselaers-eccv10.pdf + + Returns nans if there are no ground truth images for a class. + + Args: + num_gt_imgs_per_class: 1D array, representing number of images containing + at least one object instance of a particular class + num_images_correctly_detected_per_class: 1D array, representing number of + images that are correctly detected at least one object instance of a + particular class + + Returns: + corloc_per_class: A float numpy array represents the corloc score of each + class + """ + return np.where( + num_gt_imgs_per_class == 0, + np.nan, + num_images_correctly_detected_per_class / num_gt_imgs_per_class) diff --git a/object_detection/utils/metrics_test.py b/object_detection/utils/metrics_test.py new file mode 100644 index 000000000..a2064bbff --- /dev/null +++ b/object_detection/utils/metrics_test.py @@ -0,0 +1,79 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.metrics.""" + +import numpy as np +import tensorflow as tf + +from object_detection.utils import metrics + + +class MetricsTest(tf.test.TestCase): + + def test_compute_cor_loc(self): + num_gt_imgs_per_class = np.array([100, 1, 5, 1, 1], dtype=int) + num_images_correctly_detected_per_class = np.array([10, 0, 1, 0, 0], + dtype=int) + corloc = metrics.compute_cor_loc(num_gt_imgs_per_class, + num_images_correctly_detected_per_class) + expected_corloc = np.array([0.1, 0, 0.2, 0, 0], dtype=float) + self.assertTrue(np.allclose(corloc, expected_corloc)) + + def test_compute_cor_loc_nans(self): + num_gt_imgs_per_class = np.array([100, 0, 0, 1, 1], dtype=int) + num_images_correctly_detected_per_class = np.array([10, 0, 1, 0, 0], + dtype=int) + corloc = metrics.compute_cor_loc(num_gt_imgs_per_class, + num_images_correctly_detected_per_class) + expected_corloc = np.array([0.1, np.nan, np.nan, 0, 0], dtype=float) + self.assertAllClose(corloc, expected_corloc) + + def test_compute_precision_recall(self): + num_gt = 10 + scores = np.array([0.4, 0.3, 0.6, 0.2, 0.7, 0.1], dtype=float) + labels = np.array([0, 1, 1, 0, 0, 1], dtype=bool) + accumulated_tp_count = np.array([0, 1, 1, 2, 2, 3], dtype=float) + expected_precision = accumulated_tp_count / np.array([1, 2, 3, 4, 5, 6]) + expected_recall = accumulated_tp_count / num_gt + precision, recall = metrics.compute_precision_recall(scores, labels, num_gt) + self.assertAllClose(precision, expected_precision) + self.assertAllClose(recall, expected_recall) + + def test_compute_average_precision(self): + precision = np.array([0.8, 0.76, 0.9, 0.65, 0.7, 0.5, 0.55, 0], dtype=float) + recall = np.array([0.3, 0.3, 0.4, 0.4, 0.45, 0.45, 0.5, 0.5], dtype=float) + processed_precision = np.array([0.9, 0.9, 0.9, 0.7, 0.7, 0.55, 0.55, 0], + dtype=float) + recall_interval = np.array([0.3, 0, 0.1, 0, 0.05, 0, 0.05, 0], dtype=float) + expected_mean_ap = np.sum(recall_interval * processed_precision) + mean_ap = metrics.compute_average_precision(precision, recall) + self.assertAlmostEqual(expected_mean_ap, mean_ap) + + def test_compute_precision_recall_and_ap_no_groundtruth(self): + num_gt = 0 + scores = np.array([0.4, 0.3, 0.6, 0.2, 0.7, 0.1], dtype=float) + labels = np.array([0, 0, 0, 0, 0, 0], dtype=bool) + expected_precision = None + expected_recall = None + precision, recall = metrics.compute_precision_recall(scores, labels, num_gt) + self.assertEquals(precision, expected_precision) + self.assertEquals(recall, expected_recall) + ap = metrics.compute_average_precision(precision, recall) + self.assertTrue(np.isnan(ap)) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/np_box_list.py b/object_detection/utils/np_box_list.py new file mode 100644 index 000000000..7df9f68f5 --- /dev/null +++ b/object_detection/utils/np_box_list.py @@ -0,0 +1,133 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Numpy BoxList classes and functions.""" + +import numpy as np + + +class BoxList(object): + """Box collection. + + BoxList represents a list of bounding boxes as numpy array, where each + bounding box is represented as a row of 4 numbers, + [y_min, x_min, y_max, x_max]. It is assumed that all bounding boxes within a + given list correspond to a single image. + + Optionally, users can add additional related fields (such as + objectness/classification scores). + """ + + def __init__(self, data): + """Constructs box collection. + + Args: + data: a numpy array of shape [N, 4] representing box coordinates + + Raises: + ValueError: if bbox data is not a numpy array + ValueError: if invalid dimensions for bbox data + """ + if not isinstance(data, np.ndarray): + raise ValueError('data must be a numpy array.') + if len(data.shape) != 2 or data.shape[1] != 4: + raise ValueError('Invalid dimensions for box data.') + if data.dtype != np.float32 and data.dtype != np.float64: + raise ValueError('Invalid data type for box data: float is required.') + if not self._is_valid_boxes(data): + raise ValueError('Invalid box data. data must be a numpy array of ' + 'N*[y_min, x_min, y_max, x_max]') + self.data = {'boxes': data} + + def num_boxes(self): + """Return number of boxes held in collections.""" + return self.data['boxes'].shape[0] + + def get_extra_fields(self): + """Return all non-box fields.""" + return [k for k in self.data.keys() if k != 'boxes'] + + def has_field(self, field): + return field in self.data + + def add_field(self, field, field_data): + """Add data to a specified field. + + Args: + field: a string parameter used to speficy a related field to be accessed. + field_data: a numpy array of [N, ...] representing the data associated + with the field. + Raises: + ValueError: if the field is already exist or the dimension of the field + data does not matches the number of boxes. + """ + if self.has_field(field): + raise ValueError('Field ' + field + 'already exists') + if len(field_data.shape) < 1 or field_data.shape[0] != self.num_boxes(): + raise ValueError('Invalid dimensions for field data') + self.data[field] = field_data + + def get(self): + """Convenience function for accesssing box coordinates. + + Returns: + a numpy array of shape [N, 4] representing box corners + """ + return self.get_field('boxes') + + def get_field(self, field): + """Accesses data associated with the specified field in the box collection. + + Args: + field: a string parameter used to speficy a related field to be accessed. + + Returns: + a numpy 1-d array representing data of an associated field + + Raises: + ValueError: if invalid field + """ + if not self.has_field(field): + raise ValueError('field {} does not exist'.format(field)) + return self.data[field] + + def get_coordinates(self): + """Get corner coordinates of boxes. + + Returns: + a list of 4 1-d numpy arrays [y_min, x_min, y_max, x_max] + """ + box_coordinates = self.get() + y_min = box_coordinates[:, 0] + x_min = box_coordinates[:, 1] + y_max = box_coordinates[:, 2] + x_max = box_coordinates[:, 3] + return [y_min, x_min, y_max, x_max] + + def _is_valid_boxes(self, data): + """Check whether data fullfills the format of N*[ymin, xmin, ymax, xmin]. + + Args: + data: a numpy array of shape [N, 4] representing box coordinates + + Returns: + a boolean indicating whether all ymax of boxes are equal or greater than + ymin, and all xmax of boxes are equal or greater than xmin. + """ + if data.shape[0] > 0: + for i in xrange(data.shape[0]): + if data[i, 0] > data[i, 2] or data[i, 1] > data[i, 3]: + return False + return True diff --git a/object_detection/utils/np_box_list_ops.py b/object_detection/utils/np_box_list_ops.py new file mode 100644 index 000000000..cb9fee856 --- /dev/null +++ b/object_detection/utils/np_box_list_ops.py @@ -0,0 +1,555 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Bounding Box List operations for Numpy BoxLists. + +Example box operations that are supported: + * Areas: compute bounding box areas + * IOU: pairwise intersection-over-union scores +""" + +import numpy as np + +from object_detection.utils import np_box_list +from object_detection.utils import np_box_ops + + +class SortOrder(object): + """Enum class for sort order. + + Attributes: + ascend: ascend order. + descend: descend order. + """ + ASCEND = 1 + DESCEND = 2 + + +def area(boxlist): + """Computes area of boxes. + + Args: + boxlist: BoxList holding N boxes + + Returns: + a numpy array with shape [N*1] representing box areas + """ + y_min, x_min, y_max, x_max = boxlist.get_coordinates() + return (y_max - y_min) * (x_max - x_min) + + +def intersection(boxlist1, boxlist2): + """Compute pairwise intersection areas between boxes. + + Args: + boxlist1: BoxList holding N boxes + boxlist2: BoxList holding M boxes + + Returns: + a numpy array with shape [N*M] representing pairwise intersection area + """ + return np_box_ops.intersection(boxlist1.get(), boxlist2.get()) + + +def iou(boxlist1, boxlist2): + """Computes pairwise intersection-over-union between box collections. + + Args: + boxlist1: BoxList holding N boxes + boxlist2: BoxList holding M boxes + + Returns: + a numpy array with shape [N, M] representing pairwise iou scores. + """ + return np_box_ops.iou(boxlist1.get(), boxlist2.get()) + + +def ioa(boxlist1, boxlist2): + """Computes pairwise intersection-over-area between box collections. + + Intersection-over-area (ioa) between two boxes box1 and box2 is defined as + their intersection area over box2's area. Note that ioa is not symmetric, + that is, IOA(box1, box2) != IOA(box2, box1). + + Args: + boxlist1: BoxList holding N boxes + boxlist2: BoxList holding M boxes + + Returns: + a numpy array with shape [N, M] representing pairwise ioa scores. + """ + return np_box_ops.ioa(boxlist1.get(), boxlist2.get()) + + +def gather(boxlist, indices, fields=None): + """Gather boxes from BoxList according to indices and return new BoxList. + + By default, Gather returns boxes corresponding to the input index list, as + well as all additional fields stored in the boxlist (indexing into the + first dimension). However one can optionally only gather from a + subset of fields. + + Args: + boxlist: BoxList holding N boxes + indices: a 1-d numpy array of type int_ + fields: (optional) list of fields to also gather from. If None (default), + all fields are gathered from. Pass an empty fields list to only gather + the box coordinates. + + Returns: + subboxlist: a BoxList corresponding to the subset of the input BoxList + specified by indices + + Raises: + ValueError: if specified field is not contained in boxlist or if the + indices are not of type int_ + """ + if indices.size: + if np.amax(indices) >= boxlist.num_boxes() or np.amin(indices) < 0: + raise ValueError('indices are out of valid range.') + subboxlist = np_box_list.BoxList(boxlist.get()[indices, :]) + if fields is None: + fields = boxlist.get_extra_fields() + for field in fields: + extra_field_data = boxlist.get_field(field) + subboxlist.add_field(field, extra_field_data[indices, ...]) + return subboxlist + + +def sort_by_field(boxlist, field, order=SortOrder.DESCEND): + """Sort boxes and associated fields according to a scalar field. + + A common use case is reordering the boxes according to descending scores. + + Args: + boxlist: BoxList holding N boxes. + field: A BoxList field for sorting and reordering the BoxList. + order: (Optional) 'descend' or 'ascend'. Default is descend. + + Returns: + sorted_boxlist: A sorted BoxList with the field in the specified order. + + Raises: + ValueError: if specified field does not exist or is not of single dimension. + ValueError: if the order is not either descend or ascend. + """ + if not boxlist.has_field(field): + raise ValueError('Field ' + field + ' does not exist') + if len(boxlist.get_field(field).shape) != 1: + raise ValueError('Field ' + field + 'should be single dimension.') + if order != SortOrder.DESCEND and order != SortOrder.ASCEND: + raise ValueError('Invalid sort order') + + field_to_sort = boxlist.get_field(field) + sorted_indices = np.argsort(field_to_sort) + if order == SortOrder.DESCEND: + sorted_indices = sorted_indices[::-1] + return gather(boxlist, sorted_indices) + + +def non_max_suppression(boxlist, + max_output_size=10000, + iou_threshold=1.0, + score_threshold=-10.0): + """Non maximum suppression. + + This op greedily selects a subset of detection bounding boxes, pruning + away boxes that have high IOU (intersection over union) overlap (> thresh) + with already selected boxes. In each iteration, the detected bounding box with + highest score in the available pool is selected. + + Args: + boxlist: BoxList holding N boxes. Must contain a 'scores' field + representing detection scores. All scores belong to the same class. + max_output_size: maximum number of retained boxes + iou_threshold: intersection over union threshold. + score_threshold: minimum score threshold. Remove the boxes with scores + less than this value. Default value is set to -10. A very + low threshold to pass pretty much all the boxes, unless + the user sets a different score threshold. + + Returns: + a BoxList holding M boxes where M <= max_output_size + Raises: + ValueError: if 'scores' field does not exist + ValueError: if threshold is not in [0, 1] + ValueError: if max_output_size < 0 + """ + if not boxlist.has_field('scores'): + raise ValueError('Field scores does not exist') + if iou_threshold < 0. or iou_threshold > 1.0: + raise ValueError('IOU threshold must be in [0, 1]') + if max_output_size < 0: + raise ValueError('max_output_size must be bigger than 0.') + + boxlist = filter_scores_greater_than(boxlist, score_threshold) + if boxlist.num_boxes() == 0: + return boxlist + + boxlist = sort_by_field(boxlist, 'scores') + + # Prevent further computation if NMS is disabled. + if iou_threshold == 1.0: + if boxlist.num_boxes() > max_output_size: + selected_indices = np.arange(max_output_size) + return gather(boxlist, selected_indices) + else: + return boxlist + + boxes = boxlist.get() + num_boxes = boxlist.num_boxes() + # is_index_valid is True only for all remaining valid boxes, + is_index_valid = np.full(num_boxes, 1, dtype=bool) + selected_indices = [] + num_output = 0 + for i in xrange(num_boxes): + if num_output < max_output_size: + if is_index_valid[i]: + num_output += 1 + selected_indices.append(i) + is_index_valid[i] = False + valid_indices = np.where(is_index_valid)[0] + if valid_indices.size == 0: + break + + intersect_over_union = np_box_ops.iou( + np.expand_dims(boxes[i, :], axis=0), boxes[valid_indices, :]) + intersect_over_union = np.squeeze(intersect_over_union, axis=0) + is_index_valid[valid_indices] = np.logical_and( + is_index_valid[valid_indices], + intersect_over_union <= iou_threshold) + return gather(boxlist, np.array(selected_indices)) + + +def multi_class_non_max_suppression(boxlist, score_thresh, iou_thresh, + max_output_size): + """Multi-class version of non maximum suppression. + + This op greedily selects a subset of detection bounding boxes, pruning + away boxes that have high IOU (intersection over union) overlap (> thresh) + with already selected boxes. It operates independently for each class for + which scores are provided (via the scores field of the input box_list), + pruning boxes with score less than a provided threshold prior to + applying NMS. + + Args: + boxlist: BoxList holding N boxes. Must contain a 'scores' field + representing detection scores. This scores field is a tensor that can + be 1 dimensional (in the case of a single class) or 2-dimensional, which + which case we assume that it takes the shape [num_boxes, num_classes]. + We further assume that this rank is known statically and that + scores.shape[1] is also known (i.e., the number of classes is fixed + and known at graph construction time). + score_thresh: scalar threshold for score (low scoring boxes are removed). + iou_thresh: scalar threshold for IOU (boxes that that high IOU overlap + with previously selected boxes are removed). + max_output_size: maximum number of retained boxes per class. + + Returns: + a BoxList holding M boxes with a rank-1 scores field representing + corresponding scores for each box with scores sorted in decreasing order + and a rank-1 classes field representing a class label for each box. + Raises: + ValueError: if iou_thresh is not in [0, 1] or if input boxlist does not have + a valid scores field. + """ + if not 0 <= iou_thresh <= 1.0: + raise ValueError('thresh must be between 0 and 1') + if not isinstance(boxlist, np_box_list.BoxList): + raise ValueError('boxlist must be a BoxList') + if not boxlist.has_field('scores'): + raise ValueError('input boxlist must have \'scores\' field') + scores = boxlist.get_field('scores') + if len(scores.shape) == 1: + scores = np.reshape(scores, [-1, 1]) + elif len(scores.shape) == 2: + if scores.shape[1] is None: + raise ValueError('scores field must have statically defined second ' + 'dimension') + else: + raise ValueError('scores field must be of rank 1 or 2') + num_boxes = boxlist.num_boxes() + num_scores = scores.shape[0] + num_classes = scores.shape[1] + + if num_boxes != num_scores: + raise ValueError('Incorrect scores field length: actual vs expected.') + + selected_boxes_list = [] + for class_idx in range(num_classes): + boxlist_and_class_scores = np_box_list.BoxList(boxlist.get()) + class_scores = np.reshape(scores[0:num_scores, class_idx], [-1]) + boxlist_and_class_scores.add_field('scores', class_scores) + boxlist_filt = filter_scores_greater_than(boxlist_and_class_scores, + score_thresh) + nms_result = non_max_suppression(boxlist_filt, + max_output_size=max_output_size, + iou_threshold=iou_thresh, + score_threshold=score_thresh) + nms_result.add_field( + 'classes', np.zeros_like(nms_result.get_field('scores')) + class_idx) + selected_boxes_list.append(nms_result) + selected_boxes = concatenate(selected_boxes_list) + sorted_boxes = sort_by_field(selected_boxes, 'scores') + return sorted_boxes + + +def scale(boxlist, y_scale, x_scale): + """Scale box coordinates in x and y dimensions. + + Args: + boxlist: BoxList holding N boxes + y_scale: float + x_scale: float + + Returns: + boxlist: BoxList holding N boxes + """ + y_min, x_min, y_max, x_max = np.array_split(boxlist.get(), 4, axis=1) + y_min = y_scale * y_min + y_max = y_scale * y_max + x_min = x_scale * x_min + x_max = x_scale * x_max + scaled_boxlist = np_box_list.BoxList(np.hstack([y_min, x_min, y_max, x_max])) + + fields = boxlist.get_extra_fields() + for field in fields: + extra_field_data = boxlist.get_field(field) + scaled_boxlist.add_field(field, extra_field_data) + + return scaled_boxlist + + +def clip_to_window(boxlist, window): + """Clip bounding boxes to a window. + + This op clips input bounding boxes (represented by bounding box + corners) to a window, optionally filtering out boxes that do not + overlap at all with the window. + + Args: + boxlist: BoxList holding M_in boxes + window: a numpy array of shape [4] representing the + [y_min, x_min, y_max, x_max] window to which the op + should clip boxes. + + Returns: + a BoxList holding M_out boxes where M_out <= M_in + """ + y_min, x_min, y_max, x_max = np.array_split(boxlist.get(), 4, axis=1) + win_y_min = window[0] + win_x_min = window[1] + win_y_max = window[2] + win_x_max = window[3] + y_min_clipped = np.fmax(np.fmin(y_min, win_y_max), win_y_min) + y_max_clipped = np.fmax(np.fmin(y_max, win_y_max), win_y_min) + x_min_clipped = np.fmax(np.fmin(x_min, win_x_max), win_x_min) + x_max_clipped = np.fmax(np.fmin(x_max, win_x_max), win_x_min) + clipped = np_box_list.BoxList( + np.hstack([y_min_clipped, x_min_clipped, y_max_clipped, x_max_clipped])) + clipped = _copy_extra_fields(clipped, boxlist) + areas = area(clipped) + nonzero_area_indices = np.reshape(np.nonzero(np.greater(areas, 0.0)), + [-1]).astype(np.int32) + return gather(clipped, nonzero_area_indices) + + +def prune_non_overlapping_boxes(boxlist1, boxlist2, minoverlap=0.0): + """Prunes the boxes in boxlist1 that overlap less than thresh with boxlist2. + + For each box in boxlist1, we want its IOA to be more than minoverlap with + at least one of the boxes in boxlist2. If it does not, we remove it. + + Args: + boxlist1: BoxList holding N boxes. + boxlist2: BoxList holding M boxes. + minoverlap: Minimum required overlap between boxes, to count them as + overlapping. + + Returns: + A pruned boxlist with size [N', 4]. + """ + intersection_over_area = ioa(boxlist2, boxlist1) # [M, N] tensor + intersection_over_area = np.amax(intersection_over_area, axis=0) # [N] tensor + keep_bool = np.greater_equal(intersection_over_area, np.array(minoverlap)) + keep_inds = np.nonzero(keep_bool)[0] + new_boxlist1 = gather(boxlist1, keep_inds) + return new_boxlist1 + + +def prune_outside_window(boxlist, window): + """Prunes bounding boxes that fall outside a given window. + + This function prunes bounding boxes that even partially fall outside the given + window. See also ClipToWindow which only prunes bounding boxes that fall + completely outside the window, and clips any bounding boxes that partially + overflow. + + Args: + boxlist: a BoxList holding M_in boxes. + window: a numpy array of size 4, representing [ymin, xmin, ymax, xmax] + of the window. + + Returns: + pruned_corners: a tensor with shape [M_out, 4] where M_out <= M_in. + valid_indices: a tensor with shape [M_out] indexing the valid bounding boxes + in the input tensor. + """ + + y_min, x_min, y_max, x_max = np.array_split(boxlist.get(), 4, axis=1) + win_y_min = window[0] + win_x_min = window[1] + win_y_max = window[2] + win_x_max = window[3] + coordinate_violations = np.hstack([np.less(y_min, win_y_min), + np.less(x_min, win_x_min), + np.greater(y_max, win_y_max), + np.greater(x_max, win_x_max)]) + valid_indices = np.reshape( + np.where(np.logical_not(np.max(coordinate_violations, axis=1))), [-1]) + return gather(boxlist, valid_indices), valid_indices + + +def concatenate(boxlists, fields=None): + """Concatenate list of BoxLists. + + This op concatenates a list of input BoxLists into a larger BoxList. It also + handles concatenation of BoxList fields as long as the field tensor shapes + are equal except for the first dimension. + + Args: + boxlists: list of BoxList objects + fields: optional list of fields to also concatenate. By default, all + fields from the first BoxList in the list are included in the + concatenation. + + Returns: + a BoxList with number of boxes equal to + sum([boxlist.num_boxes() for boxlist in BoxList]) + Raises: + ValueError: if boxlists is invalid (i.e., is not a list, is empty, or + contains non BoxList objects), or if requested fields are not contained in + all boxlists + """ + if not isinstance(boxlists, list): + raise ValueError('boxlists should be a list') + if not boxlists: + raise ValueError('boxlists should have nonzero length') + for boxlist in boxlists: + if not isinstance(boxlist, np_box_list.BoxList): + raise ValueError('all elements of boxlists should be BoxList objects') + concatenated = np_box_list.BoxList( + np.vstack([boxlist.get() for boxlist in boxlists])) + if fields is None: + fields = boxlists[0].get_extra_fields() + for field in fields: + first_field_shape = boxlists[0].get_field(field).shape + first_field_shape = first_field_shape[1:] + for boxlist in boxlists: + if not boxlist.has_field(field): + raise ValueError('boxlist must contain all requested fields') + field_shape = boxlist.get_field(field).shape + field_shape = field_shape[1:] + if field_shape != first_field_shape: + raise ValueError('field %s must have same shape for all boxlists ' + 'except for the 0th dimension.' % field) + concatenated_field = np.concatenate( + [boxlist.get_field(field) for boxlist in boxlists], axis=0) + concatenated.add_field(field, concatenated_field) + return concatenated + + +def filter_scores_greater_than(boxlist, thresh): + """Filter to keep only boxes with score exceeding a given threshold. + + This op keeps the collection of boxes whose corresponding scores are + greater than the input threshold. + + Args: + boxlist: BoxList holding N boxes. Must contain a 'scores' field + representing detection scores. + thresh: scalar threshold + + Returns: + a BoxList holding M boxes where M <= N + + Raises: + ValueError: if boxlist not a BoxList object or if it does not + have a scores field + """ + if not isinstance(boxlist, np_box_list.BoxList): + raise ValueError('boxlist must be a BoxList') + if not boxlist.has_field('scores'): + raise ValueError('input boxlist must have \'scores\' field') + scores = boxlist.get_field('scores') + if len(scores.shape) > 2: + raise ValueError('Scores should have rank 1 or 2') + if len(scores.shape) == 2 and scores.shape[1] != 1: + raise ValueError('Scores should have rank 1 or have shape ' + 'consistent with [None, 1]') + high_score_indices = np.reshape(np.where(np.greater(scores, thresh)), + [-1]).astype(np.int32) + return gather(boxlist, high_score_indices) + + +def change_coordinate_frame(boxlist, window): + """Change coordinate frame of the boxlist to be relative to window's frame. + + Given a window of the form [ymin, xmin, ymax, xmax], + changes bounding box coordinates from boxlist to be relative to this window + (e.g., the min corner maps to (0,0) and the max corner maps to (1,1)). + + An example use case is data augmentation: where we are given groundtruth + boxes (boxlist) and would like to randomly crop the image to some + window (window). In this case we need to change the coordinate frame of + each groundtruth box to be relative to this new window. + + Args: + boxlist: A BoxList object holding N boxes. + window: a size 4 1-D numpy array. + + Returns: + Returns a BoxList object with N boxes. + """ + win_height = window[2] - window[0] + win_width = window[3] - window[1] + boxlist_new = scale( + np_box_list.BoxList(boxlist.get() - + [window[0], window[1], window[0], window[1]]), + 1.0 / win_height, 1.0 / win_width) + _copy_extra_fields(boxlist_new, boxlist) + + return boxlist_new + + +def _copy_extra_fields(boxlist_to_copy_to, boxlist_to_copy_from): + """Copies the extra fields of boxlist_to_copy_from to boxlist_to_copy_to. + + Args: + boxlist_to_copy_to: BoxList to which extra fields are copied. + boxlist_to_copy_from: BoxList from which fields are copied. + + Returns: + boxlist_to_copy_to with extra fields. + """ + for field in boxlist_to_copy_from.get_extra_fields(): + boxlist_to_copy_to.add_field(field, boxlist_to_copy_from.get_field(field)) + return boxlist_to_copy_to + + +def _update_valid_indices_by_removing_high_iou_boxes( + selected_indices, is_index_valid, intersect_over_union, threshold): + max_iou = np.max(intersect_over_union[:, selected_indices], axis=1) + return np.logical_and(is_index_valid, max_iou <= threshold) diff --git a/object_detection/utils/np_box_list_ops_test.py b/object_detection/utils/np_box_list_ops_test.py new file mode 100644 index 000000000..24a2cc8cf --- /dev/null +++ b/object_detection/utils/np_box_list_ops_test.py @@ -0,0 +1,414 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.np_box_list_ops.""" + +import numpy as np +import tensorflow as tf + +from object_detection.utils import np_box_list +from object_detection.utils import np_box_list_ops + + +class AreaRelatedTest(tf.test.TestCase): + + def setUp(self): + boxes1 = np.array([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]], + dtype=float) + boxes2 = np.array([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]], + dtype=float) + self.boxlist1 = np_box_list.BoxList(boxes1) + self.boxlist2 = np_box_list.BoxList(boxes2) + + def test_area(self): + areas = np_box_list_ops.area(self.boxlist1) + expected_areas = np.array([6.0, 5.0], dtype=float) + self.assertAllClose(expected_areas, areas) + + def test_intersection(self): + intersection = np_box_list_ops.intersection(self.boxlist1, self.boxlist2) + expected_intersection = np.array([[2.0, 0.0, 6.0], [1.0, 0.0, 5.0]], + dtype=float) + self.assertAllClose(intersection, expected_intersection) + + def test_iou(self): + iou = np_box_list_ops.iou(self.boxlist1, self.boxlist2) + expected_iou = np.array([[2.0 / 16.0, 0.0, 6.0 / 400.0], + [1.0 / 16.0, 0.0, 5.0 / 400.0]], + dtype=float) + self.assertAllClose(iou, expected_iou) + + def test_ioa(self): + boxlist1 = np_box_list.BoxList( + np.array( + [[0.25, 0.25, 0.75, 0.75], [0.0, 0.0, 0.5, 0.75]], dtype= + np.float32)) + boxlist2 = np_box_list.BoxList( + np.array( + [[0.5, 0.25, 1.0, 1.0], [0.0, 0.0, 1.0, 1.0]], dtype=np.float32)) + ioa21 = np_box_list_ops.ioa(boxlist2, boxlist1) + expected_ioa21 = np.array([[0.5, 0.0], + [1.0, 1.0]], + dtype=np.float32) + self.assertAllClose(ioa21, expected_ioa21) + + def test_scale(self): + boxlist = np_box_list.BoxList( + np.array( + [[0.25, 0.25, 0.75, 0.75], [0.0, 0.0, 0.5, 0.75]], dtype= + np.float32)) + boxlist_scaled = np_box_list_ops.scale(boxlist, 2.0, 3.0) + expected_boxlist_scaled = np_box_list.BoxList( + np.array( + [[0.5, 0.75, 1.5, 2.25], [0.0, 0.0, 1.0, 2.25]], dtype=np.float32)) + self.assertAllClose(expected_boxlist_scaled.get(), boxlist_scaled.get()) + + def test_clip_to_window(self): + boxlist = np_box_list.BoxList( + np.array( + [[0.25, 0.25, 0.75, 0.75], [0.0, 0.0, 0.5, 0.75], + [-0.2, -0.3, 0.7, 1.5]], + dtype=np.float32)) + boxlist_clipped = np_box_list_ops.clip_to_window(boxlist, + [0.0, 0.0, 1.0, 1.0]) + expected_boxlist_clipped = np_box_list.BoxList( + np.array( + [[0.25, 0.25, 0.75, 0.75], [0.0, 0.0, 0.5, 0.75], + [0.0, 0.0, 0.7, 1.0]], + dtype=np.float32)) + self.assertAllClose(expected_boxlist_clipped.get(), boxlist_clipped.get()) + + def test_prune_outside_window(self): + boxlist = np_box_list.BoxList( + np.array( + [[0.25, 0.25, 0.75, 0.75], [0.0, 0.0, 0.5, 0.75], + [-0.2, -0.3, 0.7, 1.5]], + dtype=np.float32)) + boxlist_pruned, _ = np_box_list_ops.prune_outside_window( + boxlist, [0.0, 0.0, 1.0, 1.0]) + expected_boxlist_pruned = np_box_list.BoxList( + np.array( + [[0.25, 0.25, 0.75, 0.75], [0.0, 0.0, 0.5, 0.75]], dtype= + np.float32)) + self.assertAllClose(expected_boxlist_pruned.get(), boxlist_pruned.get()) + + def test_concatenate(self): + boxlist1 = np_box_list.BoxList( + np.array( + [[0.25, 0.25, 0.75, 0.75], [0.0, 0.0, 0.5, 0.75]], dtype= + np.float32)) + boxlist2 = np_box_list.BoxList( + np.array( + [[0.5, 0.25, 1.0, 1.0], [0.0, 0.0, 1.0, 1.0]], dtype=np.float32)) + boxlists = [boxlist1, boxlist2] + boxlist_concatenated = np_box_list_ops.concatenate(boxlists) + boxlist_concatenated_expected = np_box_list.BoxList( + np.array( + [[0.25, 0.25, 0.75, 0.75], [0.0, 0.0, 0.5, 0.75], + [0.5, 0.25, 1.0, 1.0], [0.0, 0.0, 1.0, 1.0]], + dtype=np.float32)) + self.assertAllClose(boxlist_concatenated_expected.get(), + boxlist_concatenated.get()) + + def test_change_coordinate_frame(self): + boxlist = np_box_list.BoxList( + np.array( + [[0.25, 0.25, 0.75, 0.75], [0.0, 0.0, 0.5, 0.75]], dtype= + np.float32)) + boxlist_coord = np_box_list_ops.change_coordinate_frame( + boxlist, np.array([0, 0, 0.5, 0.5], dtype=np.float32)) + expected_boxlist_coord = np_box_list.BoxList( + np.array([[0.5, 0.5, 1.5, 1.5], [0, 0, 1.0, 1.5]], dtype=np.float32)) + self.assertAllClose(boxlist_coord.get(), expected_boxlist_coord.get()) + + def test_filter_scores_greater_than(self): + boxlist = np_box_list.BoxList( + np.array( + [[0.25, 0.25, 0.75, 0.75], [0.0, 0.0, 0.5, 0.75]], dtype= + np.float32)) + boxlist.add_field('scores', np.array([0.8, 0.2], np.float32)) + boxlist_greater = np_box_list_ops.filter_scores_greater_than(boxlist, 0.5) + + expected_boxlist_greater = np_box_list.BoxList( + np.array([[0.25, 0.25, 0.75, 0.75]], dtype=np.float32)) + + self.assertAllClose(boxlist_greater.get(), expected_boxlist_greater.get()) + + +class GatherOpsTest(tf.test.TestCase): + + def setUp(self): + boxes = np.array([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]], + dtype=float) + self.boxlist = np_box_list.BoxList(boxes) + self.boxlist.add_field('scores', np.array([0.5, 0.7, 0.9], dtype=float)) + self.boxlist.add_field('labels', + np.array([[0, 0, 0, 1, 0], [0, 1, 0, 0, 0], + [0, 0, 0, 0, 1]], + dtype=int)) + + def test_gather_with_out_of_range_indices(self): + indices = np.array([3, 1], dtype=int) + boxlist = self.boxlist + with self.assertRaises(ValueError): + np_box_list_ops.gather(boxlist, indices) + + def test_gather_with_invalid_multidimensional_indices(self): + indices = np.array([[0, 1], [1, 2]], dtype=int) + boxlist = self.boxlist + with self.assertRaises(ValueError): + np_box_list_ops.gather(boxlist, indices) + + def test_gather_without_fields_specified(self): + indices = np.array([2, 0, 1], dtype=int) + boxlist = self.boxlist + subboxlist = np_box_list_ops.gather(boxlist, indices) + + expected_scores = np.array([0.9, 0.5, 0.7], dtype=float) + self.assertAllClose(expected_scores, subboxlist.get_field('scores')) + + expected_boxes = np.array([[0.0, 0.0, 20.0, 20.0], [3.0, 4.0, 6.0, 8.0], + [14.0, 14.0, 15.0, 15.0]], + dtype=float) + self.assertAllClose(expected_boxes, subboxlist.get()) + + expected_labels = np.array([[0, 0, 0, 0, 1], [0, 0, 0, 1, 0], + [0, 1, 0, 0, 0]], + dtype=int) + self.assertAllClose(expected_labels, subboxlist.get_field('labels')) + + def test_gather_with_invalid_field_specified(self): + indices = np.array([2, 0, 1], dtype=int) + boxlist = self.boxlist + + with self.assertRaises(ValueError): + np_box_list_ops.gather(boxlist, indices, 'labels') + + with self.assertRaises(ValueError): + np_box_list_ops.gather(boxlist, indices, ['objectness']) + + def test_gather_with_fields_specified(self): + indices = np.array([2, 0, 1], dtype=int) + boxlist = self.boxlist + subboxlist = np_box_list_ops.gather(boxlist, indices, ['labels']) + + self.assertFalse(subboxlist.has_field('scores')) + + expected_boxes = np.array([[0.0, 0.0, 20.0, 20.0], [3.0, 4.0, 6.0, 8.0], + [14.0, 14.0, 15.0, 15.0]], + dtype=float) + self.assertAllClose(expected_boxes, subboxlist.get()) + + expected_labels = np.array([[0, 0, 0, 0, 1], [0, 0, 0, 1, 0], + [0, 1, 0, 0, 0]], + dtype=int) + self.assertAllClose(expected_labels, subboxlist.get_field('labels')) + + +class SortByFieldTest(tf.test.TestCase): + + def setUp(self): + boxes = np.array([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]], + dtype=float) + self.boxlist = np_box_list.BoxList(boxes) + self.boxlist.add_field('scores', np.array([0.5, 0.9, 0.4], dtype=float)) + self.boxlist.add_field('labels', + np.array([[0, 0, 0, 1, 0], [0, 1, 0, 0, 0], + [0, 0, 0, 0, 1]], + dtype=int)) + + def test_with_invalid_field(self): + with self.assertRaises(ValueError): + np_box_list_ops.sort_by_field(self.boxlist, 'objectness') + with self.assertRaises(ValueError): + np_box_list_ops.sort_by_field(self.boxlist, 'labels') + + def test_with_invalid_sorting_order(self): + with self.assertRaises(ValueError): + np_box_list_ops.sort_by_field(self.boxlist, 'scores', 'Descending') + + def test_with_descending_sorting(self): + sorted_boxlist = np_box_list_ops.sort_by_field(self.boxlist, 'scores') + + expected_boxes = np.array([[14.0, 14.0, 15.0, 15.0], [3.0, 4.0, 6.0, 8.0], + [0.0, 0.0, 20.0, 20.0]], + dtype=float) + self.assertAllClose(expected_boxes, sorted_boxlist.get()) + + expected_scores = np.array([0.9, 0.5, 0.4], dtype=float) + self.assertAllClose(expected_scores, sorted_boxlist.get_field('scores')) + + def test_with_ascending_sorting(self): + sorted_boxlist = np_box_list_ops.sort_by_field( + self.boxlist, 'scores', np_box_list_ops.SortOrder.ASCEND) + + expected_boxes = np.array([[0.0, 0.0, 20.0, 20.0], + [3.0, 4.0, 6.0, 8.0], + [14.0, 14.0, 15.0, 15.0],], + dtype=float) + self.assertAllClose(expected_boxes, sorted_boxlist.get()) + + expected_scores = np.array([0.4, 0.5, 0.9], dtype=float) + self.assertAllClose(expected_scores, sorted_boxlist.get_field('scores')) + + +class NonMaximumSuppressionTest(tf.test.TestCase): + + def setUp(self): + self._boxes = np.array([[0, 0, 1, 1], + [0, 0.1, 1, 1.1], + [0, -0.1, 1, 0.9], + [0, 10, 1, 11], + [0, 10.1, 1, 11.1], + [0, 100, 1, 101]], + dtype=float) + self._boxlist = np_box_list.BoxList(self._boxes) + + def test_with_no_scores_field(self): + boxlist = np_box_list.BoxList(self._boxes) + max_output_size = 3 + iou_threshold = 0.5 + + with self.assertRaises(ValueError): + np_box_list_ops.non_max_suppression( + boxlist, max_output_size, iou_threshold) + + def test_nms_disabled_max_output_size_equals_three(self): + boxlist = np_box_list.BoxList(self._boxes) + boxlist.add_field('scores', + np.array([.9, .75, .6, .95, .2, .3], dtype=float)) + max_output_size = 3 + iou_threshold = 1. # No NMS + + expected_boxes = np.array([[0, 10, 1, 11], [0, 0, 1, 1], [0, 0.1, 1, 1.1]], + dtype=float) + nms_boxlist = np_box_list_ops.non_max_suppression( + boxlist, max_output_size, iou_threshold) + self.assertAllClose(nms_boxlist.get(), expected_boxes) + + def test_select_from_three_clusters(self): + boxlist = np_box_list.BoxList(self._boxes) + boxlist.add_field('scores', + np.array([.9, .75, .6, .95, .2, .3], dtype=float)) + max_output_size = 3 + iou_threshold = 0.5 + + expected_boxes = np.array([[0, 10, 1, 11], [0, 0, 1, 1], [0, 100, 1, 101]], + dtype=float) + nms_boxlist = np_box_list_ops.non_max_suppression( + boxlist, max_output_size, iou_threshold) + self.assertAllClose(nms_boxlist.get(), expected_boxes) + + def test_select_at_most_two_from_three_clusters(self): + boxlist = np_box_list.BoxList(self._boxes) + boxlist.add_field('scores', + np.array([.9, .75, .6, .95, .5, .3], dtype=float)) + max_output_size = 2 + iou_threshold = 0.5 + + expected_boxes = np.array([[0, 10, 1, 11], [0, 0, 1, 1]], dtype=float) + nms_boxlist = np_box_list_ops.non_max_suppression( + boxlist, max_output_size, iou_threshold) + self.assertAllClose(nms_boxlist.get(), expected_boxes) + + def test_select_at_most_thirty_from_three_clusters(self): + boxlist = np_box_list.BoxList(self._boxes) + boxlist.add_field('scores', + np.array([.9, .75, .6, .95, .5, .3], dtype=float)) + max_output_size = 30 + iou_threshold = 0.5 + + expected_boxes = np.array([[0, 10, 1, 11], [0, 0, 1, 1], [0, 100, 1, 101]], + dtype=float) + nms_boxlist = np_box_list_ops.non_max_suppression( + boxlist, max_output_size, iou_threshold) + self.assertAllClose(nms_boxlist.get(), expected_boxes) + + def test_select_from_ten_indentical_boxes(self): + boxes = np.array(10 * [[0, 0, 1, 1]], dtype=float) + boxlist = np_box_list.BoxList(boxes) + boxlist.add_field('scores', np.array(10 * [0.8])) + iou_threshold = .5 + max_output_size = 3 + expected_boxes = np.array([[0, 0, 1, 1]], dtype=float) + nms_boxlist = np_box_list_ops.non_max_suppression( + boxlist, max_output_size, iou_threshold) + self.assertAllClose(nms_boxlist.get(), expected_boxes) + + def test_different_iou_threshold(self): + boxes = np.array([[0, 0, 20, 100], [0, 0, 20, 80], [200, 200, 210, 300], + [200, 200, 210, 250]], + dtype=float) + boxlist = np_box_list.BoxList(boxes) + boxlist.add_field('scores', np.array([0.9, 0.8, 0.7, 0.6])) + max_output_size = 4 + + iou_threshold = .4 + expected_boxes = np.array([[0, 0, 20, 100], + [200, 200, 210, 300],], + dtype=float) + nms_boxlist = np_box_list_ops.non_max_suppression( + boxlist, max_output_size, iou_threshold) + self.assertAllClose(nms_boxlist.get(), expected_boxes) + + iou_threshold = .5 + expected_boxes = np.array([[0, 0, 20, 100], [200, 200, 210, 300], + [200, 200, 210, 250]], + dtype=float) + nms_boxlist = np_box_list_ops.non_max_suppression( + boxlist, max_output_size, iou_threshold) + self.assertAllClose(nms_boxlist.get(), expected_boxes) + + iou_threshold = .8 + expected_boxes = np.array([[0, 0, 20, 100], [0, 0, 20, 80], + [200, 200, 210, 300], [200, 200, 210, 250]], + dtype=float) + nms_boxlist = np_box_list_ops.non_max_suppression( + boxlist, max_output_size, iou_threshold) + self.assertAllClose(nms_boxlist.get(), expected_boxes) + + def test_multiclass_nms(self): + boxlist = np_box_list.BoxList( + np.array( + [[0.2, 0.4, 0.8, 0.8], [0.4, 0.2, 0.8, 0.8], [0.6, 0.0, 1.0, 1.0]], + dtype=np.float32)) + scores = np.array([[-0.2, 0.1, 0.5, -0.4, 0.3], + [0.7, -0.7, 0.6, 0.2, -0.9], + [0.4, 0.34, -0.9, 0.2, 0.31]], + dtype=np.float32) + boxlist.add_field('scores', scores) + boxlist_clean = np_box_list_ops.multi_class_non_max_suppression( + boxlist, score_thresh=0.25, iou_thresh=0.1, max_output_size=3) + + scores_clean = boxlist_clean.get_field('scores') + classes_clean = boxlist_clean.get_field('classes') + boxes = boxlist_clean.get() + expected_scores = np.array([0.7, 0.6, 0.34, 0.31]) + expected_classes = np.array([0, 2, 1, 4]) + expected_boxes = np.array([[0.4, 0.2, 0.8, 0.8], + [0.4, 0.2, 0.8, 0.8], + [0.6, 0.0, 1.0, 1.0], + [0.6, 0.0, 1.0, 1.0]], + dtype=np.float32) + self.assertAllClose(scores_clean, expected_scores) + self.assertAllClose(classes_clean, expected_classes) + self.assertAllClose(boxes, expected_boxes) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/np_box_list_test.py b/object_detection/utils/np_box_list_test.py new file mode 100644 index 000000000..bb0ee5d28 --- /dev/null +++ b/object_detection/utils/np_box_list_test.py @@ -0,0 +1,135 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.np_box_list_test.""" + +import numpy as np +import tensorflow as tf + +from object_detection.utils import np_box_list + + +class BoxListTest(tf.test.TestCase): + + def test_invalid_box_data(self): + with self.assertRaises(ValueError): + np_box_list.BoxList([0, 0, 1, 1]) + + with self.assertRaises(ValueError): + np_box_list.BoxList(np.array([[0, 0, 1, 1]], dtype=int)) + + with self.assertRaises(ValueError): + np_box_list.BoxList(np.array([0, 1, 1, 3, 4], dtype=float)) + + with self.assertRaises(ValueError): + np_box_list.BoxList(np.array([[0, 1, 1, 3], [3, 1, 1, 5]], dtype=float)) + + def test_has_field_with_existed_field(self): + boxes = np.array([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]], + dtype=float) + boxlist = np_box_list.BoxList(boxes) + self.assertTrue(boxlist.has_field('boxes')) + + def test_has_field_with_nonexisted_field(self): + boxes = np.array([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]], + dtype=float) + boxlist = np_box_list.BoxList(boxes) + self.assertFalse(boxlist.has_field('scores')) + + def test_get_field_with_existed_field(self): + boxes = np.array([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]], + dtype=float) + boxlist = np_box_list.BoxList(boxes) + self.assertTrue(np.allclose(boxlist.get_field('boxes'), boxes)) + + def test_get_field_with_nonexited_field(self): + boxes = np.array([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]], + dtype=float) + boxlist = np_box_list.BoxList(boxes) + with self.assertRaises(ValueError): + boxlist.get_field('scores') + + +class AddExtraFieldTest(tf.test.TestCase): + + def setUp(self): + boxes = np.array([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]], + dtype=float) + self.boxlist = np_box_list.BoxList(boxes) + + def test_add_already_existed_field(self): + with self.assertRaises(ValueError): + self.boxlist.add_field('boxes', np.array([[0, 0, 0, 1, 0]], dtype=float)) + + def test_add_invalid_field_data(self): + with self.assertRaises(ValueError): + self.boxlist.add_field('scores', np.array([0.5, 0.7], dtype=float)) + with self.assertRaises(ValueError): + self.boxlist.add_field('scores', + np.array([0.5, 0.7, 0.9, 0.1], dtype=float)) + + def test_add_single_dimensional_field_data(self): + boxlist = self.boxlist + scores = np.array([0.5, 0.7, 0.9], dtype=float) + boxlist.add_field('scores', scores) + self.assertTrue(np.allclose(scores, self.boxlist.get_field('scores'))) + + def test_add_multi_dimensional_field_data(self): + boxlist = self.boxlist + labels = np.array([[0, 0, 0, 1, 0], [0, 1, 0, 0, 0], [0, 0, 0, 0, 1]], + dtype=int) + boxlist.add_field('labels', labels) + self.assertTrue(np.allclose(labels, self.boxlist.get_field('labels'))) + + def test_get_extra_fields(self): + boxlist = self.boxlist + self.assertSameElements(boxlist.get_extra_fields(), []) + + scores = np.array([0.5, 0.7, 0.9], dtype=float) + boxlist.add_field('scores', scores) + self.assertSameElements(boxlist.get_extra_fields(), ['scores']) + + labels = np.array([[0, 0, 0, 1, 0], [0, 1, 0, 0, 0], [0, 0, 0, 0, 1]], + dtype=int) + boxlist.add_field('labels', labels) + self.assertSameElements(boxlist.get_extra_fields(), ['scores', 'labels']) + + def test_get_coordinates(self): + y_min, x_min, y_max, x_max = self.boxlist.get_coordinates() + + expected_y_min = np.array([3.0, 14.0, 0.0], dtype=float) + expected_x_min = np.array([4.0, 14.0, 0.0], dtype=float) + expected_y_max = np.array([6.0, 15.0, 20.0], dtype=float) + expected_x_max = np.array([8.0, 15.0, 20.0], dtype=float) + + self.assertTrue(np.allclose(y_min, expected_y_min)) + self.assertTrue(np.allclose(x_min, expected_x_min)) + self.assertTrue(np.allclose(y_max, expected_y_max)) + self.assertTrue(np.allclose(x_max, expected_x_max)) + + def test_num_boxes(self): + boxes = np.array([[0., 0., 100., 100.], [10., 30., 50., 70.]], dtype=float) + boxlist = np_box_list.BoxList(boxes) + expected_num_boxes = 2 + self.assertEquals(boxlist.num_boxes(), expected_num_boxes) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/np_box_ops.py b/object_detection/utils/np_box_ops.py new file mode 100644 index 000000000..b4b46a756 --- /dev/null +++ b/object_detection/utils/np_box_ops.py @@ -0,0 +1,97 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Operations for [N, 4] numpy arrays representing bounding boxes. + +Example box operations that are supported: + * Areas: compute bounding box areas + * IOU: pairwise intersection-over-union scores +""" +import numpy as np + + +def area(boxes): + """Computes area of boxes. + + Args: + boxes: Numpy array with shape [N, 4] holding N boxes + + Returns: + a numpy array with shape [N*1] representing box areas + """ + return (boxes[:, 2] - boxes[:, 0]) * (boxes[:, 3] - boxes[:, 1]) + + +def intersection(boxes1, boxes2): + """Compute pairwise intersection areas between boxes. + + Args: + boxes1: a numpy array with shape [N, 4] holding N boxes + boxes2: a numpy array with shape [M, 4] holding M boxes + + Returns: + a numpy array with shape [N*M] representing pairwise intersection area + """ + [y_min1, x_min1, y_max1, x_max1] = np.split(boxes1, 4, axis=1) + [y_min2, x_min2, y_max2, x_max2] = np.split(boxes2, 4, axis=1) + + all_pairs_min_ymax = np.minimum(y_max1, np.transpose(y_max2)) + all_pairs_max_ymin = np.maximum(y_min1, np.transpose(y_min2)) + intersect_heights = np.maximum( + np.zeros(all_pairs_max_ymin.shape), + all_pairs_min_ymax - all_pairs_max_ymin) + all_pairs_min_xmax = np.minimum(x_max1, np.transpose(x_max2)) + all_pairs_max_xmin = np.maximum(x_min1, np.transpose(x_min2)) + intersect_widths = np.maximum( + np.zeros(all_pairs_max_xmin.shape), + all_pairs_min_xmax - all_pairs_max_xmin) + return intersect_heights * intersect_widths + + +def iou(boxes1, boxes2): + """Computes pairwise intersection-over-union between box collections. + + Args: + boxes1: a numpy array with shape [N, 4] holding N boxes. + boxes2: a numpy array with shape [M, 4] holding N boxes. + + Returns: + a numpy array with shape [N, M] representing pairwise iou scores. + """ + intersect = intersection(boxes1, boxes2) + area1 = area(boxes1) + area2 = area(boxes2) + union = np.expand_dims(area1, axis=1) + np.expand_dims( + area2, axis=0) - intersect + return intersect / union + + +def ioa(boxes1, boxes2): + """Computes pairwise intersection-over-area between box collections. + + Intersection-over-area (ioa) between two boxes box1 and box2 is defined as + their intersection area over box2's area. Note that ioa is not symmetric, + that is, IOA(box1, box2) != IOA(box2, box1). + + Args: + boxes1: a numpy array with shape [N, 4] holding N boxes. + boxes2: a numpy array with shape [M, 4] holding N boxes. + + Returns: + a numpy array with shape [N, M] representing pairwise ioa scores. + """ + intersect = intersection(boxes1, boxes2) + areas = np.expand_dims(area(boxes2), axis=0) + return intersect / areas diff --git a/object_detection/utils/np_box_ops_test.py b/object_detection/utils/np_box_ops_test.py new file mode 100644 index 000000000..730f3d205 --- /dev/null +++ b/object_detection/utils/np_box_ops_test.py @@ -0,0 +1,68 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.np_box_ops.""" + +import numpy as np +import tensorflow as tf + +from object_detection.utils import np_box_ops + + +class BoxOpsTests(tf.test.TestCase): + + def setUp(self): + boxes1 = np.array([[4.0, 3.0, 7.0, 5.0], [5.0, 6.0, 10.0, 7.0]], + dtype=float) + boxes2 = np.array([[3.0, 4.0, 6.0, 8.0], [14.0, 14.0, 15.0, 15.0], + [0.0, 0.0, 20.0, 20.0]], + dtype=float) + self.boxes1 = boxes1 + self.boxes2 = boxes2 + + def testArea(self): + areas = np_box_ops.area(self.boxes1) + expected_areas = np.array([6.0, 5.0], dtype=float) + self.assertAllClose(expected_areas, areas) + + def testIntersection(self): + intersection = np_box_ops.intersection(self.boxes1, self.boxes2) + expected_intersection = np.array([[2.0, 0.0, 6.0], [1.0, 0.0, 5.0]], + dtype=float) + self.assertAllClose(intersection, expected_intersection) + + def testIOU(self): + iou = np_box_ops.iou(self.boxes1, self.boxes2) + expected_iou = np.array([[2.0 / 16.0, 0.0, 6.0 / 400.0], + [1.0 / 16.0, 0.0, 5.0 / 400.0]], + dtype=float) + self.assertAllClose(iou, expected_iou) + + def testIOA(self): + boxes1 = np.array([[0.25, 0.25, 0.75, 0.75], + [0.0, 0.0, 0.5, 0.75]], + dtype=np.float32) + boxes2 = np.array([[0.5, 0.25, 1.0, 1.0], + [0.0, 0.0, 1.0, 1.0]], + dtype=np.float32) + ioa21 = np_box_ops.ioa(boxes2, boxes1) + expected_ioa21 = np.array([[0.5, 0.0], + [1.0, 1.0]], + dtype=np.float32) + self.assertAllClose(ioa21, expected_ioa21) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/object_detection_evaluation.py b/object_detection/utils/object_detection_evaluation.py new file mode 100644 index 000000000..b2b14844b --- /dev/null +++ b/object_detection/utils/object_detection_evaluation.py @@ -0,0 +1,233 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""object_detection_evaluation module. + +ObjectDetectionEvaluation is a class which manages ground truth information of a +object detection dataset, and computes frequently used detection metrics such as +Precision, Recall, CorLoc of the provided detection results. +It supports the following operations: +1) Add ground truth information of images sequentially. +2) Add detection result of images sequentially. +3) Evaluate detection metrics on already inserted detection results. +4) Write evaluation result into a pickle file for future processing or + visualization. + +Note: This module operates on numpy boxes and box lists. +""" + +import logging +import numpy as np + +from object_detection.utils import metrics +from object_detection.utils import per_image_evaluation + + +class ObjectDetectionEvaluation(object): + """Evaluate Object Detection Result.""" + + def __init__(self, + num_groundtruth_classes, + matching_iou_threshold=0.5, + nms_iou_threshold=1.0, + nms_max_output_boxes=10000): + self.per_image_eval = per_image_evaluation.PerImageEvaluation( + num_groundtruth_classes, matching_iou_threshold, nms_iou_threshold, + nms_max_output_boxes) + self.num_class = num_groundtruth_classes + + self.groundtruth_boxes = {} + self.groundtruth_class_labels = {} + self.groundtruth_is_difficult_list = {} + self.num_gt_instances_per_class = np.zeros(self.num_class, dtype=int) + self.num_gt_imgs_per_class = np.zeros(self.num_class, dtype=int) + + self.detection_keys = set() + self.scores_per_class = [[] for _ in range(self.num_class)] + self.tp_fp_labels_per_class = [[] for _ in range(self.num_class)] + self.num_images_correctly_detected_per_class = np.zeros(self.num_class) + self.average_precision_per_class = np.empty(self.num_class, dtype=float) + self.average_precision_per_class.fill(np.nan) + self.precisions_per_class = [] + self.recalls_per_class = [] + self.corloc_per_class = np.ones(self.num_class, dtype=float) + + def clear_detections(self): + self.detection_keys = {} + self.scores_per_class = [[] for _ in range(self.num_class)] + self.tp_fp_labels_per_class = [[] for _ in range(self.num_class)] + self.num_images_correctly_detected_per_class = np.zeros(self.num_class) + self.average_precision_per_class = np.zeros(self.num_class, dtype=float) + self.precisions_per_class = [] + self.recalls_per_class = [] + self.corloc_per_class = np.ones(self.num_class, dtype=float) + + def add_single_ground_truth_image_info(self, + image_key, + groundtruth_boxes, + groundtruth_class_labels, + groundtruth_is_difficult_list=None): + """Add ground truth info of a single image into the evaluation database. + + Args: + image_key: sha256 key of image content + groundtruth_boxes: A numpy array of shape [M, 4] representing object box + coordinates[y_min, x_min, y_max, x_max] + groundtruth_class_labels: A 1-d numpy array of length M representing class + labels + groundtruth_is_difficult_list: A length M numpy boolean array denoting + whether a ground truth box is a difficult instance or not. To support + the case that no boxes are difficult, it is by default set as None. + """ + if image_key in self.groundtruth_boxes: + logging.warn( + 'image %s has already been added to the ground truth database.', + image_key) + return + + self.groundtruth_boxes[image_key] = groundtruth_boxes + self.groundtruth_class_labels[image_key] = groundtruth_class_labels + if groundtruth_is_difficult_list is None: + num_boxes = groundtruth_boxes.shape[0] + groundtruth_is_difficult_list = np.zeros(num_boxes, dtype=bool) + self.groundtruth_is_difficult_list[ + image_key] = groundtruth_is_difficult_list.astype(dtype=bool) + self._update_ground_truth_statistics(groundtruth_class_labels, + groundtruth_is_difficult_list) + + def add_single_detected_image_info(self, image_key, detected_boxes, + detected_scores, detected_class_labels): + """Add detected result of a single image into the evaluation database. + + Args: + image_key: sha256 key of image content + detected_boxes: A numpy array of shape [N, 4] representing detected box + coordinates[y_min, x_min, y_max, x_max] + detected_scores: A 1-d numpy array of length N representing classification + score + detected_class_labels: A 1-d numpy array of length N representing class + labels + Raises: + ValueError: if detected_boxes, detected_scores and detected_class_labels + do not have the same length. + """ + if (len(detected_boxes) != len(detected_scores) or + len(detected_boxes) != len(detected_class_labels)): + raise ValueError('detected_boxes, detected_scores and ' + 'detected_class_labels should all have same lengths. Got' + '[%d, %d, %d]' % len(detected_boxes), + len(detected_scores), len(detected_class_labels)) + + if image_key in self.detection_keys: + logging.warn( + 'image %s has already been added to the detection result database', + image_key) + return + + self.detection_keys.add(image_key) + if image_key in self.groundtruth_boxes: + groundtruth_boxes = self.groundtruth_boxes[image_key] + groundtruth_class_labels = self.groundtruth_class_labels[image_key] + groundtruth_is_difficult_list = self.groundtruth_is_difficult_list[ + image_key] + else: + groundtruth_boxes = np.empty(shape=[0, 4], dtype=float) + groundtruth_class_labels = np.array([], dtype=int) + groundtruth_is_difficult_list = np.array([], dtype=bool) + scores, tp_fp_labels, is_class_correctly_detected_in_image = ( + self.per_image_eval.compute_object_detection_metrics( + detected_boxes, detected_scores, detected_class_labels, + groundtruth_boxes, groundtruth_class_labels, + groundtruth_is_difficult_list)) + for i in range(self.num_class): + self.scores_per_class[i].append(scores[i]) + self.tp_fp_labels_per_class[i].append(tp_fp_labels[i]) + (self.num_images_correctly_detected_per_class + ) += is_class_correctly_detected_in_image + + def _update_ground_truth_statistics(self, groundtruth_class_labels, + groundtruth_is_difficult_list): + """Update grouth truth statitistics. + + 1. Difficult boxes are ignored when counting the number of ground truth + instances as done in Pascal VOC devkit. + 2. Difficult boxes are treated as normal boxes when computing CorLoc related + statitistics. + + Args: + groundtruth_class_labels: An integer numpy array of length M, + representing M class labels of object instances in ground truth + groundtruth_is_difficult_list: A boolean numpy array of length M denoting + whether a ground truth box is a difficult instance or not + """ + for class_index in range(self.num_class): + num_gt_instances = np.sum(groundtruth_class_labels[ + ~groundtruth_is_difficult_list] == class_index) + self.num_gt_instances_per_class[class_index] += num_gt_instances + if np.any(groundtruth_class_labels == class_index): + self.num_gt_imgs_per_class[class_index] += 1 + + def evaluate(self): + """Compute evaluation result. + + Returns: + average_precision_per_class: float numpy array of average precision for + each class. + mean_ap: mean average precision of all classes, float scalar + precisions_per_class: List of precisions, each precision is a float numpy + array + recalls_per_class: List of recalls, each recall is a float numpy array + corloc_per_class: numpy float array + mean_corloc: Mean CorLoc score for each class, float scalar + """ + if (self.num_gt_instances_per_class == 0).any(): + logging.warn( + 'The following classes have no ground truth examples: %s', + np.squeeze(np.argwhere(self.num_gt_instances_per_class == 0))) + for class_index in range(self.num_class): + if self.num_gt_instances_per_class[class_index] == 0: + continue + scores = np.concatenate(self.scores_per_class[class_index]) + tp_fp_labels = np.concatenate(self.tp_fp_labels_per_class[class_index]) + precision, recall = metrics.compute_precision_recall( + scores, tp_fp_labels, self.num_gt_instances_per_class[class_index]) + self.precisions_per_class.append(precision) + self.recalls_per_class.append(recall) + average_precision = metrics.compute_average_precision(precision, recall) + self.average_precision_per_class[class_index] = average_precision + + self.corloc_per_class = metrics.compute_cor_loc( + self.num_gt_imgs_per_class, + self.num_images_correctly_detected_per_class) + + mean_ap = np.nanmean(self.average_precision_per_class) + mean_corloc = np.nanmean(self.corloc_per_class) + return (self.average_precision_per_class, mean_ap, + self.precisions_per_class, self.recalls_per_class, + self.corloc_per_class, mean_corloc) + + def get_eval_result(self): + return EvalResult(self.average_precision_per_class, + self.precisions_per_class, self.recalls_per_class, + self.corloc_per_class) + + +class EvalResult(object): + + def __init__(self, average_precisions, precisions, recalls, all_corloc): + self.precisions = precisions + self.recalls = recalls + self.all_corloc = all_corloc + self.average_precisions = average_precisions diff --git a/object_detection/utils/object_detection_evaluation_test.py b/object_detection/utils/object_detection_evaluation_test.py new file mode 100644 index 000000000..12bfc6b9d --- /dev/null +++ b/object_detection/utils/object_detection_evaluation_test.py @@ -0,0 +1,125 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.object_detection_evaluation.""" + +import numpy as np +import tensorflow as tf + +from object_detection.utils import object_detection_evaluation + + +class ObjectDetectionEvaluationTest(tf.test.TestCase): + + def setUp(self): + num_groundtruth_classes = 3 + self.od_eval = object_detection_evaluation.ObjectDetectionEvaluation( + num_groundtruth_classes) + + image_key1 = "img1" + groundtruth_boxes1 = np.array([[0, 0, 1, 1], [0, 0, 2, 2], [0, 0, 3, 3]], + dtype=float) + groundtruth_class_labels1 = np.array([0, 2, 0], dtype=int) + self.od_eval.add_single_ground_truth_image_info( + image_key1, groundtruth_boxes1, groundtruth_class_labels1) + image_key2 = "img2" + groundtruth_boxes2 = np.array([[10, 10, 11, 11], [500, 500, 510, 510], + [10, 10, 12, 12]], dtype=float) + groundtruth_class_labels2 = np.array([0, 0, 2], dtype=int) + groundtruth_is_difficult_list2 = np.array([False, True, False], dtype=bool) + self.od_eval.add_single_ground_truth_image_info( + image_key2, groundtruth_boxes2, groundtruth_class_labels2, + groundtruth_is_difficult_list2) + image_key3 = "img3" + groundtruth_boxes3 = np.array([[0, 0, 1, 1]], dtype=float) + groundtruth_class_labels3 = np.array([1], dtype=int) + self.od_eval.add_single_ground_truth_image_info( + image_key3, groundtruth_boxes3, groundtruth_class_labels3) + + image_key = "img2" + detected_boxes = np.array( + [[10, 10, 11, 11], [100, 100, 120, 120], [100, 100, 220, 220]], + dtype=float) + detected_class_labels = np.array([0, 0, 2], dtype=int) + detected_scores = np.array([0.7, 0.8, 0.9], dtype=float) + self.od_eval.add_single_detected_image_info( + image_key, detected_boxes, detected_scores, detected_class_labels) + + def test_add_single_ground_truth_image_info(self): + expected_num_gt_instances_per_class = np.array([3, 1, 2], dtype=int) + expected_num_gt_imgs_per_class = np.array([2, 1, 2], dtype=int) + self.assertTrue(np.array_equal(expected_num_gt_instances_per_class, + self.od_eval.num_gt_instances_per_class)) + self.assertTrue(np.array_equal(expected_num_gt_imgs_per_class, + self.od_eval.num_gt_imgs_per_class)) + groundtruth_boxes2 = np.array([[10, 10, 11, 11], [500, 500, 510, 510], + [10, 10, 12, 12]], dtype=float) + self.assertTrue(np.allclose(self.od_eval.groundtruth_boxes["img2"], + groundtruth_boxes2)) + groundtruth_is_difficult_list2 = np.array([False, True, False], dtype=bool) + self.assertTrue(np.allclose( + self.od_eval.groundtruth_is_difficult_list["img2"], + groundtruth_is_difficult_list2)) + groundtruth_class_labels1 = np.array([0, 2, 0], dtype=int) + self.assertTrue(np.array_equal(self.od_eval.groundtruth_class_labels[ + "img1"], groundtruth_class_labels1)) + + def test_add_single_detected_image_info(self): + expected_scores_per_class = [[np.array([0.8, 0.7], dtype=float)], [], + [np.array([0.9], dtype=float)]] + expected_tp_fp_labels_per_class = [[np.array([0, 1], dtype=bool)], [], + [np.array([0], dtype=bool)]] + expected_num_images_correctly_detected_per_class = np.array([0, 0, 0], + dtype=int) + for i in range(self.od_eval.num_class): + for j in range(len(expected_scores_per_class[i])): + self.assertTrue(np.allclose(expected_scores_per_class[i][j], + self.od_eval.scores_per_class[i][j])) + self.assertTrue(np.array_equal(expected_tp_fp_labels_per_class[i][ + j], self.od_eval.tp_fp_labels_per_class[i][j])) + self.assertTrue(np.array_equal( + expected_num_images_correctly_detected_per_class, + self.od_eval.num_images_correctly_detected_per_class)) + + def test_evaluate(self): + (average_precision_per_class, mean_ap, precisions_per_class, + recalls_per_class, corloc_per_class, + mean_corloc) = self.od_eval.evaluate() + expected_precisions_per_class = [np.array([0, 0.5], dtype=float), + np.array([], dtype=float), + np.array([0], dtype=float)] + expected_recalls_per_class = [ + np.array([0, 1. / 3.], dtype=float), np.array([], dtype=float), + np.array([0], dtype=float) + ] + expected_average_precision_per_class = np.array([1. / 6., 0, 0], + dtype=float) + expected_corloc_per_class = np.array([0, np.divide(0, 0), 0], dtype=float) + expected_mean_ap = 1. / 18 + expected_mean_corloc = 0.0 + for i in range(self.od_eval.num_class): + self.assertTrue(np.allclose(expected_precisions_per_class[i], + precisions_per_class[i])) + self.assertTrue(np.allclose(expected_recalls_per_class[i], + recalls_per_class[i])) + self.assertTrue(np.allclose(expected_average_precision_per_class, + average_precision_per_class)) + self.assertTrue(np.allclose(expected_corloc_per_class, corloc_per_class)) + self.assertAlmostEqual(expected_mean_ap, mean_ap) + self.assertAlmostEqual(expected_mean_corloc, mean_corloc) + + +if __name__ == "__main__": + tf.test.main() diff --git a/object_detection/utils/ops.py b/object_detection/utils/ops.py new file mode 100644 index 000000000..989cdf3c4 --- /dev/null +++ b/object_detection/utils/ops.py @@ -0,0 +1,650 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""A module for helper tensorflow ops.""" +import math + +import tensorflow as tf + +from object_detection.core import box_list +from object_detection.core import box_list_ops +from object_detection.core import standard_fields as fields +from object_detection.utils import static_shape + + +def expanded_shape(orig_shape, start_dim, num_dims): + """Inserts multiple ones into a shape vector. + + Inserts an all-1 vector of length num_dims at position start_dim into a shape. + Can be combined with tf.reshape to generalize tf.expand_dims. + + Args: + orig_shape: the shape into which the all-1 vector is added (int32 vector) + start_dim: insertion position (int scalar) + num_dims: length of the inserted all-1 vector (int scalar) + Returns: + An int32 vector of length tf.size(orig_shape) + num_dims. + """ + with tf.name_scope('ExpandedShape'): + start_dim = tf.expand_dims(start_dim, 0) # scalar to rank-1 + before = tf.slice(orig_shape, [0], start_dim) + add_shape = tf.ones(tf.reshape(num_dims, [1]), dtype=tf.int32) + after = tf.slice(orig_shape, start_dim, [-1]) + new_shape = tf.concat([before, add_shape, after], 0) + return new_shape + + +def normalized_to_image_coordinates(normalized_boxes, image_shape, + parallel_iterations=32): + """Converts a batch of boxes from normal to image coordinates. + + Args: + normalized_boxes: a float32 tensor of shape [None, num_boxes, 4] in + normalized coordinates. + image_shape: a float32 tensor of shape [4] containing the image shape. + parallel_iterations: parallelism for the map_fn op. + + Returns: + absolute_boxes: a float32 tensor of shape [None, num_boxes, 4] containg the + boxes in image coordinates. + """ + def _to_absolute_coordinates(normalized_boxes): + return box_list_ops.to_absolute_coordinates( + box_list.BoxList(normalized_boxes), + image_shape[1], image_shape[2], check_range=False).get() + + absolute_boxes = tf.map_fn( + _to_absolute_coordinates, + elems=(normalized_boxes), + dtype=tf.float32, + parallel_iterations=parallel_iterations, + back_prop=True) + return absolute_boxes + + +def meshgrid(x, y): + """Tiles the contents of x and y into a pair of grids. + + Multidimensional analog of numpy.meshgrid, giving the same behavior if x and y + are vectors. Generally, this will give: + + xgrid(i1, ..., i_m, j_1, ..., j_n) = x(j_1, ..., j_n) + ygrid(i1, ..., i_m, j_1, ..., j_n) = y(i_1, ..., i_m) + + Keep in mind that the order of the arguments and outputs is reverse relative + to the order of the indices they go into, done for compatibility with numpy. + The output tensors have the same shapes. Specifically: + + xgrid.get_shape() = y.get_shape().concatenate(x.get_shape()) + ygrid.get_shape() = y.get_shape().concatenate(x.get_shape()) + + Args: + x: A tensor of arbitrary shape and rank. xgrid will contain these values + varying in its last dimensions. + y: A tensor of arbitrary shape and rank. ygrid will contain these values + varying in its first dimensions. + Returns: + A tuple of tensors (xgrid, ygrid). + """ + with tf.name_scope('Meshgrid'): + x = tf.convert_to_tensor(x) + y = tf.convert_to_tensor(y) + x_exp_shape = expanded_shape(tf.shape(x), 0, tf.rank(y)) + y_exp_shape = expanded_shape(tf.shape(y), tf.rank(y), tf.rank(x)) + + xgrid = tf.tile(tf.reshape(x, x_exp_shape), y_exp_shape) + ygrid = tf.tile(tf.reshape(y, y_exp_shape), x_exp_shape) + new_shape = y.get_shape().concatenate(x.get_shape()) + xgrid.set_shape(new_shape) + ygrid.set_shape(new_shape) + + return xgrid, ygrid + + +def pad_to_multiple(tensor, multiple): + """Returns the tensor zero padded to the specified multiple. + + Appends 0s to the end of the first and second dimension (height and width) of + the tensor until both dimensions are a multiple of the input argument + 'multiple'. E.g. given an input tensor of shape [1, 3, 5, 1] and an input + multiple of 4, PadToMultiple will append 0s so that the resulting tensor will + be of shape [1, 4, 8, 1]. + + Args: + tensor: rank 4 float32 tensor, where + tensor -> [batch_size, height, width, channels]. + multiple: the multiple to pad to. + + Returns: + padded_tensor: the tensor zero padded to the specified multiple. + """ + tensor_shape = tensor.get_shape() + batch_size = static_shape.get_batch_size(tensor_shape) + tensor_height = static_shape.get_height(tensor_shape) + tensor_width = static_shape.get_width(tensor_shape) + tensor_depth = static_shape.get_depth(tensor_shape) + + if batch_size is None: + batch_size = tf.shape(tensor)[0] + + if tensor_height is None: + tensor_height = tf.shape(tensor)[1] + padded_tensor_height = tf.to_int32( + tf.ceil(tf.to_float(tensor_height) / tf.to_float(multiple))) * multiple + else: + padded_tensor_height = int( + math.ceil(float(tensor_height) / multiple) * multiple) + + if tensor_width is None: + tensor_width = tf.shape(tensor)[2] + padded_tensor_width = tf.to_int32( + tf.ceil(tf.to_float(tensor_width) / tf.to_float(multiple))) * multiple + else: + padded_tensor_width = int( + math.ceil(float(tensor_width) / multiple) * multiple) + + if tensor_depth is None: + tensor_depth = tf.shape(tensor)[3] + + # Use tf.concat instead of tf.pad to preserve static shape + height_pad = tf.zeros([ + batch_size, padded_tensor_height - tensor_height, tensor_width, + tensor_depth + ]) + padded_tensor = tf.concat([tensor, height_pad], 1) + width_pad = tf.zeros([ + batch_size, padded_tensor_height, padded_tensor_width - tensor_width, + tensor_depth + ]) + padded_tensor = tf.concat([padded_tensor, width_pad], 2) + + return padded_tensor + + +def padded_one_hot_encoding(indices, depth, left_pad): + """Returns a zero padded one-hot tensor. + + This function converts a sparse representation of indices (e.g., [4]) to a + zero padded one-hot representation (e.g., [0, 0, 0, 0, 1] with depth = 4 and + left_pad = 1). If `indices` is empty, the result will simply be a tensor of + shape (0, depth + left_pad). If depth = 0, then this function just returns + `None`. + + Args: + indices: an integer tensor of shape [num_indices]. + depth: depth for the one-hot tensor (integer). + left_pad: number of zeros to left pad the one-hot tensor with (integer). + + Returns: + padded_onehot: a tensor with shape (num_indices, depth + left_pad). Returns + `None` if the depth is zero. + + Raises: + ValueError: if `indices` does not have rank 1 or if `left_pad` or `depth are + either negative or non-integers. + + TODO: add runtime checks for depth and indices. + """ + if depth < 0 or not isinstance(depth, (int, long)): + raise ValueError('`depth` must be a non-negative integer.') + if left_pad < 0 or not isinstance(left_pad, (int, long)): + raise ValueError('`left_pad` must be a non-negative integer.') + if depth == 0: + return None + if len(indices.get_shape().as_list()) != 1: + raise ValueError('`indices` must have rank 1') + + def one_hot_and_pad(): + one_hot = tf.cast(tf.one_hot(tf.cast(indices, tf.int64), depth, + on_value=1, off_value=0), tf.float32) + return tf.pad(one_hot, [[0, 0], [left_pad, 0]], mode='CONSTANT') + result = tf.cond(tf.greater(tf.size(indices), 0), one_hot_and_pad, + lambda: tf.zeros((depth + left_pad, 0))) + return tf.reshape(result, [-1, depth + left_pad]) + + +def dense_to_sparse_boxes(dense_locations, dense_num_boxes, num_classes): + """Converts bounding boxes from dense to sparse form. + + Args: + dense_locations: a [max_num_boxes, 4] tensor in which only the first k rows + are valid bounding box location coordinates, where k is the sum of + elements in dense_num_boxes. + dense_num_boxes: a [max_num_classes] tensor indicating the counts of + various bounding box classes e.g. [1, 0, 0, 2] means that the first + bounding box is of class 0 and the second and third bounding boxes are + of class 3. The sum of elements in this tensor is the number of valid + bounding boxes. + num_classes: number of classes + + Returns: + box_locations: a [num_boxes, 4] tensor containing only valid bounding + boxes (i.e. the first num_boxes rows of dense_locations) + box_classes: a [num_boxes] tensor containing the classes of each bounding + box (e.g. dense_num_boxes = [1, 0, 0, 2] => box_classes = [0, 3, 3] + """ + + num_valid_boxes = tf.reduce_sum(dense_num_boxes) + box_locations = tf.slice(dense_locations, + tf.constant([0, 0]), tf.stack([num_valid_boxes, 4])) + tiled_classes = [tf.tile([i], tf.expand_dims(dense_num_boxes[i], 0)) + for i in range(num_classes)] + box_classes = tf.concat(tiled_classes, 0) + box_locations.set_shape([None, 4]) + return box_locations, box_classes + + +def indices_to_dense_vector(indices, + size, + indices_value=1., + default_value=0, + dtype=tf.float32): + """Creates dense vector with indices set to specific value and rest to zeros. + + This function exists because it is unclear if it is safe to use + tf.sparse_to_dense(indices, [size], 1, validate_indices=False) + with indices which are not ordered. + This function accepts a dynamic size (e.g. tf.shape(tensor)[0]) + + Args: + indices: 1d Tensor with integer indices which are to be set to + indices_values. + size: scalar with size (integer) of output Tensor. + indices_value: values of elements specified by indices in the output vector + default_value: values of other elements in the output vector. + dtype: data type. + + Returns: + dense 1D Tensor of shape [size] with indices set to indices_values and the + rest set to default_value. + """ + size = tf.to_int32(size) + zeros = tf.ones([size], dtype=dtype) * default_value + values = tf.ones_like(indices, dtype=dtype) * indices_value + + return tf.dynamic_stitch([tf.range(size), tf.to_int32(indices)], + [zeros, values]) + + +def retain_groundtruth(tensor_dict, valid_indices): + """Retains groundtruth by valid indices. + + Args: + tensor_dict: a dictionary of following groundtruth tensors - + fields.InputDataFields.groundtruth_boxes + fields.InputDataFields.groundtruth_classes + fields.InputDataFields.groundtruth_is_crowd + fields.InputDataFields.groundtruth_area + fields.InputDataFields.groundtruth_label_types + fields.InputDataFields.groundtruth_difficult + valid_indices: a tensor with valid indices for the box-level groundtruth. + + Returns: + a dictionary of tensors containing only the groundtruth for valid_indices. + + Raises: + ValueError: If the shape of valid_indices is invalid. + ValueError: field fields.InputDataFields.groundtruth_boxes is + not present in tensor_dict. + """ + input_shape = valid_indices.get_shape().as_list() + if not (len(input_shape) == 1 or + (len(input_shape) == 2 and input_shape[1] == 1)): + raise ValueError('The shape of valid_indices is invalid.') + valid_indices = tf.reshape(valid_indices, [-1]) + valid_dict = {} + if fields.InputDataFields.groundtruth_boxes in tensor_dict: + # Prevents reshape failure when num_boxes is 0. + num_boxes = tf.maximum(tf.shape( + tensor_dict[fields.InputDataFields.groundtruth_boxes])[0], 1) + for key in tensor_dict: + if key in [fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_classes]: + valid_dict[key] = tf.gather(tensor_dict[key], valid_indices) + # Input decoder returns empty tensor when these fields are not provided. + # Needs to reshape into [num_boxes, -1] for tf.gather() to work. + elif key in [fields.InputDataFields.groundtruth_is_crowd, + fields.InputDataFields.groundtruth_area, + fields.InputDataFields.groundtruth_difficult, + fields.InputDataFields.groundtruth_label_types]: + valid_dict[key] = tf.reshape( + tf.gather(tf.reshape(tensor_dict[key], [num_boxes, -1]), + valid_indices), [-1]) + # Fields that are not associated with boxes. + else: + valid_dict[key] = tensor_dict[key] + else: + raise ValueError('%s not present in input tensor dict.' % ( + fields.InputDataFields.groundtruth_boxes)) + return valid_dict + + +def retain_groundtruth_with_positive_classes(tensor_dict): + """Retains only groundtruth with positive class ids. + + Args: + tensor_dict: a dictionary of following groundtruth tensors - + fields.InputDataFields.groundtruth_boxes + fields.InputDataFields.groundtruth_classes + fields.InputDataFields.groundtruth_is_crowd + fields.InputDataFields.groundtruth_area + fields.InputDataFields.groundtruth_label_types + fields.InputDataFields.groundtruth_difficult + + Returns: + a dictionary of tensors containing only the groundtruth with positive + classes. + + Raises: + ValueError: If groundtruth_classes tensor is not in tensor_dict. + """ + if fields.InputDataFields.groundtruth_classes not in tensor_dict: + raise ValueError('`groundtruth classes` not in tensor_dict.') + keep_indices = tf.where(tf.greater( + tensor_dict[fields.InputDataFields.groundtruth_classes], 0)) + return retain_groundtruth(tensor_dict, keep_indices) + + +def filter_groundtruth_with_nan_box_coordinates(tensor_dict): + """Filters out groundtruth with no bounding boxes. + + Args: + tensor_dict: a dictionary of following groundtruth tensors - + fields.InputDataFields.groundtruth_boxes + fields.InputDataFields.groundtruth_classes + fields.InputDataFields.groundtruth_is_crowd + fields.InputDataFields.groundtruth_area + fields.InputDataFields.groundtruth_label_types + + Returns: + a dictionary of tensors containing only the groundtruth that have bounding + boxes. + """ + groundtruth_boxes = tensor_dict[fields.InputDataFields.groundtruth_boxes] + nan_indicator_vector = tf.greater(tf.reduce_sum(tf.to_int32( + tf.is_nan(groundtruth_boxes)), reduction_indices=[1]), 0) + valid_indicator_vector = tf.logical_not(nan_indicator_vector) + valid_indices = tf.where(valid_indicator_vector) + + return retain_groundtruth(tensor_dict, valid_indices) + + +def normalize_to_target(inputs, + target_norm_value, + dim, + epsilon=1e-7, + trainable=True, + scope='NormalizeToTarget', + summarize=True): + """L2 normalizes the inputs across the specified dimension to a target norm. + + This op implements the L2 Normalization layer introduced in + Liu, Wei, et al. "SSD: Single Shot MultiBox Detector." + and Liu, Wei, Andrew Rabinovich, and Alexander C. Berg. + "Parsenet: Looking wider to see better." and is useful for bringing + activations from multiple layers in a convnet to a standard scale. + + Note that the rank of `inputs` must be known and the dimension to which + normalization is to be applied should be statically defined. + + TODO: Add option to scale by L2 norm of the entire input. + + Args: + inputs: A `Tensor` of arbitrary size. + target_norm_value: A float value that specifies an initial target norm or + a list of floats (whose length must be equal to the depth along the + dimension to be normalized) specifying a per-dimension multiplier + after normalization. + dim: The dimension along which the input is normalized. + epsilon: A small value to add to the inputs to avoid dividing by zero. + trainable: Whether the norm is trainable or not + scope: Optional scope for variable_scope. + summarize: Whether or not to add a tensorflow summary for the op. + + Returns: + The input tensor normalized to the specified target norm. + + Raises: + ValueError: If dim is smaller than the number of dimensions in 'inputs'. + ValueError: If target_norm_value is not a float or a list of floats with + length equal to the depth along the dimension to be normalized. + """ + with tf.variable_scope(scope, 'NormalizeToTarget', [inputs]): + if not inputs.get_shape(): + raise ValueError('The input rank must be known.') + input_shape = inputs.get_shape().as_list() + input_rank = len(input_shape) + if dim < 0 or dim >= input_rank: + raise ValueError( + 'dim must be non-negative but smaller than the input rank.') + if not input_shape[dim]: + raise ValueError('input shape should be statically defined along ' + 'the specified dimension.') + depth = input_shape[dim] + if not (isinstance(target_norm_value, float) or + (isinstance(target_norm_value, list) and + len(target_norm_value) == depth) and + all([isinstance(val, float) for val in target_norm_value])): + raise ValueError('target_norm_value must be a float or a list of floats ' + 'with length equal to the depth along the dimension to ' + 'be normalized.') + if isinstance(target_norm_value, float): + initial_norm = depth * [target_norm_value] + else: + initial_norm = target_norm_value + target_norm = tf.contrib.framework.model_variable( + name='weights', dtype=tf.float32, + initializer=tf.constant(initial_norm, dtype=tf.float32), + trainable=trainable) + if summarize: + mean = tf.reduce_mean(target_norm) + mean = tf.Print(mean, ['NormalizeToTarget:', mean]) + tf.summary.scalar(tf.get_variable_scope().name, mean) + lengths = epsilon + tf.sqrt(tf.reduce_sum(tf.square(inputs), dim, True)) + mult_shape = input_rank*[1] + mult_shape[dim] = depth + return tf.reshape(target_norm, mult_shape) * tf.truediv(inputs, lengths) + + +def position_sensitive_crop_regions(image, + boxes, + box_ind, + crop_size, + num_spatial_bins, + global_pool, + extrapolation_value=None): + """Position-sensitive crop and pool rectangular regions from a feature grid. + + The output crops are split into `spatial_bins_y` vertical bins + and `spatial_bins_x` horizontal bins. For each intersection of a vertical + and a horizontal bin the output values are gathered by performing + `tf.image.crop_and_resize` (bilinear resampling) on a a separate subset of + channels of the image. This reduces `depth` by a factor of + `(spatial_bins_y * spatial_bins_x)`. + + When global_pool is True, this function implements a differentiable version + of position-sensitive RoI pooling used in + [R-FCN detection system](https://arxiv.org/abs/1605.06409). + + When global_pool is False, this function implements a differentiable version + of position-sensitive assembling operation used in + [instance FCN](https://arxiv.org/abs/1603.08678). + + Args: + image: A `Tensor`. Must be one of the following types: `uint8`, `int8`, + `int16`, `int32`, `int64`, `half`, `float32`, `float64`. + A 4-D tensor of shape `[batch, image_height, image_width, depth]`. + Both `image_height` and `image_width` need to be positive. + boxes: A `Tensor` of type `float32`. + A 2-D tensor of shape `[num_boxes, 4]`. The `i`-th row of the tensor + specifies the coordinates of a box in the `box_ind[i]` image and is + specified in normalized coordinates `[y1, x1, y2, x2]`. A normalized + coordinate value of `y` is mapped to the image coordinate at + `y * (image_height - 1)`, so as the `[0, 1]` interval of normalized image + height is mapped to `[0, image_height - 1] in image height coordinates. + We do allow y1 > y2, in which case the sampled crop is an up-down flipped + version of the original image. The width dimension is treated similarly. + Normalized coordinates outside the `[0, 1]` range are allowed, in which + case we use `extrapolation_value` to extrapolate the input image values. + box_ind: A `Tensor` of type `int32`. + A 1-D tensor of shape `[num_boxes]` with int32 values in `[0, batch)`. + The value of `box_ind[i]` specifies the image that the `i`-th box refers + to. + crop_size: A list of two integers `[crop_height, crop_width]`. All + cropped image patches are resized to this size. The aspect ratio of the + image content is not preserved. Both `crop_height` and `crop_width` need + to be positive. + num_spatial_bins: A list of two integers `[spatial_bins_y, spatial_bins_x]`. + Represents the number of position-sensitive bins in y and x directions. + Both values should be >= 1. `crop_height` should be divisible by + `spatial_bins_y`, and similarly for width. + The number of image channels should be divisible by + (spatial_bins_y * spatial_bins_x). + Suggested value from R-FCN paper: [3, 3]. + global_pool: A boolean variable. + If True, we perform average global pooling on the features assembled from + the position-sensitive score maps. + If False, we keep the position-pooled features without global pooling + over the spatial coordinates. + Note that using global_pool=True is equivalent to but more efficient than + running the function with global_pool=False and then performing global + average pooling. + extrapolation_value: An optional `float`. Defaults to `0`. + Value used for extrapolation, when applicable. + Returns: + position_sensitive_features: A 4-D tensor of shape + `[num_boxes, K, K, crop_channels]`, + where `crop_channels = depth / (spatial_bins_y * spatial_bins_x)`, + where K = 1 when global_pool is True (Average-pooled cropped regions), + and K = crop_size when global_pool is False. + Raises: + ValueError: Raised in four situations: + `num_spatial_bins` is not >= 1; + `num_spatial_bins` does not divide `crop_size`; + `(spatial_bins_y*spatial_bins_x)` does not divide `depth`; + `bin_crop_size` is not square when global_pool=False due to the + constraint in function space_to_depth. + """ + total_bins = 1 + bin_crop_size = [] + + for (num_bins, crop_dim) in zip(num_spatial_bins, crop_size): + if num_bins < 1: + raise ValueError('num_spatial_bins should be >= 1') + + if crop_dim % num_bins != 0: + raise ValueError('crop_size should be divisible by num_spatial_bins') + + total_bins *= num_bins + bin_crop_size.append(crop_dim / num_bins) + + if not global_pool and bin_crop_size[0] != bin_crop_size[1]: + raise ValueError('Only support square bin crop size for now.') + + ymin, xmin, ymax, xmax = tf.unstack(boxes, axis=1) + spatial_bins_y, spatial_bins_x = num_spatial_bins + + # Split each box into spatial_bins_y * spatial_bins_x bins. + position_sensitive_boxes = [] + for bin_y in range(spatial_bins_y): + step_y = (ymax - ymin) / spatial_bins_y + for bin_x in range(spatial_bins_x): + step_x = (xmax - xmin) / spatial_bins_x + box_coordinates = [ymin + bin_y * step_y, + xmin + bin_x * step_x, + ymin + (bin_y + 1) * step_y, + xmin + (bin_x + 1) * step_x, + ] + position_sensitive_boxes.append(tf.stack(box_coordinates, axis=1)) + + image_splits = tf.split(value=image, num_or_size_splits=total_bins, axis=3) + + image_crops = [] + for (split, box) in zip(image_splits, position_sensitive_boxes): + crop = tf.image.crop_and_resize(split, box, box_ind, bin_crop_size, + extrapolation_value=extrapolation_value) + image_crops.append(crop) + + if global_pool: + # Average over all bins. + position_sensitive_features = tf.add_n(image_crops) / len(image_crops) + # Then average over spatial positions within the bins. + position_sensitive_features = tf.reduce_mean( + position_sensitive_features, [1, 2], keep_dims=True) + else: + # Reorder height/width to depth channel. + block_size = bin_crop_size[0] + if block_size >= 2: + image_crops = [tf.space_to_depth( + crop, block_size=block_size) for crop in image_crops] + + # Pack image_crops so that first dimension is for position-senstive boxes. + position_sensitive_features = tf.stack(image_crops, axis=0) + + # Unroll the position-sensitive boxes to spatial positions. + position_sensitive_features = tf.squeeze( + tf.batch_to_space_nd(position_sensitive_features, + block_shape=[1] + num_spatial_bins, + crops=tf.zeros((3, 2), dtype=tf.int32)), + squeeze_dims=[0]) + + # Reorder back the depth channel. + if block_size >= 2: + position_sensitive_features = tf.depth_to_space( + position_sensitive_features, block_size=block_size) + + return position_sensitive_features + + +def reframe_box_masks_to_image_masks(box_masks, boxes, image_height, + image_width): + """Transforms the box masks back to full image masks. + + Embeds masks in bounding boxes of larger masks whose shapes correspond to + image shape. + + Args: + box_masks: A tf.float32 tensor of size [num_masks, mask_height, mask_width]. + boxes: A tf.float32 tensor of size [num_masks, 4] containing the box + corners. Row i contains [ymin, xmin, ymax, xmax] of the box + corresponding to mask i. Note that the box corners are in + normalized coordinates. + image_height: Image height. The output mask will have the same height as + the image height. + image_width: Image width. The output mask will have the same width as the + image width. + + Returns: + A tf.float32 tensor of size [num_masks, image_height, image_width]. + """ + # TODO: Make this a public function. + def transform_boxes_relative_to_boxes(boxes, reference_boxes): + boxes = tf.reshape(boxes, [-1, 2, 2]) + min_corner = tf.expand_dims(reference_boxes[:, 0:2], 1) + max_corner = tf.expand_dims(reference_boxes[:, 2:4], 1) + transformed_boxes = (boxes - min_corner) / (max_corner - min_corner) + return tf.reshape(transformed_boxes, [-1, 4]) + + box_masks = tf.expand_dims(box_masks, axis=3) + num_boxes = tf.shape(box_masks)[0] + unit_boxes = tf.concat( + [tf.zeros([num_boxes, 2]), tf.ones([num_boxes, 2])], axis=1) + reverse_boxes = transform_boxes_relative_to_boxes(unit_boxes, boxes) + image_masks = tf.image.crop_and_resize(image=box_masks, + boxes=reverse_boxes, + box_ind=tf.range(num_boxes), + crop_size=[image_height, image_width], + extrapolation_value=0.0) + return tf.squeeze(image_masks, axis=3) diff --git a/object_detection/utils/ops_test.py b/object_detection/utils/ops_test.py new file mode 100644 index 000000000..1765c82a2 --- /dev/null +++ b/object_detection/utils/ops_test.py @@ -0,0 +1,1033 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.ops.""" +import numpy as np +import tensorflow as tf + +from object_detection.core import standard_fields as fields +from object_detection.utils import ops + + +class NormalizedToImageCoordinatesTest(tf.test.TestCase): + + def test_normalized_to_image_coordinates(self): + normalized_boxes = tf.placeholder(tf.float32, shape=(None, 1, 4)) + normalized_boxes_np = np.array([[[0.0, 0.0, 1.0, 1.0]], + [[0.5, 0.5, 1.0, 1.0]]]) + image_shape = tf.convert_to_tensor([1, 4, 4, 3], dtype=tf.int32) + absolute_boxes = ops.normalized_to_image_coordinates(normalized_boxes, + image_shape, + parallel_iterations=2) + + expected_boxes = np.array([[[0, 0, 4, 4]], + [[2, 2, 4, 4]]]) + with self.test_session() as sess: + absolute_boxes = sess.run(absolute_boxes, + feed_dict={normalized_boxes: + normalized_boxes_np}) + + self.assertAllEqual(absolute_boxes, expected_boxes) + + +class MeshgridTest(tf.test.TestCase): + + def test_meshgrid_numpy_comparison(self): + """Tests meshgrid op with vectors, for which it should match numpy.""" + x = np.arange(4) + y = np.arange(6) + exp_xgrid, exp_ygrid = np.meshgrid(x, y) + xgrid, ygrid = ops.meshgrid(x, y) + with self.test_session() as sess: + xgrid_output, ygrid_output = sess.run([xgrid, ygrid]) + self.assertAllEqual(xgrid_output, exp_xgrid) + self.assertAllEqual(ygrid_output, exp_ygrid) + + def test_meshgrid_multidimensional(self): + np.random.seed(18) + x = np.random.rand(4, 1, 2).astype(np.float32) + y = np.random.rand(2, 3).astype(np.float32) + + xgrid, ygrid = ops.meshgrid(x, y) + + grid_shape = list(y.shape) + list(x.shape) + self.assertEqual(xgrid.get_shape().as_list(), grid_shape) + self.assertEqual(ygrid.get_shape().as_list(), grid_shape) + with self.test_session() as sess: + xgrid_output, ygrid_output = sess.run([xgrid, ygrid]) + + # Check the shape of the output grids + self.assertEqual(xgrid_output.shape, tuple(grid_shape)) + self.assertEqual(ygrid_output.shape, tuple(grid_shape)) + + # Check a few elements + test_elements = [((3, 0, 0), (1, 2)), + ((2, 0, 1), (0, 0)), + ((0, 0, 0), (1, 1))] + for xind, yind in test_elements: + # These are float equality tests, but the meshgrid op should not introduce + # rounding. + self.assertEqual(xgrid_output[yind + xind], x[xind]) + self.assertEqual(ygrid_output[yind + xind], y[yind]) + + +class OpsTestPadToMultiple(tf.test.TestCase): + + def test_zero_padding(self): + tensor = tf.constant([[[[0.], [0.]], [[0.], [0.]]]]) + padded_tensor = ops.pad_to_multiple(tensor, 1) + with self.test_session() as sess: + padded_tensor_out = sess.run(padded_tensor) + self.assertEqual((1, 2, 2, 1), padded_tensor_out.shape) + + def test_no_padding(self): + tensor = tf.constant([[[[0.], [0.]], [[0.], [0.]]]]) + padded_tensor = ops.pad_to_multiple(tensor, 2) + with self.test_session() as sess: + padded_tensor_out = sess.run(padded_tensor) + self.assertEqual((1, 2, 2, 1), padded_tensor_out.shape) + + def test_padding(self): + tensor = tf.constant([[[[0.], [0.]], [[0.], [0.]]]]) + padded_tensor = ops.pad_to_multiple(tensor, 4) + with self.test_session() as sess: + padded_tensor_out = sess.run(padded_tensor) + self.assertEqual((1, 4, 4, 1), padded_tensor_out.shape) + + +class OpsTestPaddedOneHotEncoding(tf.test.TestCase): + + def test_correct_one_hot_tensor_with_no_pad(self): + indices = tf.constant([1, 2, 3, 5]) + one_hot_tensor = ops.padded_one_hot_encoding(indices, depth=6, left_pad=0) + expected_tensor = np.array([[0, 1, 0, 0, 0, 0], + [0, 0, 1, 0, 0, 0], + [0, 0, 0, 1, 0, 0], + [0, 0, 0, 0, 0, 1]], np.float32) + with self.test_session() as sess: + out_one_hot_tensor = sess.run(one_hot_tensor) + self.assertAllClose(out_one_hot_tensor, expected_tensor, rtol=1e-10, + atol=1e-10) + + def test_correct_one_hot_tensor_with_pad_one(self): + indices = tf.constant([1, 2, 3, 5]) + one_hot_tensor = ops.padded_one_hot_encoding(indices, depth=6, left_pad=1) + expected_tensor = np.array([[0, 0, 1, 0, 0, 0, 0], + [0, 0, 0, 1, 0, 0, 0], + [0, 0, 0, 0, 1, 0, 0], + [0, 0, 0, 0, 0, 0, 1]], np.float32) + with self.test_session() as sess: + out_one_hot_tensor = sess.run(one_hot_tensor) + self.assertAllClose(out_one_hot_tensor, expected_tensor, rtol=1e-10, + atol=1e-10) + + def test_correct_one_hot_tensor_with_pad_three(self): + indices = tf.constant([1, 2, 3, 5]) + one_hot_tensor = ops.padded_one_hot_encoding(indices, depth=6, left_pad=3) + expected_tensor = np.array([[0, 0, 0, 0, 1, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1]], np.float32) + with self.test_session() as sess: + out_one_hot_tensor = sess.run(one_hot_tensor) + self.assertAllClose(out_one_hot_tensor, expected_tensor, rtol=1e-10, + atol=1e-10) + + def test_correct_padded_one_hot_tensor_with_empty_indices(self): + depth = 6 + pad = 2 + indices = tf.constant([]) + one_hot_tensor = ops.padded_one_hot_encoding( + indices, depth=depth, left_pad=pad) + expected_tensor = np.zeros((0, depth + pad)) + with self.test_session() as sess: + out_one_hot_tensor = sess.run(one_hot_tensor) + self.assertAllClose(out_one_hot_tensor, expected_tensor, rtol=1e-10, + atol=1e-10) + + def test_return_none_on_zero_depth(self): + indices = tf.constant([1, 2, 3, 4, 5]) + one_hot_tensor = ops.padded_one_hot_encoding(indices, depth=0, left_pad=2) + self.assertEqual(one_hot_tensor, None) + + def test_raise_value_error_on_rank_two_input(self): + indices = tf.constant(1.0, shape=(2, 3)) + with self.assertRaises(ValueError): + ops.padded_one_hot_encoding(indices, depth=6, left_pad=2) + + def test_raise_value_error_on_negative_pad(self): + indices = tf.constant(1.0, shape=(2, 3)) + with self.assertRaises(ValueError): + ops.padded_one_hot_encoding(indices, depth=6, left_pad=-1) + + def test_raise_value_error_on_float_pad(self): + indices = tf.constant(1.0, shape=(2, 3)) + with self.assertRaises(ValueError): + ops.padded_one_hot_encoding(indices, depth=6, left_pad=0.1) + + def test_raise_value_error_on_float_depth(self): + indices = tf.constant(1.0, shape=(2, 3)) + with self.assertRaises(ValueError): + ops.padded_one_hot_encoding(indices, depth=0.1, left_pad=2) + + +class OpsDenseToSparseBoxesTest(tf.test.TestCase): + + def test_return_all_boxes_when_all_input_boxes_are_valid(self): + num_classes = 4 + num_valid_boxes = 3 + code_size = 4 + dense_location_placeholder = tf.placeholder(tf.float32, + shape=(num_valid_boxes, + code_size)) + dense_num_boxes_placeholder = tf.placeholder(tf.int32, shape=(num_classes)) + box_locations, box_classes = ops.dense_to_sparse_boxes( + dense_location_placeholder, dense_num_boxes_placeholder, num_classes) + feed_dict = {dense_location_placeholder: np.random.uniform( + size=[num_valid_boxes, code_size]), + dense_num_boxes_placeholder: np.array([1, 0, 0, 2], + dtype=np.int32)} + + expected_box_locations = feed_dict[dense_location_placeholder] + expected_box_classses = np.array([0, 3, 3]) + with self.test_session() as sess: + box_locations, box_classes = sess.run([box_locations, box_classes], + feed_dict=feed_dict) + + self.assertAllClose(box_locations, expected_box_locations, rtol=1e-6, + atol=1e-6) + self.assertAllEqual(box_classes, expected_box_classses) + + def test_return_only_valid_boxes_when_input_contains_invalid_boxes(self): + num_classes = 4 + num_valid_boxes = 3 + num_boxes = 10 + code_size = 4 + + dense_location_placeholder = tf.placeholder(tf.float32, shape=(num_boxes, + code_size)) + dense_num_boxes_placeholder = tf.placeholder(tf.int32, shape=(num_classes)) + box_locations, box_classes = ops.dense_to_sparse_boxes( + dense_location_placeholder, dense_num_boxes_placeholder, num_classes) + feed_dict = {dense_location_placeholder: np.random.uniform( + size=[num_boxes, code_size]), + dense_num_boxes_placeholder: np.array([1, 0, 0, 2], + dtype=np.int32)} + + expected_box_locations = (feed_dict[dense_location_placeholder] + [:num_valid_boxes]) + expected_box_classses = np.array([0, 3, 3]) + with self.test_session() as sess: + box_locations, box_classes = sess.run([box_locations, box_classes], + feed_dict=feed_dict) + + self.assertAllClose(box_locations, expected_box_locations, rtol=1e-6, + atol=1e-6) + self.assertAllEqual(box_classes, expected_box_classses) + + +class OpsTestIndicesToDenseVector(tf.test.TestCase): + + def test_indices_to_dense_vector(self): + size = 10000 + num_indices = np.random.randint(size) + rand_indices = np.random.permutation(np.arange(size))[0:num_indices] + + expected_output = np.zeros(size, dtype=np.float32) + expected_output[rand_indices] = 1. + + tf_rand_indices = tf.constant(rand_indices) + indicator = ops.indices_to_dense_vector(tf_rand_indices, size) + + with self.test_session() as sess: + output = sess.run(indicator) + self.assertAllEqual(output, expected_output) + self.assertEqual(output.dtype, expected_output.dtype) + + def test_indices_to_dense_vector_size_at_inference(self): + size = 5000 + num_indices = 250 + all_indices = np.arange(size) + rand_indices = np.random.permutation(all_indices)[0:num_indices] + + expected_output = np.zeros(size, dtype=np.float32) + expected_output[rand_indices] = 1. + + tf_all_indices = tf.placeholder(tf.int32) + tf_rand_indices = tf.constant(rand_indices) + indicator = ops.indices_to_dense_vector(tf_rand_indices, + tf.shape(tf_all_indices)[0]) + feed_dict = {tf_all_indices: all_indices} + + with self.test_session() as sess: + output = sess.run(indicator, feed_dict=feed_dict) + self.assertAllEqual(output, expected_output) + self.assertEqual(output.dtype, expected_output.dtype) + + def test_indices_to_dense_vector_int(self): + size = 500 + num_indices = 25 + rand_indices = np.random.permutation(np.arange(size))[0:num_indices] + + expected_output = np.zeros(size, dtype=np.int64) + expected_output[rand_indices] = 1 + + tf_rand_indices = tf.constant(rand_indices) + indicator = ops.indices_to_dense_vector( + tf_rand_indices, size, 1, dtype=tf.int64) + + with self.test_session() as sess: + output = sess.run(indicator) + self.assertAllEqual(output, expected_output) + self.assertEqual(output.dtype, expected_output.dtype) + + def test_indices_to_dense_vector_custom_values(self): + size = 100 + num_indices = 10 + rand_indices = np.random.permutation(np.arange(size))[0:num_indices] + indices_value = np.random.rand(1) + default_value = np.random.rand(1) + + expected_output = np.float32(np.ones(size) * default_value) + expected_output[rand_indices] = indices_value + + tf_rand_indices = tf.constant(rand_indices) + indicator = ops.indices_to_dense_vector( + tf_rand_indices, + size, + indices_value=indices_value, + default_value=default_value) + + with self.test_session() as sess: + output = sess.run(indicator) + self.assertAllClose(output, expected_output) + self.assertEqual(output.dtype, expected_output.dtype) + + def test_indices_to_dense_vector_all_indices_as_input(self): + size = 500 + num_indices = 500 + rand_indices = np.random.permutation(np.arange(size))[0:num_indices] + + expected_output = np.ones(size, dtype=np.float32) + + tf_rand_indices = tf.constant(rand_indices) + indicator = ops.indices_to_dense_vector(tf_rand_indices, size) + + with self.test_session() as sess: + output = sess.run(indicator) + self.assertAllEqual(output, expected_output) + self.assertEqual(output.dtype, expected_output.dtype) + + def test_indices_to_dense_vector_empty_indices_as_input(self): + size = 500 + rand_indices = [] + + expected_output = np.zeros(size, dtype=np.float32) + + tf_rand_indices = tf.constant(rand_indices) + indicator = ops.indices_to_dense_vector(tf_rand_indices, size) + + with self.test_session() as sess: + output = sess.run(indicator) + self.assertAllEqual(output, expected_output) + self.assertEqual(output.dtype, expected_output.dtype) + + +class GroundtruthFilterTest(tf.test.TestCase): + + def test_filter_groundtruth(self): + input_image = tf.placeholder(tf.float32, shape=(None, None, 3)) + input_boxes = tf.placeholder(tf.float32, shape=(None, 4)) + input_classes = tf.placeholder(tf.int32, shape=(None,)) + input_is_crowd = tf.placeholder(tf.bool, shape=(None,)) + input_area = tf.placeholder(tf.float32, shape=(None,)) + input_difficult = tf.placeholder(tf.float32, shape=(None,)) + input_label_types = tf.placeholder(tf.string, shape=(None,)) + valid_indices = tf.placeholder(tf.int32, shape=(None,)) + input_tensors = { + fields.InputDataFields.image: input_image, + fields.InputDataFields.groundtruth_boxes: input_boxes, + fields.InputDataFields.groundtruth_classes: input_classes, + fields.InputDataFields.groundtruth_is_crowd: input_is_crowd, + fields.InputDataFields.groundtruth_area: input_area, + fields.InputDataFields.groundtruth_difficult: input_difficult, + fields.InputDataFields.groundtruth_label_types: input_label_types + } + output_tensors = ops.retain_groundtruth(input_tensors, valid_indices) + + image_tensor = np.random.rand(224, 224, 3) + feed_dict = { + input_image: image_tensor, + input_boxes: + np.array([[0.2, 0.4, 0.1, 0.8], [0.2, 0.4, 1.0, 0.8]], dtype=np.float), + input_classes: + np.array([1, 2], dtype=np.int32), + input_is_crowd: + np.array([False, True], dtype=np.bool), + input_area: + np.array([32, 48], dtype=np.float32), + input_difficult: + np.array([True, False], dtype=np.bool), + input_label_types: + np.array(['APPROPRIATE', 'INCORRECT'], dtype=np.string_), + valid_indices: + np.array([0], dtype=np.int32) + } + expected_tensors = { + fields.InputDataFields.image: + image_tensor, + fields.InputDataFields.groundtruth_boxes: + [[0.2, 0.4, 0.1, 0.8]], + fields.InputDataFields.groundtruth_classes: + [1], + fields.InputDataFields.groundtruth_is_crowd: + [False], + fields.InputDataFields.groundtruth_area: + [32], + fields.InputDataFields.groundtruth_difficult: + [True], + fields.InputDataFields.groundtruth_label_types: + ['APPROPRIATE'] + } + with self.test_session() as sess: + output_tensors = sess.run(output_tensors, feed_dict=feed_dict) + for key in [fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_area]: + self.assertAllClose(expected_tensors[key], output_tensors[key]) + for key in [fields.InputDataFields.groundtruth_classes, + fields.InputDataFields.groundtruth_is_crowd, + fields.InputDataFields.groundtruth_label_types]: + self.assertAllEqual(expected_tensors[key], output_tensors[key]) + + def test_filter_with_missing_fields(self): + input_boxes = tf.placeholder(tf.float32, shape=(None, 4)) + input_classes = tf.placeholder(tf.int32, shape=(None,)) + input_tensors = { + fields.InputDataFields.groundtruth_boxes: input_boxes, + fields.InputDataFields.groundtruth_classes: input_classes + } + valid_indices = tf.placeholder(tf.int32, shape=(None,)) + + feed_dict = { + input_boxes: + np.array([[0.2, 0.4, 0.1, 0.8], [0.2, 0.4, 1.0, 0.8]], dtype=np.float), + input_classes: + np.array([1, 2], dtype=np.int32), + valid_indices: + np.array([0], dtype=np.int32) + } + expected_tensors = { + fields.InputDataFields.groundtruth_boxes: + [[0.2, 0.4, 0.1, 0.8]], + fields.InputDataFields.groundtruth_classes: + [1] + } + + output_tensors = ops.retain_groundtruth(input_tensors, valid_indices) + with self.test_session() as sess: + output_tensors = sess.run(output_tensors, feed_dict=feed_dict) + for key in [fields.InputDataFields.groundtruth_boxes]: + self.assertAllClose(expected_tensors[key], output_tensors[key]) + for key in [fields.InputDataFields.groundtruth_classes]: + self.assertAllEqual(expected_tensors[key], output_tensors[key]) + + def test_filter_with_empty_fields(self): + input_boxes = tf.placeholder(tf.float32, shape=(None, 4)) + input_classes = tf.placeholder(tf.int32, shape=(None,)) + input_is_crowd = tf.placeholder(tf.bool, shape=(None,)) + input_area = tf.placeholder(tf.float32, shape=(None,)) + input_difficult = tf.placeholder(tf.float32, shape=(None,)) + valid_indices = tf.placeholder(tf.int32, shape=(None,)) + input_tensors = { + fields.InputDataFields.groundtruth_boxes: input_boxes, + fields.InputDataFields.groundtruth_classes: input_classes, + fields.InputDataFields.groundtruth_is_crowd: input_is_crowd, + fields.InputDataFields.groundtruth_area: input_area, + fields.InputDataFields.groundtruth_difficult: input_difficult + } + output_tensors = ops.retain_groundtruth(input_tensors, valid_indices) + + feed_dict = { + input_boxes: + np.array([[0.2, 0.4, 0.1, 0.8], [0.2, 0.4, 1.0, 0.8]], dtype=np.float), + input_classes: + np.array([1, 2], dtype=np.int32), + input_is_crowd: + np.array([False, True], dtype=np.bool), + input_area: + np.array([], dtype=np.float32), + input_difficult: + np.array([], dtype=np.float32), + valid_indices: + np.array([0], dtype=np.int32) + } + expected_tensors = { + fields.InputDataFields.groundtruth_boxes: + [[0.2, 0.4, 0.1, 0.8]], + fields.InputDataFields.groundtruth_classes: + [1], + fields.InputDataFields.groundtruth_is_crowd: + [False], + fields.InputDataFields.groundtruth_area: + [], + fields.InputDataFields.groundtruth_difficult: + [] + } + with self.test_session() as sess: + output_tensors = sess.run(output_tensors, feed_dict=feed_dict) + for key in [fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_area]: + self.assertAllClose(expected_tensors[key], output_tensors[key]) + for key in [fields.InputDataFields.groundtruth_classes, + fields.InputDataFields.groundtruth_is_crowd]: + self.assertAllEqual(expected_tensors[key], output_tensors[key]) + + def test_filter_with_empty_groundtruth_boxes(self): + input_boxes = tf.placeholder(tf.float32, shape=(None, 4)) + input_classes = tf.placeholder(tf.int32, shape=(None,)) + input_is_crowd = tf.placeholder(tf.bool, shape=(None,)) + input_area = tf.placeholder(tf.float32, shape=(None,)) + input_difficult = tf.placeholder(tf.float32, shape=(None,)) + valid_indices = tf.placeholder(tf.int32, shape=(None,)) + input_tensors = { + fields.InputDataFields.groundtruth_boxes: input_boxes, + fields.InputDataFields.groundtruth_classes: input_classes, + fields.InputDataFields.groundtruth_is_crowd: input_is_crowd, + fields.InputDataFields.groundtruth_area: input_area, + fields.InputDataFields.groundtruth_difficult: input_difficult + } + output_tensors = ops.retain_groundtruth(input_tensors, valid_indices) + + feed_dict = { + input_boxes: + np.array([], dtype=np.float).reshape(0, 4), + input_classes: + np.array([], dtype=np.int32), + input_is_crowd: + np.array([], dtype=np.bool), + input_area: + np.array([], dtype=np.float32), + input_difficult: + np.array([], dtype=np.float32), + valid_indices: + np.array([], dtype=np.int32) + } + with self.test_session() as sess: + output_tensors = sess.run(output_tensors, feed_dict=feed_dict) + for key in input_tensors: + if key == fields.InputDataFields.groundtruth_boxes: + self.assertAllEqual([0, 4], output_tensors[key].shape) + else: + self.assertAllEqual([0], output_tensors[key].shape) + + +class RetainGroundTruthWithPositiveClasses(tf.test.TestCase): + + def test_filter_groundtruth_with_positive_classes(self): + input_image = tf.placeholder(tf.float32, shape=(None, None, 3)) + input_boxes = tf.placeholder(tf.float32, shape=(None, 4)) + input_classes = tf.placeholder(tf.int32, shape=(None,)) + input_is_crowd = tf.placeholder(tf.bool, shape=(None,)) + input_area = tf.placeholder(tf.float32, shape=(None,)) + input_difficult = tf.placeholder(tf.float32, shape=(None,)) + input_label_types = tf.placeholder(tf.string, shape=(None,)) + valid_indices = tf.placeholder(tf.int32, shape=(None,)) + input_tensors = { + fields.InputDataFields.image: input_image, + fields.InputDataFields.groundtruth_boxes: input_boxes, + fields.InputDataFields.groundtruth_classes: input_classes, + fields.InputDataFields.groundtruth_is_crowd: input_is_crowd, + fields.InputDataFields.groundtruth_area: input_area, + fields.InputDataFields.groundtruth_difficult: input_difficult, + fields.InputDataFields.groundtruth_label_types: input_label_types + } + output_tensors = ops.retain_groundtruth_with_positive_classes(input_tensors) + + image_tensor = np.random.rand(224, 224, 3) + feed_dict = { + input_image: image_tensor, + input_boxes: + np.array([[0.2, 0.4, 0.1, 0.8], [0.2, 0.4, 1.0, 0.8]], dtype=np.float), + input_classes: + np.array([1, 0], dtype=np.int32), + input_is_crowd: + np.array([False, True], dtype=np.bool), + input_area: + np.array([32, 48], dtype=np.float32), + input_difficult: + np.array([True, False], dtype=np.bool), + input_label_types: + np.array(['APPROPRIATE', 'INCORRECT'], dtype=np.string_), + valid_indices: + np.array([0], dtype=np.int32) + } + expected_tensors = { + fields.InputDataFields.image: + image_tensor, + fields.InputDataFields.groundtruth_boxes: + [[0.2, 0.4, 0.1, 0.8]], + fields.InputDataFields.groundtruth_classes: + [1], + fields.InputDataFields.groundtruth_is_crowd: + [False], + fields.InputDataFields.groundtruth_area: + [32], + fields.InputDataFields.groundtruth_difficult: + [True], + fields.InputDataFields.groundtruth_label_types: + ['APPROPRIATE'] + } + with self.test_session() as sess: + output_tensors = sess.run(output_tensors, feed_dict=feed_dict) + for key in [fields.InputDataFields.image, + fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_area]: + self.assertAllClose(expected_tensors[key], output_tensors[key]) + for key in [fields.InputDataFields.groundtruth_classes, + fields.InputDataFields.groundtruth_is_crowd, + fields.InputDataFields.groundtruth_label_types]: + self.assertAllEqual(expected_tensors[key], output_tensors[key]) + + +class GroundtruthFilterWithNanBoxTest(tf.test.TestCase): + + def test_filter_groundtruth_with_nan_box_coordinates(self): + input_tensors = { + fields.InputDataFields.groundtruth_boxes: + [[np.nan, np.nan, np.nan, np.nan], [0.2, 0.4, 0.1, 0.8]], + fields.InputDataFields.groundtruth_classes: + [1, 2], + fields.InputDataFields.groundtruth_is_crowd: + [False, True], + fields.InputDataFields.groundtruth_area: + [100.0, 238.7] + } + + expected_tensors = { + fields.InputDataFields.groundtruth_boxes: + [[0.2, 0.4, 0.1, 0.8]], + fields.InputDataFields.groundtruth_classes: + [2], + fields.InputDataFields.groundtruth_is_crowd: + [True], + fields.InputDataFields.groundtruth_area: + [238.7] + } + + output_tensors = ops.filter_groundtruth_with_nan_box_coordinates( + input_tensors) + with self.test_session() as sess: + output_tensors = sess.run(output_tensors) + for key in [fields.InputDataFields.groundtruth_boxes, + fields.InputDataFields.groundtruth_area]: + self.assertAllClose(expected_tensors[key], output_tensors[key]) + for key in [fields.InputDataFields.groundtruth_classes, + fields.InputDataFields.groundtruth_is_crowd]: + self.assertAllEqual(expected_tensors[key], output_tensors[key]) + + +class OpsTestNormalizeToTarget(tf.test.TestCase): + + def test_create_normalize_to_target(self): + inputs = tf.random_uniform([5, 10, 12, 3]) + target_norm_value = 4.0 + dim = 3 + with self.test_session(): + output = ops.normalize_to_target(inputs, target_norm_value, dim) + self.assertEqual(output.op.name, 'NormalizeToTarget/mul') + var_name = tf.contrib.framework.get_variables()[0].name + self.assertEqual(var_name, 'NormalizeToTarget/weights:0') + + def test_invalid_dim(self): + inputs = tf.random_uniform([5, 10, 12, 3]) + target_norm_value = 4.0 + dim = 10 + with self.assertRaisesRegexp( + ValueError, + 'dim must be non-negative but smaller than the input rank.'): + ops.normalize_to_target(inputs, target_norm_value, dim) + + def test_invalid_target_norm_values(self): + inputs = tf.random_uniform([5, 10, 12, 3]) + target_norm_value = [4.0, 4.0] + dim = 3 + with self.assertRaisesRegexp( + ValueError, 'target_norm_value must be a float or a list of floats'): + ops.normalize_to_target(inputs, target_norm_value, dim) + + def test_correct_output_shape(self): + inputs = tf.random_uniform([5, 10, 12, 3]) + target_norm_value = 4.0 + dim = 3 + with self.test_session(): + output = ops.normalize_to_target(inputs, target_norm_value, dim) + self.assertEqual(output.get_shape().as_list(), + inputs.get_shape().as_list()) + + def test_correct_initial_output_values(self): + inputs = tf.constant([[[[3, 4], [7, 24]], + [[5, -12], [-1, 0]]]], tf.float32) + target_norm_value = 10.0 + dim = 3 + expected_output = [[[[30/5.0, 40/5.0], [70/25.0, 240/25.0]], + [[50/13.0, -120/13.0], [-10, 0]]]] + with self.test_session() as sess: + normalized_inputs = ops.normalize_to_target(inputs, target_norm_value, + dim) + sess.run(tf.global_variables_initializer()) + output = normalized_inputs.eval() + self.assertAllClose(output, expected_output) + + def test_multiple_target_norm_values(self): + inputs = tf.constant([[[[3, 4], [7, 24]], + [[5, -12], [-1, 0]]]], tf.float32) + target_norm_value = [10.0, 20.0] + dim = 3 + expected_output = [[[[30/5.0, 80/5.0], [70/25.0, 480/25.0]], + [[50/13.0, -240/13.0], [-10, 0]]]] + with self.test_session() as sess: + normalized_inputs = ops.normalize_to_target(inputs, target_norm_value, + dim) + sess.run(tf.global_variables_initializer()) + output = normalized_inputs.eval() + self.assertAllClose(output, expected_output) + + +class OpsTestPositionSensitiveCropRegions(tf.test.TestCase): + + def test_position_sensitive(self): + num_spatial_bins = [3, 2] + image_shape = [1, 3, 2, 6] + + # First channel is 1's, second channel is 2's, etc. + image = tf.constant(range(1, 3 * 2 + 1) * 6, dtype=tf.float32, + shape=image_shape) + boxes = tf.random_uniform((2, 4)) + box_ind = tf.constant([0, 0], dtype=tf.int32) + + # The result for both boxes should be [[1, 2], [3, 4], [5, 6]] + # before averaging. + expected_output = np.array([3.5, 3.5]).reshape([2, 1, 1, 1]) + + for crop_size_mult in range(1, 3): + crop_size = [3 * crop_size_mult, 2 * crop_size_mult] + ps_crop_and_pool = ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=True) + + with self.test_session() as sess: + output = sess.run(ps_crop_and_pool) + self.assertAllClose(output, expected_output) + + def test_position_sensitive_with_equal_channels(self): + num_spatial_bins = [2, 2] + image_shape = [1, 3, 3, 4] + crop_size = [2, 2] + + image = tf.constant(range(1, 3 * 3 + 1), dtype=tf.float32, + shape=[1, 3, 3, 1]) + tiled_image = tf.tile(image, [1, 1, 1, image_shape[3]]) + boxes = tf.random_uniform((3, 4)) + box_ind = tf.constant([0, 0, 0], dtype=tf.int32) + + # All channels are equal so position-sensitive crop and resize should + # work as the usual crop and resize for just one channel. + crop = tf.image.crop_and_resize(image, boxes, box_ind, crop_size) + crop_and_pool = tf.reduce_mean(crop, [1, 2], keep_dims=True) + + ps_crop_and_pool = ops.position_sensitive_crop_regions( + tiled_image, + boxes, + box_ind, + crop_size, + num_spatial_bins, + global_pool=True) + + with self.test_session() as sess: + expected_output, output = sess.run((crop_and_pool, ps_crop_and_pool)) + self.assertAllClose(output, expected_output) + + def test_position_sensitive_with_single_bin(self): + num_spatial_bins = [1, 1] + image_shape = [2, 3, 3, 4] + crop_size = [2, 2] + + image = tf.random_uniform(image_shape) + boxes = tf.random_uniform((6, 4)) + box_ind = tf.constant([0, 0, 0, 1, 1, 1], dtype=tf.int32) + + # When a single bin is used, position-sensitive crop and pool should be + # the same as non-position sensitive crop and pool. + crop = tf.image.crop_and_resize(image, boxes, box_ind, crop_size) + crop_and_pool = tf.reduce_mean(crop, [1, 2], keep_dims=True) + + ps_crop_and_pool = ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=True) + + with self.test_session() as sess: + expected_output, output = sess.run((crop_and_pool, ps_crop_and_pool)) + self.assertAllClose(output, expected_output) + + def test_raise_value_error_on_num_bins_less_than_one(self): + num_spatial_bins = [1, -1] + image_shape = [1, 1, 1, 2] + crop_size = [2, 2] + + image = tf.constant(1, dtype=tf.float32, shape=image_shape) + boxes = tf.constant([[0, 0, 1, 1]], dtype=tf.float32) + box_ind = tf.constant([0], dtype=tf.int32) + + with self.assertRaisesRegexp(ValueError, 'num_spatial_bins should be >= 1'): + ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=True) + + def test_raise_value_error_on_non_divisible_crop_size(self): + num_spatial_bins = [2, 3] + image_shape = [1, 1, 1, 6] + crop_size = [3, 2] + + image = tf.constant(1, dtype=tf.float32, shape=image_shape) + boxes = tf.constant([[0, 0, 1, 1]], dtype=tf.float32) + box_ind = tf.constant([0], dtype=tf.int32) + + with self.assertRaisesRegexp( + ValueError, 'crop_size should be divisible by num_spatial_bins'): + ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=True) + + def test_raise_value_error_on_non_divisible_num_channels(self): + num_spatial_bins = [2, 2] + image_shape = [1, 1, 1, 5] + crop_size = [2, 2] + + image = tf.constant(1, dtype=tf.float32, shape=image_shape) + boxes = tf.constant([[0, 0, 1, 1]], dtype=tf.float32) + box_ind = tf.constant([0], dtype=tf.int32) + + with self.assertRaisesRegexp( + ValueError, 'Dimension size must be evenly divisible by 4 but is 5'): + ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=True) + + def test_position_sensitive_with_global_pool_false(self): + num_spatial_bins = [3, 2] + image_shape = [1, 3, 2, 6] + num_boxes = 2 + + # First channel is 1's, second channel is 2's, etc. + image = tf.constant(range(1, 3 * 2 + 1) * 6, dtype=tf.float32, + shape=image_shape) + boxes = tf.random_uniform((num_boxes, 4)) + box_ind = tf.constant([0, 0], dtype=tf.int32) + + expected_output = [] + + # Expected output, when crop_size = [3, 2]. + expected_output.append(np.expand_dims( + np.tile(np.array([[1, 2], + [3, 4], + [5, 6]]), (num_boxes, 1, 1)), + axis=-1)) + + # Expected output, when crop_size = [6, 4]. + expected_output.append(np.expand_dims( + np.tile(np.array([[1, 1, 2, 2], + [1, 1, 2, 2], + [3, 3, 4, 4], + [3, 3, 4, 4], + [5, 5, 6, 6], + [5, 5, 6, 6]]), (num_boxes, 1, 1)), + axis=-1)) + + for crop_size_mult in range(1, 3): + crop_size = [3 * crop_size_mult, 2 * crop_size_mult] + ps_crop = ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=False) + with self.test_session() as sess: + output = sess.run(ps_crop) + + self.assertAllEqual(output, expected_output[crop_size_mult - 1]) + + def test_position_sensitive_with_global_pool_false_and_known_boxes(self): + num_spatial_bins = [2, 2] + image_shape = [2, 2, 2, 4] + crop_size = [2, 2] + + image = tf.constant(range(1, 2 * 2 * 4 + 1) * 2, dtype=tf.float32, + shape=image_shape) + + # First box contains whole image, and second box contains only first row. + boxes = tf.constant(np.array([[0., 0., 1., 1.], + [0., 0., 0.5, 1.]]), dtype=tf.float32) + box_ind = tf.constant([0, 1], dtype=tf.int32) + + expected_output = [] + + # Expected output, when the box containing whole image. + expected_output.append( + np.reshape(np.array([[4, 7], + [10, 13]]), + (1, 2, 2, 1)) + ) + + # Expected output, when the box containing only first row. + expected_output.append( + np.reshape(np.array([[3, 6], + [7, 10]]), + (1, 2, 2, 1)) + ) + expected_output = np.concatenate(expected_output, axis=0) + + ps_crop = ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=False) + + with self.test_session() as sess: + output = sess.run(ps_crop) + self.assertAllEqual(output, expected_output) + + def test_position_sensitive_with_global_pool_false_and_single_bin(self): + num_spatial_bins = [1, 1] + image_shape = [2, 3, 3, 4] + crop_size = [1, 1] + + image = tf.random_uniform(image_shape) + boxes = tf.random_uniform((6, 4)) + box_ind = tf.constant([0, 0, 0, 1, 1, 1], dtype=tf.int32) + + # Since single_bin is used and crop_size = [1, 1] (i.e., no crop resize), + # the outputs are the same whatever the global_pool value is. + ps_crop_and_pool = ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=True) + ps_crop = ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=False) + + with self.test_session() as sess: + pooled_output, unpooled_output = sess.run((ps_crop_and_pool, ps_crop)) + self.assertAllClose(pooled_output, unpooled_output) + + def test_position_sensitive_with_global_pool_false_and_do_global_pool(self): + num_spatial_bins = [3, 2] + image_shape = [1, 3, 2, 6] + num_boxes = 2 + + # First channel is 1's, second channel is 2's, etc. + image = tf.constant(range(1, 3 * 2 + 1) * 6, dtype=tf.float32, + shape=image_shape) + boxes = tf.random_uniform((num_boxes, 4)) + box_ind = tf.constant([0, 0], dtype=tf.int32) + + expected_output = [] + + # Expected output, when crop_size = [3, 2]. + expected_output.append(np.mean( + np.expand_dims( + np.tile(np.array([[1, 2], + [3, 4], + [5, 6]]), (num_boxes, 1, 1)), + axis=-1), + axis=(1, 2), keepdims=True)) + + # Expected output, when crop_size = [6, 4]. + expected_output.append(np.mean( + np.expand_dims( + np.tile(np.array([[1, 1, 2, 2], + [1, 1, 2, 2], + [3, 3, 4, 4], + [3, 3, 4, 4], + [5, 5, 6, 6], + [5, 5, 6, 6]]), (num_boxes, 1, 1)), + axis=-1), + axis=(1, 2), keepdims=True)) + + for crop_size_mult in range(1, 3): + crop_size = [3 * crop_size_mult, 2 * crop_size_mult] + + # Perform global_pooling after running the function with + # global_pool=False. + ps_crop = ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=False) + ps_crop_and_pool = tf.reduce_mean( + ps_crop, reduction_indices=(1, 2), keep_dims=True) + + with self.test_session() as sess: + output = sess.run(ps_crop_and_pool) + + self.assertAllEqual(output, expected_output[crop_size_mult - 1]) + + def test_raise_value_error_on_non_square_block_size(self): + num_spatial_bins = [3, 2] + image_shape = [1, 3, 2, 6] + crop_size = [6, 2] + + image = tf.constant(1, dtype=tf.float32, shape=image_shape) + boxes = tf.constant([[0, 0, 1, 1]], dtype=tf.float32) + box_ind = tf.constant([0], dtype=tf.int32) + + with self.assertRaisesRegexp( + ValueError, 'Only support square bin crop size for now.'): + ops.position_sensitive_crop_regions( + image, boxes, box_ind, crop_size, num_spatial_bins, global_pool=False) + + +class ReframeBoxMasksToImageMasksTest(tf.test.TestCase): + + def testZeroImageOnEmptyMask(self): + box_masks = tf.constant([[[0, 0], + [0, 0]]], dtype=tf.float32) + boxes = tf.constant([[0.0, 0.0, 1.0, 1.0]], dtype=tf.float32) + image_masks = ops.reframe_box_masks_to_image_masks(box_masks, boxes, + image_height=4, + image_width=4) + np_expected_image_masks = np.array([[[0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 0]]], dtype=np.float32) + with self.test_session() as sess: + np_image_masks = sess.run(image_masks) + self.assertAllClose(np_image_masks, np_expected_image_masks) + + def testMaskIsCenteredInImageWhenBoxIsCentered(self): + box_masks = tf.constant([[[1, 1], + [1, 1]]], dtype=tf.float32) + boxes = tf.constant([[0.25, 0.25, 0.75, 0.75]], dtype=tf.float32) + image_masks = ops.reframe_box_masks_to_image_masks(box_masks, boxes, + image_height=4, + image_width=4) + np_expected_image_masks = np.array([[[0, 0, 0, 0], + [0, 1, 1, 0], + [0, 1, 1, 0], + [0, 0, 0, 0]]], dtype=np.float32) + with self.test_session() as sess: + np_image_masks = sess.run(image_masks) + self.assertAllClose(np_image_masks, np_expected_image_masks) + + def testMaskOffCenterRemainsOffCenterInImage(self): + box_masks = tf.constant([[[1, 0], + [0, 1]]], dtype=tf.float32) + boxes = tf.constant([[0.25, 0.5, 0.75, 1.0]], dtype=tf.float32) + image_masks = ops.reframe_box_masks_to_image_masks(box_masks, boxes, + image_height=4, + image_width=4) + np_expected_image_masks = np.array([[[0, 0, 0, 0], + [0, 0, 0.6111111, 0.16666669], + [0, 0, 0.3888889, 0.83333337], + [0, 0, 0, 0]]], dtype=np.float32) + with self.test_session() as sess: + np_image_masks = sess.run(image_masks) + self.assertAllClose(np_image_masks, np_expected_image_masks) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/per_image_evaluation.py b/object_detection/utils/per_image_evaluation.py new file mode 100644 index 000000000..ed39afa6f --- /dev/null +++ b/object_detection/utils/per_image_evaluation.py @@ -0,0 +1,260 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Evaluate Object Detection result on a single image. + +Annotate each detected result as true positives or false positive according to +a predefined IOU ratio. Non Maximum Supression is used by default. Multi class +detection is supported by default. +""" +import numpy as np + +from object_detection.utils import np_box_list +from object_detection.utils import np_box_list_ops + + +class PerImageEvaluation(object): + """Evaluate detection result of a single image.""" + + def __init__(self, + num_groundtruth_classes, + matching_iou_threshold=0.5, + nms_iou_threshold=0.3, + nms_max_output_boxes=50): + """Initialized PerImageEvaluation by evaluation parameters. + + Args: + num_groundtruth_classes: Number of ground truth object classes + matching_iou_threshold: A ratio of area intersection to union, which is + the threshold to consider whether a detection is true positive or not + nms_iou_threshold: IOU threshold used in Non Maximum Suppression. + nms_max_output_boxes: Number of maximum output boxes in NMS. + """ + self.matching_iou_threshold = matching_iou_threshold + self.nms_iou_threshold = nms_iou_threshold + self.nms_max_output_boxes = nms_max_output_boxes + self.num_groundtruth_classes = num_groundtruth_classes + + def compute_object_detection_metrics(self, detected_boxes, detected_scores, + detected_class_labels, groundtruth_boxes, + groundtruth_class_labels, + groundtruth_is_difficult_lists): + """Compute Object Detection related metrics from a single image. + + Args: + detected_boxes: A float numpy array of shape [N, 4], representing N + regions of detected object regions. + Each row is of the format [y_min, x_min, y_max, x_max] + detected_scores: A float numpy array of shape [N, 1], representing + the confidence scores of the detected N object instances. + detected_class_labels: A integer numpy array of shape [N, 1], repreneting + the class labels of the detected N object instances. + groundtruth_boxes: A float numpy array of shape [M, 4], representing M + regions of object instances in ground truth + groundtruth_class_labels: An integer numpy array of shape [M, 1], + representing M class labels of object instances in ground truth + groundtruth_is_difficult_lists: A boolean numpy array of length M denoting + whether a ground truth box is a difficult instance or not + + Returns: + scores: A list of C float numpy arrays. Each numpy array is of + shape [K, 1], representing K scores detected with object class + label c + tp_fp_labels: A list of C boolean numpy arrays. Each numpy array + is of shape [K, 1], representing K True/False positive label of + object instances detected with class label c + is_class_correctly_detected_in_image: a numpy integer array of + shape [C, 1], indicating whether the correponding class has a least + one instance being correctly detected in the image + """ + detected_boxes, detected_scores, detected_class_labels = ( + self._remove_invalid_boxes(detected_boxes, detected_scores, + detected_class_labels)) + scores, tp_fp_labels = self._compute_tp_fp( + detected_boxes, detected_scores, detected_class_labels, + groundtruth_boxes, groundtruth_class_labels, + groundtruth_is_difficult_lists) + is_class_correctly_detected_in_image = self._compute_cor_loc( + detected_boxes, detected_scores, detected_class_labels, + groundtruth_boxes, groundtruth_class_labels) + return scores, tp_fp_labels, is_class_correctly_detected_in_image + + def _compute_cor_loc(self, detected_boxes, detected_scores, + detected_class_labels, groundtruth_boxes, + groundtruth_class_labels): + """Compute CorLoc score for object detection result. + + Args: + detected_boxes: A float numpy array of shape [N, 4], representing N + regions of detected object regions. + Each row is of the format [y_min, x_min, y_max, x_max] + detected_scores: A float numpy array of shape [N, 1], representing + the confidence scores of the detected N object instances. + detected_class_labels: A integer numpy array of shape [N, 1], repreneting + the class labels of the detected N object instances. + groundtruth_boxes: A float numpy array of shape [M, 4], representing M + regions of object instances in ground truth + groundtruth_class_labels: An integer numpy array of shape [M, 1], + representing M class labels of object instances in ground truth + Returns: + is_class_correctly_detected_in_image: a numpy integer array of + shape [C, 1], indicating whether the correponding class has a least + one instance being correctly detected in the image + """ + is_class_correctly_detected_in_image = np.zeros( + self.num_groundtruth_classes, dtype=int) + for i in range(self.num_groundtruth_classes): + gt_boxes_at_ith_class = groundtruth_boxes[ + groundtruth_class_labels == i, :] + detected_boxes_at_ith_class = detected_boxes[ + detected_class_labels == i, :] + detected_scores_at_ith_class = detected_scores[detected_class_labels == i] + is_class_correctly_detected_in_image[i] = ( + self._compute_is_aclass_correctly_detected_in_image( + detected_boxes_at_ith_class, detected_scores_at_ith_class, + gt_boxes_at_ith_class)) + + return is_class_correctly_detected_in_image + + def _compute_is_aclass_correctly_detected_in_image( + self, detected_boxes, detected_scores, groundtruth_boxes): + """Compute CorLoc score for a single class. + + Args: + detected_boxes: A numpy array of shape [N, 4] representing detected box + coordinates + detected_scores: A 1-d numpy array of length N representing classification + score + groundtruth_boxes: A numpy array of shape [M, 4] representing ground truth + box coordinates + + Returns: + is_class_correctly_detected_in_image: An integer 1 or 0 denoting whether a + class is correctly detected in the image or not + """ + if detected_boxes.size > 0: + if groundtruth_boxes.size > 0: + max_score_id = np.argmax(detected_scores) + detected_boxlist = np_box_list.BoxList( + np.expand_dims(detected_boxes[max_score_id, :], axis=0)) + gt_boxlist = np_box_list.BoxList(groundtruth_boxes) + iou = np_box_list_ops.iou(detected_boxlist, gt_boxlist) + if np.max(iou) >= self.matching_iou_threshold: + return 1 + return 0 + + def _compute_tp_fp(self, detected_boxes, detected_scores, + detected_class_labels, groundtruth_boxes, + groundtruth_class_labels, groundtruth_is_difficult_lists): + """Labels true/false positives of detections of an image across all classes. + + Args: + detected_boxes: A float numpy array of shape [N, 4], representing N + regions of detected object regions. + Each row is of the format [y_min, x_min, y_max, x_max] + detected_scores: A float numpy array of shape [N, 1], representing + the confidence scores of the detected N object instances. + detected_class_labels: A integer numpy array of shape [N, 1], repreneting + the class labels of the detected N object instances. + groundtruth_boxes: A float numpy array of shape [M, 4], representing M + regions of object instances in ground truth + groundtruth_class_labels: An integer numpy array of shape [M, 1], + representing M class labels of object instances in ground truth + groundtruth_is_difficult_lists: A boolean numpy array of length M denoting + whether a ground truth box is a difficult instance or not + + Returns: + result_scores: A list of float numpy arrays. Each numpy array is of + shape [K, 1], representing K scores detected with object class + label c + result_tp_fp_labels: A list of boolean numpy array. Each numpy array is of + shape [K, 1], representing K True/False positive label of object + instances detected with class label c + """ + result_scores = [] + result_tp_fp_labels = [] + for i in range(self.num_groundtruth_classes): + gt_boxes_at_ith_class = groundtruth_boxes[(groundtruth_class_labels == i + ), :] + groundtruth_is_difficult_list_at_ith_class = ( + groundtruth_is_difficult_lists[groundtruth_class_labels == i]) + detected_boxes_at_ith_class = detected_boxes[(detected_class_labels == i + ), :] + detected_scores_at_ith_class = detected_scores[detected_class_labels == i] + scores, tp_fp_labels = self._compute_tp_fp_for_single_class( + detected_boxes_at_ith_class, detected_scores_at_ith_class, + gt_boxes_at_ith_class, groundtruth_is_difficult_list_at_ith_class) + result_scores.append(scores) + result_tp_fp_labels.append(tp_fp_labels) + return result_scores, result_tp_fp_labels + + def _remove_invalid_boxes(self, detected_boxes, detected_scores, + detected_class_labels): + valid_indices = np.logical_and(detected_boxes[:, 0] < detected_boxes[:, 2], + detected_boxes[:, 1] < detected_boxes[:, 3]) + return (detected_boxes[valid_indices, :], detected_scores[valid_indices], + detected_class_labels[valid_indices]) + + def _compute_tp_fp_for_single_class(self, detected_boxes, detected_scores, + groundtruth_boxes, + groundtruth_is_difficult_list): + """Labels boxes detected with the same class from the same image as tp/fp. + + Args: + detected_boxes: A numpy array of shape [N, 4] representing detected box + coordinates + detected_scores: A 1-d numpy array of length N representing classification + score + groundtruth_boxes: A numpy array of shape [M, 4] representing ground truth + box coordinates + groundtruth_is_difficult_list: A boolean numpy array of length M denoting + whether a ground truth box is a difficult instance or not + + Returns: + scores: A numpy array representing the detection scores + tp_fp_labels: a boolean numpy array indicating whether a detection is a + true positive. + + """ + if detected_boxes.size == 0: + return np.array([], dtype=float), np.array([], dtype=bool) + detected_boxlist = np_box_list.BoxList(detected_boxes) + detected_boxlist.add_field('scores', detected_scores) + detected_boxlist = np_box_list_ops.non_max_suppression( + detected_boxlist, self.nms_max_output_boxes, self.nms_iou_threshold) + + scores = detected_boxlist.get_field('scores') + + if groundtruth_boxes.size == 0: + return scores, np.zeros(detected_boxlist.num_boxes(), dtype=bool) + gt_boxlist = np_box_list.BoxList(groundtruth_boxes) + + iou = np_box_list_ops.iou(detected_boxlist, gt_boxlist) + max_overlap_gt_ids = np.argmax(iou, axis=1) + is_gt_box_detected = np.zeros(gt_boxlist.num_boxes(), dtype=bool) + tp_fp_labels = np.zeros(detected_boxlist.num_boxes(), dtype=bool) + is_matched_to_difficult_box = np.zeros( + detected_boxlist.num_boxes(), dtype=bool) + for i in range(detected_boxlist.num_boxes()): + gt_id = max_overlap_gt_ids[i] + if iou[i, gt_id] >= self.matching_iou_threshold: + if not groundtruth_is_difficult_list[gt_id]: + if not is_gt_box_detected[gt_id]: + tp_fp_labels[i] = True + is_gt_box_detected[gt_id] = True + else: + is_matched_to_difficult_box[i] = True + return scores[~is_matched_to_difficult_box], tp_fp_labels[ + ~is_matched_to_difficult_box] diff --git a/object_detection/utils/per_image_evaluation_test.py b/object_detection/utils/per_image_evaluation_test.py new file mode 100644 index 000000000..8c449f1ac --- /dev/null +++ b/object_detection/utils/per_image_evaluation_test.py @@ -0,0 +1,212 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.per_image_evaluation.""" + +import numpy as np +import tensorflow as tf + +from object_detection.utils import per_image_evaluation + + +class SingleClassTpFpWithDifficultBoxesTest(tf.test.TestCase): + + def setUp(self): + num_groundtruth_classes = 1 + matching_iou_threshold = 0.5 + nms_iou_threshold = 1.0 + nms_max_output_boxes = 10000 + self.eval = per_image_evaluation.PerImageEvaluation( + num_groundtruth_classes, matching_iou_threshold, nms_iou_threshold, + nms_max_output_boxes) + + self.detected_boxes = np.array([[0, 0, 1, 1], [0, 0, 2, 2], [0, 0, 3, 3]], + dtype=float) + self.detected_scores = np.array([0.6, 0.8, 0.5], dtype=float) + self.groundtruth_boxes = np.array([[0, 0, 1, 1], [0, 0, 10, 10]], + dtype=float) + + def test_match_to_not_difficult_box(self): + groundtruth_groundtruth_is_difficult_list = np.array([False, True], + dtype=bool) + scores, tp_fp_labels = self.eval._compute_tp_fp_for_single_class( + self.detected_boxes, self.detected_scores, self.groundtruth_boxes, + groundtruth_groundtruth_is_difficult_list) + expected_scores = np.array([0.8, 0.6, 0.5], dtype=float) + expected_tp_fp_labels = np.array([False, True, False], dtype=bool) + self.assertTrue(np.allclose(expected_scores, scores)) + self.assertTrue(np.allclose(expected_tp_fp_labels, tp_fp_labels)) + + def test_match_to_difficult_box(self): + groundtruth_groundtruth_is_difficult_list = np.array([True, False], + dtype=bool) + scores, tp_fp_labels = self.eval._compute_tp_fp_for_single_class( + self.detected_boxes, self.detected_scores, self.groundtruth_boxes, + groundtruth_groundtruth_is_difficult_list) + expected_scores = np.array([0.8, 0.5], dtype=float) + expected_tp_fp_labels = np.array([False, False], dtype=bool) + self.assertTrue(np.allclose(expected_scores, scores)) + self.assertTrue(np.allclose(expected_tp_fp_labels, tp_fp_labels)) + + +class SingleClassTpFpNoDifficultBoxesTest(tf.test.TestCase): + + def setUp(self): + num_groundtruth_classes = 1 + matching_iou_threshold1 = 0.5 + matching_iou_threshold2 = 0.1 + nms_iou_threshold = 1.0 + nms_max_output_boxes = 10000 + self.eval1 = per_image_evaluation.PerImageEvaluation( + num_groundtruth_classes, matching_iou_threshold1, nms_iou_threshold, + nms_max_output_boxes) + + self.eval2 = per_image_evaluation.PerImageEvaluation( + num_groundtruth_classes, matching_iou_threshold2, nms_iou_threshold, + nms_max_output_boxes) + + self.detected_boxes = np.array([[0, 0, 1, 1], [0, 0, 2, 2], [0, 0, 3, 3]], + dtype=float) + self.detected_scores = np.array([0.6, 0.8, 0.5], dtype=float) + + def test_no_true_positives(self): + groundtruth_boxes = np.array([[100, 100, 105, 105]], dtype=float) + groundtruth_groundtruth_is_difficult_list = np.zeros(1, dtype=bool) + scores, tp_fp_labels = self.eval1._compute_tp_fp_for_single_class( + self.detected_boxes, self.detected_scores, groundtruth_boxes, + groundtruth_groundtruth_is_difficult_list) + expected_scores = np.array([0.8, 0.6, 0.5], dtype=float) + expected_tp_fp_labels = np.array([False, False, False], dtype=bool) + self.assertTrue(np.allclose(expected_scores, scores)) + self.assertTrue(np.allclose(expected_tp_fp_labels, tp_fp_labels)) + + def test_one_true_positives_with_large_iou_threshold(self): + groundtruth_boxes = np.array([[0, 0, 1, 1]], dtype=float) + groundtruth_groundtruth_is_difficult_list = np.zeros(1, dtype=bool) + scores, tp_fp_labels = self.eval1._compute_tp_fp_for_single_class( + self.detected_boxes, self.detected_scores, groundtruth_boxes, + groundtruth_groundtruth_is_difficult_list) + expected_scores = np.array([0.8, 0.6, 0.5], dtype=float) + expected_tp_fp_labels = np.array([False, True, False], dtype=bool) + self.assertTrue(np.allclose(expected_scores, scores)) + self.assertTrue(np.allclose(expected_tp_fp_labels, tp_fp_labels)) + + def test_one_true_positives_with_very_small_iou_threshold(self): + groundtruth_boxes = np.array([[0, 0, 1, 1]], dtype=float) + groundtruth_groundtruth_is_difficult_list = np.zeros(1, dtype=bool) + scores, tp_fp_labels = self.eval2._compute_tp_fp_for_single_class( + self.detected_boxes, self.detected_scores, groundtruth_boxes, + groundtruth_groundtruth_is_difficult_list) + expected_scores = np.array([0.8, 0.6, 0.5], dtype=float) + expected_tp_fp_labels = np.array([True, False, False], dtype=bool) + self.assertTrue(np.allclose(expected_scores, scores)) + self.assertTrue(np.allclose(expected_tp_fp_labels, tp_fp_labels)) + + def test_two_true_positives_with_large_iou_threshold(self): + groundtruth_boxes = np.array([[0, 0, 1, 1], [0, 0, 3.5, 3.5]], dtype=float) + groundtruth_groundtruth_is_difficult_list = np.zeros(2, dtype=bool) + scores, tp_fp_labels = self.eval1._compute_tp_fp_for_single_class( + self.detected_boxes, self.detected_scores, groundtruth_boxes, + groundtruth_groundtruth_is_difficult_list) + expected_scores = np.array([0.8, 0.6, 0.5], dtype=float) + expected_tp_fp_labels = np.array([False, True, True], dtype=bool) + self.assertTrue(np.allclose(expected_scores, scores)) + self.assertTrue(np.allclose(expected_tp_fp_labels, tp_fp_labels)) + + +class MultiClassesTpFpTest(tf.test.TestCase): + + def test_tp_fp(self): + num_groundtruth_classes = 3 + matching_iou_threshold = 0.5 + nms_iou_threshold = 1.0 + nms_max_output_boxes = 10000 + eval1 = per_image_evaluation.PerImageEvaluation(num_groundtruth_classes, + matching_iou_threshold, + nms_iou_threshold, + nms_max_output_boxes) + detected_boxes = np.array([[0, 0, 1, 1], [10, 10, 5, 5], [0, 0, 2, 2], + [5, 10, 10, 5], [10, 5, 5, 10], [0, 0, 3, 3]], + dtype=float) + detected_scores = np.array([0.8, 0.1, 0.8, 0.9, 0.7, 0.8], dtype=float) + detected_class_labels = np.array([0, 1, 1, 2, 0, 2], dtype=int) + groundtruth_boxes = np.array([[0, 0, 1, 1], [0, 0, 3.5, 3.5]], dtype=float) + groundtruth_class_labels = np.array([0, 2], dtype=int) + groundtruth_groundtruth_is_difficult_list = np.zeros(2, dtype=float) + scores, tp_fp_labels, _ = eval1.compute_object_detection_metrics( + detected_boxes, detected_scores, detected_class_labels, + groundtruth_boxes, groundtruth_class_labels, + groundtruth_groundtruth_is_difficult_list) + expected_scores = [np.array([0.8], dtype=float)] * 3 + expected_tp_fp_labels = [np.array([True]), np.array([False]), np.array([True + ])] + for i in range(len(expected_scores)): + self.assertTrue(np.allclose(expected_scores[i], scores[i])) + self.assertTrue(np.array_equal(expected_tp_fp_labels[i], tp_fp_labels[i])) + + +class CorLocTest(tf.test.TestCase): + + def test_compute_corloc_with_normal_iou_threshold(self): + num_groundtruth_classes = 3 + matching_iou_threshold = 0.5 + nms_iou_threshold = 1.0 + nms_max_output_boxes = 10000 + eval1 = per_image_evaluation.PerImageEvaluation(num_groundtruth_classes, + matching_iou_threshold, + nms_iou_threshold, + nms_max_output_boxes) + detected_boxes = np.array([[0, 0, 1, 1], [0, 0, 2, 2], [0, 0, 3, 3], + [0, 0, 5, 5]], dtype=float) + detected_scores = np.array([0.9, 0.9, 0.1, 0.9], dtype=float) + detected_class_labels = np.array([0, 1, 0, 2], dtype=int) + groundtruth_boxes = np.array([[0, 0, 1, 1], [0, 0, 3, 3], [0, 0, 6, 6]], + dtype=float) + groundtruth_class_labels = np.array([0, 0, 2], dtype=int) + + is_class_correctly_detected_in_image = eval1._compute_cor_loc( + detected_boxes, detected_scores, detected_class_labels, + groundtruth_boxes, groundtruth_class_labels) + expected_result = np.array([1, 0, 1], dtype=int) + self.assertTrue(np.array_equal(expected_result, + is_class_correctly_detected_in_image)) + + def test_compute_corloc_with_very_large_iou_threshold(self): + num_groundtruth_classes = 3 + matching_iou_threshold = 0.9 + nms_iou_threshold = 1.0 + nms_max_output_boxes = 10000 + eval1 = per_image_evaluation.PerImageEvaluation(num_groundtruth_classes, + matching_iou_threshold, + nms_iou_threshold, + nms_max_output_boxes) + detected_boxes = np.array([[0, 0, 1, 1], [0, 0, 2, 2], [0, 0, 3, 3], + [0, 0, 5, 5]], dtype=float) + detected_scores = np.array([0.9, 0.9, 0.1, 0.9], dtype=float) + detected_class_labels = np.array([0, 1, 0, 2], dtype=int) + groundtruth_boxes = np.array([[0, 0, 1, 1], [0, 0, 3, 3], [0, 0, 6, 6]], + dtype=float) + groundtruth_class_labels = np.array([0, 0, 2], dtype=int) + + is_class_correctly_detected_in_image = eval1._compute_cor_loc( + detected_boxes, detected_scores, detected_class_labels, + groundtruth_boxes, groundtruth_class_labels) + expected_result = np.array([1, 0, 0], dtype=int) + self.assertTrue(np.array_equal(expected_result, + is_class_correctly_detected_in_image)) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/shape_utils.py b/object_detection/utils/shape_utils.py new file mode 100644 index 000000000..6fee6ad08 --- /dev/null +++ b/object_detection/utils/shape_utils.py @@ -0,0 +1,113 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utils used to manipulate tensor shapes.""" + +import tensorflow as tf + + +def _is_tensor(t): + """Returns a boolean indicating whether the input is a tensor. + + Args: + t: the input to be tested. + + Returns: + a boolean that indicates whether t is a tensor. + """ + return isinstance(t, (tf.Tensor, tf.SparseTensor, tf.Variable)) + + +def _set_dim_0(t, d0): + """Sets the 0-th dimension of the input tensor. + + Args: + t: the input tensor, assuming the rank is at least 1. + d0: an integer indicating the 0-th dimension of the input tensor. + + Returns: + the tensor t with the 0-th dimension set. + """ + t_shape = t.get_shape().as_list() + t_shape[0] = d0 + t.set_shape(t_shape) + return t + + +def pad_tensor(t, length): + """Pads the input tensor with 0s along the first dimension up to the length. + + Args: + t: the input tensor, assuming the rank is at least 1. + length: a tensor of shape [1] or an integer, indicating the first dimension + of the input tensor t after padding, assuming length <= t.shape[0]. + + Returns: + padded_t: the padded tensor, whose first dimension is length. If the length + is an integer, the first dimension of padded_t is set to length + statically. + """ + t_rank = tf.rank(t) + t_shape = tf.shape(t) + t_d0 = t_shape[0] + pad_d0 = tf.expand_dims(length - t_d0, 0) + pad_shape = tf.cond( + tf.greater(t_rank, 1), lambda: tf.concat([pad_d0, t_shape[1:]], 0), + lambda: tf.expand_dims(length - t_d0, 0)) + padded_t = tf.concat([t, tf.zeros(pad_shape, dtype=t.dtype)], 0) + if not _is_tensor(length): + padded_t = _set_dim_0(padded_t, length) + return padded_t + + +def clip_tensor(t, length): + """Clips the input tensor along the first dimension up to the length. + + Args: + t: the input tensor, assuming the rank is at least 1. + length: a tensor of shape [1] or an integer, indicating the first dimension + of the input tensor t after clipping, assuming length <= t.shape[0]. + + Returns: + clipped_t: the clipped tensor, whose first dimension is length. If the + length is an integer, the first dimension of clipped_t is set to length + statically. + """ + clipped_t = tf.gather(t, tf.range(length)) + if not _is_tensor(length): + clipped_t = _set_dim_0(clipped_t, length) + return clipped_t + + +def pad_or_clip_tensor(t, length): + """Pad or clip the input tensor along the first dimension. + + Args: + t: the input tensor, assuming the rank is at least 1. + length: a tensor of shape [1] or an integer, indicating the first dimension + of the input tensor t after processing. + + Returns: + processed_t: the processed tensor, whose first dimension is length. If the + length is an integer, the first dimension of the processed tensor is set + to length statically. + """ + processed_t = tf.cond( + tf.greater(tf.shape(t)[0], length), + lambda: clip_tensor(t, length), + lambda: pad_tensor(t, length)) + if not _is_tensor(length): + processed_t = _set_dim_0(processed_t, length) + return processed_t diff --git a/object_detection/utils/shape_utils_test.py b/object_detection/utils/shape_utils_test.py new file mode 100644 index 000000000..b1fa945cb --- /dev/null +++ b/object_detection/utils/shape_utils_test.py @@ -0,0 +1,120 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.shape_utils.""" + +import tensorflow as tf + +from object_detection.utils import shape_utils + + +class UtilTest(tf.test.TestCase): + + def test_pad_tensor_using_integer_input(self): + t1 = tf.constant([1], dtype=tf.int32) + pad_t1 = shape_utils.pad_tensor(t1, 2) + t2 = tf.constant([[0.1, 0.2]], dtype=tf.float32) + pad_t2 = shape_utils.pad_tensor(t2, 2) + + self.assertEqual(2, pad_t1.get_shape()[0]) + self.assertEqual(2, pad_t2.get_shape()[0]) + + with self.test_session() as sess: + pad_t1_result, pad_t2_result = sess.run([pad_t1, pad_t2]) + self.assertAllEqual([1, 0], pad_t1_result) + self.assertAllClose([[0.1, 0.2], [0, 0]], pad_t2_result) + + def test_pad_tensor_using_tensor_input(self): + t1 = tf.constant([1], dtype=tf.int32) + pad_t1 = shape_utils.pad_tensor(t1, tf.constant(2)) + t2 = tf.constant([[0.1, 0.2]], dtype=tf.float32) + pad_t2 = shape_utils.pad_tensor(t2, tf.constant(2)) + + with self.test_session() as sess: + pad_t1_result, pad_t2_result = sess.run([pad_t1, pad_t2]) + self.assertAllEqual([1, 0], pad_t1_result) + self.assertAllClose([[0.1, 0.2], [0, 0]], pad_t2_result) + + def test_clip_tensor_using_integer_input(self): + t1 = tf.constant([1, 2, 3], dtype=tf.int32) + clip_t1 = shape_utils.clip_tensor(t1, 2) + t2 = tf.constant([[0.1, 0.2], [0.2, 0.4], [0.5, 0.8]], dtype=tf.float32) + clip_t2 = shape_utils.clip_tensor(t2, 2) + + self.assertEqual(2, clip_t1.get_shape()[0]) + self.assertEqual(2, clip_t2.get_shape()[0]) + + with self.test_session() as sess: + clip_t1_result, clip_t2_result = sess.run([clip_t1, clip_t2]) + self.assertAllEqual([1, 2], clip_t1_result) + self.assertAllClose([[0.1, 0.2], [0.2, 0.4]], clip_t2_result) + + def test_clip_tensor_using_tensor_input(self): + t1 = tf.constant([1, 2, 3], dtype=tf.int32) + clip_t1 = shape_utils.clip_tensor(t1, tf.constant(2)) + t2 = tf.constant([[0.1, 0.2], [0.2, 0.4], [0.5, 0.8]], dtype=tf.float32) + clip_t2 = shape_utils.clip_tensor(t2, tf.constant(2)) + + with self.test_session() as sess: + clip_t1_result, clip_t2_result = sess.run([clip_t1, clip_t2]) + self.assertAllEqual([1, 2], clip_t1_result) + self.assertAllClose([[0.1, 0.2], [0.2, 0.4]], clip_t2_result) + + def test_pad_or_clip_tensor_using_integer_input(self): + t1 = tf.constant([1], dtype=tf.int32) + tt1 = shape_utils.pad_or_clip_tensor(t1, 2) + t2 = tf.constant([[0.1, 0.2]], dtype=tf.float32) + tt2 = shape_utils.pad_or_clip_tensor(t2, 2) + + t3 = tf.constant([1, 2, 3], dtype=tf.int32) + tt3 = shape_utils.clip_tensor(t3, 2) + t4 = tf.constant([[0.1, 0.2], [0.2, 0.4], [0.5, 0.8]], dtype=tf.float32) + tt4 = shape_utils.clip_tensor(t4, 2) + + self.assertEqual(2, tt1.get_shape()[0]) + self.assertEqual(2, tt2.get_shape()[0]) + self.assertEqual(2, tt3.get_shape()[0]) + self.assertEqual(2, tt4.get_shape()[0]) + + with self.test_session() as sess: + tt1_result, tt2_result, tt3_result, tt4_result = sess.run( + [tt1, tt2, tt3, tt4]) + self.assertAllEqual([1, 0], tt1_result) + self.assertAllClose([[0.1, 0.2], [0, 0]], tt2_result) + self.assertAllEqual([1, 2], tt3_result) + self.assertAllClose([[0.1, 0.2], [0.2, 0.4]], tt4_result) + + def test_pad_or_clip_tensor_using_tensor_input(self): + t1 = tf.constant([1], dtype=tf.int32) + tt1 = shape_utils.pad_or_clip_tensor(t1, tf.constant(2)) + t2 = tf.constant([[0.1, 0.2]], dtype=tf.float32) + tt2 = shape_utils.pad_or_clip_tensor(t2, tf.constant(2)) + + t3 = tf.constant([1, 2, 3], dtype=tf.int32) + tt3 = shape_utils.clip_tensor(t3, tf.constant(2)) + t4 = tf.constant([[0.1, 0.2], [0.2, 0.4], [0.5, 0.8]], dtype=tf.float32) + tt4 = shape_utils.clip_tensor(t4, tf.constant(2)) + + with self.test_session() as sess: + tt1_result, tt2_result, tt3_result, tt4_result = sess.run( + [tt1, tt2, tt3, tt4]) + self.assertAllEqual([1, 0], tt1_result) + self.assertAllClose([[0.1, 0.2], [0, 0]], tt2_result) + self.assertAllEqual([1, 2], tt3_result) + self.assertAllClose([[0.1, 0.2], [0.2, 0.4]], tt4_result) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/static_shape.py b/object_detection/utils/static_shape.py new file mode 100644 index 000000000..8e4e522f1 --- /dev/null +++ b/object_detection/utils/static_shape.py @@ -0,0 +1,71 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Helper functions to access TensorShape values. + +The rank 4 tensor_shape must be of the form [batch_size, height, width, depth]. +""" + + +def get_batch_size(tensor_shape): + """Returns batch size from the tensor shape. + + Args: + tensor_shape: A rank 4 TensorShape. + + Returns: + An integer representing the batch size of the tensor. + """ + tensor_shape.assert_has_rank(rank=4) + return tensor_shape[0].value + + +def get_height(tensor_shape): + """Returns height from the tensor shape. + + Args: + tensor_shape: A rank 4 TensorShape. + + Returns: + An integer representing the height of the tensor. + """ + tensor_shape.assert_has_rank(rank=4) + return tensor_shape[1].value + + +def get_width(tensor_shape): + """Returns width from the tensor shape. + + Args: + tensor_shape: A rank 4 TensorShape. + + Returns: + An integer representing the width of the tensor. + """ + tensor_shape.assert_has_rank(rank=4) + return tensor_shape[2].value + + +def get_depth(tensor_shape): + """Returns depth from the tensor shape. + + Args: + tensor_shape: A rank 4 TensorShape. + + Returns: + An integer representing the depth of the tensor. + """ + tensor_shape.assert_has_rank(rank=4) + return tensor_shape[3].value diff --git a/object_detection/utils/static_shape_test.py b/object_detection/utils/static_shape_test.py new file mode 100644 index 000000000..99307e932 --- /dev/null +++ b/object_detection/utils/static_shape_test.py @@ -0,0 +1,50 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.static_shape.""" + +import tensorflow as tf + +from object_detection.utils import static_shape + + +class StaticShapeTest(tf.test.TestCase): + + def test_return_correct_batchSize(self): + tensor_shape = tf.TensorShape(dims=[32, 299, 384, 3]) + self.assertEqual(32, static_shape.get_batch_size(tensor_shape)) + + def test_return_correct_height(self): + tensor_shape = tf.TensorShape(dims=[32, 299, 384, 3]) + self.assertEqual(299, static_shape.get_height(tensor_shape)) + + def test_return_correct_width(self): + tensor_shape = tf.TensorShape(dims=[32, 299, 384, 3]) + self.assertEqual(384, static_shape.get_width(tensor_shape)) + + def test_return_correct_depth(self): + tensor_shape = tf.TensorShape(dims=[32, 299, 384, 3]) + self.assertEqual(3, static_shape.get_depth(tensor_shape)) + + def test_die_on_tensor_shape_with_rank_three(self): + tensor_shape = tf.TensorShape(dims=[32, 299, 384]) + with self.assertRaises(ValueError): + static_shape.get_batch_size(tensor_shape) + static_shape.get_height(tensor_shape) + static_shape.get_width(tensor_shape) + static_shape.get_depth(tensor_shape) + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/test_utils.py b/object_detection/utils/test_utils.py new file mode 100644 index 000000000..f4eb8171c --- /dev/null +++ b/object_detection/utils/test_utils.py @@ -0,0 +1,137 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Contains functions which are convenient for unit testing.""" +import numpy as np +import tensorflow as tf + +from object_detection.core import anchor_generator +from object_detection.core import box_coder +from object_detection.core import box_list +from object_detection.core import box_predictor +from object_detection.core import matcher + + +class MockBoxCoder(box_coder.BoxCoder): + """Simple `difference` BoxCoder.""" + + @property + def code_size(self): + return 4 + + def _encode(self, boxes, anchors): + return boxes.get() - anchors.get() + + def _decode(self, rel_codes, anchors): + return box_list.BoxList(rel_codes + anchors.get()) + + +class MockBoxPredictor(box_predictor.BoxPredictor): + """Simple box predictor that ignores inputs and outputs all zeros.""" + + def __init__(self, is_training, num_classes): + super(MockBoxPredictor, self).__init__(is_training, num_classes) + + def _predict(self, image_features, num_predictions_per_location): + batch_size = image_features.get_shape().as_list()[0] + num_anchors = (image_features.get_shape().as_list()[1] + * image_features.get_shape().as_list()[2]) + code_size = 4 + zero = tf.reduce_sum(0 * image_features) + box_encodings = zero + tf.zeros( + (batch_size, num_anchors, 1, code_size), dtype=tf.float32) + class_predictions_with_background = zero + tf.zeros( + (batch_size, num_anchors, self.num_classes + 1), dtype=tf.float32) + return {box_predictor.BOX_ENCODINGS: box_encodings, + box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND: + class_predictions_with_background} + + +class MockAnchorGenerator(anchor_generator.AnchorGenerator): + """Mock anchor generator.""" + + def name_scope(self): + return 'MockAnchorGenerator' + + def num_anchors_per_location(self): + return [1] + + def _generate(self, feature_map_shape_list): + num_anchors = sum([shape[0] * shape[1] for shape in feature_map_shape_list]) + return box_list.BoxList(tf.zeros((num_anchors, 4), dtype=tf.float32)) + + +class MockMatcher(matcher.Matcher): + """Simple matcher that matches first anchor to first groundtruth box.""" + + def _match(self, similarity_matrix): + return tf.constant([0, -1, -1, -1], dtype=tf.int32) + + +def create_diagonal_gradient_image(height, width, depth): + """Creates pyramid image. Useful for testing. + + For example, pyramid_image(5, 6, 1) looks like: + # [[[ 5. 4. 3. 2. 1. 0.] + # [ 6. 5. 4. 3. 2. 1.] + # [ 7. 6. 5. 4. 3. 2.] + # [ 8. 7. 6. 5. 4. 3.] + # [ 9. 8. 7. 6. 5. 4.]]] + + Args: + height: height of image + width: width of image + depth: depth of image + + Returns: + pyramid image + """ + row = np.arange(height) + col = np.arange(width)[::-1] + image_layer = np.expand_dims(row, 1) + col + image_layer = np.expand_dims(image_layer, 2) + + image = image_layer + for i in range(1, depth): + image = np.concatenate((image, image_layer * pow(10, i)), 2) + + return image.astype(np.float32) + + +def create_random_boxes(num_boxes, max_height, max_width): + """Creates random bounding boxes of specific maximum height and width. + + Args: + num_boxes: number of boxes. + max_height: maximum height of boxes. + max_width: maximum width of boxes. + + Returns: + boxes: numpy array of shape [num_boxes, 4]. Each row is in form + [y_min, x_min, y_max, x_max]. + """ + + y_1 = np.random.uniform(size=(1, num_boxes)) * max_height + y_2 = np.random.uniform(size=(1, num_boxes)) * max_height + x_1 = np.random.uniform(size=(1, num_boxes)) * max_width + x_2 = np.random.uniform(size=(1, num_boxes)) * max_width + + boxes = np.zeros(shape=(num_boxes, 4)) + boxes[:, 0] = np.minimum(y_1, y_2) + boxes[:, 1] = np.minimum(x_1, x_2) + boxes[:, 2] = np.maximum(y_1, y_2) + boxes[:, 3] = np.maximum(x_1, x_2) + + return boxes.astype(np.float32) diff --git a/object_detection/utils/test_utils_test.py b/object_detection/utils/test_utils_test.py new file mode 100644 index 000000000..1a4799c69 --- /dev/null +++ b/object_detection/utils/test_utils_test.py @@ -0,0 +1,73 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.test_utils.""" + +import numpy as np +import tensorflow as tf + +from object_detection.utils import test_utils + + +class TestUtilsTest(tf.test.TestCase): + + def test_diagonal_gradient_image(self): + """Tests if a good pyramid image is created.""" + pyramid_image = test_utils.create_diagonal_gradient_image(3, 4, 2) + + # Test which is easy to understand. + expected_first_channel = np.array([[3, 2, 1, 0], + [4, 3, 2, 1], + [5, 4, 3, 2]], dtype=np.float32) + self.assertAllEqual(np.squeeze(pyramid_image[:, :, 0]), + expected_first_channel) + + # Actual test. + expected_image = np.array([[[3, 30], + [2, 20], + [1, 10], + [0, 0]], + [[4, 40], + [3, 30], + [2, 20], + [1, 10]], + [[5, 50], + [4, 40], + [3, 30], + [2, 20]]], dtype=np.float32) + + self.assertAllEqual(pyramid_image, expected_image) + + def test_random_boxes(self): + """Tests if valid random boxes are created.""" + num_boxes = 1000 + max_height = 3 + max_width = 5 + boxes = test_utils.create_random_boxes(num_boxes, + max_height, + max_width) + + true_column = np.ones(shape=(num_boxes)) == 1 + self.assertAllEqual(boxes[:, 0] < boxes[:, 2], true_column) + self.assertAllEqual(boxes[:, 1] < boxes[:, 3], true_column) + + self.assertTrue(boxes[:, 0].min() >= 0) + self.assertTrue(boxes[:, 1].min() >= 0) + self.assertTrue(boxes[:, 2].max() <= max_height) + self.assertTrue(boxes[:, 3].max() <= max_width) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/variables_helper.py b/object_detection/utils/variables_helper.py new file mode 100644 index 000000000..1e091a144 --- /dev/null +++ b/object_detection/utils/variables_helper.py @@ -0,0 +1,133 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Helper functions for manipulating collections of variables during training. +""" +import logging +import re + +import tensorflow as tf + +slim = tf.contrib.slim + + +# TODO: Consider replacing with tf.contrib.filter_variables in +# tensorflow/contrib/framework/python/ops/variables.py +def filter_variables(variables, filter_regex_list, invert=False): + """Filters out the variables matching the filter_regex. + + Filter out the variables whose name matches the any of the regular + expressions in filter_regex_list and returns the remaining variables. + Optionally, if invert=True, the complement set is returned. + + Args: + variables: a list of tensorflow variables. + filter_regex_list: a list of string regular expressions. + invert: (boolean). If True, returns the complement of the filter set; that + is, all variables matching filter_regex are kept and all others discarded. + + Returns: + a list of filtered variables. + """ + kept_vars = [] + variables_to_ignore_patterns = filter(None, filter_regex_list) + for var in variables: + add = True + for pattern in variables_to_ignore_patterns: + if re.match(pattern, var.op.name): + add = False + break + if add != invert: + kept_vars.append(var) + return kept_vars + + +def multiply_gradients_matching_regex(grads_and_vars, regex_list, multiplier): + """Multiply gradients whose variable names match a regular expression. + + Args: + grads_and_vars: A list of gradient to variable pairs (tuples). + regex_list: A list of string regular expressions. + multiplier: A (float) multiplier to apply to each gradient matching the + regular expression. + + Returns: + grads_and_vars: A list of gradient to variable pairs (tuples). + """ + variables = [pair[1] for pair in grads_and_vars] + matching_vars = filter_variables(variables, regex_list, invert=True) + for var in matching_vars: + logging.info('Applying multiplier %f to variable [%s]', + multiplier, var.op.name) + grad_multipliers = {var: float(multiplier) for var in matching_vars} + return slim.learning.multiply_gradients(grads_and_vars, + grad_multipliers) + + +def freeze_gradients_matching_regex(grads_and_vars, regex_list): + """Freeze gradients whose variable names match a regular expression. + + Args: + grads_and_vars: A list of gradient to variable pairs (tuples). + regex_list: A list of string regular expressions. + + Returns: + grads_and_vars: A list of gradient to variable pairs (tuples) that do not + contain the variables and gradients matching the regex. + """ + variables = [pair[1] for pair in grads_and_vars] + matching_vars = filter_variables(variables, regex_list, invert=True) + kept_grads_and_vars = [pair for pair in grads_and_vars + if pair[1] not in matching_vars] + for var in matching_vars: + logging.info('Freezing variable [%s]', var.op.name) + return kept_grads_and_vars + + +def get_variables_available_in_checkpoint(variables, checkpoint_path): + """Returns the subset of variables available in the checkpoint. + + Inspects given checkpoint and returns the subset of variables that are + available in it. + + TODO: force input and output to be a dictionary. + + Args: + variables: a list or dictionary of variables to find in checkpoint. + checkpoint_path: path to the checkpoint to restore variables from. + + Returns: + A list or dictionary of variables. + Raises: + ValueError: if `variables` is not a list or dict. + """ + if isinstance(variables, list): + variable_names_map = {variable.op.name: variable for variable in variables} + elif isinstance(variables, dict): + variable_names_map = variables + else: + raise ValueError('`variables` is expected to be a list or dict.') + ckpt_reader = tf.train.NewCheckpointReader(checkpoint_path) + ckpt_vars = ckpt_reader.get_variable_to_shape_map().keys() + vars_in_ckpt = {} + for variable_name, variable in sorted(variable_names_map.iteritems()): + if variable_name in ckpt_vars: + vars_in_ckpt[variable_name] = variable + else: + logging.warning('Variable [%s] not available in checkpoint', + variable_name) + if isinstance(variables, list): + return vars_in_ckpt.values() + return vars_in_ckpt diff --git a/object_detection/utils/variables_helper_test.py b/object_detection/utils/variables_helper_test.py new file mode 100644 index 000000000..c04b11916 --- /dev/null +++ b/object_detection/utils/variables_helper_test.py @@ -0,0 +1,185 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.utils.variables_helper.""" +import os + +import tensorflow as tf + +from object_detection.utils import variables_helper + + +class FilterVariablesTest(tf.test.TestCase): + + def _create_variables(self): + return [tf.Variable(1.0, name='FeatureExtractor/InceptionV3/weights'), + tf.Variable(1.0, name='FeatureExtractor/InceptionV3/biases'), + tf.Variable(1.0, name='StackProposalGenerator/weights'), + tf.Variable(1.0, name='StackProposalGenerator/biases')] + + def test_return_all_variables_when_empty_regex(self): + variables = self._create_variables() + out_variables = variables_helper.filter_variables(variables, ['']) + self.assertItemsEqual(out_variables, variables) + + def test_return_variables_which_do_not_match_single_regex(self): + variables = self._create_variables() + out_variables = variables_helper.filter_variables(variables, + ['FeatureExtractor/.*']) + self.assertItemsEqual(out_variables, variables[2:]) + + def test_return_variables_which_do_not_match_any_regex_in_list(self): + variables = self._create_variables() + out_variables = variables_helper.filter_variables(variables, [ + 'FeatureExtractor.*biases', 'StackProposalGenerator.*biases' + ]) + self.assertItemsEqual(out_variables, [variables[0], variables[2]]) + + def test_return_variables_matching_empty_regex_list(self): + variables = self._create_variables() + out_variables = variables_helper.filter_variables( + variables, [''], invert=True) + self.assertItemsEqual(out_variables, []) + + def test_return_variables_matching_some_regex_in_list(self): + variables = self._create_variables() + out_variables = variables_helper.filter_variables( + variables, + ['FeatureExtractor.*biases', 'StackProposalGenerator.*biases'], + invert=True) + self.assertItemsEqual(out_variables, [variables[1], variables[3]]) + + +class MultiplyGradientsMatchingRegexTest(tf.test.TestCase): + + def _create_grads_and_vars(self): + return [(tf.constant(1.0), + tf.Variable(1.0, name='FeatureExtractor/InceptionV3/weights')), + (tf.constant(2.0), + tf.Variable(2.0, name='FeatureExtractor/InceptionV3/biases')), + (tf.constant(3.0), + tf.Variable(3.0, name='StackProposalGenerator/weights')), + (tf.constant(4.0), + tf.Variable(4.0, name='StackProposalGenerator/biases'))] + + def test_multiply_all_feature_extractor_variables(self): + grads_and_vars = self._create_grads_and_vars() + regex_list = ['FeatureExtractor/.*'] + multiplier = 0.0 + grads_and_vars = variables_helper.multiply_gradients_matching_regex( + grads_and_vars, regex_list, multiplier) + exp_output = [(0.0, 1.0), (0.0, 2.0), (3.0, 3.0), (4.0, 4.0)] + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + output = sess.run(grads_and_vars) + self.assertItemsEqual(output, exp_output) + + def test_multiply_all_bias_variables(self): + grads_and_vars = self._create_grads_and_vars() + regex_list = ['.*/biases'] + multiplier = 0.0 + grads_and_vars = variables_helper.multiply_gradients_matching_regex( + grads_and_vars, regex_list, multiplier) + exp_output = [(1.0, 1.0), (0.0, 2.0), (3.0, 3.0), (0.0, 4.0)] + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + output = sess.run(grads_and_vars) + self.assertItemsEqual(output, exp_output) + + +class FreezeGradientsMatchingRegexTest(tf.test.TestCase): + + def _create_grads_and_vars(self): + return [(tf.constant(1.0), + tf.Variable(1.0, name='FeatureExtractor/InceptionV3/weights')), + (tf.constant(2.0), + tf.Variable(2.0, name='FeatureExtractor/InceptionV3/biases')), + (tf.constant(3.0), + tf.Variable(3.0, name='StackProposalGenerator/weights')), + (tf.constant(4.0), + tf.Variable(4.0, name='StackProposalGenerator/biases'))] + + def test_freeze_all_feature_extractor_variables(self): + grads_and_vars = self._create_grads_and_vars() + regex_list = ['FeatureExtractor/.*'] + grads_and_vars = variables_helper.freeze_gradients_matching_regex( + grads_and_vars, regex_list) + exp_output = [(3.0, 3.0), (4.0, 4.0)] + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + output = sess.run(grads_and_vars) + self.assertItemsEqual(output, exp_output) + + +class GetVariablesAvailableInCheckpointTest(tf.test.TestCase): + + def test_return_all_variables_from_checkpoint(self): + variables = [ + tf.Variable(1.0, name='weights'), + tf.Variable(1.0, name='biases') + ] + checkpoint_path = os.path.join(self.get_temp_dir(), 'graph.pb') + init_op = tf.global_variables_initializer() + saver = tf.train.Saver(variables) + with self.test_session() as sess: + sess.run(init_op) + saver.save(sess, checkpoint_path) + out_variables = variables_helper.get_variables_available_in_checkpoint( + variables, checkpoint_path) + self.assertItemsEqual(out_variables, variables) + + def test_return_variables_available_in_checkpoint(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'graph.pb') + graph1_variables = [ + tf.Variable(1.0, name='weights'), + ] + init_op = tf.global_variables_initializer() + saver = tf.train.Saver(graph1_variables) + with self.test_session() as sess: + sess.run(init_op) + saver.save(sess, checkpoint_path) + + graph2_variables = graph1_variables + [tf.Variable(1.0, name='biases')] + out_variables = variables_helper.get_variables_available_in_checkpoint( + graph2_variables, checkpoint_path) + self.assertItemsEqual(out_variables, graph1_variables) + + def test_return_variables_available_an_checkpoint_with_dict_inputs(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'graph.pb') + graph1_variables = [ + tf.Variable(1.0, name='ckpt_weights'), + ] + init_op = tf.global_variables_initializer() + saver = tf.train.Saver(graph1_variables) + with self.test_session() as sess: + sess.run(init_op) + saver.save(sess, checkpoint_path) + + graph2_variables_dict = { + 'ckpt_weights': tf.Variable(1.0, name='weights'), + 'ckpt_biases': tf.Variable(1.0, name='biases') + } + out_variables = variables_helper.get_variables_available_in_checkpoint( + graph2_variables_dict, checkpoint_path) + self.assertTrue(isinstance(out_variables, dict)) + self.assertItemsEqual(out_variables.keys(), ['ckpt_weights']) + self.assertTrue(out_variables['ckpt_weights'].op.name == 'weights') + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/utils/visualization_utils.py b/object_detection/utils/visualization_utils.py new file mode 100644 index 000000000..23eed7b23 --- /dev/null +++ b/object_detection/utils/visualization_utils.py @@ -0,0 +1,422 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""A set of functions that are used for visualization. + +These functions often receive an image, perform some visualization on the image. +The functions do not return a value, instead they modify the image itself. + +""" +import collections +import numpy as np +import PIL.Image as Image +import PIL.ImageColor as ImageColor +import PIL.ImageDraw as ImageDraw +import PIL.ImageFont as ImageFont +import six +import tensorflow as tf + + +_TITLE_LEFT_MARGIN = 10 +_TITLE_TOP_MARGIN = 10 +STANDARD_COLORS = [ + 'AliceBlue', 'Chartreuse', 'Aqua', 'Aquamarine', 'Azure', 'Beige', 'Bisque', + 'BlanchedAlmond', 'BlueViolet', 'BurlyWood', 'CadetBlue', 'AntiqueWhite', + 'Chocolate', 'Coral', 'CornflowerBlue', 'Cornsilk', 'Crimson', 'Cyan', + 'DarkCyan', 'DarkGoldenRod', 'DarkGrey', 'DarkKhaki', 'DarkOrange', + 'DarkOrchid', 'DarkSalmon', 'DarkSeaGreen', 'DarkTurquoise', 'DarkViolet', + 'DeepPink', 'DeepSkyBlue', 'DodgerBlue', 'FireBrick', 'FloralWhite', + 'ForestGreen', 'Fuchsia', 'Gainsboro', 'GhostWhite', 'Gold', 'GoldenRod', + 'Salmon', 'Tan', 'HoneyDew', 'HotPink', 'IndianRed', 'Ivory', 'Khaki', + 'Lavender', 'LavenderBlush', 'LawnGreen', 'LemonChiffon', 'LightBlue', + 'LightCoral', 'LightCyan', 'LightGoldenRodYellow', 'LightGray', 'LightGrey', + 'LightGreen', 'LightPink', 'LightSalmon', 'LightSeaGreen', 'LightSkyBlue', + 'LightSlateGray', 'LightSlateGrey', 'LightSteelBlue', 'LightYellow', 'Lime', + 'LimeGreen', 'Linen', 'Magenta', 'MediumAquaMarine', 'MediumOrchid', + 'MediumPurple', 'MediumSeaGreen', 'MediumSlateBlue', 'MediumSpringGreen', + 'MediumTurquoise', 'MediumVioletRed', 'MintCream', 'MistyRose', 'Moccasin', + 'NavajoWhite', 'OldLace', 'Olive', 'OliveDrab', 'Orange', 'OrangeRed', + 'Orchid', 'PaleGoldenRod', 'PaleGreen', 'PaleTurquoise', 'PaleVioletRed', + 'PapayaWhip', 'PeachPuff', 'Peru', 'Pink', 'Plum', 'PowderBlue', 'Purple', + 'Red', 'RosyBrown', 'RoyalBlue', 'SaddleBrown', 'Green', 'SandyBrown', + 'SeaGreen', 'SeaShell', 'Sienna', 'Silver', 'SkyBlue', 'SlateBlue', + 'SlateGray', 'SlateGrey', 'Snow', 'SpringGreen', 'SteelBlue', 'GreenYellow', + 'Teal', 'Thistle', 'Tomato', 'Turquoise', 'Violet', 'Wheat', 'White', + 'WhiteSmoke', 'Yellow', 'YellowGreen' +] + + +def save_image_array_as_png(image, output_path): + """Saves an image (represented as a numpy array) to PNG. + + Args: + image: a numpy array with shape [height, width, 3]. + output_path: path to which image should be written. + """ + image_pil = Image.fromarray(np.uint8(image)).convert('RGB') + with tf.gfile.Open(output_path, 'w') as fid: + image_pil.save(fid, 'PNG') + + +def encode_image_array_as_png_str(image): + """Encodes a numpy array into a PNG string. + + Args: + image: a numpy array with shape [height, width, 3]. + + Returns: + PNG encoded image string. + """ + image_pil = Image.fromarray(np.uint8(image)) + output = six.StringIO() + image_pil.save(output, format='PNG') + png_string = output.getvalue() + output.close() + return png_string + + +def draw_bounding_box_on_image_array(image, + ymin, + xmin, + ymax, + xmax, + color='red', + thickness=4, + display_str_list=(), + use_normalized_coordinates=True): + """Adds a bounding box to an image (numpy array). + + Args: + image: a numpy array with shape [height, width, 3]. + ymin: ymin of bounding box in normalized coordinates (same below). + xmin: xmin of bounding box. + ymax: ymax of bounding box. + xmax: xmax of bounding box. + color: color to draw bounding box. Default is red. + thickness: line thickness. Default value is 4. + display_str_list: list of strings to display in box + (each to be shown on its own line). + use_normalized_coordinates: If True (default), treat coordinates + ymin, xmin, ymax, xmax as relative to the image. Otherwise treat + coordinates as absolute. + """ + image_pil = Image.fromarray(np.uint8(image)).convert('RGB') + draw_bounding_box_on_image(image_pil, ymin, xmin, ymax, xmax, color, + thickness, display_str_list, + use_normalized_coordinates) + np.copyto(image, np.array(image_pil)) + + +def draw_bounding_box_on_image(image, + ymin, + xmin, + ymax, + xmax, + color='red', + thickness=4, + display_str_list=(), + use_normalized_coordinates=True): + """Adds a bounding box to an image. + + Each string in display_str_list is displayed on a separate line above the + bounding box in black text on a rectangle filled with the input 'color'. + + Args: + image: a PIL.Image object. + ymin: ymin of bounding box. + xmin: xmin of bounding box. + ymax: ymax of bounding box. + xmax: xmax of bounding box. + color: color to draw bounding box. Default is red. + thickness: line thickness. Default value is 4. + display_str_list: list of strings to display in box + (each to be shown on its own line). + use_normalized_coordinates: If True (default), treat coordinates + ymin, xmin, ymax, xmax as relative to the image. Otherwise treat + coordinates as absolute. + """ + draw = ImageDraw.Draw(image) + im_width, im_height = image.size + if use_normalized_coordinates: + (left, right, top, bottom) = (xmin * im_width, xmax * im_width, + ymin * im_height, ymax * im_height) + else: + (left, right, top, bottom) = (xmin, xmax, ymin, ymax) + draw.line([(left, top), (left, bottom), (right, bottom), + (right, top), (left, top)], width=thickness, fill=color) + font = ImageFont.load_default() + + text_bottom = top + # Reverse list and print from bottom to top. + for display_str in display_str_list[::-1]: + text_width, text_height = font.getsize(display_str) + margin = np.ceil(0.05 * text_height) + draw.rectangle( + [(left, text_bottom - text_height - 2 * margin), (left + text_width, + text_bottom)], + fill=color) + draw.text( + (left + margin, text_bottom - text_height - margin), + display_str, + fill='black', + font=font) + text_bottom -= text_height - 2 * margin + + +def draw_bounding_boxes_on_image_array(image, + boxes, + color='red', + thickness=4, + display_str_list_list=()): + """Draws bounding boxes on image (numpy array). + + Args: + image: a numpy array object. + boxes: a 2 dimensional numpy array of [N, 4]: (ymin, xmin, ymax, xmax). + The coordinates are in normalized format between [0, 1]. + color: color to draw bounding box. Default is red. + thickness: line thickness. Default value is 4. + display_str_list_list: list of list of strings. + a list of strings for each bounding box. + The reason to pass a list of strings for a + bounding box is that it might contain + multiple labels. + + Raises: + ValueError: if boxes is not a [N, 4] array + """ + image_pil = Image.fromarray(image) + draw_bounding_boxes_on_image(image_pil, boxes, color, thickness, + display_str_list_list) + np.copyto(image, np.array(image_pil)) + + +def draw_bounding_boxes_on_image(image, + boxes, + color='red', + thickness=4, + display_str_list_list=()): + """Draws bounding boxes on image. + + Args: + image: a PIL.Image object. + boxes: a 2 dimensional numpy array of [N, 4]: (ymin, xmin, ymax, xmax). + The coordinates are in normalized format between [0, 1]. + color: color to draw bounding box. Default is red. + thickness: line thickness. Default value is 4. + display_str_list_list: list of list of strings. + a list of strings for each bounding box. + The reason to pass a list of strings for a + bounding box is that it might contain + multiple labels. + + Raises: + ValueError: if boxes is not a [N, 4] array + """ + boxes_shape = boxes.shape + if not boxes_shape: + return + if len(boxes_shape) != 2 or boxes_shape[1] != 4: + raise ValueError('Input must be of size [N, 4]') + for i in range(boxes_shape[0]): + display_str_list = () + if display_str_list_list: + display_str_list = display_str_list_list[i] + draw_bounding_box_on_image(image, boxes[i, 0], boxes[i, 1], boxes[i, 2], + boxes[i, 3], color, thickness, display_str_list) + + +def draw_keypoints_on_image_array(image, + keypoints, + color='red', + radius=2, + use_normalized_coordinates=True): + """Draws keypoints on an image (numpy array). + + Args: + image: a numpy array with shape [height, width, 3]. + keypoints: a numpy array with shape [num_keypoints, 2]. + color: color to draw the keypoints with. Default is red. + radius: keypoint radius. Default value is 2. + use_normalized_coordinates: if True (default), treat keypoint values as + relative to the image. Otherwise treat them as absolute. + """ + image_pil = Image.fromarray(np.uint8(image)).convert('RGB') + draw_keypoints_on_image(image_pil, keypoints, color, radius, + use_normalized_coordinates) + np.copyto(image, np.array(image_pil)) + + +def draw_keypoints_on_image(image, + keypoints, + color='red', + radius=2, + use_normalized_coordinates=True): + """Draws keypoints on an image. + + Args: + image: a PIL.Image object. + keypoints: a numpy array with shape [num_keypoints, 2]. + color: color to draw the keypoints with. Default is red. + radius: keypoint radius. Default value is 2. + use_normalized_coordinates: if True (default), treat keypoint values as + relative to the image. Otherwise treat them as absolute. + """ + draw = ImageDraw.Draw(image) + im_width, im_height = image.size + keypoints_x = [k[1] for k in keypoints] + keypoints_y = [k[0] for k in keypoints] + if use_normalized_coordinates: + keypoints_x = tuple([im_width * x for x in keypoints_x]) + keypoints_y = tuple([im_height * y for y in keypoints_y]) + for keypoint_x, keypoint_y in zip(keypoints_x, keypoints_y): + draw.ellipse([(keypoint_x - radius, keypoint_y - radius), + (keypoint_x + radius, keypoint_y + radius)], + outline=color, fill=color) + + +def draw_mask_on_image_array(image, mask, color='red', alpha=0.7): + """Draws mask on an image. + + Args: + image: uint8 numpy array with shape (img_height, img_height, 3) + mask: a float numpy array of shape (img_height, img_height) with + values between 0 and 1 + color: color to draw the keypoints with. Default is red. + alpha: transparency value between 0 and 1. (default: 0.7) + + Raises: + ValueError: On incorrect data type for image or masks. + """ + if image.dtype != np.uint8: + raise ValueError('`image` not of type np.uint8') + if mask.dtype != np.float32: + raise ValueError('`mask` not of type np.float32') + if np.any(np.logical_or(mask > 1.0, mask < 0.0)): + raise ValueError('`mask` elements should be in [0, 1]') + rgb = ImageColor.getrgb(color) + pil_image = Image.fromarray(image) + + solid_color = np.expand_dims( + np.ones_like(mask), axis=2) * np.reshape(list(rgb), [1, 1, 3]) + pil_solid_color = Image.fromarray(np.uint8(solid_color)).convert('RGBA') + pil_mask = Image.fromarray(np.uint8(255.0*alpha*mask)).convert('L') + pil_image = Image.composite(pil_solid_color, pil_image, pil_mask) + np.copyto(image, np.array(pil_image.convert('RGB'))) + + +def visualize_boxes_and_labels_on_image_array(image, + boxes, + classes, + scores, + category_index, + instance_masks=None, + keypoints=None, + use_normalized_coordinates=False, + max_boxes_to_draw=20, + min_score_thresh=.5, + agnostic_mode=False, + line_thickness=4): + """Overlay labeled boxes on an image with formatted scores and label names. + + This function groups boxes that correspond to the same location + and creates a display string for each detection and overlays these + on the image. Note that this function modifies the image array in-place + and does not return anything. + + Args: + image: uint8 numpy array with shape (img_height, img_width, 3) + boxes: a numpy array of shape [N, 4] + classes: a numpy array of shape [N] + scores: a numpy array of shape [N] or None. If scores=None, then + this function assumes that the boxes to be plotted are groundtruth + boxes and plot all boxes as black with no classes or scores. + category_index: a dict containing category dictionaries (each holding + category index `id` and category name `name`) keyed by category indices. + instance_masks: a numpy array of shape [N, image_height, image_width], can + be None + keypoints: a numpy array of shape [N, num_keypoints, 2], can + be None + use_normalized_coordinates: whether boxes is to be interpreted as + normalized coordinates or not. + max_boxes_to_draw: maximum number of boxes to visualize. If None, draw + all boxes. + min_score_thresh: minimum score threshold for a box to be visualized + agnostic_mode: boolean (default: False) controlling whether to evaluate in + class-agnostic mode or not. This mode will display scores but ignore + classes. + line_thickness: integer (default: 4) controlling line width of the boxes. + """ + # Create a display string (and color) for every box location, group any boxes + # that correspond to the same location. + box_to_display_str_map = collections.defaultdict(list) + box_to_color_map = collections.defaultdict(str) + box_to_instance_masks_map = {} + box_to_keypoints_map = collections.defaultdict(list) + if not max_boxes_to_draw: + max_boxes_to_draw = boxes.shape[0] + for i in range(min(max_boxes_to_draw, boxes.shape[0])): + if scores is None or scores[i] > min_score_thresh: + box = tuple(boxes[i].tolist()) + if instance_masks is not None: + box_to_instance_masks_map[box] = instance_masks[i] + if keypoints is not None: + box_to_keypoints_map[box].extend(keypoints[i]) + if scores is None: + box_to_color_map[box] = 'black' + else: + if not agnostic_mode: + if classes[i] in category_index.keys(): + class_name = category_index[classes[i]]['name'] + else: + class_name = 'N/A' + display_str = '{}: {}%'.format( + class_name, + int(100*scores[i])) + else: + display_str = 'score: {}%'.format(int(100 * scores[i])) + box_to_display_str_map[box].append(display_str) + if agnostic_mode: + box_to_color_map[box] = 'DarkOrange' + else: + box_to_color_map[box] = STANDARD_COLORS[ + classes[i] % len(STANDARD_COLORS)] + + # Draw all boxes onto image. + for box, color in box_to_color_map.iteritems(): + ymin, xmin, ymax, xmax = box + if instance_masks is not None: + draw_mask_on_image_array( + image, + box_to_instance_masks_map[box], + color=color + ) + draw_bounding_box_on_image_array( + image, + ymin, + xmin, + ymax, + xmax, + color=color, + thickness=line_thickness, + display_str_list=box_to_display_str_map[box], + use_normalized_coordinates=use_normalized_coordinates) + if keypoints is not None: + draw_keypoints_on_image_array( + image, + box_to_keypoints_map[box], + color=color, + radius=line_thickness / 2, + use_normalized_coordinates=use_normalized_coordinates) diff --git a/object_detection/utils/visualization_utils_test.py b/object_detection/utils/visualization_utils_test.py new file mode 100644 index 000000000..809d5f068 --- /dev/null +++ b/object_detection/utils/visualization_utils_test.py @@ -0,0 +1,151 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for image.understanding.object_detection.core.visualization_utils. + +Testing with visualization in the following colab: +https://drive.google.com/a/google.com/file/d/0B5HnKS_hMsNARERpU3MtU3I5RFE/view?usp=sharing + +""" + + +import numpy as np +import PIL.Image as Image +import tensorflow as tf + +from object_detection.utils import visualization_utils + + +class VisualizationUtilsTest(tf.test.TestCase): + + def create_colorful_test_image(self): + """This function creates an image that can be used to test vis functions. + + It makes an image composed of four colored rectangles. + + Returns: + colorful test numpy array image. + """ + ch255 = np.full([100, 200, 1], 255, dtype=np.uint8) + ch128 = np.full([100, 200, 1], 128, dtype=np.uint8) + ch0 = np.full([100, 200, 1], 0, dtype=np.uint8) + imr = np.concatenate((ch255, ch128, ch128), axis=2) + img = np.concatenate((ch255, ch255, ch0), axis=2) + imb = np.concatenate((ch255, ch0, ch255), axis=2) + imw = np.concatenate((ch128, ch128, ch128), axis=2) + imu = np.concatenate((imr, img), axis=1) + imd = np.concatenate((imb, imw), axis=1) + image = np.concatenate((imu, imd), axis=0) + return image + + def test_draw_bounding_box_on_image(self): + test_image = self.create_colorful_test_image() + test_image = Image.fromarray(test_image) + width_original, height_original = test_image.size + ymin = 0.25 + ymax = 0.75 + xmin = 0.4 + xmax = 0.6 + + visualization_utils.draw_bounding_box_on_image(test_image, ymin, xmin, ymax, + xmax) + width_final, height_final = test_image.size + + self.assertEqual(width_original, width_final) + self.assertEqual(height_original, height_final) + + def test_draw_bounding_box_on_image_array(self): + test_image = self.create_colorful_test_image() + width_original = test_image.shape[0] + height_original = test_image.shape[1] + ymin = 0.25 + ymax = 0.75 + xmin = 0.4 + xmax = 0.6 + + visualization_utils.draw_bounding_box_on_image_array( + test_image, ymin, xmin, ymax, xmax) + width_final = test_image.shape[0] + height_final = test_image.shape[1] + + self.assertEqual(width_original, width_final) + self.assertEqual(height_original, height_final) + + def test_draw_bounding_boxes_on_image(self): + test_image = self.create_colorful_test_image() + test_image = Image.fromarray(test_image) + width_original, height_original = test_image.size + boxes = np.array([[0.25, 0.75, 0.4, 0.6], + [0.1, 0.1, 0.9, 0.9]]) + + visualization_utils.draw_bounding_boxes_on_image(test_image, boxes) + width_final, height_final = test_image.size + + self.assertEqual(width_original, width_final) + self.assertEqual(height_original, height_final) + + def test_draw_bounding_boxes_on_image_array(self): + test_image = self.create_colorful_test_image() + width_original = test_image.shape[0] + height_original = test_image.shape[1] + boxes = np.array([[0.25, 0.75, 0.4, 0.6], + [0.1, 0.1, 0.9, 0.9]]) + + visualization_utils.draw_bounding_boxes_on_image_array(test_image, boxes) + width_final = test_image.shape[0] + height_final = test_image.shape[1] + + self.assertEqual(width_original, width_final) + self.assertEqual(height_original, height_final) + + def test_draw_keypoints_on_image(self): + test_image = self.create_colorful_test_image() + test_image = Image.fromarray(test_image) + width_original, height_original = test_image.size + keypoints = [[0.25, 0.75], [0.4, 0.6], [0.1, 0.1], [0.9, 0.9]] + + visualization_utils.draw_keypoints_on_image(test_image, keypoints) + width_final, height_final = test_image.size + + self.assertEqual(width_original, width_final) + self.assertEqual(height_original, height_final) + + def test_draw_keypoints_on_image_array(self): + test_image = self.create_colorful_test_image() + width_original = test_image.shape[0] + height_original = test_image.shape[1] + keypoints = [[0.25, 0.75], [0.4, 0.6], [0.1, 0.1], [0.9, 0.9]] + + visualization_utils.draw_keypoints_on_image_array(test_image, keypoints) + width_final = test_image.shape[0] + height_final = test_image.shape[1] + + self.assertEqual(width_original, width_final) + self.assertEqual(height_original, height_final) + + def test_draw_mask_on_image_array(self): + test_image = np.asarray([[[0, 0, 0], [0, 0, 0]], + [[0, 0, 0], [0, 0, 0]]], dtype=np.uint8) + mask = np.asarray([[0.0, 1.0], + [1.0, 1.0]], dtype=np.float32) + expected_result = np.asarray([[[0, 0, 0], [0, 0, 127]], + [[0, 0, 127], [0, 0, 127]]], dtype=np.uint8) + visualization_utils.draw_mask_on_image_array(test_image, mask, + color='Blue', alpha=.5) + self.assertAllEqual(test_image, expected_result) + + +if __name__ == '__main__': + tf.test.main() diff --git a/setup.py b/setup.py new file mode 100644 index 000000000..2ea981219 --- /dev/null +++ b/setup.py @@ -0,0 +1,16 @@ +"""Setup script for object_detection.""" + +from setuptools import find_packages +from setuptools import setup + + +REQUIRED_PACKAGES = ['Pillow>=1.0'] + +setup( + name='object_detection', + version='0.1', + install_requires=REQUIRED_PACKAGES, + include_package_data=True, + packages=[p for p in find_packages() if p.startswith('object_detection')], + description='Tensorflow Object Detection Library', +) diff --git a/slim/setup.py b/slim/setup.py new file mode 100644 index 000000000..4262a4ee3 --- /dev/null +++ b/slim/setup.py @@ -0,0 +1,13 @@ +"""Setup script for slim.""" + +from setuptools import find_packages +from setuptools import setup + + +setup( + name='slim', + version='0.1', + include_package_data=True, + packages=find_packages(), + description='tf-slim', +) -- GitLab From b0a13bfac73b4c5e9bfd190b18010d8a07b91e1a Mon Sep 17 00:00:00 2001 From: derekjchow Date: Thu, 15 Jun 2017 08:03:01 -0700 Subject: [PATCH 114/171] Clean up documentation. (#1563) --- object_detection/README.md | 3 +-- object_detection/g3doc/detection_model_zoo.md | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/object_detection/README.md b/object_detection/README.md index 833f94cec..eaf13817b 100644 --- a/object_detection/README.md +++ b/object_detection/README.md @@ -34,7 +34,7 @@ https://scholar.googleusercontent.com/scholar.bib?q=info:l291WsrB-hQJ:scholar.go Quick Start: * Quick Start: Jupyter notebook for off-the-shelf inference
        -* Quick Start: Training on a pet detector
        +* Quick Start: Training a pet detector
        Setup: * Installation
        @@ -66,7 +66,6 @@ release includes: * Region-Based Fully Convolutional Networks (R-FCN) with Resnet 101, * Faster RCNN with Resnet 101, * Faster RCNN with Inception Resnet v2 - * Mask R-CNN with Resnet 101. * Frozen weights (trained on the COCO dataset) for each of the above models to be used for out-of-the-box inference purposes. * A [Jupyter notebook](object_detection_tutorial.ipynb) for performing diff --git a/object_detection/g3doc/detection_model_zoo.md b/object_detection/g3doc/detection_model_zoo.md index da2f8e146..9ff1ad9bd 100644 --- a/object_detection/g3doc/detection_model_zoo.md +++ b/object_detection/g3doc/detection_model_zoo.md @@ -16,7 +16,7 @@ In the table below, we list each such pre-trained model including: * detector performance on COCO data as measured by the COCO mAP measure. Here, higher is better, and we only report bounding box mAP rounded to the nearest integer. -* Output types (currently only `Boxes` or `Boxes, Masks`) +* Output types (currently only `Boxes`) You can un-tar each tar.gz file via, e.g.,: @@ -40,4 +40,3 @@ Inside the un-tar'ed directory, you will find: | [rfcn_resnet101_coco](http://download.tensorflow.org/models/object_detection/rfcn_resnet101_coco_11_06_2017.tar.gz) | medium | 30 | Boxes | | [faster_rcnn_resnet101_coco](http://download.tensorflow.org/models/object_detection/faster_rcnn_resnet101_coco_11_06_2017.tar.gz) | medium | 32 | Boxes | | [faster_rcnn_inception_resnet_v2_atrous_coco](http://download.tensorflow.org/models/object_detection/faster_rcnn_inception_resnet_v2_atrous_coco_11_06_2017.tar.gz) | slow | 37 | Boxes | -| [mask_rcnn_resnet101_coco](http://download.tensorflow.org/models/object_detection/) | medium | | Boxes, Masks | -- GitLab From 4b31d8fee78729aa2964c9201b0cd344eba6be8d Mon Sep 17 00:00:00 2001 From: Derek Chow Date: Thu, 15 Jun 2017 10:26:59 -0700 Subject: [PATCH 115/171] Reduce batchsize from 32->24 for SSD configs. --- object_detection/samples/configs/ssd_inception_v2_pets.config | 2 +- object_detection/samples/configs/ssd_mobilenet_v1_pets.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/object_detection/samples/configs/ssd_inception_v2_pets.config b/object_detection/samples/configs/ssd_inception_v2_pets.config index 801701ed5..49bdf7e06 100644 --- a/object_detection/samples/configs/ssd_inception_v2_pets.config +++ b/object_detection/samples/configs/ssd_inception_v2_pets.config @@ -134,7 +134,7 @@ model { } train_config: { - batch_size: 32 + batch_size: 24 optimizer { rms_prop_optimizer: { learning_rate: { diff --git a/object_detection/samples/configs/ssd_mobilenet_v1_pets.config b/object_detection/samples/configs/ssd_mobilenet_v1_pets.config index e8b0516f2..c8d83ddb1 100644 --- a/object_detection/samples/configs/ssd_mobilenet_v1_pets.config +++ b/object_detection/samples/configs/ssd_mobilenet_v1_pets.config @@ -140,7 +140,7 @@ model { } train_config: { - batch_size: 32 + batch_size: 24 optimizer { rms_prop_optimizer: { learning_rate: { -- GitLab From 2564541d94d1e8ecc10dffc5788fdaf0a675e0d3 Mon Sep 17 00:00:00 2001 From: Nick Johnston Date: Thu, 15 Jun 2017 12:43:59 -0700 Subject: [PATCH 116/171] Update username and add new line in READMEs. --- compression/README.md | 3 ++- compression/image_encoder/README.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/compression/README.md b/compression/README.md index 2ae52f6fc..4406b268f 100644 --- a/compression/README.md +++ b/compression/README.md @@ -8,7 +8,8 @@ code for the following papers: ## Organization [Image Encoder](image_encoder/): Encoding and decoding images into their binary representation. + [Entropy Coder](entropy_coder/): Lossless compression of the binary representation. ## Contact Info -Model repository maintained by Nick Johnston ([nickj-google](https://github.com/nickj-google)). +Model repository maintained by Nick Johnston ([nmjohn](https://github.com/nmjohn)). diff --git a/compression/image_encoder/README.md b/compression/image_encoder/README.md index 916820e20..a47da977a 100644 --- a/compression/image_encoder/README.md +++ b/compression/image_encoder/README.md @@ -102,4 +102,4 @@ pixel boundaries. ## Contact Info -Model repository maintained by Nick Johnston ([nickj-google](https://github.com/nickj-google)). +Model repository maintained by Nick Johnston ([nmjohn](https://github.com/nmjohn)). -- GitLab From 11733fcafdb148878052c47dda0e4b9e76736700 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Thu, 15 Jun 2017 14:45:31 -0700 Subject: [PATCH 117/171] Change depth_radius from 5 to 2 --- tutorials/image/alexnet/alexnet_benchmark.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/image/alexnet/alexnet_benchmark.py b/tutorials/image/alexnet/alexnet_benchmark.py index 047ac3dce..39fcb109f 100644 --- a/tutorials/image/alexnet/alexnet_benchmark.py +++ b/tutorials/image/alexnet/alexnet_benchmark.py @@ -78,7 +78,7 @@ def inference(images): lrn1 = tf.nn.local_response_normalization(conv1, alpha=1e-4, beta=0.75, - depth_radius=5, + depth_radius=2, bias=2.0) # pool1 @@ -106,7 +106,7 @@ def inference(images): lrn2 = tf.nn.local_response_normalization(conv2, alpha=1e-4, beta=0.75, - depth_radius=5, + depth_radius=2, bias=2.0) # pool2 -- GitLab From 0f1bd993f1be399ce9fb849580ade94d56943c6d Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Thu, 15 Jun 2017 16:37:39 -0700 Subject: [PATCH 118/171] Add object_detection to the main README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 50f5cebd3..f0f203855 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ running TensorFlow 0.12 or earlier, please - [neural_gpu](neural_gpu): highly parallel neural computer. - [neural_programmer](neural_programmer): neural network augmented with logic and mathematic operations. - [next_frame_prediction](next_frame_prediction): probabilistic future frame synthesis via cross convolutional networks. +- [object_detection](object_detection): localizing and identifying multiple objects in a single image. - [real_nvp](real_nvp): density estimation using real-valued non-volume preserving (real NVP) transformations. - [resnet](resnet): deep and wide residual networks. - [skip_thoughts](skip_thoughts): recurrent neural network sentence-to-vector encoder. -- GitLab From a7dd1e29e783bd11faae72e05f98bce4ab8a80ae Mon Sep 17 00:00:00 2001 From: Andrew Selle Date: Fri, 16 Jun 2017 09:10:45 -0700 Subject: [PATCH 119/171] Update cifar10_input.py --- tutorials/image/cifar10/cifar10_input.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tutorials/image/cifar10/cifar10_input.py b/tutorials/image/cifar10/cifar10_input.py index 10c77623d..323f2f113 100644 --- a/tutorials/image/cifar10/cifar10_input.py +++ b/tutorials/image/cifar10/cifar10_input.py @@ -175,6 +175,8 @@ def distorted_inputs(data_dir, batch_size): # Because these operations are not commutative, consider randomizing # the order their operation. + # NOTE: since per_image_standardization zeros the mean and makes + # the stddev unit, this likely has no effect see tensorflow#1458. distorted_image = tf.image.random_brightness(distorted_image, max_delta=63) distorted_image = tf.image.random_contrast(distorted_image, -- GitLab From c9f2ae14b40f043cf1f8d60a259e2c19832c7e1c Mon Sep 17 00:00:00 2001 From: derekjchow Date: Fri, 16 Jun 2017 10:49:51 -0700 Subject: [PATCH 120/171] Download model in Jupyter Notebook. (#1580) --- .../object_detection_tutorial.ipynb | 66 ++++++++++++++++--- object_detection/utils/visualization_utils.py | 2 +- 2 files changed, 58 insertions(+), 10 deletions(-) diff --git a/object_detection/object_detection_tutorial.ipynb b/object_detection/object_detection_tutorial.ipynb index 331e210cf..80a1e6b0f 100644 --- a/object_detection/object_detection_tutorial.ipynb +++ b/object_detection/object_detection_tutorial.ipynb @@ -26,8 +26,11 @@ "source": [ "import numpy as np\n", "import os\n", + "import six.moves.urllib as urllib\n", "import sys\n", + "import tarfile\n", "import tensorflow as tf\n", + "import zipfile\n", "\n", "from collections import defaultdict\n", "from io import StringIO\n", @@ -89,7 +92,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Variables" + "## Variables\n", + "\n", + "See the [detection model zoo](g3doc/detection_model_zoo.md) for a list of all models to try." ] }, { @@ -100,8 +105,13 @@ }, "outputs": [], "source": [ + "# What model to download.\n", + "MODEL_NAME = 'ssd_mobilenet_v1_coco_11_06_2017'\n", + "MODEL_FILE = MODEL_NAME + '.tar.gz'\n", + "DOWNLOAD_BASE = 'http://download.tensorflow.org/models/object_detection/'\n", + "\n", "# Path to frozen detection graph. This is the actual model that is used for the object detection.\n", - "PATH_TO_CKPT = os.path.join('test_ckpt', 'ssd_inception_v2.pb')\n", + "PATH_TO_CKPT = MODEL_NAME + '/frozen_inference_graph.pb'\n", "\n", "# List of the strings that is used to add correct label for each box.\n", "PATH_TO_LABELS = os.path.join('data', 'mscoco_label_map.pbtxt')\n", @@ -113,13 +123,39 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Load a (frozen) Tensorflow model into memory." + "## Download Model" ] }, { "cell_type": "code", "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "opener = urllib.request.URLopener()\n", + "opener.retrieve(DOWNLOAD_BASE + MODEL_FILE, MODEL_FILE)\n", + "tar_file = tarfile.open(MODEL_FILE)\n", + "for file in tar_file.getmembers():\n", + " file_name = os.path.basename(file.name)\n", + " if 'frozen_inference_graph.pb' in file_name:\n", + " tar_file.extract(file, os.getcwd())" + ] + }, + { + "cell_type": "markdown", "metadata": {}, + "source": [ + "## Load a (frozen) Tensorflow model into memory." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "detection_graph = tf.Graph()\n", @@ -142,7 +178,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "label_map = label_map_util.load_labelmap(PATH_TO_LABELS)\n", @@ -201,6 +239,7 @@ "cell_type": "code", "execution_count": null, "metadata": { + "collapsed": true, "scrolled": true }, "outputs": [], @@ -237,25 +276,34 @@ " plt.figure(figsize=IMAGE_SIZE)\n", " plt.imshow(image_np)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 2", "language": "python", - "name": "python3" + "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 3 + "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.4.3" + "pygments_lexer": "ipython2", + "version": "2.7.13" } }, "nbformat": 4, diff --git a/object_detection/utils/visualization_utils.py b/object_detection/utils/visualization_utils.py index 23eed7b23..76d952458 100644 --- a/object_detection/utils/visualization_utils.py +++ b/object_detection/utils/visualization_utils.py @@ -395,7 +395,7 @@ def visualize_boxes_and_labels_on_image_array(image, classes[i] % len(STANDARD_COLORS)] # Draw all boxes onto image. - for box, color in box_to_color_map.iteritems(): + for box, color in six.iteritems(box_to_color_map): ymin, xmin, ymax, xmax = box if instance_masks is not None: draw_mask_on_image_array( -- GitLab From 329e7fa627f5ac1283c8890bfab2ef82b9d98ce8 Mon Sep 17 00:00:00 2001 From: Matthias Winkelmann Date: Fri, 16 Jun 2017 21:25:29 +0200 Subject: [PATCH 121/171] Fixed broken link to mscoco.org Thanks for the good work! --- object_detection/g3doc/detection_model_zoo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_detection/g3doc/detection_model_zoo.md b/object_detection/g3doc/detection_model_zoo.md index 9ff1ad9bd..ba656bae6 100644 --- a/object_detection/g3doc/detection_model_zoo.md +++ b/object_detection/g3doc/detection_model_zoo.md @@ -1,7 +1,7 @@ # Tensorflow detection model zoo We provide a collection of detection models pre-trained on the -[COCO dataset](mscoco.org). +[COCO dataset](http://mscoco.org). These models can be useful for out-of-the-box inference if you are interested in categories already in COCO (e.g., humans, cars, etc). They are also useful for initializing your models when training on novel -- GitLab From cd11d77dd0d71ab70949ab1d81a480572cafb587 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Fri, 16 Jun 2017 13:32:49 -0700 Subject: [PATCH 122/171] Remove the erroneous comment from resnet_v2.py again --- slim/nets/resnet_v2.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/slim/nets/resnet_v2.py b/slim/nets/resnet_v2.py index e8e798345..f5af10334 100644 --- a/slim/nets/resnet_v2.py +++ b/slim/nets/resnet_v2.py @@ -25,8 +25,6 @@ introduced by: The key difference of the full preactivation 'v2' variant compared to the 'v1' variant in [1] is the use of batch normalization before every weight layer. -Another difference is that 'v2' ResNets do not include an activation function in -the main pathway. Also see [2; Fig. 4e]. Typical use: -- GitLab From 056965d53401e07b3f3d898f81830b3c5ccf9478 Mon Sep 17 00:00:00 2001 From: Dheera Venkatraman Date: Fri, 16 Jun 2017 14:45:14 -0700 Subject: [PATCH 123/171] URL returns 404 Fix URL --- object_detection/g3doc/detection_model_zoo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_detection/g3doc/detection_model_zoo.md b/object_detection/g3doc/detection_model_zoo.md index 9ff1ad9bd..ba656bae6 100644 --- a/object_detection/g3doc/detection_model_zoo.md +++ b/object_detection/g3doc/detection_model_zoo.md @@ -1,7 +1,7 @@ # Tensorflow detection model zoo We provide a collection of detection models pre-trained on the -[COCO dataset](mscoco.org). +[COCO dataset](http://mscoco.org). These models can be useful for out-of-the-box inference if you are interested in categories already in COCO (e.g., humans, cars, etc). They are also useful for initializing your models when training on novel -- GitLab From e76190e83e773875ddfae38339cd299b64e7eda8 Mon Sep 17 00:00:00 2001 From: derekjchow Date: Fri, 16 Jun 2017 14:59:34 -0700 Subject: [PATCH 124/171] Use spatial_squeeze=False for ResNet feature extractors. (#1586) Fixes #1585 --- .../models/faster_rcnn_resnet_v1_feature_extractor.py | 1 + 1 file changed, 1 insertion(+) diff --git a/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py b/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py index d71c62453..ff443ac6d 100644 --- a/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py +++ b/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py @@ -122,6 +122,7 @@ class FasterRCNNResnetV1FeatureExtractor( is_training=False, global_pool=False, output_stride=self._first_stage_features_stride, + spatial_squeeze=False, scope=var_scope) handle = scope + '/%s/block3' % self._architecture -- GitLab From ae2c506ee6553183ff641e48aa4d1dfb1a6ac6ae Mon Sep 17 00:00:00 2001 From: Jonathan Huang Date: Fri, 16 Jun 2017 15:25:10 -0700 Subject: [PATCH 125/171] Change visualizer font and jupyter notebook line thickness (#1589) --- object_detection/object_detection_tutorial.ipynb | 10 ++++++---- object_detection/utils/visualization_utils.py | 5 ++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/object_detection/object_detection_tutorial.ipynb b/object_detection/object_detection_tutorial.ipynb index 80a1e6b0f..31e189916 100644 --- a/object_detection/object_detection_tutorial.ipynb +++ b/object_detection/object_detection_tutorial.ipynb @@ -94,7 +94,9 @@ "source": [ "## Variables\n", "\n", - "See the [detection model zoo](g3doc/detection_model_zoo.md) for a list of all models to try." + "Any model exported using the `export_inference_graph.py` tool can be loaded here simply by changing `PATH_TO_CKPT` to point to a new .pb file. \n", + "\n", + "By default we use an \"SSD with Mobilenet\" model here. See the [detection model zoo](g3doc/detection_model_zoo.md) for a list of other models that can be run out-of-the-box with varying speeds and accuracies." ] }, { @@ -239,7 +241,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, "scrolled": true }, "outputs": [], @@ -272,7 +273,8 @@ " np.squeeze(classes).astype(np.int32),\n", " np.squeeze(scores),\n", " category_index,\n", - " use_normalized_coordinates=True)\n", + " use_normalized_coordinates=True,\n", + " line_thickness=8)\n", " plt.figure(figsize=IMAGE_SIZE)\n", " plt.imshow(image_np)" ] @@ -303,7 +305,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.13" + "version": "2.7.12" } }, "nbformat": 4, diff --git a/object_detection/utils/visualization_utils.py b/object_detection/utils/visualization_utils.py index 76d952458..41d80db6a 100644 --- a/object_detection/utils/visualization_utils.py +++ b/object_detection/utils/visualization_utils.py @@ -156,7 +156,10 @@ def draw_bounding_box_on_image(image, (left, right, top, bottom) = (xmin, xmax, ymin, ymax) draw.line([(left, top), (left, bottom), (right, bottom), (right, top), (left, top)], width=thickness, fill=color) - font = ImageFont.load_default() + try: + font = ImageFont.truetype('arial.ttf', 24) + except IOError: + font = ImageFont.load_default() text_bottom = top # Reverse list and print from bottom to top. -- GitLab From 8c8fc0c2f42e1b849157b904da7c22fa4f672fc1 Mon Sep 17 00:00:00 2001 From: Vivek Rathod Date: Fri, 16 Jun 2017 16:14:50 -0700 Subject: [PATCH 126/171] Change DEFINE_enum to DEFINE_string and delete unused file. --- object_detection/create_pascal_tf_record.py | 15 ++++-- object_detection/object_detection.blueprint | 56 --------------------- 2 files changed, 11 insertions(+), 60 deletions(-) delete mode 100644 object_detection/object_detection.blueprint diff --git a/object_detection/create_pascal_tf_record.py b/object_detection/create_pascal_tf_record.py index b25980ece..443862f1d 100644 --- a/object_detection/create_pascal_tf_record.py +++ b/object_detection/create_pascal_tf_record.py @@ -39,12 +39,11 @@ from object_detection.utils import label_map_util flags = tf.app.flags flags.DEFINE_string('data_dir', '', 'Root directory to raw PASCAL VOC dataset.') -flags.DEFINE_enum('set', 'train', ['train', 'val', 'trainval', 'test'], - 'Convert training set, validation set or merged set.') +flags.DEFINE_string('set', 'train', 'Convert training set, validation set or ' + 'merged set.') flags.DEFINE_string('annotations_dir', 'Annotations', '(Relative) path to annotations directory.') -flags.DEFINE_enum('year', 'VOC2007', ['VOC2007', 'VOC2012', 'merged'], - 'Desired challenge year.') +flags.DEFINE_string('year', 'VOC2007', 'Desired challenge year.') flags.DEFINE_string('output_path', '', 'Path to output TFRecord') flags.DEFINE_string('label_map_path', 'data/pascal_label_map.pbtxt', 'Path to label map proto') @@ -52,6 +51,9 @@ flags.DEFINE_boolean('ignore_difficult_instances', False, 'Whether to ignore ' 'difficult instances') FLAGS = flags.FLAGS +SETS = ['train', 'val', 'trainval', 'test'] +YEARS = ['VOC2007', 'VOC2012', 'merged'] + def dict_to_tf_example(data, dataset_directory, @@ -139,6 +141,11 @@ def dict_to_tf_example(data, def main(_): + if FLAGS.set not in SETS: + raise ValueError('set must be in : {}'.format(SETS)) + if FLAGS.year not in YEARS: + raise ValueError('year must be in : {}'.format(YEARS)) + data_dir = FLAGS.data_dir years = ['VOC2007', 'VOC2012'] if FLAGS.year != 'merged': diff --git a/object_detection/object_detection.blueprint b/object_detection/object_detection.blueprint deleted file mode 100644 index 9d6bbffea..000000000 --- a/object_detection/object_detection.blueprint +++ /dev/null @@ -1,56 +0,0 @@ -include "devtools/blueprint/ncl/blueprint_file.ncl"; -include "releasetools/rapid/ncl/rapid_config.ncl"; - -blueprint_file = ::blueprint::BlueprintFile( - project_name = "open_tf_object_detection", - project_grouping = ["Search", "Search Features", "Image Search", "Visual Search"], - mdb_groups = ["vale-project"], - - tech_lead = ["jonathanhuang", "kpmurphy"], - - dev_mailing_list = "object-detection-reviews@google.com", - - buganizer_component_ids = [163596], - - owned_code_depotpaths = [ - "//depot/google3/third_party/tensorflow_models/object_detection/...", - ], - buildable_units = [ - ::blueprint::BuildableUnit( - name = "open_tf_object_detection.fastbuild", - enable_continuous_build = true, - enable_release = false, - continuous_build_email = ::blueprint::ContinuousBuildEmailInfo( - build_cop_email_addrs = ["vale-project+tap@google.com"]), - build_patterns = [ - "third_party/tensorflow_models/object_detection/...", - ], - build_flags = [ - "--compilation_mode=fastbuild", - ], - test_patterns = [ - "third_party/tensorflow_models/object_detection/...", - ], - enable_coverage = true, - - ), - ::blueprint::BuildableUnit( - name = "open_tf_object_detection.opt", - enable_continuous_build = true, - enable_release = false, - continuous_build_email = ::blueprint::ContinuousBuildEmailInfo( - build_cop_email_addrs = ["vale-project+tap@google.com"]), - build_patterns = [ - "third_party/tensorflow_models/object_detection/...", - "image/understanding/object_detection/...", - ], - build_flags = [ - "--compilation_mode=opt", - ], - test_patterns = [ - "third_party/tensorflow_models/object_detection/...", - "image/understanding/object_detection/...", - ], - ), - ], -); -- GitLab From 8d91ce765a81ac596e6f8781bbdc75a0f419a65d Mon Sep 17 00:00:00 2001 From: vivek rathod Date: Fri, 16 Jun 2017 16:29:47 -0700 Subject: [PATCH 127/171] Change DEFINE_enum to DEFINE_string and delete unused file. (#1590) --- object_detection/create_pascal_tf_record.py | 15 ++++-- object_detection/object_detection.blueprint | 56 --------------------- 2 files changed, 11 insertions(+), 60 deletions(-) delete mode 100644 object_detection/object_detection.blueprint diff --git a/object_detection/create_pascal_tf_record.py b/object_detection/create_pascal_tf_record.py index b25980ece..443862f1d 100644 --- a/object_detection/create_pascal_tf_record.py +++ b/object_detection/create_pascal_tf_record.py @@ -39,12 +39,11 @@ from object_detection.utils import label_map_util flags = tf.app.flags flags.DEFINE_string('data_dir', '', 'Root directory to raw PASCAL VOC dataset.') -flags.DEFINE_enum('set', 'train', ['train', 'val', 'trainval', 'test'], - 'Convert training set, validation set or merged set.') +flags.DEFINE_string('set', 'train', 'Convert training set, validation set or ' + 'merged set.') flags.DEFINE_string('annotations_dir', 'Annotations', '(Relative) path to annotations directory.') -flags.DEFINE_enum('year', 'VOC2007', ['VOC2007', 'VOC2012', 'merged'], - 'Desired challenge year.') +flags.DEFINE_string('year', 'VOC2007', 'Desired challenge year.') flags.DEFINE_string('output_path', '', 'Path to output TFRecord') flags.DEFINE_string('label_map_path', 'data/pascal_label_map.pbtxt', 'Path to label map proto') @@ -52,6 +51,9 @@ flags.DEFINE_boolean('ignore_difficult_instances', False, 'Whether to ignore ' 'difficult instances') FLAGS = flags.FLAGS +SETS = ['train', 'val', 'trainval', 'test'] +YEARS = ['VOC2007', 'VOC2012', 'merged'] + def dict_to_tf_example(data, dataset_directory, @@ -139,6 +141,11 @@ def dict_to_tf_example(data, def main(_): + if FLAGS.set not in SETS: + raise ValueError('set must be in : {}'.format(SETS)) + if FLAGS.year not in YEARS: + raise ValueError('year must be in : {}'.format(YEARS)) + data_dir = FLAGS.data_dir years = ['VOC2007', 'VOC2012'] if FLAGS.year != 'merged': diff --git a/object_detection/object_detection.blueprint b/object_detection/object_detection.blueprint deleted file mode 100644 index 9d6bbffea..000000000 --- a/object_detection/object_detection.blueprint +++ /dev/null @@ -1,56 +0,0 @@ -include "devtools/blueprint/ncl/blueprint_file.ncl"; -include "releasetools/rapid/ncl/rapid_config.ncl"; - -blueprint_file = ::blueprint::BlueprintFile( - project_name = "open_tf_object_detection", - project_grouping = ["Search", "Search Features", "Image Search", "Visual Search"], - mdb_groups = ["vale-project"], - - tech_lead = ["jonathanhuang", "kpmurphy"], - - dev_mailing_list = "object-detection-reviews@google.com", - - buganizer_component_ids = [163596], - - owned_code_depotpaths = [ - "//depot/google3/third_party/tensorflow_models/object_detection/...", - ], - buildable_units = [ - ::blueprint::BuildableUnit( - name = "open_tf_object_detection.fastbuild", - enable_continuous_build = true, - enable_release = false, - continuous_build_email = ::blueprint::ContinuousBuildEmailInfo( - build_cop_email_addrs = ["vale-project+tap@google.com"]), - build_patterns = [ - "third_party/tensorflow_models/object_detection/...", - ], - build_flags = [ - "--compilation_mode=fastbuild", - ], - test_patterns = [ - "third_party/tensorflow_models/object_detection/...", - ], - enable_coverage = true, - - ), - ::blueprint::BuildableUnit( - name = "open_tf_object_detection.opt", - enable_continuous_build = true, - enable_release = false, - continuous_build_email = ::blueprint::ContinuousBuildEmailInfo( - build_cop_email_addrs = ["vale-project+tap@google.com"]), - build_patterns = [ - "third_party/tensorflow_models/object_detection/...", - "image/understanding/object_detection/...", - ], - build_flags = [ - "--compilation_mode=opt", - ], - test_patterns = [ - "third_party/tensorflow_models/object_detection/...", - "image/understanding/object_detection/...", - ], - ), - ], -); -- GitLab From 1b2c67af8a035fa90dc1dc507cdd101df3f5a589 Mon Sep 17 00:00:00 2001 From: Duc Nguyen Date: Sat, 17 Jun 2017 10:14:50 +0900 Subject: [PATCH 128/171] Fix compatibility for model_builder_test.py (#1571) iteritems -> items --- object_detection/builders/model_builder_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/object_detection/builders/model_builder_test.py b/object_detection/builders/model_builder_test.py index 513c5fab3..28b15e650 100644 --- a/object_detection/builders/model_builder_test.py +++ b/object_detection/builders/model_builder_test.py @@ -255,7 +255,7 @@ class ModelBuilderTest(tf.test.TestCase): }""" model_proto = model_pb2.DetectionModel() text_format.Merge(model_text_proto, model_proto) - for extractor_type, extractor_class in FEATURE_EXTRACTOR_MAPS.iteritems(): + for extractor_type, extractor_class in FEATURE_EXTRACTOR_MAPS.items(): model_proto.faster_rcnn.feature_extractor.type = extractor_type model = model_builder.build(model_proto, is_training=True) self.assertIsInstance(model, faster_rcnn_meta_arch.FasterRCNNMetaArch) @@ -445,7 +445,7 @@ class ModelBuilderTest(tf.test.TestCase): }""" model_proto = model_pb2.DetectionModel() text_format.Merge(model_text_proto, model_proto) - for extractor_type, extractor_class in FEATURE_EXTRACTOR_MAPS.iteritems(): + for extractor_type, extractor_class in FEATURE_EXTRACTOR_MAPS.items(): model_proto.faster_rcnn.feature_extractor.type = extractor_type model = model_builder.build(model_proto, is_training=True) self.assertIsInstance(model, rfcn_meta_arch.RFCNMetaArch) -- GitLab From 9b1877049eeba44dad1cdabc8233eebdd9d66a00 Mon Sep 17 00:00:00 2001 From: Duc Nguyen Date: Sat, 17 Jun 2017 22:24:27 +0900 Subject: [PATCH 129/171] Change key of type 'tuple' to 'str' dictionary having both 'tuple' and 'str' keys cannot be 'sorted' --- object_detection/core/batcher.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/object_detection/core/batcher.py b/object_detection/core/batcher.py index fdd698c43..7b9d040ab 100644 --- a/object_detection/core/batcher.py +++ b/object_detection/core/batcher.py @@ -81,7 +81,7 @@ class BatchQueue(object): {key: tensor.get_shape() for key, tensor in tensor_dict.iteritems()}) # Remember runtime shapes to unpad tensors after batching. runtime_shapes = collections.OrderedDict( - {(key, 'runtime_shapes'): tf.shape(tensor) + {(key + '_runtime_shapes'): tf.shape(tensor) for key, tensor in tensor_dict.iteritems()}) all_tensors = tensor_dict all_tensors.update(runtime_shapes) @@ -112,8 +112,8 @@ class BatchQueue(object): for key, batched_tensor in batched_tensors.iteritems(): unbatched_tensor_list = tf.unstack(batched_tensor) for i, unbatched_tensor in enumerate(unbatched_tensor_list): - if isinstance(key, tuple) and key[1] == 'runtime_shapes': - shapes[(key[0], i)] = unbatched_tensor + if '_runtime_shapes' in key: + shapes[(key[:-15], i)] = unbatched_tensor else: tensors[(key, i)] = unbatched_tensor -- GitLab From 0f1e7911f0bc5a2f91a9d8b9d45c1fbc75a27841 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E7=92=9E?= Date: Tue, 20 Jun 2017 01:16:53 +0800 Subject: [PATCH 130/171] Make slim_walkthrough ipython notebook python3 compatible (#1612) * make slim_walkthrough ipython notebook python3 compatible * make slim_walkthrough ipython notebook python3 compatible --- slim/slim_walkthrough.ipynb | 114 ++++++++++++++++++++++-------------- 1 file changed, 69 insertions(+), 45 deletions(-) diff --git a/slim/slim_walkthrough.ipynb b/slim/slim_walkthrough.ipynb index da868ef19..dff43e03b 100644 --- a/slim/slim_walkthrough.ipynb +++ b/slim/slim_walkthrough.ipynb @@ -29,11 +29,14 @@ "## Installation and setup\n", "\n", "\n", - "As of 8/28/16, the latest stable release of TF is r0.10, which does not contain the latest version of slim.\n", - "To obtain the latest version of TF-Slim, please install the most recent nightly build of TF\n", - "as explained [here](https://github.com/tensorflow/models/tree/master/slim#installing-latest-version-of-tf-slim).\n", + "Since the stable release of TF 1.0, the latest version of slim has been available as `tf.contrib.slim`.\n", + "To test that your installation is working, execute the following command; it should run without raising any errors.\n", "\n", - "To use TF-Slim for image classification (as we do in this notebook), you also have to install the TF-Slim image models library from [here](https://github.com/tensorflow/models/tree/master/slim). Let's suppose you install this into a directory called TF_MODELS. Then you should change directory to TF_MODELS/slim **before** running this notebook, so that these files are in your python path.\n", + "```\n", + "python -c \"import tensorflow.contrib.slim as slim; eval = slim.evaluation.evaluate_once\"\n", + "```\n", + "\n", + "Although, to use TF-Slim for image classification (as we do in this notebook), you also have to install the TF-Slim image models library from [here](https://github.com/tensorflow/models/tree/master/slim). Let's suppose you install this into a directory called TF_MODELS. Then you should change directory to TF_MODELS/slim **before** running this notebook, so that these files are in your python path.\n", "\n", "To check you've got these two steps to work, just execute the cell below. If it complains about unknown modules, restart the notebook after moving to the TF-Slim models directory.\n" ] @@ -42,10 +45,14 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ + "from __future__ import absolute_import\n", + "from __future__ import division\n", + "from __future__ import print_function\n", + "\n", "import matplotlib\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", @@ -57,7 +64,7 @@ "from datasets import dataset_utils\n", "\n", "# Main slim library\n", - "slim = tf.contrib.slim" + "from tensorflow.contrib import slim" ] }, { @@ -143,7 +150,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -156,15 +163,15 @@ " predictions, end_points = regression_model(inputs)\n", "\n", " # Print name and shape of each tensor.\n", - " print \"Layers\"\n", + " print(\"Layers\")\n", " for k, v in end_points.items():\n", - " print 'name = {}, shape = {}'.format(v.name, v.get_shape())\n", + " print('name = {}, shape = {}'.format(v.name, v.get_shape()))\n", "\n", " # Print name and shape of parameter nodes (values not yet initialized)\n", - " print \"\\n\"\n", - " print \"Parameters\"\n", + " print(\"\\n\")\n", + " print(\"Parameters\")\n", " for v in slim.get_model_variables():\n", - " print 'name = {}, shape = {}'.format(v.name, v.get_shape())\n" + " print('name = {}, shape = {}'.format(v.name, v.get_shape()))\n" ] }, { @@ -180,7 +187,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -228,7 +235,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -280,7 +287,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -330,7 +337,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -367,7 +374,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -441,7 +448,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -468,14 +475,14 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ "from datasets import flowers\n", "import tensorflow as tf\n", "\n", - "slim = tf.contrib.slim\n", + "from tensorflow.contrib import slim\n", "\n", "with tf.Graph().as_default(): \n", " dataset = flowers.get_split('train', flowers_data_dir)\n", @@ -485,7 +492,7 @@ " \n", " with tf.Session() as sess: \n", " with slim.queues.QueueRunners(sess):\n", - " for i in xrange(4):\n", + " for i in range(4):\n", " np_image, np_label = sess.run([image, label])\n", " height, width, _ = np_image.shape\n", " class_name = name = dataset.labels_to_names[np_label]\n", @@ -547,7 +554,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -599,14 +606,14 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ "from preprocessing import inception_preprocessing\n", "import tensorflow as tf\n", "\n", - "slim = tf.contrib.slim\n", + "from tensorflow.contrib import slim\n", "\n", "\n", "def load_batch(dataset, batch_size=32, height=299, width=299, is_training=False):\n", @@ -651,7 +658,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -706,7 +713,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -771,7 +778,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -802,26 +809,30 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import os\n", "import tensorflow as tf\n", - "import urllib2\n", + "\n", + "try:\n", + " import urllib2\n", + "except ImportError:\n", + " import urllib.request as urllib\n", "\n", "from datasets import imagenet\n", "from nets import inception\n", "from preprocessing import inception_preprocessing\n", "\n", - "slim = tf.contrib.slim\n", + "from tensorflow.contrib import slim\n", "\n", "image_size = inception.inception_v1.default_image_size\n", "\n", "with tf.Graph().as_default():\n", " url = 'https://upload.wikimedia.org/wikipedia/commons/7/70/EnglishCockerSpaniel_simon.jpg'\n", - " image_string = urllib2.urlopen(url).read()\n", + " image_string = urllib.urlopen(url).read()\n", " image = tf.image.decode_jpeg(image_string, channels=3)\n", " processed_image = inception_preprocessing.preprocess_image(image, image_size, image_size, is_training=False)\n", " processed_images = tf.expand_dims(processed_image, 0)\n", @@ -902,19 +913,23 @@ "import numpy as np\n", "import os\n", "import tensorflow as tf\n", - "import urllib2\n", + "\n", + "try:\n", + " import urllib2\n", + "except ImportError:\n", + " import urllib.request as urllib\n", "\n", "from datasets import imagenet\n", "from nets import vgg\n", "from preprocessing import vgg_preprocessing\n", "\n", - "slim = tf.contrib.slim\n", + "from tensorflow.contrib import slim\n", "\n", "image_size = vgg.vgg_16.default_image_size\n", "\n", "with tf.Graph().as_default():\n", " url = 'https://upload.wikimedia.org/wikipedia/commons/d/d9/First_Student_IC_school_bus_202076.jpg'\n", - " image_string = urllib2.urlopen(url).read()\n", + " image_string = urllib.urlopen(url).read()\n", " image = tf.image.decode_jpeg(image_string, channels=3)\n", " processed_image = vgg_preprocessing.preprocess_image(image, image_size, image_size, is_training=False)\n", " processed_images = tf.expand_dims(processed_image, 0)\n", @@ -960,7 +975,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -972,7 +987,7 @@ "from nets import inception\n", "from preprocessing import inception_preprocessing\n", "\n", - "slim = tf.contrib.slim\n", + "from tensorflow.contrib import slim\n", "image_size = inception.inception_v1.default_image_size\n", "\n", "\n", @@ -1043,7 +1058,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ @@ -1052,7 +1067,7 @@ "from datasets import flowers\n", "from nets import inception\n", "\n", - "slim = tf.contrib.slim\n", + "from tensorflow.contrib import slim\n", "\n", "image_size = inception.inception_v1.default_image_size\n", "batch_size = 3\n", @@ -1080,7 +1095,7 @@ " init_fn(sess)\n", " np_probabilities, np_images_raw, np_labels = sess.run([probabilities, images_raw, labels])\n", " \n", - " for i in xrange(batch_size): \n", + " for i in range(batch_size): \n", " image = np_images_raw[i, :, :, :]\n", " true_label = np_labels[i]\n", " predicted_label = np.argmax(np_probabilities[i, :])\n", @@ -1093,27 +1108,36 @@ " plt.axis('off')\n", " plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 2", + "display_name": "Python 3", "language": "python", - "name": "python2" + "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.11" + "pygments_lexer": "ipython3", + "version": "3.6.1" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } -- GitLab From b4968012c62722cdd2a98419589b779c97f788c7 Mon Sep 17 00:00:00 2001 From: Kaz Sato Date: Tue, 20 Jun 2017 02:17:44 +0900 Subject: [PATCH 131/171] Fix ML Engine Dashboard link (#1599) from Google internal link --- object_detection/g3doc/running_pets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_detection/g3doc/running_pets.md b/object_detection/g3doc/running_pets.md index aadea479e..08fe34eb3 100644 --- a/object_detection/g3doc/running_pets.md +++ b/object_detection/g3doc/running_pets.md @@ -233,7 +233,7 @@ submit training` command is correct. ML Engine does not distinguish between training and evaluation jobs. Users can monitor and stop training and evaluation jobs on the [ML Engine -Dasboard](https://pantheon.corp.google.com/mlengine/jobs). +Dasboard](https://console.cloud.google.com/mlengine/jobs). ## Monitoring Progress with Tensorboard -- GitLab From 9c17823e147ff2893427b47cb57d171da9350d20 Mon Sep 17 00:00:00 2001 From: derekjchow Date: Mon, 19 Jun 2017 11:16:41 -0700 Subject: [PATCH 132/171] Add comment clarifying spatial squeeze. (#1613) --- slim/nets/resnet_v1.py | 13 +++++++------ slim/nets/resnet_v2.py | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/slim/nets/resnet_v1.py b/slim/nets/resnet_v1.py index 19ae0a241..841e2fb2b 100644 --- a/slim/nets/resnet_v1.py +++ b/slim/nets/resnet_v1.py @@ -161,6 +161,9 @@ def resnet_v1(inputs, max-pooling, if False excludes it. spatial_squeeze: if True, logits is of shape [B, C], if false logits is of shape [B, 1, 1, C], where B is batch_size and C is number of classes. + To use this parameter, the input images must be smaller than 300x300 + pixels, in which case the output logit layer does not contain spatial + information and can be removed. reuse: whether or not the network and its variables should be reused. To be able to reuse 'scope' must be given. scope: Optional variable_scope. @@ -200,16 +203,14 @@ def resnet_v1(inputs, if num_classes is not None: net = slim.conv2d(net, num_classes, [1, 1], activation_fn=None, normalizer_fn=None, scope='logits') - if spatial_squeeze: - logits = tf.squeeze(net, [1, 2], name='SpatialSqueeze') - else: - logits = net + if spatial_squeeze: + net = tf.squeeze(net, [1, 2], name='SpatialSqueeze') # Convert end_points_collection into a dictionary of end_points. end_points = slim.utils.convert_collection_to_dict( end_points_collection) if num_classes is not None: - end_points['predictions'] = slim.softmax(logits, scope='predictions') - return logits, end_points + end_points['predictions'] = slim.softmax(net, scope='predictions') + return net, end_points resnet_v1.default_image_size = 224 diff --git a/slim/nets/resnet_v2.py b/slim/nets/resnet_v2.py index f5af10334..0951c1edb 100644 --- a/slim/nets/resnet_v2.py +++ b/slim/nets/resnet_v2.py @@ -158,6 +158,9 @@ def resnet_v2(inputs, results of an activation-less convolution. spatial_squeeze: if True, logits is of shape [B, C], if false logits is of shape [B, 1, 1, C], where B is batch_size and C is number of classes. + To use this parameter, the input images must be smaller than 300x300 + pixels, in which case the output logit layer does not contain spatial + information and can be removed. reuse: whether or not the network and its variables should be reused. To be able to reuse 'scope' must be given. scope: Optional variable_scope. @@ -207,16 +210,14 @@ def resnet_v2(inputs, if num_classes is not None: net = slim.conv2d(net, num_classes, [1, 1], activation_fn=None, normalizer_fn=None, scope='logits') - if spatial_squeeze: - logits = tf.squeeze(net, [1, 2], name='SpatialSqueeze') - else: - logits = net + if spatial_squeeze: + net = tf.squeeze(net, [1, 2], name='SpatialSqueeze') # Convert end_points_collection into a dictionary of end_points. end_points = slim.utils.convert_collection_to_dict( end_points_collection) if num_classes is not None: - end_points['predictions'] = slim.softmax(logits, scope='predictions') - return logits, end_points + end_points['predictions'] = slim.softmax(net, scope='predictions') + return net, end_points resnet_v2.default_image_size = 224 -- GitLab From 057203e7d73c5cc4d989569dcd300dcfaa4b64e9 Mon Sep 17 00:00:00 2001 From: derekjchow Date: Tue, 20 Jun 2017 09:44:15 -0700 Subject: [PATCH 133/171] Make Record scripts python3 compatible. (#1614) --- object_detection/create_pascal_tf_record.py | 16 +++++++++------- object_detection/create_pet_tf_record.py | 16 +++++++++------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/object_detection/create_pascal_tf_record.py b/object_detection/create_pascal_tf_record.py index 443862f1d..9da40d90e 100644 --- a/object_detection/create_pascal_tf_record.py +++ b/object_detection/create_pascal_tf_record.py @@ -83,7 +83,7 @@ def dict_to_tf_example(data, """ img_path = os.path.join(data['folder'], image_subdirectory, data['filename']) full_path = os.path.join(dataset_directory, img_path) - with tf.gfile.GFile(full_path) as fid: + with tf.gfile.GFile(full_path, 'rb') as fid: encoded_jpg = fid.read() encoded_jpg_io = io.BytesIO(encoded_jpg) image = PIL.Image.open(encoded_jpg_io) @@ -114,19 +114,21 @@ def dict_to_tf_example(data, ymin.append(float(obj['bndbox']['ymin']) / height) xmax.append(float(obj['bndbox']['xmax']) / width) ymax.append(float(obj['bndbox']['ymax']) / height) - classes_text.append(obj['name']) + classes_text.append(obj['name'].encode('utf8')) classes.append(label_map_dict[obj['name']]) truncated.append(int(obj['truncated'])) - poses.append(obj['pose']) + poses.append(obj['pose'].encode('utf8')) example = tf.train.Example(features=tf.train.Features(feature={ 'image/height': dataset_util.int64_feature(height), 'image/width': dataset_util.int64_feature(width), - 'image/filename': dataset_util.bytes_feature(data['filename']), - 'image/source_id': dataset_util.bytes_feature(data['filename']), - 'image/key/sha256': dataset_util.bytes_feature(key), + 'image/filename': dataset_util.bytes_feature( + data['filename'].encode('utf8')), + 'image/source_id': dataset_util.bytes_feature( + data['filename'].encode('utf8')), + 'image/key/sha256': dataset_util.bytes_feature(key.encode('utf8')), 'image/encoded': dataset_util.bytes_feature(encoded_jpg), - 'image/format': dataset_util.bytes_feature('jpeg'), + 'image/format': dataset_util.bytes_feature('jpeg'.encode('utf8')), 'image/object/bbox/xmin': dataset_util.float_list_feature(xmin), 'image/object/bbox/xmax': dataset_util.float_list_feature(xmax), 'image/object/bbox/ymin': dataset_util.float_list_feature(ymin), diff --git a/object_detection/create_pet_tf_record.py b/object_detection/create_pet_tf_record.py index 2bfbb4de3..d7bad283e 100644 --- a/object_detection/create_pet_tf_record.py +++ b/object_detection/create_pet_tf_record.py @@ -86,7 +86,7 @@ def dict_to_tf_example(data, ValueError: if the image pointed to by data['filename'] is not a valid JPEG """ img_path = os.path.join(image_subdirectory, data['filename']) - with tf.gfile.GFile(img_path) as fid: + with tf.gfile.GFile(img_path, 'rb') as fid: encoded_jpg = fid.read() encoded_jpg_io = io.BytesIO(encoded_jpg) image = PIL.Image.open(encoded_jpg_io) @@ -118,19 +118,21 @@ def dict_to_tf_example(data, xmax.append(float(obj['bndbox']['xmax']) / width) ymax.append(float(obj['bndbox']['ymax']) / height) class_name = get_class_name_from_filename(data['filename']) - classes_text.append(class_name) + classes_text.append(class_name.encode('utf8')) classes.append(label_map_dict[class_name]) truncated.append(int(obj['truncated'])) - poses.append(obj['pose']) + poses.append(obj['pose'].encode('utf8')) example = tf.train.Example(features=tf.train.Features(feature={ 'image/height': dataset_util.int64_feature(height), 'image/width': dataset_util.int64_feature(width), - 'image/filename': dataset_util.bytes_feature(data['filename']), - 'image/source_id': dataset_util.bytes_feature(data['filename']), - 'image/key/sha256': dataset_util.bytes_feature(key), + 'image/filename': dataset_util.bytes_feature( + data['filename'].encode('utf8')), + 'image/source_id': dataset_util.bytes_feature( + data['filename'].encode('utf8')), + 'image/key/sha256': dataset_util.bytes_feature(key.encode('utf8')), 'image/encoded': dataset_util.bytes_feature(encoded_jpg), - 'image/format': dataset_util.bytes_feature('jpeg'), + 'image/format': dataset_util.bytes_feature('jpeg'.encode('utf8')), 'image/object/bbox/xmin': dataset_util.float_list_feature(xmin), 'image/object/bbox/xmax': dataset_util.float_list_feature(xmax), 'image/object/bbox/ymin': dataset_util.float_list_feature(ymin), -- GitLab From f305d2dfa7b88bcdc6d7e94503804b269072c572 Mon Sep 17 00:00:00 2001 From: "Dougal J. Sutherland" Date: Tue, 20 Jun 2017 17:45:21 +0100 Subject: [PATCH 134/171] change no-longer-existing concat_v2 to concat (#1701) --- .../tfcode/vision_baseline_lstm.py | 4 +- real_nvp/real_nvp_multiscale_dataset.py | 46 +++++++++---------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/cognitive_mapping_and_planning/tfcode/vision_baseline_lstm.py b/cognitive_mapping_and_planning/tfcode/vision_baseline_lstm.py index 1b9d68772..ccf3ab23b 100644 --- a/cognitive_mapping_and_planning/tfcode/vision_baseline_lstm.py +++ b/cognitive_mapping_and_planning/tfcode/vision_baseline_lstm.py @@ -145,7 +145,7 @@ def visit_count_fc(visit_count, last_visit, embed_neurons, wt_decay, fc_dropout) on_value=10., off_value=0.) last_visit = tf.one_hot(last_visit, depth=16, axis=1, dtype=tf.float32, on_value=10., off_value=0.) - f = tf.concat_v2([visit_count, last_visit], 1) + f = tf.concat([visit_count, last_visit], 1) x, _ = tf_utils.fc_network( f, neurons=embed_neurons, wt_decay=wt_decay, name='visit_count_embed', offset=0, batch_norm_param=None, dropout_ratio=fc_dropout, @@ -201,7 +201,7 @@ def combine_setup(name, combine_type, embed_img, embed_goal, num_img_neuorons=No def preprocess_egomotion(locs, thetas): with tf.name_scope('pre_ego'): - pre_ego = tf.concat_v2([locs, tf.sin(thetas), tf.cos(thetas)], 2) + pre_ego = tf.concat([locs, tf.sin(thetas), tf.cos(thetas)], 2) sh = pre_ego.get_shape().as_list() pre_ego = tf.reshape(pre_ego, [-1, sh[-1]]) return pre_ego diff --git a/real_nvp/real_nvp_multiscale_dataset.py b/real_nvp/real_nvp_multiscale_dataset.py index a89dec8aa..d7b32ddfb 100644 --- a/real_nvp/real_nvp_multiscale_dataset.py +++ b/real_nvp/real_nvp_multiscale_dataset.py @@ -321,8 +321,8 @@ def masked_conv_aff_coupling(input_, mask_in, dim, name, input_=res, dim=channels, name="bn_in", scale=False, train=train, epsilon=1e-4, axes=[0, 1, 2]) res *= 2. - res = tf.concat_v2([res, -res], 3) - res = tf.concat_v2([res, mask], 3) + res = tf.concat([res, -res], 3) + res = tf.concat([res, mask], 3) dim_in = 2. * channels + 1 res = tf.nn.relu(res) res = resnet(input_=res, dim_in=dim_in, dim=dim, @@ -411,8 +411,8 @@ def masked_conv_add_coupling(input_, mask_in, dim, name, input_=res, dim=channels, name="bn_in", scale=False, train=train, epsilon=1e-4, axes=[0, 1, 2]) res *= 2. - res = tf.concat_v2([res, -res], 3) - res = tf.concat_v2([res, mask], 3) + res = tf.concat([res, -res], 3) + res = tf.concat([res, mask], 3) dim_in = 2. * channels + 1 res = tf.nn.relu(res) shift = resnet(input_=res, dim_in=dim_in, dim=dim, dim_out=channels, @@ -501,7 +501,7 @@ def conv_ch_aff_coupling(input_, dim, name, res = batch_norm( input_=res, dim=channels, name="bn_in", scale=False, train=train, epsilon=1e-4, axes=[0, 1, 2]) - res = tf.concat_v2([res, -res], 3) + res = tf.concat([res, -res], 3) dim_in = 2. * channels res = tf.nn.relu(res) res = resnet(input_=res, dim_in=dim_in, dim=dim, dim_out=2 * channels, @@ -551,11 +551,11 @@ def conv_ch_aff_coupling(input_, dim, name, res *= tf.exp(-.5 * log_var) log_diff -= .5 * log_var if change_bottom: - res = tf.concat_v2([input_, res], 3) - log_diff = tf.concat_v2([tf.zeros_like(log_diff), log_diff], 3) + res = tf.concat([input_, res], 3) + log_diff = tf.concat([tf.zeros_like(log_diff), log_diff], 3) else: - res = tf.concat_v2([res, input_], 3) - log_diff = tf.concat_v2([log_diff, tf.zeros_like(log_diff)], 3) + res = tf.concat([res, input_], 3) + log_diff = tf.concat([log_diff, tf.zeros_like(log_diff)], 3) return res, log_diff @@ -582,7 +582,7 @@ def conv_ch_add_coupling(input_, dim, name, res = batch_norm( input_=res, dim=channels, name="bn_in", scale=False, train=train, epsilon=1e-4, axes=[0, 1, 2]) - res = tf.concat_v2([res, -res], 3) + res = tf.concat([res, -res], 3) dim_in = 2. * channels res = tf.nn.relu(res) shift = resnet(input_=res, dim_in=dim_in, dim=dim, dim_out=channels, @@ -616,11 +616,11 @@ def conv_ch_add_coupling(input_, dim, name, res *= tf.exp(-.5 * log_var) log_diff -= .5 * log_var if change_bottom: - res = tf.concat_v2([input_, res], 3) - log_diff = tf.concat_v2([tf.zeros_like(log_diff), log_diff], 3) + res = tf.concat([input_, res], 3) + log_diff = tf.concat([tf.zeros_like(log_diff), log_diff], 3) else: - res = tf.concat_v2([res, input_], 3) - log_diff = tf.concat_v2([log_diff, tf.zeros_like(log_diff)], 3) + res = tf.concat([res, input_], 3) + log_diff = tf.concat([log_diff, tf.zeros_like(log_diff)], 3) return res, log_diff @@ -742,9 +742,9 @@ def rec_masked_conv_coupling(input_, hps, scale_idx, n_scale, input_=res_1, hps=hps, scale_idx=scale_idx + 1, n_scale=n_scale, use_batch_norm=use_batch_norm, weight_norm=weight_norm, train=train) - res = tf.concat_v2([res_1, res_2], 3) + res = tf.concat([res_1, res_2], 3) log_diff_1 += inc_log_diff - log_diff = tf.concat_v2([log_diff_1, log_diff_2], 3) + log_diff = tf.concat([log_diff_1, log_diff_2], 3) res = squeeze_2x2_ordered(res, reverse=True) log_diff = squeeze_2x2_ordered(log_diff, reverse=True) else: @@ -805,8 +805,8 @@ def rec_masked_deconv_coupling(input_, hps, scale_idx, n_scale, scale_idx=scale_idx + 1, n_scale=n_scale, use_batch_norm=use_batch_norm, weight_norm=weight_norm, train=train) - res = tf.concat_v2([res_1, res_2], 3) - log_diff = tf.concat_v2([log_diff_1, log_diff_2], 3) + res = tf.concat([res_1, res_2], 3) + log_diff = tf.concat([log_diff_1, log_diff_2], 3) res = squeeze_2x2_ordered(res, reverse=True) log_diff = squeeze_2x2_ordered(log_diff, reverse=True) else: @@ -1018,7 +1018,7 @@ class RealNVP(object): width = tf.cast(width, tf.int32) depth = tf.reshape((features["depth"], tf.int64)[0], [1]) depth = tf.cast(depth, tf.int32) - image = tf.reshape(image, tf.concat_v2([height, width, depth], 0)) + image = tf.reshape(image, tf.concat([height, width, depth], 0)) image = tf.random_crop(image, [64, 64, 3]) if FLAGS.mode == "train": image = tf.image.random_flip_left_right(image) @@ -1309,19 +1309,19 @@ class RealNVP(object): z_compressed = z_lost z_noisy = z_lost for _ in xrange(scale_idx + 1): - z_compressed = tf.concat_v2( + z_compressed = tf.concat( [z_compressed, tf.zeros_like(z_compressed)], 3) z_compressed = squeeze_2x2_ordered( z_compressed, reverse=True) - z_noisy = tf.concat_v2( + z_noisy = tf.concat( [z_noisy, tf.random_normal( z_noisy.get_shape().as_list())], 3) z_noisy = squeeze_2x2_ordered(z_noisy, reverse=True) z_compressed_list.append(z_compressed) z_noisy_list.append(z_noisy) self.z_reduced = z_lost - z_compressed = tf.concat_v2(z_compressed_list, 0) - z_noisy = tf.concat_v2(z_noisy_list, 0) + z_compressed = tf.concat(z_compressed_list, 0) + z_noisy = tf.concat(z_noisy_list, 0) noisy_images, _ = decoder( input_=z_noisy, hps=hps, n_scale=hps.n_scale, use_batch_norm=hps.use_batch_norm, weight_norm=True, -- GitLab From 434c277677ba973ae6acc21fcc3d616e1bb7f1df Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Tue, 20 Jun 2017 10:37:34 -0700 Subject: [PATCH 135/171] Add export inference_graph (#1702) * Add export inference_graph * Update Readme.md to include export_inference_graph --- slim/BUILD | 23 ++++++ slim/README.md | 67 ++++++++++++++- slim/export_inference_graph.py | 122 ++++++++++++++++++++++++++++ slim/export_inference_graph_test.py | 44 ++++++++++ 4 files changed, 255 insertions(+), 1 deletion(-) create mode 100644 slim/export_inference_graph.py create mode 100644 slim/export_inference_graph_test.py diff --git a/slim/BUILD b/slim/BUILD index 348ca7595..bc38704a3 100644 --- a/slim/BUILD +++ b/slim/BUILD @@ -390,3 +390,26 @@ py_binary( ":preprocessing_factory", ], ) + +py_binary( + name = "export_inference_graph", + srcs = ["export_inference_graph.py"], + deps = [ + ":dataset_factory", + ":nets_factory", + ], +) + +py_test( + name = "export_inference_graph_test", + size = "medium", + srcs = ["export_inference_graph_test.py"], + srcs_version = "PY2AND3", + tags = [ + "manual", + ], + deps = [ + ":export_inference_graph", + ":nets_factory", + ], +) diff --git a/slim/README.md b/slim/README.md index 6fe5a7183..179b80606 100644 --- a/slim/README.md +++ b/slim/README.md @@ -32,6 +32,8 @@ Maintainers of TF-slim: Training from scratch
        Fine tuning to a new task
        Evaluating performance
        +Exporting Inference Graph
        +Troubleshooting
        # Installation @@ -204,7 +206,6 @@ Model | TF-Slim File | Checkpoint | Top-1 Accuracy| Top-5 Accuracy | [MobileNet_v1_1.0_224](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_1.0_224_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_1.0_224_2017_06_14.tar.gz)|70.7|89.5| [MobileNet_v1_0.50_160](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_0.50_160_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_0.50_160_2017_06_14.tar.gz)|59.9|82.5| [MobileNet_v1_0.25_128](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_0.25_128_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_0.25_128_2017_06_14.tar.gz)|41.3|66.2| - ^ ResNet V2 models use Inception pre-processing and input image size of 299 (use `--preprocessing_name inception --eval_image_size 299` when using `eval_image_classifier.py`). Performance numbers for ResNet V2 models are @@ -327,8 +328,72 @@ $ python eval_image_classifier.py \ ``` +# Exporting the Inference Graph + + +Saves out a GraphDef containing the architecture of the model. + +To use it with a model name defined by slim, run: + +```shell +$ python export_inference_graph.py \ + --alsologtostderr \ + --model_name=inception_v3 \ + --output_file=/tmp/inception_v3_inf_graph.pb + +$ python export_inference_graph.py \ + --alsologtostderr \ + --model_name=mobilenet_v1 \ + --image_size=224 \ + --output_file=/tmp/mobilenet_v1_224.pb +``` + +## Freezing the exported Graph +If you then want to use the resulting model with your own or pretrained +checkpoints as part of a mobile model, you can run freeze_graph to get a graph +def with the variables inlined as constants using: + +```shell +bazel build tensorflow/python/tools:freeze_graph + +bazel-bin/tensorflow/python/tools/freeze_graph \ + --input_graph=/tmp/inception_v3_inf_graph.pb \ + --input_checkpoint=/tmp/checkpoints/inception_v3.ckpt \ + --input_binary=true --output_graph=/tmp/frozen_inception_v3.pb \ + --output_node_names=InceptionV3/Predictions/Reshape_1 +``` + +The output node names will vary depending on the model, but you can inspect and +estimate them using the summarize_graph tool: + +```shell +bazel build tensorflow/tools/graph_transforms:summarize_graph + +bazel-bin/tensorflow/tools/graph_transforms/summarize_graph \ + --in_graph=/tmp/inception_v3_inf_graph.pb +``` + +## Run label image in C++ + +To run the resulting graph in C++, you can look at the label_image sample code: + +```shell +bazel build tensorflow/examples/label_image:label_image + +bazel-bin/tensorflow/examples/label_image/label_image \ + --image=${HOME}/Pictures/flowers.jpg \ + --input_layer=input \ + --output_layer=InceptionV3/Predictions/Reshape_1 \ + --graph=/tmp/frozen_inception_v3.pb \ + --labels=/tmp/imagenet_slim_labels.txt \ + --input_mean=0 \ + --input_std=255 \ + --logtostderr +``` + # Troubleshooting + #### The model runs out of CPU memory. diff --git a/slim/export_inference_graph.py b/slim/export_inference_graph.py new file mode 100644 index 000000000..13f10ce00 --- /dev/null +++ b/slim/export_inference_graph.py @@ -0,0 +1,122 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +r"""Saves out a GraphDef containing the architecture of the model. + +To use it, run something like this, with a model name defined by slim: + +bazel build tensorflow_models/slim:export_inference_graph +bazel-bin/tensorflow_models/slim/export_inference_graph \ +--model_name=inception_v3 --output_file=/tmp/inception_v3_inf_graph.pb + +If you then want to use the resulting model with your own or pretrained +checkpoints as part of a mobile model, you can run freeze_graph to get a graph +def with the variables inlined as constants using: + +bazel build tensorflow/python/tools:freeze_graph +bazel-bin/tensorflow/python/tools/freeze_graph \ +--input_graph=/tmp/inception_v3_inf_graph.pb \ +--input_checkpoint=/tmp/checkpoints/inception_v3.ckpt \ +--input_binary=true --output_graph=/tmp/frozen_inception_v3.pb \ +--output_node_names=InceptionV3/Predictions/Reshape_1 + +The output node names will vary depending on the model, but you can inspect and +estimate them using the summarize_graph tool: + +bazel build tensorflow/tools/graph_transforms:summarize_graph +bazel-bin/tensorflow/tools/graph_transforms/summarize_graph \ +--in_graph=/tmp/inception_v3_inf_graph.pb + +To run the resulting graph in C++, you can look at the label_image sample code: + +bazel build tensorflow/examples/label_image:label_image +bazel-bin/tensorflow/examples/label_image/label_image \ +--image=${HOME}/Pictures/flowers.jpg \ +--input_layer=input \ +--output_layer=InceptionV3/Predictions/Reshape_1 \ +--graph=/tmp/frozen_inception_v3.pb \ +--labels=/tmp/imagenet_slim_labels.txt \ +--input_mean=0 \ +--input_std=255 \ +--logtostderr + +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +from tensorflow.python.platform import gfile +from datasets import dataset_factory +from nets import nets_factory + + +slim = tf.contrib.slim + +tf.app.flags.DEFINE_string( + 'model_name', 'inception_v3', 'The name of the architecture to save.') + +tf.app.flags.DEFINE_boolean( + 'is_training', False, + 'Whether to save out a training-focused version of the model.') + +tf.app.flags.DEFINE_integer( + 'default_image_size', 224, + 'The image size to use if the model does not define it.') + +tf.app.flags.DEFINE_string('dataset_name', 'imagenet', + 'The name of the dataset to use with the model.') + +tf.app.flags.DEFINE_integer( + 'labels_offset', 0, + 'An offset for the labels in the dataset. This flag is primarily used to ' + 'evaluate the VGG and ResNet architectures which do not use a background ' + 'class for the ImageNet dataset.') + +tf.app.flags.DEFINE_string( + 'output_file', '', 'Where to save the resulting file to.') + +tf.app.flags.DEFINE_string( + 'dataset_dir', '', 'Directory to save intermediate dataset files to') + +FLAGS = tf.app.flags.FLAGS + + +def main(_): + if not FLAGS.output_file: + raise ValueError('You must supply the path to save to with --output_file') + tf.logging.set_verbosity(tf.logging.INFO) + with tf.Graph().as_default() as graph: + dataset = dataset_factory.get_dataset(FLAGS.dataset_name, 'validation', + FLAGS.dataset_dir) + network_fn = nets_factory.get_network_fn( + FLAGS.model_name, + num_classes=(dataset.num_classes - FLAGS.labels_offset), + is_training=FLAGS.is_training) + if hasattr(network_fn, 'default_image_size'): + image_size = network_fn.default_image_size + else: + image_size = FLAGS.default_image_size + placeholder = tf.placeholder(name='input', dtype=tf.float32, + shape=[1, image_size, image_size, 3]) + network_fn(placeholder) + graph_def = graph.as_graph_def() + with gfile.GFile(FLAGS.output_file, 'wb') as f: + f.write(graph_def.SerializeToString()) + + +if __name__ == '__main__': + tf.app.run() diff --git a/slim/export_inference_graph_test.py b/slim/export_inference_graph_test.py new file mode 100644 index 000000000..a730e67e5 --- /dev/null +++ b/slim/export_inference_graph_test.py @@ -0,0 +1,44 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for export_inference_graph.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os + + +import tensorflow as tf + +from tensorflow.python.platform import gfile +from google3.third_party.tensorflow_models.slim import export_inference_graph + + +class ExportInferenceGraphTest(tf.test.TestCase): + + def testExportInferenceGraph(self): + tmpdir = self.get_temp_dir() + output_file = os.path.join(tmpdir, 'inception_v3.pb') + flags = tf.app.flags.FLAGS + flags.output_file = output_file + flags.model_name = 'inception_v3' + flags.dataset_dir = tmpdir + export_inference_graph.main(None) + self.assertTrue(gfile.Exists(output_file)) + +if __name__ == '__main__': + tf.test.main() -- GitLab From c4ba26b4d36ea8d339200bab6bd6fea6fd4af11b Mon Sep 17 00:00:00 2001 From: Jonathan Huang Date: Tue, 20 Jun 2017 14:16:51 -0700 Subject: [PATCH 136/171] Cast regularization parameters to float. (#1707) This works around a bug in earlier proto versions that automatically infer these values to be integer instead of float. --- object_detection/builders/hyperparams_builder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/object_detection/builders/hyperparams_builder.py b/object_detection/builders/hyperparams_builder.py index 6fc62a944..c8c18e39c 100644 --- a/object_detection/builders/hyperparams_builder.py +++ b/object_detection/builders/hyperparams_builder.py @@ -111,9 +111,9 @@ def _build_regularizer(regularizer): """ regularizer_oneof = regularizer.WhichOneof('regularizer_oneof') if regularizer_oneof == 'l1_regularizer': - return slim.l1_regularizer(scale=regularizer.l1_regularizer.weight) + return slim.l1_regularizer(scale=float(regularizer.l1_regularizer.weight)) if regularizer_oneof == 'l2_regularizer': - return slim.l2_regularizer(scale=regularizer.l2_regularizer.weight) + return slim.l2_regularizer(scale=float(regularizer.l2_regularizer.weight)) raise ValueError('Unknown regularizer function: {}'.format(regularizer_oneof)) -- GitLab From 477ed41e7e4e8a8443bc633846eb01e2182dc68a Mon Sep 17 00:00:00 2001 From: Jonathan Huang Date: Tue, 20 Jun 2017 16:14:33 -0700 Subject: [PATCH 137/171] Replace Oxford-IIT by Oxford-IIIT. (#1708) --- object_detection/g3doc/preparing_inputs.md | 6 +++--- object_detection/g3doc/running_locally.md | 2 +- object_detection/g3doc/running_on_cloud.md | 2 +- object_detection/g3doc/running_pets.md | 12 ++++++------ ...aster_rcnn_inception_resnet_v2_atrous_pets.config | 2 +- .../configs/faster_rcnn_resnet101_pets.config | 2 +- .../configs/faster_rcnn_resnet152_pets.config | 2 +- .../samples/configs/faster_rcnn_resnet50_pets.config | 2 +- .../samples/configs/rfcn_resnet101_pets.config | 2 +- .../samples/configs/ssd_inception_v2_pets.config | 2 +- .../samples/configs/ssd_mobilenet_v1_pets.config | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) diff --git a/object_detection/g3doc/preparing_inputs.md b/object_detection/g3doc/preparing_inputs.md index a1f8f17e1..77ba7f39f 100644 --- a/object_detection/g3doc/preparing_inputs.md +++ b/object_detection/g3doc/preparing_inputs.md @@ -2,7 +2,7 @@ Tensorflow Object Detection API reads data using the TFRecord file format. Two sample scripts (`create_pascal_tf_record.py` and `create_pet_tf_record.py`) are -provided to convert from the PASCAL VOC dataset and Oxford-IIT Pet dataset to +provided to convert from the PASCAL VOC dataset and Oxford-IIIT Pet dataset to TFRecords. ## Generating the PASCAL VOC TFRecord files. @@ -26,9 +26,9 @@ pascal_val.record in the tensorflow/models/object_detection directory. The label map for the PASCAL VOC data set can be found at data/pascal_label_map.pbtxt. -## Generation the Oxford-IIT Pet TFRecord files. +## Generation the Oxford-IIIT Pet TFRecord files. -The Oxford-IIT Pet data set can be downloaded from +The Oxford-IIIT Pet data set can be downloaded from [their website](http://www.robots.ox.ac.uk/~vgg/data/pets/). Extract the tar file and run the `create_pet_tf_record` script to generate TFRecords. diff --git a/object_detection/g3doc/running_locally.md b/object_detection/g3doc/running_locally.md index 7143b6d85..dd53225b3 100644 --- a/object_detection/g3doc/running_locally.md +++ b/object_detection/g3doc/running_locally.md @@ -10,7 +10,7 @@ dependencies, compiling the configuration protobufs and setting up the Python environment. 2. A valid data set has been created. See [this page](preparing_inputs.md) for instructions on how to generate a dataset for the PASCAL VOC challenge or the -Oxford-IIT Pet dataset. +Oxford-IIIT Pet dataset. 3. A Object Detection pipeline configuration has been written. See [this page](configuring_jobs.md) for details on how to write a pipeline configuration. diff --git a/object_detection/g3doc/running_on_cloud.md b/object_detection/g3doc/running_on_cloud.md index 0d74ac4e2..b96725eaf 100644 --- a/object_detection/g3doc/running_on_cloud.md +++ b/object_detection/g3doc/running_on_cloud.md @@ -11,7 +11,7 @@ See [the Cloud ML quick start guide](https://cloud.google.com/ml-engine/docs/qui in the [installation instructions](installation.md). 3. The reader has a valid data set and stored it in a Google Cloud Storage bucket. See [this page](preparing_inputs.md) for instructions on how to generate -a dataset for the PASCAL VOC challenge or the Oxford-IIT Pet dataset. +a dataset for the PASCAL VOC challenge or the Oxford-IIIT Pet dataset. 4. The reader has configured a valid Object Detection pipeline, and stored it in a Google Cloud Storage bucket. See [this page](configuring_jobs.md) for details on how to write a pipeline configuration. diff --git a/object_detection/g3doc/running_pets.md b/object_detection/g3doc/running_pets.md index 08fe34eb3..eae858af7 100644 --- a/object_detection/g3doc/running_pets.md +++ b/object_detection/g3doc/running_pets.md @@ -1,7 +1,7 @@ -# Quick Start: Distributed Training on the Oxford-IIT Pets Dataset on Google Cloud +# Quick Start: Distributed Training on the Oxford-IIIT Pets Dataset on Google Cloud This page is a walkthrough for training an object detector using the Tensorflow -Object Detection API. In this tutorial, we'll be training on the Oxford-IIT Pets +Object Detection API. In this tutorial, we'll be training on the Oxford-IIIT Pets dataset to build a system to detect various breeds of cats and dogs. The output of the detector will look like the following: @@ -43,11 +43,11 @@ Please run through the [installation instructions](installation.md) to install Tensorflow and all it dependencies. Ensure the Protobuf libraries are compiled and the library directories are added to `PYTHONPATH`. -## Getting the Oxford-IIT Pets Dataset and Uploading it to Google Cloud Storage +## Getting the Oxford-IIIT Pets Dataset and Uploading it to Google Cloud Storage In order to train a detector, we require a dataset of images, bounding boxes and -classifications. For this demo, we'll use the Oxford-IIT Pets dataset. The raw -dataset for Oxford-IIT Pets lives +classifications. For this demo, we'll use the Oxford-IIIT Pets dataset. The raw +dataset for Oxford-IIIT Pets lives [here](http://www.robots.ox.ac.uk/~vgg/data/pets/). You will need to download both the image dataset [`images.tar.gz`](http://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz) and the groundtruth data [`annotations.tar.gz`](http://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gz) @@ -65,7 +65,7 @@ the tarballs, your object_detection directory should appear as follows: The Tensorflow Object Detection API expects data to be in the TFRecord format, so we'll now run the _create_pet_tf_record_ script to convert from the raw -Oxford-IIT Pet dataset into TFRecords. Run the following commands from the +Oxford-IIIT Pet dataset into TFRecords. Run the following commands from the object_detection directory: ``` bash diff --git a/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config b/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config index a09133374..fc7e14e25 100644 --- a/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config +++ b/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config @@ -1,5 +1,5 @@ # Faster R-CNN with Inception Resnet v2, Atrous version; -# Configured for Oxford-IIT Pets Dataset. +# Configured for Oxford-IIIT Pets Dataset. # Users should configure the fine_tune_checkpoint field in the train config as # well as the label_map_path and input_path fields in the train_input_reader and # eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that diff --git a/object_detection/samples/configs/faster_rcnn_resnet101_pets.config b/object_detection/samples/configs/faster_rcnn_resnet101_pets.config index b90304c2e..cee6604a4 100644 --- a/object_detection/samples/configs/faster_rcnn_resnet101_pets.config +++ b/object_detection/samples/configs/faster_rcnn_resnet101_pets.config @@ -1,4 +1,4 @@ -# Faster R-CNN with Resnet-101 (v1) configured for the Oxford-IIT Pet Dataset. +# Faster R-CNN with Resnet-101 (v1) configured for the Oxford-IIIT Pet Dataset. # Users should configure the fine_tune_checkpoint field in the train config as # well as the label_map_path and input_path fields in the train_input_reader and # eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that diff --git a/object_detection/samples/configs/faster_rcnn_resnet152_pets.config b/object_detection/samples/configs/faster_rcnn_resnet152_pets.config index 128380b9c..aae28489e 100644 --- a/object_detection/samples/configs/faster_rcnn_resnet152_pets.config +++ b/object_detection/samples/configs/faster_rcnn_resnet152_pets.config @@ -1,4 +1,4 @@ -# Faster R-CNN with Resnet-152 (v1), configured for Oxford-IIT Pets Dataset. +# Faster R-CNN with Resnet-152 (v1), configured for Oxford-IIIT Pets Dataset. # Users should configure the fine_tune_checkpoint field in the train config as # well as the label_map_path and input_path fields in the train_input_reader and # eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that diff --git a/object_detection/samples/configs/faster_rcnn_resnet50_pets.config b/object_detection/samples/configs/faster_rcnn_resnet50_pets.config index 5e929301a..110c1b4bb 100644 --- a/object_detection/samples/configs/faster_rcnn_resnet50_pets.config +++ b/object_detection/samples/configs/faster_rcnn_resnet50_pets.config @@ -1,4 +1,4 @@ -# Faster R-CNN with Resnet-50 (v1), configured for Oxford-IIT Pets Dataset. +# Faster R-CNN with Resnet-50 (v1), configured for Oxford-IIIT Pets Dataset. # Users should configure the fine_tune_checkpoint field in the train config as # well as the label_map_path and input_path fields in the train_input_reader and # eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that diff --git a/object_detection/samples/configs/rfcn_resnet101_pets.config b/object_detection/samples/configs/rfcn_resnet101_pets.config index 2b9df17ef..a2b88f9df 100644 --- a/object_detection/samples/configs/rfcn_resnet101_pets.config +++ b/object_detection/samples/configs/rfcn_resnet101_pets.config @@ -1,4 +1,4 @@ -# R-FCN with Resnet-101 (v1), configured for Oxford-IIT Pets Dataset. +# R-FCN with Resnet-101 (v1), configured for Oxford-IIIT Pets Dataset. # Users should configure the fine_tune_checkpoint field in the train config as # well as the label_map_path and input_path fields in the train_input_reader and # eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that diff --git a/object_detection/samples/configs/ssd_inception_v2_pets.config b/object_detection/samples/configs/ssd_inception_v2_pets.config index 49bdf7e06..b14fa480d 100644 --- a/object_detection/samples/configs/ssd_inception_v2_pets.config +++ b/object_detection/samples/configs/ssd_inception_v2_pets.config @@ -1,4 +1,4 @@ -# SSD with Inception v2 configured for Oxford-IIT Pets Dataset. +# SSD with Inception v2 configured for Oxford-IIIT Pets Dataset. # Users should configure the fine_tune_checkpoint field in the train config as # well as the label_map_path and input_path fields in the train_input_reader and # eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that diff --git a/object_detection/samples/configs/ssd_mobilenet_v1_pets.config b/object_detection/samples/configs/ssd_mobilenet_v1_pets.config index c8d83ddb1..429075c64 100644 --- a/object_detection/samples/configs/ssd_mobilenet_v1_pets.config +++ b/object_detection/samples/configs/ssd_mobilenet_v1_pets.config @@ -1,4 +1,4 @@ -# SSD with Mobilenet v1, configured for Oxford-IIT Pets Dataset. +# SSD with Mobilenet v1, configured for Oxford-IIIT Pets Dataset. # Users should configure the fine_tune_checkpoint field in the train config as # well as the label_map_path and input_path fields in the train_input_reader and # eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that -- GitLab From 3f9382a64435fefd4d5c755e498ab66fc3662c69 Mon Sep 17 00:00:00 2001 From: Salas Date: Thu, 22 Jun 2017 02:35:48 +0800 Subject: [PATCH 138/171] Fix compatibility of object_detection for Python3 (#1610) * make batcher compatible for py3 * make prefetcher and operations in ops compatible for py3 * use six.iteritem * make all tests in compatible with py3 * simplify usage of six and modify import order * add back the space line --- object_detection/core/batcher.py | 6 +++--- object_detection/core/post_processing.py | 2 +- object_detection/core/prefetcher.py | 2 +- object_detection/core/preprocessor_test.py | 7 ++++++- object_detection/utils/ops.py | 7 ++++--- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/object_detection/core/batcher.py b/object_detection/core/batcher.py index fdd698c43..984734ff4 100644 --- a/object_detection/core/batcher.py +++ b/object_detection/core/batcher.py @@ -78,11 +78,11 @@ class BatchQueue(object): """ # Remember static shapes to set shapes of batched tensors. static_shapes = collections.OrderedDict( - {key: tensor.get_shape() for key, tensor in tensor_dict.iteritems()}) + {key: tensor.get_shape() for key, tensor in tensor_dict.items()}) # Remember runtime shapes to unpad tensors after batching. runtime_shapes = collections.OrderedDict( {(key, 'runtime_shapes'): tf.shape(tensor) - for key, tensor in tensor_dict.iteritems()}) + for key, tensor in tensor_dict.items()}) all_tensors = tensor_dict all_tensors.update(runtime_shapes) batched_tensors = tf.train.batch( @@ -109,7 +109,7 @@ class BatchQueue(object): # Separate input tensors from tensors containing their runtime shapes. tensors = {} shapes = {} - for key, batched_tensor in batched_tensors.iteritems(): + for key, batched_tensor in batched_tensors.items(): unbatched_tensor_list = tf.unstack(batched_tensor) for i, unbatched_tensor in enumerate(unbatched_tensor_list): if isinstance(key, tuple) and key[1] == 'runtime_shapes': diff --git a/object_detection/core/post_processing.py b/object_detection/core/post_processing.py index cda26f25e..5983ca169 100644 --- a/object_detection/core/post_processing.py +++ b/object_detection/core/post_processing.py @@ -131,7 +131,7 @@ def multiclass_non_max_suppression(boxes, boxlist_and_class_scores.add_field(fields.BoxListFields.masks, per_class_masks) if additional_fields is not None: - for key, tensor in additional_fields.iteritems(): + for key, tensor in additional_fields.items(): boxlist_and_class_scores.add_field(key, tensor) boxlist_filtered = box_list_ops.filter_greater_than( boxlist_and_class_scores, score_thresh) diff --git a/object_detection/core/prefetcher.py b/object_detection/core/prefetcher.py index ba5958f62..e690c599f 100644 --- a/object_detection/core/prefetcher.py +++ b/object_detection/core/prefetcher.py @@ -45,7 +45,7 @@ def prefetch(tensor_dict, capacity): Returns: a FIFO prefetcher queue """ - names = tensor_dict.keys() + names = list(tensor_dict.keys()) dtypes = [t.dtype for t in tensor_dict.values()] shapes = [t.get_shape() for t in tensor_dict.values()] prefetch_queue = tf.PaddingFIFOQueue(capacity, dtypes=dtypes, diff --git a/object_detection/core/preprocessor_test.py b/object_detection/core/preprocessor_test.py index 109df7a6c..eca135d16 100644 --- a/object_detection/core/preprocessor_test.py +++ b/object_detection/core/preprocessor_test.py @@ -15,14 +15,19 @@ """Tests for object_detection.core.preprocessor.""" -import mock import numpy as np +import six import tensorflow as tf from object_detection.core import preprocessor from object_detection.core import standard_fields as fields +if six.PY2: + import mock # pylint: disable=g-import-not-at-top +else: + from unittest import mock # pylint: disable=g-import-not-at-top + class PreprocessorTest(tf.test.TestCase): diff --git a/object_detection/utils/ops.py b/object_detection/utils/ops.py index 989cdf3c4..290cd33a8 100644 --- a/object_detection/utils/ops.py +++ b/object_detection/utils/ops.py @@ -15,6 +15,7 @@ """A module for helper tensorflow ops.""" import math +import six import tensorflow as tf @@ -197,9 +198,9 @@ def padded_one_hot_encoding(indices, depth, left_pad): TODO: add runtime checks for depth and indices. """ - if depth < 0 or not isinstance(depth, (int, long)): + if depth < 0 or not isinstance(depth, (int, long) if six.PY2 else int): raise ValueError('`depth` must be a non-negative integer.') - if left_pad < 0 or not isinstance(left_pad, (int, long)): + if left_pad < 0 or not isinstance(left_pad, (int, long) if six.PY2 else int): raise ValueError('`left_pad` must be a non-negative integer.') if depth == 0: return None @@ -548,7 +549,7 @@ def position_sensitive_crop_regions(image, raise ValueError('crop_size should be divisible by num_spatial_bins') total_bins *= num_bins - bin_crop_size.append(crop_dim / num_bins) + bin_crop_size.append(crop_dim // num_bins) if not global_pool and bin_crop_size[0] != bin_crop_size[1]: raise ValueError('Only support square bin crop size for now.') -- GitLab From 6c2a1d6bc0ec1d345b247a1f89f0ff975628b8a8 Mon Sep 17 00:00:00 2001 From: ericj974 Date: Thu, 22 Jun 2017 11:18:06 +0800 Subject: [PATCH 139/171] Naming consistency pascal_voc_ -> pascal_ --- .../samples/configs/faster_rcnn_resnet101_voc07.config | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config b/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config index 622194b8e..461898faf 100644 --- a/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config +++ b/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config @@ -118,9 +118,9 @@ train_config: { train_input_reader: { tf_record_input_reader { - input_path: "PATH_TO_BE_CONFIGURED/pascal_voc_train.record" + input_path: "PATH_TO_BE_CONFIGURED/pascal_train.record" } - label_map_path: "PATH_TO_BE_CONFIGURED/pascal_voc_label_map.pbtxt" + label_map_path: "PATH_TO_BE_CONFIGURED/pascal_label_map.pbtxt" } eval_config: { @@ -129,7 +129,7 @@ eval_config: { eval_input_reader: { tf_record_input_reader { - input_path: "PATH_TO_BE_CONFIGURED/pascal_voc_val.record" + input_path: "PATH_TO_BE_CONFIGURED/pascal_val.record" } - label_map_path: "PATH_TO_BE_CONFIGURED/pascal_voc_label_map.pbtxt" + label_map_path: "PATH_TO_BE_CONFIGURED/pascal_label_map.pbtxt" } -- GitLab From 9b31ed03a4d5e88ec1d2470ca9a32405bf9c5016 Mon Sep 17 00:00:00 2001 From: Hao Date: Thu, 22 Jun 2017 19:44:46 +0100 Subject: [PATCH 140/171] installation link broken --- street/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/street/README.md b/street/README.md index 1750a8843..b63b99b93 100644 --- a/street/README.md +++ b/street/README.md @@ -38,7 +38,7 @@ Avenue des Sapins ## Installing and setting up the STREET model -[Install Tensorflow](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#virtualenv-installation) +[Install Tensorflow](https://www.tensorflow.org/install/) Install numpy: -- GitLab From a4950ea41bd678ea76dcd2919d47f1afcc8420f2 Mon Sep 17 00:00:00 2001 From: Saurabh Gupta Date: Thu, 22 Jun 2017 16:04:29 -0700 Subject: [PATCH 141/171] Add back resnet v2 links. (#1738) --- slim/README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/slim/README.md b/slim/README.md index 179b80606..021673631 100644 --- a/slim/README.md +++ b/slim/README.md @@ -197,15 +197,19 @@ Model | TF-Slim File | Checkpoint | Top-1 Accuracy| Top-5 Accuracy | [Inception V3](http://arxiv.org/abs/1512.00567)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_v3.py)|[inception_v3_2016_08_28.tar.gz](http://download.tensorflow.org/models/inception_v3_2016_08_28.tar.gz)|78.0|93.9| [Inception V4](http://arxiv.org/abs/1602.07261)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_v4.py)|[inception_v4_2016_09_09.tar.gz](http://download.tensorflow.org/models/inception_v4_2016_09_09.tar.gz)|80.2|95.2| [Inception-ResNet-v2](http://arxiv.org/abs/1602.07261)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/inception_resnet_v2.py)|[inception_resnet_v2_2016_08_30.tar.gz](http://download.tensorflow.org/models/inception_resnet_v2_2016_08_30.tar.gz)|80.4|95.3| -[ResNet 50](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_50_2016_08_28.tar.gz](http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz)|75.2|92.2| -[ResNet 101](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_101_2016_08_28.tar.gz](http://download.tensorflow.org/models/resnet_v1_101_2016_08_28.tar.gz)|76.4|92.9| -[ResNet 152](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_152_2016_08_28.tar.gz](http://download.tensorflow.org/models/resnet_v1_152_2016_08_28.tar.gz)|76.8|93.2| +[ResNet V1 50](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_50_2016_08_28.tar.gz](http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz)|75.2|92.2| +[ResNet V1 101](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_101_2016_08_28.tar.gz](http://download.tensorflow.org/models/resnet_v1_101_2016_08_28.tar.gz)|76.4|92.9| +[ResNet V1 152](https://arxiv.org/abs/1512.03385)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v1.py)|[resnet_v1_152_2016_08_28.tar.gz](http://download.tensorflow.org/models/resnet_v1_152_2016_08_28.tar.gz)|76.8|93.2| +[ResNet V2 50](https://arxiv.org/abs/1603.05027)^|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[resnet_v2_50_2017_04_14.tar.gz](http://download.tensorflow.org/models/resnet_v2_50_2017_04_14.tar.gz)|75.6|92.8| +[ResNet V2 101](https://arxiv.org/abs/1603.05027)^|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[resnet_v2_101_2017_04_14.tar.gz](http://download.tensorflow.org/models/resnet_v2_101_2017_04_14.tar.gz)|77.0|93.7| +[ResNet V2 152](https://arxiv.org/abs/1603.05027)^|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[resnet_v2_152_2017_04_14.tar.gz](http://download.tensorflow.org/models/resnet_v2_152_2017_04_14.tar.gz)|77.8|94.1| [ResNet V2 200](https://arxiv.org/abs/1603.05027)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/resnet_v2.py)|[TBA]()|79.9\*|95.2\*| [VGG 16](http://arxiv.org/abs/1409.1556.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/vgg.py)|[vgg_16_2016_08_28.tar.gz](http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz)|71.5|89.8| [VGG 19](http://arxiv.org/abs/1409.1556.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/vgg.py)|[vgg_19_2016_08_28.tar.gz](http://download.tensorflow.org/models/vgg_19_2016_08_28.tar.gz)|71.1|89.8| [MobileNet_v1_1.0_224](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_1.0_224_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_1.0_224_2017_06_14.tar.gz)|70.7|89.5| [MobileNet_v1_0.50_160](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_0.50_160_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_0.50_160_2017_06_14.tar.gz)|59.9|82.5| [MobileNet_v1_0.25_128](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_0.25_128_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_0.25_128_2017_06_14.tar.gz)|41.3|66.2| + ^ ResNet V2 models use Inception pre-processing and input image size of 299 (use `--preprocessing_name inception --eval_image_size 299` when using `eval_image_classifier.py`). Performance numbers for ResNet V2 models are @@ -214,6 +218,7 @@ reported on ImageNet valdiation set. All 16 MobileNet Models reported in the [MobileNet Paper](https://arxiv.org/abs/1704.04861) can be found [here](https://github.com/tensorflow/models/tree/master/slim/nets/mobilenet_v1.md). (\*): Results quoted from the [paper](https://arxiv.org/abs/1603.05027). + Here is an example of how to download the Inception V3 checkpoint: ```shell -- GitLab From 3a65897989c4711c2b0d8544a1a8a455ac654cec Mon Sep 17 00:00:00 2001 From: Jasmine Date: Thu, 22 Jun 2017 16:41:07 -0700 Subject: [PATCH 142/171] adding lfads --- README.md | 1 + lfads/README.md | 194 ++ lfads/distributions.py | 493 +++++ lfads/lfads.py | 1935 +++++++++++++++++ lfads/plot_lfads.py | 223 ++ lfads/run_lfads.py | 778 +++++++ lfads/synth_data/generate_chaotic_rnn_data.py | 193 ++ lfads/synth_data/generate_itb_data.py | 208 ++ lfads/synth_data/generate_labeled_rnn_data.py | 146 ++ lfads/synth_data/run_generate_synth_data.sh | 37 + lfads/synth_data/synthetic_data_utils.py | 322 +++ .../model-65000.data-00000-of-00001 | Bin 0 -> 10608 bytes .../synth_data/trained_itb/model-65000.index | Bin 0 -> 266 bytes lfads/synth_data/trained_itb/model-65000.meta | Bin 0 -> 1053549 bytes lfads/utils.py | 357 +++ 15 files changed, 4887 insertions(+) create mode 100644 lfads/README.md create mode 100644 lfads/distributions.py create mode 100644 lfads/lfads.py create mode 100644 lfads/plot_lfads.py create mode 100755 lfads/run_lfads.py create mode 100644 lfads/synth_data/generate_chaotic_rnn_data.py create mode 100644 lfads/synth_data/generate_itb_data.py create mode 100644 lfads/synth_data/generate_labeled_rnn_data.py create mode 100755 lfads/synth_data/run_generate_synth_data.sh create mode 100644 lfads/synth_data/synthetic_data_utils.py create mode 100644 lfads/synth_data/trained_itb/model-65000.data-00000-of-00001 create mode 100644 lfads/synth_data/trained_itb/model-65000.index create mode 100644 lfads/synth_data/trained_itb/model-65000.meta create mode 100644 lfads/utils.py diff --git a/README.md b/README.md index f0f203855..f3b4619b7 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ running TensorFlow 0.12 or earlier, please - [im2txt](im2txt): image-to-text neural network for image captioning. - [inception](inception): deep convolutional networks for computer vision. - [learning_to_remember_rare_events](learning_to_remember_rare_events): a large-scale life-long memory module for use in deep learning. +- [lfads](lfads): sequential variational autoencoder for analyzing neuroscience data. - [lm_1b](lm_1b): language modeling on the one billion word benchmark. - [namignizer](namignizer): recognize and generate names. - [neural_gpu](neural_gpu): highly parallel neural computer. diff --git a/lfads/README.md b/lfads/README.md new file mode 100644 index 000000000..ab4ee2b91 --- /dev/null +++ b/lfads/README.md @@ -0,0 +1,194 @@ +# LFADS - Latent Factor Analysis via Dynamical Systems + +This code implements the model from the paper "[LFADS - Latent Factor Analysis via Dynamical Systems](http://biorxiv.org/content/early/2017/06/20/152884)". It is a sequential variational auto-encoder designed specifically for investigating neuroscience data, but can be applied widely to any time series data. In an unsupervised setting, LFADS is able to decompose time series data into various factors, such as an initial condition, a generative dynamical system, control inputs to that generator, and a low dimensional description of the observed data, called the factors. Additionally, the observation model is a loss on a probability distribution, so when LFADS processes a dataset, a denoised version of the dataset is also created. For example, if the dataset is raw spike counts, then under the negative log-likeihood loss under a Poisson distribution, the denoised data would be the inferred Poisson rates. + + +## Prerequisites + +The code is written in Python 2.7.6. You will also need: + +* **TensorFlow** version 1.0.1 or greater ([install](https://www.tensorflow.org/install/)) +* **NumPy, SciPy, Matplotlib** ([install SciPy stack](https://www.scipy.org/install.html), contains all of them) +* **h5py** ([install](https://pypi.python.org/pypi/h5py)) + + +## Getting started + +Before starting, run the following: + +

        +$ export PYTHONPATH=$PYTHONPATH:/path/to/your/directory/lfads/
        +
        + +where "path/to/your/directory" is replaced with the path to the LFADS repository (you can get this path by using the `pwd` command). This allows the nested directories to access modules from their parent directory. + +## Generate synthetic data + +In order to generate the synthetic datasets first, from the top-level lfads directory, run: + +```sh +$ cd synth_data +$ ./run_generate_synth_data.sh +$ cd .. +``` + +These synthetic datasets are provided 1. to gain insight into how the LFADS algorithm operates, and 2. to give reasonable starting points for analyses you might be interested for your own data. + +## Train an LFADS model + +Now that we have our example datasets, we can train some models! To spin up an LFADS model on the synthetic data, run any of the following commands. For the examples that are in the paper, the important hyperparameters are roughly replicated. Most hyperparameters are insensitive to small changes or won't ever be changed unless you want a very fine level of control. In the first example, all hyperparameter flags are enumerated for easy copy-pasting, but for the rest of the examples only the most important flags (~the first 8) are specified for brevity. For a full list of flags, their descriptions, and their default values, refer to the top of `run_lfads.py`. Please see Table 1 in the Online Methods of the associated paper for definitions of the most important hyperparameters. + +```sh +# Run LFADS on chaotic rnn data with no input pulses (g = 1.5) +$ python run_lfads.py --kind=train \ +--data_dir=/tmp/rnn_synth_data_v1.0/ \ +--data_filename_stem=chaotic_rnn_no_inputs \ +--lfads_save_dir=/tmp/lfads_chaotic_rnn_no_inputs \ +--co_dim=0 \ +--factors_dim=20 \ +--ext_input_dim=0 \ +--controller_input_lag=1 \ +--output_dist=poisson \ +--do_causal_controller=false \ +--batch_size=128 \ +--learning_rate_init=0.01 \ +--learning_rate_stop=1e-05 \ +--learning_rate_decay_factor=0.95 \ +--learning_rate_n_to_compare=6 \ +--do_reset_learning_rate=false \ +--keep_prob=0.95 \ +--con_dim=128 \ +--gen_dim=200 \ +--ci_enc_dim=128 \ +--ic_dim=64 \ +--ic_enc_dim=128 \ +--ic_prior_var_min=0.1 \ +--gen_cell_input_weight_scale=1.0 \ +--cell_weight_scale=1.0 \ +--do_feed_factors_to_controller=true \ +--kl_start_step=0 \ +--kl_increase_steps=2000 \ +--kl_ic_weight=1.0 \ +--l2_con_scale=0.0 \ +--l2_gen_scale=2000.0 \ +--l2_start_step=0 \ +--l2_increase_steps=2000 \ +--ic_prior_var_scale=0.1 \ +--ic_post_var_min=0.0001 \ +--kl_co_weight=1.0 \ +--prior_ar_nvar=0.1 \ +--cell_clip_value=5.0 \ +--max_ckpt_to_keep_lve=5 \ +--do_train_prior_ar_atau=true \ +--co_prior_var_scale=0.1 \ +--csv_log=fitlog \ +--feedback_factors_or_rates=factors \ +--do_train_prior_ar_nvar=true \ +--max_grad_norm=200.0 \ +--device=gpu:0 \ +--num_steps_for_gen_ic=100000000 \ +--ps_nexamples_to_process=100000000 \ +--checkpoint_name=lfads_vae \ +--temporal_spike_jitter_width=0 \ +--checkpoint_pb_load_name=checkpoint \ +--inject_ext_input_to_gen=false \ +--co_mean_corr_scale=0.0 \ +--gen_cell_rec_weight_scale=1.0 \ +--max_ckpt_to_keep=5 \ +--output_filename_stem="" \ +--ic_prior_var_max=0.1 \ +--prior_ar_atau=10.0 \ +--do_train_io_only=false + +# Run LFADS on chaotic rnn data with input pulses (g = 2.5) +$ python run_lfads.py --kind=train \ +--data_dir=/tmp/rnn_synth_data_v1.0/ \ +--data_filename_stem=chaotic_rnn_inputs_g2p5 \ +--lfads_save_dir=/tmp/lfads_chaotic_rnn_inputs_g2p5 \ +--co_dim=1 \ +--factors_dim=20 + +# Run LFADS on multi-session RNN data +$ python run_lfads.py --kind=train \ +--data_dir=/tmp/rnn_synth_data_v1.0/ \ +--data_filename_stem=chaotic_rnn_multisession \ +--lfads_save_dir=/tmp/lfads_chaotic_rnn_multisession \ +--factors_dim=10 + +# Run LFADS on integration to bound model data +$ python run_lfads.py --kind=train \ +--data_dir=/tmp/rnn_synth_data_v1.0/ \ +--data_filename_stem=itb_rnn \ +--lfads_save_dir=/tmp/lfads_itb_rnn \ +--co_dim=1 \ +--factors_dim=20 \ +--controller_input_lag=0 + +# Run LFADS on chaotic RNN data with labels +$ python run_lfads.py --kind=train \ +--data_dir=/tmp/rnn_synth_data_v1.0/ \ +--data_filename_stem=chaotic_rnns_labeled \ +--lfads_save_dir=/tmp/lfads_chaotic_rnns_labeled \ +--co_dim=0 \ +--factors_dim=20 \ +--controller_input_lag=0 \ +--ext_input_dim=1 + +``` + +**Tip**: If you are running LFADS on GPU and would like to run more than one model concurrently, set the `--allow_gpu_growth=True` flag on each job, otherwise one model will take up the entire GPU for performance purposes. Also, one needs to install the TensorFlow libraries with GPU support. + + +## Visualize a training model + +To visualize training curves and various other metrics while training and LFADS model, run the following command on your model directory. To launch a tensorboard on the chaotic RNN data with input pulses, for example: + +```sh +tensorboard --logdir=/tmp/lfads_chaotic_rnn_inputs_g2p5 +``` + +## Evaluate a trained model + +Once your model is finished training, there are multiple ways you can evaluate +it. Below are some sample commands to evaluate an LFADS model trained on the +chaotic rnn data with input pulses (g = 2.5). The key differences here are +setting the `--kind` flag to the appropriate mode, as well as the +`--checkpoint_pb_load_name` flag to `checkpoint_lve` and the `--batch_size` flag +(if you'd like to make it larger or smaller). All other flags should be the +same as used in training, so that the same model architecture is built. + +```sh +# Take samples from posterior then average (denoising operation) +$ python run_lfads.py --kind=posterior_sample_and_average \ +--data_dir=/tmp/rnn_synth_data_v1.0/ \ +--data_filename_stem=chaotic_rnn_inputs_g2p5 \ +--lfads_save_dir=/tmp/lfads_chaotic_rnn_inputs_g2p5 \ +--co_dim=1 \ +--factors_dim=20 \ +--batch_size=1024 \ +--checkpoint_pb_load_name=checkpoint_lve + +# Sample from prior (generation of completely new samples) +$ python run_lfads.py --kind=prior_sample \ +--data_dir=/tmp/rnn_synth_data_v1.0/ \ +--data_filename_stem=chaotic_rnn_inputs_g2p5 \ +--lfads_save_dir=/tmp/lfads_chaotic_rnn_inputs_g2p5 \ +--co_dim=1 \ +--factors_dim=20 \ +--batch_size=50 \ +--checkpoint_pb_load_name=checkpoint_lve + +# Write down model parameters +$ python run_lfads.py --kind=write_model_params \ +--data_dir=/tmp/rnn_synth_data_v1.0/ \ +--data_filename_stem=chaotic_rnn_inputs_g2p5 \ +--lfads_save_dir=/tmp/lfads_chaotic_rnn_inputs_g2p5 \ +--co_dim=1 \ +--factors_dim=20 \ +--checkpoint_pb_load_name=checkpoint_lve +``` + +## Contact + +File any issues with the [issue tracker](https://github.com/tensorflow/models/issues). For any questions or problems, this code is maintained by [@sussillo](https://github.com/sussillo) and [@jazcollins](https://github.com/jazcollins). + diff --git a/lfads/distributions.py b/lfads/distributions.py new file mode 100644 index 000000000..56f14cfe3 --- /dev/null +++ b/lfads/distributions.py @@ -0,0 +1,493 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== +import numpy as np +import tensorflow as tf +from utils import linear, log_sum_exp + +class Poisson(object): + """Poisson distributon + + Computes the log probability under the model. + + """ + def __init__(self, log_rates): + """ Create Poisson distributions with log_rates parameters. + + Args: + log_rates: a tensor-like list of log rates underlying the Poisson dist. + """ + self.logr = log_rates + + def logp(self, bin_counts): + """Compute the log probability for the counts in the bin, under the model. + + Args: + bin_counts: array-like integer counts + + Returns: + The log-probability under the Poisson models for each element of + bin_counts. + """ + k = tf.to_float(bin_counts) + # log poisson(k, r) = log(r^k * e^(-r) / k!) = k log(r) - r - log k! + # log poisson(k, r=exp(x)) = k * x - exp(x) - lgamma(k + 1) + return k * self.logr - tf.exp(self.logr) - tf.lgamma(k + 1) + + +def diag_gaussian_log_likelihood(z, mu=0.0, logvar=0.0): + """Log-likelihood under a Gaussian distribution with diagonal covariance. + Returns the log-likelihood for each dimension. One should sum the + results for the log-likelihood under the full multidimensional model. + + Args: + z: The value to compute the log-likelihood. + mu: The mean of the Gaussian + logvar: The log variance of the Gaussian. + + Returns: + The log-likelihood under the Gaussian model. + """ + + return -0.5 * (logvar + np.log(2*np.pi) + \ + tf.square((z-mu)/tf.exp(0.5*logvar))) + + +def gaussian_pos_log_likelihood(unused_mean, logvar, noise): + """Gaussian log-likelihood function for a posterior in VAE + + Note: This function is specialized for a posterior distribution, that has the + form of z = mean + sigma * noise. + + Args: + unused_mean: ignore + logvar: The log variance of the distribution + noise: The noise used in the sampling of the posterior. + + Returns: + The log-likelihood under the Gaussian model. + """ + # ln N(z; mean, sigma) = - ln(sigma) - 0.5 ln 2pi - noise^2 / 2 + return - 0.5 * (logvar + np.log(2 * np.pi) + tf.square(noise)) + + +class Gaussian(object): + """Base class for Gaussian distribution classes.""" + pass + + +class DiagonalGaussian(Gaussian): + """Diagonal Gaussian with different constant mean and variances in each + dimension. + """ + + def __init__(self, batch_size, z_size, mean, logvar): + """Create a diagonal gaussian distribution. + + Args: + batch_size: The size of the batch, i.e. 0th dim in 2D tensor of samples. + z_size: The dimension of the distribution, i.e. 1st dim in 2D tensor. + mean: The N-D mean of the distribution. + logvar: The N-D log variance of the diagonal distribution. + """ + size__xz = [None, z_size] + self.mean = mean # bxn already + self.logvar = logvar # bxn already + self.noise = noise = tf.random_normal(tf.shape(logvar)) + self.sample = mean + tf.exp(0.5 * logvar) * noise + mean.set_shape(size__xz) + logvar.set_shape(size__xz) + self.sample.set_shape(size__xz) + + def logp(self, z=None): + """Compute the log-likelihood under the distribution. + + Args: + z (optional): value to compute likelihood for, if None, use sample. + + Returns: + The likelihood of z under the model. + """ + if z is None: + z = self.sample + + # This is needed to make sure that the gradients are simple. + # The value of the function shouldn't change. + if z == self.sample: + return gaussian_pos_log_likelihood(self.mean, self.logvar, self.noise) + + return diag_gaussian_log_likelihood(z, self.mean, self.logvar) + + +class LearnableDiagonalGaussian(Gaussian): + """Diagonal Gaussian whose mean and variance are learned parameters.""" + + def __init__(self, batch_size, z_size, name, mean_init=0.0, + var_init=1.0, var_min=0.0, var_max=1000000.0): + """Create a learnable diagonal gaussian distribution. + + Args: + batch_size: The size of the batch, i.e. 0th dim in 2D tensor of samples. + z_size: The dimension of the distribution, i.e. 1st dim in 2D tensor. + name: prefix name for the mean and log TF variables. + mean_init (optional): The N-D mean initialization of the distribution. + var_init (optional): The N-D variance initialization of the diagonal + distribution. + var_min (optional): The minimum value the learned variance can take in any + dimension. + var_max (optional): The maximum value the learned variance can take in any + dimension. + """ + + size_1xn = [1, z_size] + size__xn = [None, z_size] + size_bx1 = tf.stack([batch_size, 1]) + assert var_init > 0.0, "Problems" + assert var_max >= var_min, "Problems" + assert var_init >= var_min, "Problems" + assert var_max >= var_init, "Problems" + + + z_mean_1xn = tf.get_variable(name=name+"/mean", shape=size_1xn, + initializer=tf.constant_initializer(mean_init)) + self.mean_bxn = mean_bxn = tf.tile(z_mean_1xn, size_bx1) + mean_bxn.set_shape(size__xn) # tile loses shape + + log_var_init = np.log(var_init) + if var_max > var_min: + var_is_trainable = True + else: + var_is_trainable = False + + z_logvar_1xn = \ + tf.get_variable(name=(name+"/logvar"), shape=size_1xn, + initializer=tf.constant_initializer(log_var_init), + trainable=var_is_trainable) + + if var_is_trainable: + z_logit_var_1xn = tf.exp(z_logvar_1xn) + z_var_1xn = tf.nn.sigmoid(z_logit_var_1xn)*(var_max-var_min) + var_min + z_logvar_1xn = tf.log(z_var_1xn) + + logvar_bxn = tf.tile(z_logvar_1xn, size_bx1) + self.logvar_bxn = logvar_bxn + self.noise_bxn = noise_bxn = tf.random_normal(tf.shape(logvar_bxn)) + self.sample_bxn = mean_bxn + tf.exp(0.5 * logvar_bxn) * noise_bxn + + def logp(self, z=None): + """Compute the log-likelihood under the distribution. + + Args: + z (optional): value to compute likelihood for, if None, use sample. + + Returns: + The likelihood of z under the model. + """ + if z is None: + z = self.sample + + # This is needed to make sure that the gradients are simple. + # The value of the function shouldn't change. + if z == self.sample_bxn: + return gaussian_pos_log_likelihood(self.mean_bxn, self.logvar_bxn, + self.noise_bxn) + + return diag_gaussian_log_likelihood(z, self.mean_bxn, self.logvar_bxn) + + @property + def mean(self): + return self.mean_bxn + + @property + def logvar(self): + return self.logvar_bxn + + @property + def sample(self): + return self.sample_bxn + + +class DiagonalGaussianFromInput(Gaussian): + """Diagonal Gaussian whose mean and variance are conditioned on other + variables. + + Note: the parameters to convert from input to the learned mean and log + variance are held in this class. + """ + + def __init__(self, x_bxu, z_size, name, var_min=0.0): + """Create an input dependent diagonal Gaussian distribution. + + Args: + x: The input tensor from which the mean and variance are computed, + via a linear transformation of x. I.e. + mu = Wx + b, log(var) = Mx + c + z_size: The size of the distribution. + name: The name to prefix to learned variables. + var_min (optional): Minimal variance allowed. This is an additional + way to control the amount of information getting through the stochastic + layer. + """ + size_bxn = tf.stack([tf.shape(x_bxu)[0], z_size]) + self.mean_bxn = mean_bxn = linear(x_bxu, z_size, name=(name+"/mean")) + logvar_bxn = linear(x_bxu, z_size, name=(name+"/logvar")) + if var_min > 0.0: + logvar_bxn = tf.log(tf.exp(logvar_bxn) + var_min) + self.logvar_bxn = logvar_bxn + + self.noise_bxn = noise_bxn = tf.random_normal(size_bxn) + self.noise_bxn.set_shape([None, z_size]) + self.sample_bxn = mean_bxn + tf.exp(0.5 * logvar_bxn) * noise_bxn + + def logp(self, z=None): + """Compute the log-likelihood under the distribution. + + Args: + z (optional): value to compute likelihood for, if None, use sample. + + Returns: + The likelihood of z under the model. + """ + + if z is None: + z = self.sample + + # This is needed to make sure that the gradients are simple. + # The value of the function shouldn't change. + if z == self.sample_bxn: + return gaussian_pos_log_likelihood(self.mean_bxn, + self.logvar_bxn, self.noise_bxn) + + return diag_gaussian_log_likelihood(z, self.mean_bxn, self.logvar_bxn) + + @property + def mean(self): + return self.mean_bxn + + @property + def logvar(self): + return self.logvar_bxn + + @property + def sample(self): + return self.sample_bxn + + +class GaussianProcess: + """Base class for Gaussian processes.""" + pass + + +class LearnableAutoRegressive1Prior(GaussianProcess): + """AR(1) model where autocorrelation and process variance are learned + parameters. Assumed zero mean. + + """ + + def __init__(self, batch_size, z_size, + autocorrelation_taus, noise_variances, + do_train_prior_ar_atau, do_train_prior_ar_nvar, + num_steps, name): + """Create a learnable autoregressive (1) process. + + Args: + batch_size: The size of the batch, i.e. 0th dim in 2D tensor of samples. + z_size: The dimension of the distribution, i.e. 1st dim in 2D tensor. + autocorrelation_taus: The auto correlation time constant of the AR(1) + process. + A value of 0 is uncorrelated gaussian noise. + noise_variances: The variance of the additive noise, *not* the process + variance. + do_train_prior_ar_atau: Train or leave as constant, the autocorrelation? + do_train_prior_ar_nvar: Train or leave as constant, the noise variance? + num_steps: Number of steps to run the process. + name: The name to prefix to learned TF variables. + """ + + # Note the use of the plural in all of these quantities. This is intended + # to mark that even though a sample z_t from the posterior is thought of a + # single sample of a multidimensional gaussian, the prior is actually + # thought of as U AR(1) processes, where U is the dimension of the inferred + # input. + size_bx1 = tf.stack([batch_size, 1]) + size__xu = [None, z_size] + # process variance, the variance at time t over all instantiations of AR(1) + # with these parameters. + log_evar_inits_1xu = tf.expand_dims(tf.log(noise_variances), 0) + self.logevars_1xu = logevars_1xu = \ + tf.Variable(log_evar_inits_1xu, name=name+"/logevars", dtype=tf.float32, + trainable=do_train_prior_ar_nvar) + self.logevars_bxu = logevars_bxu = tf.tile(logevars_1xu, size_bx1) + logevars_bxu.set_shape(size__xu) # tile loses shape + + # \tau, which is the autocorrelation time constant of the AR(1) process + log_atau_inits_1xu = tf.expand_dims(tf.log(autocorrelation_taus), 0) + self.logataus_1xu = logataus_1xu = \ + tf.Variable(log_atau_inits_1xu, name=name+"/logatau", dtype=tf.float32, + trainable=do_train_prior_ar_atau) + + # phi in x_t = \mu + phi x_tm1 + \eps + # phi = exp(-1/tau) + # phi = exp(-1/exp(logtau)) + # phi = exp(-exp(-logtau)) + phis_1xu = tf.exp(-tf.exp(-logataus_1xu)) + self.phis_bxu = phis_bxu = tf.tile(phis_1xu, size_bx1) + phis_bxu.set_shape(size__xu) + + # process noise + # pvar = evar / (1- phi^2) + # logpvar = log ( exp(logevar) / (1 - phi^2) ) + # logpvar = logevar - log(1-phi^2) + # logpvar = logevar - (log(1-phi) + log(1+phi)) + self.logpvars_1xu = \ + logevars_1xu - tf.log(1.0-phis_1xu) - tf.log(1.0+phis_1xu) + self.logpvars_bxu = logpvars_bxu = tf.tile(self.logpvars_1xu, size_bx1) + logpvars_bxu.set_shape(size__xu) + + # process mean (zero but included in for completeness) + self.pmeans_bxu = pmeans_bxu = tf.zeros_like(phis_bxu) + + # For sampling from the prior during de-novo generation. + self.means_t = means_t = [None] * num_steps + self.logvars_t = logvars_t = [None] * num_steps + self.samples_t = samples_t = [None] * num_steps + self.gaussians_t = gaussians_t = [None] * num_steps + sample_bxu = tf.zeros_like(phis_bxu) + for t in range(num_steps): + # process variance used here to make process completely stationary + if t == 0: + logvar_pt_bxu = self.logpvars_bxu + else: + logvar_pt_bxu = self.logevars_bxu + + z_mean_pt_bxu = pmeans_bxu + phis_bxu * sample_bxu + gaussians_t[t] = DiagonalGaussian(batch_size, z_size, + mean=z_mean_pt_bxu, + logvar=logvar_pt_bxu) + sample_bxu = gaussians_t[t].sample + samples_t[t] = sample_bxu + logvars_t[t] = logvar_pt_bxu + means_t[t] = z_mean_pt_bxu + + def logp_t(self, z_t_bxu, z_tm1_bxu=None): + """Compute the log-likelihood under the distribution for a given time t, + not the whole sequence. + + Args: + z_t_bxu: sample to compute likelihood for at time t. + z_tm1_bxu (optional): sample condition probability of z_t upon. + + Returns: + The likelihood of p_t under the model at time t. i.e. + p(z_t|z_tm1) = N(z_tm1 * phis, eps^2) + + """ + if z_tm1_bxu is None: + return diag_gaussian_log_likelihood(z_t_bxu, self.pmeans_bxu, + self.logpvars_bxu) + else: + means_t_bxu = self.pmeans_bxu + self.phis_bxu * z_tm1_bxu + logp_tgtm1_bxu = diag_gaussian_log_likelihood(z_t_bxu, + means_t_bxu, + self.logevars_bxu) + return logp_tgtm1_bxu + + +class KLCost_GaussianGaussian(object): + """log p(x|z) + KL(q||p) terms for Gaussian posterior and Gaussian prior. See + eqn 10 and Appendix B in VAE for latter term, + http://arxiv.org/abs/1312.6114 + + The log p(x|z) term is the reconstruction error under the model. + The KL term represents the penalty for passing information from the encoder + to the decoder. + To sample KL(q||p), we simply sample + ln q - ln p + by drawing samples from q and averaging. + """ + + def __init__(self, zs, prior_zs): + """Create a lower bound in three parts, normalized reconstruction + cost, normalized KL divergence cost, and their sum. + + E_q[ln p(z_i | z_{i+1}) / q(z_i | x) + \int q(z) ln p(z) dz = - 0.5 ln(2pi) - 0.5 \sum (ln(sigma_p^2) + \ + sigma_q^2 / sigma_p^2 + (mean_p - mean_q)^2 / sigma_p^2) + + \int q(z) ln q(z) dz = - 0.5 ln(2pi) - 0.5 \sum (ln(sigma_q^2) + 1) + + Args: + zs: posterior z ~ q(z|x) + prior_zs: prior zs + """ + # L = -KL + log p(x|z), to maximize bound on likelihood + # -L = KL - log p(x|z), to minimize bound on NLL + # so 'KL cost' is postive KL divergence + kl_b = 0.0 + for z, prior_z in zip(zs, prior_zs): + assert isinstance(z, Gaussian) + assert isinstance(prior_z, Gaussian) + # ln(2pi) terms cancel + kl_b += 0.5 * tf.reduce_sum( + prior_z.logvar - z.logvar + + tf.exp(z.logvar - prior_z.logvar) + + tf.square((z.mean - prior_z.mean) / tf.exp(0.5 * prior_z.logvar)) + - 1.0, [1]) + + self.kl_cost_b = kl_b + self.kl_cost = tf.reduce_mean(kl_b) + + +class KLCost_GaussianGaussianProcessSampled(object): + """ log p(x|z) + KL(q||p) terms for Gaussian posterior and Gaussian process + prior via sampling. + + The log p(x|z) term is the reconstruction error under the model. + The KL term represents the penalty for passing information from the encoder + to the decoder. + To sample KL(q||p), we simply sample + ln q - ln p + by drawing samples from q and averaging. + """ + + def __init__(self, post_zs, prior_z_process): + """Create a lower bound in three parts, normalized reconstruction + cost, normalized KL divergence cost, and their sum. + + Args: + post_zs: posterior z ~ q(z|x) + prior_z_process: prior AR(1) process + """ + assert len(post_zs) > 1, "GP is for time, need more than 1 time step." + assert isinstance(prior_z_process, GaussianProcess), "Must use GP." + + # L = -KL + log p(x|z), to maximize bound on likelihood + # -L = KL - log p(x|z), to minimize bound on NLL + # so 'KL cost' is postive KL divergence + z0_bxu = post_zs[0].sample + logq_bxu = post_zs[0].logp(z0_bxu) + logp_bxu = prior_z_process.logp_t(z0_bxu) + z_tm1_bxu = z0_bxu + for z_t in post_zs[1:]: + # posterior is independent in time, prior is not + z_t_bxu = z_t.sample + logq_bxu += z_t.logp(z_t_bxu) + logp_bxu += prior_z_process.logp_t(z_t_bxu, z_tm1_bxu) + z_tm1 = z_t_bxu + + kl_bxu = logq_bxu - logp_bxu + kl_b = tf.reduce_sum(kl_bxu, [1]) + self.kl_cost_b = kl_b + self.kl_cost = tf.reduce_mean(kl_b) diff --git a/lfads/lfads.py b/lfads/lfads.py new file mode 100644 index 000000000..bc8f2bbaf --- /dev/null +++ b/lfads/lfads.py @@ -0,0 +1,1935 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== +""" +LFADS - Latent Factor Analysis via Dynamical Systems. + +LFADS is an unsupervised method to decompose time series data into +various factors, such as an initial condition, a generative +dynamical system, control inputs to that generator, and a low +dimensional description of the observed data, called the factors. +Additionally, the observations have a noise model (in this case +Poisson), so a denoised version of the observations is also created +(e.g. underlying rates of a Poisson distribution given the observed +event counts). + +The main data structure being passed around is a dataset. This is a dictionary +of data dictionaries. + +DATASET: The top level dictionary is simply name (string -> dictionary). +The nested dictionary is the DATA DICTIONARY, which has the following keys: + 'train_data' and 'valid_data', whose values are the corresponding training + and validation data with shape + ExTxD, E - # examples, T - # time steps, D - # dimensions in data. + The data dictionary also has a few more keys: + 'train_ext_input' and 'valid_ext_input', if there are know external inputs + to the system being modeled, these take on dimensions: + ExTxI, E - # examples, T - # time steps, I = # dimensions in input. + 'alignment_matrix_cxf' - If you are using multiple days data, it's possible + that one can align the channels (see manuscript). If so each dataset will + contain this matrix, which will be used for both the input adapter and the + output adapter for each dataset. These matrices, if provided, must be of + size [data_dim x factors] where data_dim is the number of neurons recorded + on that day, and factors is chosen and set through the '--factors' flag. + + If one runs LFADS on data where the true rates are known for some trials, + (say simulated, testing data, as in the example shipped with the paper), then + one can add three more fields for plotting purposes. These are 'train_truth' + and 'valid_truth', and 'conversion_factor'. These have the same dimensions as + 'train_data', and 'valid_data' but represent the underlying rates of the + observations. Finally, if one needs to convert scale for plotting the true + underlying firing rates, there is the 'conversion_factor' key. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + + +import numpy as np +import os +import tensorflow as tf +from distributions import LearnableDiagonalGaussian, DiagonalGaussianFromInput +from distributions import diag_gaussian_log_likelihood +from distributions import KLCost_GaussianGaussian, Poisson +from distributions import LearnableAutoRegressive1Prior +from distributions import KLCost_GaussianGaussianProcessSampled + +from utils import init_linear, linear, list_t_bxn_to_tensor_bxtxn, write_data +from utils import log_sum_exp, flatten +from plot_lfads import plot_lfads + + +class GRU(object): + """Gated Recurrent Unit cell (cf. http://arxiv.org/abs/1406.1078). + + """ + def __init__(self, num_units, forget_bias=1.0, weight_scale=1.0, + clip_value=np.inf, collections=None): + """Create a GRU object. + + Args: + num_units: Number of units in the GRU + forget_bias (optional): Hack to help learning. + weight_scale (optional): weights are scaled by ws/sqrt(#inputs), with + ws being the weight scale. + clip_value (optional): if the recurrent values grow above this value, + clip them. + collections (optional): List of additonal collections variables should + belong to. + """ + self._num_units = num_units + self._forget_bias = forget_bias + self._weight_scale = weight_scale + self._clip_value = clip_value + self._collections = collections + + @property + def state_size(self): + return self._num_units + + @property + def output_size(self): + return self._num_units + + @property + def state_multiplier(self): + return 1 + + def output_from_state(self, state): + """Return the output portion of the state.""" + return state + + def __call__(self, inputs, state, scope=None): + """Gated recurrent unit (GRU) function. + + Args: + inputs: A 2D batch x input_dim tensor of inputs. + state: The previous state from the last time step. + scope (optional): TF variable scope for defined GRU variables. + + Returns: + A tuple (state, state), where state is the newly computed state at time t. + It is returned twice to respect an interface that works for LSTMs. + """ + + x = inputs + h = state + if inputs is not None: + xh = tf.concat(axis=1, values=[x, h]) + else: + xh = h + + with tf.variable_scope(scope or type(self).__name__): # "GRU" + with tf.variable_scope("Gates"): # Reset gate and update gate. + # We start with bias of 1.0 to not reset and not update. + r, u = tf.split(axis=1, num_or_size_splits=2, value=linear(xh, + 2 * self._num_units, + alpha=self._weight_scale, + name="xh_2_ru", + collections=self._collections)) + r, u = tf.sigmoid(r), tf.sigmoid(u + self._forget_bias) + with tf.variable_scope("Candidate"): + xrh = tf.concat(axis=1, values=[x, r * h]) + c = tf.tanh(linear(xrh, self._num_units, name="xrh_2_c", + collections=self._collections)) + new_h = u * h + (1 - u) * c + new_h = tf.clip_by_value(new_h, -self._clip_value, self._clip_value) + + return new_h, new_h + + +class GenGRU(object): + """Gated Recurrent Unit cell (cf. http://arxiv.org/abs/1406.1078). + + This version is specialized for the generator, but isn't as fast, so + we have two. Note this allows for l2 regularization on the recurrent + weights, but also implicitly rescales the inputs via the 1/sqrt(input) + scaling in the linear helper routine to be large magnitude, if there are + fewer inputs than recurrent state. + + """ + def __init__(self, num_units, forget_bias=1.0, + input_weight_scale=1.0, rec_weight_scale=1.0, clip_value=np.inf, + input_collections=None, recurrent_collections=None): + """Create a GRU object. + + Args: + num_units: Number of units in the GRU + forget_bias (optional): Hack to help learning. + input_weight_scale (optional): weights are scaled ws/sqrt(#inputs), with + ws being the weight scale. + rec_weight_scale (optional): weights are scaled ws/sqrt(#inputs), + with ws being the weight scale. + clip_value (optional): if the recurrent values grow above this value, + clip them. + input_collections (optional): List of additonal collections variables + that input->rec weights should belong to. + recurrent_collections (optional): List of additonal collections variables + that rec->rec weights should belong to. + """ + self._num_units = num_units + self._forget_bias = forget_bias + self._input_weight_scale = input_weight_scale + self._rec_weight_scale = rec_weight_scale + self._clip_value = clip_value + self._input_collections = input_collections + self._rec_collections = recurrent_collections + + @property + def state_size(self): + return self._num_units + + @property + def output_size(self): + return self._num_units + + @property + def state_multiplier(self): + return 1 + + def output_from_state(self, state): + """Return the output portion of the state.""" + return state + + def __call__(self, inputs, state, scope=None): + """Gated recurrent unit (GRU) function. + + Args: + inputs: A 2D batch x input_dim tensor of inputs. + state: The previous state from the last time step. + scope (optional): TF variable scope for defined GRU variables. + + Returns: + A tuple (state, state), where state is the newly computed state at time t. + It is returned twice to respect an interface that works for LSTMs. + """ + + x = inputs + h = state + with tf.variable_scope(scope or type(self).__name__): # "GRU" + with tf.variable_scope("Gates"): # Reset gate and update gate. + # We start with bias of 1.0 to not reset and not update. + r_x = u_x = 0.0 + if x is not None: + r_x, u_x = tf.split(axis=1, num_or_size_splits=2, value=linear(x, + 2 * self._num_units, + alpha=self._input_weight_scale, + do_bias=False, + name="x_2_ru", + normalized=False, + collections=self._input_collections)) + + r_h, u_h = tf.split(axis=1, num_or_size_splits=2, value=linear(h, + 2 * self._num_units, + do_bias=True, + alpha=self._rec_weight_scale, + name="h_2_ru", + collections=self._rec_collections)) + r = r_x + r_h + u = u_x + u_h + r, u = tf.sigmoid(r), tf.sigmoid(u + self._forget_bias) + + with tf.variable_scope("Candidate"): + c_x = 0.0 + if x is not None: + c_x = linear(x, self._num_units, name="x_2_c", do_bias=False, + alpha=self._input_weight_scale, + normalized=False, + collections=self._input_collections) + c_rh = linear(r*h, self._num_units, name="rh_2_c", do_bias=True, + alpha=self._rec_weight_scale, + collections=self._rec_collections) + c = tf.tanh(c_x + c_rh) + + new_h = u * h + (1 - u) * c + new_h = tf.clip_by_value(new_h, -self._clip_value, self._clip_value) + + return new_h, new_h + + +class LFADS(object): + """LFADS - Latent Factor Analysis via Dynamical Systems. + + LFADS is an unsupervised method to decompose time series data into + various factors, such as an initial condition, a generative + dynamical system, inferred inputs to that generator, and a low + dimensional description of the observed data, called the factors. + Additoinally, the observations have a noise model (in this case + Poisson), so a denoised version of the observations is also created + (e.g. underlying rates of a Poisson distribution given the observed + event counts). + """ + + def __init__(self, hps, kind="train", datasets=None): + """Create an LFADS model. + + train - a model for training, sampling of posteriors is used + posterior_sample_and_average - sample from the posterior, this is used + for evaluating the expected value of the outputs of LFADS, given a + specific input, by averaging over multiple samples from the approx + posterior. Also used for the lower bound on the negative + log-likelihood using IWAE error (Importance Weighed Auto-encoder). + This is the denoising operation. + prior_sample - a model for generation - sampling from priors is used + + Args: + hps: The dictionary of hyper parameters. + kind: the type of model to build (see above). + datasets: a dictionary of named data_dictionaries, see top of lfads.py + """ + print("Building graph...") + all_kinds = ['train', 'posterior_sample_and_average', 'prior_sample'] + assert kind in all_kinds, 'Wrong kind' + if hps.feedback_factors_or_rates == "rates": + assert len(hps.dataset_names) == 1, \ + "Multiple datasets not supported for rate feedback." + num_steps = hps.num_steps + ic_dim = hps.ic_dim + co_dim = hps.co_dim + ext_input_dim = hps.ext_input_dim + cell_class = GRU + gen_cell_class = GenGRU + + def makelambda(v): # Used with tf.case + return lambda: v + + # Define the data placeholder, and deal with all parts of the graph + # that are dataset dependent. + self.dataName = tf.placeholder(tf.string, shape=()) + # The batch_size to be inferred from data, as normal. + # Additionally, the data_dim will be inferred as well, allowing for a + # single placeholder for all datasets, regardless of data dimension. + if hps.output_dist == 'poisson': + # Enforce correct dtype + assert np.issubdtype( + datasets[hps.dataset_names[0]]['train_data'].dtype, int), \ + "Data dtype must be int for poisson output distribution" + data_dtype = tf.int32 + elif hps.output_dist == 'gaussian': + assert np.issubdtype( + datasets[hps.dataset_names[0]]['train_data'].dtype, float), \ + "Data dtype must be float for gaussian output dsitribution" + data_dtype = tf.float32 + else: + assert False, "NIY" + self.dataset_ph = dataset_ph = tf.placeholder(data_dtype, + [None, num_steps, None], + name="data") + self.train_step = tf.get_variable("global_step", [], tf.int64, + tf.zeros_initializer(), + trainable=False) + self.hps = hps + ndatasets = hps.ndatasets + factors_dim = hps.factors_dim + self.preds = preds = [None] * ndatasets + self.fns_in_fac_Ws = fns_in_fac_Ws = [None] * ndatasets + self.fns_in_fatcor_bs = fns_in_fac_bs = [None] * ndatasets + self.fns_out_fac_Ws = fns_out_fac_Ws = [None] * ndatasets + self.fns_out_fac_bs = fns_out_fac_bs = [None] * ndatasets + self.datasetNames = dataset_names = hps.dataset_names + self.ext_inputs = ext_inputs = None + + if len(dataset_names) == 1: # single session + if 'alignment_matrix_cxf' in datasets[dataset_names[0]].keys(): + used_in_factors_dim = factors_dim + in_identity_if_poss = False + else: + used_in_factors_dim = hps.dataset_dims[dataset_names[0]] + in_identity_if_poss = True + else: # multisession + used_in_factors_dim = factors_dim + in_identity_if_poss = False + + for d, name in enumerate(dataset_names): + data_dim = hps.dataset_dims[name] + in_mat_cxf = None + if datasets and 'alignment_matrix_cxf' in datasets[name].keys(): + dataset = datasets[name] + print("Using alignment matrix provided for dataset:", name) + in_mat_cxf = dataset['alignment_matrix_cxf'].astype(np.float32) + if in_mat_cxf.shape != (data_dim, factors_dim): + raise ValueError("""Alignment matrix must have dimensions %d x %d + (data_dim x factors_dim), but currently has %d x %d."""% + (data_dim, factors_dim, in_mat_cxf.shape[0], + in_mat_cxf.shape[1])) + + in_fac_lin = init_linear(data_dim, used_in_factors_dim, do_bias=True, + mat_init_value=in_mat_cxf, + identity_if_possible=in_identity_if_poss, + normalized=False, name="x_2_infac_"+name, + collections=['IO_transformations']) + in_fac_W, in_fac_b = in_fac_lin + fns_in_fac_Ws[d] = makelambda(in_fac_W) + fns_in_fac_bs[d] = makelambda(in_fac_b) + + with tf.variable_scope("glm"): + out_identity_if_poss = False + if len(dataset_names) == 1 and \ + factors_dim == hps.dataset_dims[dataset_names[0]]: + out_identity_if_poss = True + for d, name in enumerate(dataset_names): + data_dim = hps.dataset_dims[name] + in_mat_cxf = None + if datasets and 'alignment_matrix_cxf' in datasets[name].keys(): + dataset = datasets[name] + in_mat_cxf = dataset['alignment_matrix_cxf'].astype(np.float32) + + out_mat_cxf = None + if in_mat_cxf is not None: + out_mat_cxf = in_mat_cxf.T + + if hps.output_dist == 'poisson': + out_fac_lin = init_linear(factors_dim, data_dim, do_bias=True, + mat_init_value=out_mat_cxf, + identity_if_possible=out_identity_if_poss, + normalized=False, + name="fac_2_logrates_"+name, + collections=['IO_transformations']) + out_fac_W, out_fac_b = out_fac_lin + + elif hps.output_dist == 'gaussian': + out_fac_lin_mean = \ + init_linear(factors_dim, data_dim, do_bias=True, + mat_init_value=out_mat_cxf, + normalized=False, + name="fac_2_means_"+name, + collections=['IO_transformations']) + out_fac_lin_logvar = \ + init_linear(factors_dim, data_dim, do_bias=True, + mat_init_value=out_mat_cxf, + normalized=False, + name="fac_2_logvars_"+name, + collections=['IO_transformations']) + out_fac_W_mean, out_fac_b_mean = out_fac_lin_mean + out_fac_W_logvar, out_fac_b_logvar = out_fac_lin_logvar + out_fac_W = tf.concat( + axis=1, values=[out_fac_W_mean, out_fac_W_logvar]) + out_fac_b = tf.concat( + axis=1, values=[out_fac_b_mean, out_fac_b_logvar]) + else: + assert False, "NIY" + + preds[d] = tf.equal(tf.constant(name), self.dataName) + data_dim = hps.dataset_dims[name] + fns_out_fac_Ws[d] = makelambda(out_fac_W) + fns_out_fac_bs[d] = makelambda(out_fac_b) + + pf_pairs_in_fac_Ws = zip(preds, fns_in_fac_Ws) + pf_pairs_in_fac_bs = zip(preds, fns_in_fac_bs) + pf_pairs_out_fac_Ws = zip(preds, fns_out_fac_Ws) + pf_pairs_out_fac_bs = zip(preds, fns_out_fac_bs) + + case_default = lambda: tf.constant([-8675309.0]) + this_in_fac_W = tf.case(pf_pairs_in_fac_Ws, case_default, exclusive=True) + this_in_fac_b = tf.case(pf_pairs_in_fac_bs, case_default, exclusive=True) + this_out_fac_W = tf.case(pf_pairs_out_fac_Ws, case_default, exclusive=True) + this_out_fac_b = tf.case(pf_pairs_out_fac_bs, case_default, exclusive=True) + + # External inputs (not changing by dataset, by definition). + if hps.ext_input_dim > 0: + self.ext_input = tf.placeholder(tf.float32, + [None, num_steps, ext_input_dim], + name="ext_input") + else: + self.ext_input = None + ext_input_bxtxi = self.ext_input + + self.keep_prob = keep_prob = tf.placeholder(tf.float32, [], "keep_prob") + self.batch_size = batch_size = int(hps.batch_size) + self.learning_rate = tf.Variable(float(hps.learning_rate_init), + trainable=False, name="learning_rate") + self.learning_rate_decay_op = self.learning_rate.assign( + self.learning_rate * hps.learning_rate_decay_factor) + + # Dropout the data. + dataset_do_bxtxd = tf.nn.dropout(tf.to_float(dataset_ph), keep_prob) + if hps.ext_input_dim > 0: + ext_input_do_bxtxi = tf.nn.dropout(ext_input_bxtxi, keep_prob) + else: + ext_input_do_bxtxi = None + + # ENCODERS + def encode_data(dataset_bxtxd, enc_cell, name, forward_or_reverse, + num_steps_to_encode): + """Encode data for LFADS + Args: + dataset_bxtxd - the data to encode, as a 3 tensor, with dims + time x batch x data dims. + enc_cell: encoder cell + name: name of encoder + forward_or_reverse: string, encode in forward or reverse direction + num_steps_to_encode: number of steps to encode, 0:num_steps_to_encode + Returns: + encoded data as a list with num_steps_to_encode items, in order + """ + if forward_or_reverse == "forward": + dstr = "_fwd" + time_fwd_or_rev = range(num_steps_to_encode) + else: + dstr = "_rev" + time_fwd_or_rev = reversed(range(num_steps_to_encode)) + + with tf.variable_scope(name+"_enc"+dstr, reuse=False): + enc_state = tf.tile( + tf.Variable(tf.zeros([1, enc_cell.state_size]), + name=name+"_enc_t0"+dstr), tf.stack([batch_size, 1])) + enc_state.set_shape([None, enc_cell.state_size]) # tile loses shape + + enc_outs = [None] * num_steps_to_encode + for i, t in enumerate(time_fwd_or_rev): + with tf.variable_scope(name+"_enc"+dstr, reuse=True if i > 0 else None): + dataset_t_bxd = dataset_bxtxd[:,t,:] + in_fac_t_bxf = tf.matmul(dataset_t_bxd, this_in_fac_W) + this_in_fac_b + in_fac_t_bxf.set_shape([None, used_in_factors_dim]) + if ext_input_dim > 0 and not hps.inject_ext_input_to_gen: + ext_input_t_bxi = ext_input_do_bxtxi[:,t,:] + enc_input_t_bxfpe = tf.concat( + axis=1, values=[in_fac_t_bxf, ext_input_t_bxi]) + else: + enc_input_t_bxfpe = in_fac_t_bxf + enc_out, enc_state = enc_cell(enc_input_t_bxfpe, enc_state) + enc_outs[t] = enc_out + + return enc_outs + + # Encode initial condition means and variances + # ([x_T, x_T-1, ... x_0] and [x_0, x_1, ... x_T] -> g0/c0) + self.ic_enc_fwd = [None] * num_steps + self.ic_enc_rev = [None] * num_steps + if ic_dim > 0: + enc_ic_cell = cell_class(hps.ic_enc_dim, + weight_scale=hps.cell_weight_scale, + clip_value=hps.cell_clip_value) + ic_enc_fwd = encode_data(dataset_do_bxtxd, enc_ic_cell, + "ic", "forward", + hps.num_steps_for_gen_ic) + ic_enc_rev = encode_data(dataset_do_bxtxd, enc_ic_cell, + "ic", "reverse", + hps.num_steps_for_gen_ic) + self.ic_enc_fwd = ic_enc_fwd + self.ic_enc_rev = ic_enc_rev + + # Encoder control input means and variances, bi-directional encoding so: + # ([x_T, x_T-1, ..., x_0] and [x_0, x_1 ... x_T] -> u_t) + self.ci_enc_fwd = [None] * num_steps + self.ci_enc_rev = [None] * num_steps + if co_dim > 0: + enc_ci_cell = cell_class(hps.ci_enc_dim, + weight_scale=hps.cell_weight_scale, + clip_value=hps.cell_clip_value) + ci_enc_fwd = encode_data(dataset_do_bxtxd, enc_ci_cell, + "ci", "forward", + hps.num_steps) + if hps.do_causal_controller: + ci_enc_rev = None + else: + ci_enc_rev = encode_data(dataset_do_bxtxd, enc_ci_cell, + "ci", "reverse", + hps.num_steps) + self.ci_enc_fwd = ci_enc_fwd + self.ci_enc_rev = ci_enc_rev + + # STOCHASTIC LATENT VARIABLES, priors and posteriors + # (initial conditions g0, and control inputs, u_t) + # Note that zs represent all the stochastic latent variables. + with tf.variable_scope("z", reuse=False): + self.prior_zs_g0 = None + self.posterior_zs_g0 = None + self.g0s_val = None + if ic_dim > 0: + self.prior_zs_g0 = \ + LearnableDiagonalGaussian(batch_size, ic_dim, name="prior_g0", + mean_init=0.0, + var_min=hps.ic_prior_var_min, + var_init=hps.ic_prior_var_scale, + var_max=hps.ic_prior_var_max) + ic_enc = tf.concat(axis=1, values=[ic_enc_fwd[-1], ic_enc_rev[0]]) + ic_enc = tf.nn.dropout(ic_enc, keep_prob) + self.posterior_zs_g0 = \ + DiagonalGaussianFromInput(ic_enc, ic_dim, "ic_enc_2_post_g0", + var_min=hps.ic_post_var_min) + if kind in ["train", "posterior_sample_and_average"]: + zs_g0 = self.posterior_zs_g0 + else: + zs_g0 = self.prior_zs_g0 + if kind in ["train", "posterior_sample_and_average", "prior_sample"]: + self.g0s_val = zs_g0.sample + else: + self.g0s_val = zs_g0.mean + + # Priors for controller, 'co' for controller output + self.prior_zs_co = prior_zs_co = [None] * num_steps + self.posterior_zs_co = posterior_zs_co = [None] * num_steps + self.zs_co = zs_co = [None] * num_steps + self.prior_zs_ar_con = None + if co_dim > 0: + # Controller outputs + autocorrelation_taus = [hps.prior_ar_atau for x in range(hps.co_dim)] + noise_variances = [hps.prior_ar_nvar for x in range(hps.co_dim)] + self.prior_zs_ar_con = prior_zs_ar_con = \ + LearnableAutoRegressive1Prior(batch_size, hps.co_dim, + autocorrelation_taus, + noise_variances, + hps.do_train_prior_ar_atau, + hps.do_train_prior_ar_nvar, + num_steps, "u_prior_ar1") + + # CONTROLLER -> GENERATOR -> RATES + # (u(t) -> gen(t) -> factors(t) -> rates(t) -> p(x_t|z_t) ) + self.controller_outputs = u_t = [None] * num_steps + self.con_ics = con_state = None + self.con_states = con_states = [None] * num_steps + self.con_outs = con_outs = [None] * num_steps + self.gen_inputs = gen_inputs = [None] * num_steps + if co_dim > 0: + # gen_cell_class here for l2 penalty recurrent weights + # didn't split the cell_weight scale here, because I doubt it matters + con_cell = gen_cell_class(hps.con_dim, + input_weight_scale=hps.cell_weight_scale, + rec_weight_scale=hps.cell_weight_scale, + clip_value=hps.cell_clip_value, + recurrent_collections=['l2_con_reg']) + with tf.variable_scope("con", reuse=False): + self.con_ics = tf.tile( + tf.Variable(tf.zeros([1, hps.con_dim*con_cell.state_multiplier]), \ + name="c0"), + tf.stack([batch_size, 1])) + self.con_ics.set_shape([None, con_cell.state_size]) # tile loses shape + con_states[-1] = self.con_ics + + gen_cell = gen_cell_class(hps.gen_dim, + input_weight_scale=hps.gen_cell_input_weight_scale, + rec_weight_scale=hps.gen_cell_rec_weight_scale, + clip_value=hps.cell_clip_value, + recurrent_collections=['l2_gen_reg']) + with tf.variable_scope("gen", reuse=False): + if ic_dim == 0: + self.gen_ics = tf.tile( + tf.Variable(tf.zeros([1, gen_cell.state_size]), name="g0"), + tf.stack([batch_size, 1])) + else: + self.gen_ics = linear(self.g0s_val, gen_cell.state_size, + identity_if_possible=True, + name="g0_2_gen_ic") + + self.gen_states = gen_states = [None] * num_steps + self.gen_outs = gen_outs = [None] * num_steps + gen_states[-1] = self.gen_ics + gen_outs[-1] = gen_cell.output_from_state(gen_states[-1]) + self.factors = factors = [None] * num_steps + factors[-1] = linear(gen_outs[-1], factors_dim, do_bias=False, + normalized=True, name="gen_2_fac") + + self.rates = rates = [None] * num_steps + # rates[-1] is collected to potentially feed back to controller + with tf.variable_scope("glm", reuse=False): + if hps.output_dist == 'poisson': + log_rates_t0 = tf.matmul(factors[-1], this_out_fac_W) + this_out_fac_b + log_rates_t0.set_shape([None, None]) + rates[-1] = tf.exp(log_rates_t0) # rate + rates[-1].set_shape([None, hps.dataset_dims[hps.dataset_names[0]]]) + elif hps.output_dist == 'gaussian': + mean_n_logvars = tf.matmul(factors[-1],this_out_fac_W) + this_out_fac_b + mean_n_logvars.set_shape([None, None]) + means_t_bxd, logvars_t_bxd = tf.split(axis=1, num_or_size_splits=2, + value=mean_n_logvars) + rates[-1] = means_t_bxd + else: + assert False, "NIY" + + + # We support mulitple output distributions, for example Poisson, and also + # Gaussian. In these two cases respectively, there are one and two + # parameters (rates vs. mean and variance). So the output_dist_params + # tensor will variable sizes via tf.concat and tf.split, along the 1st + # dimension. So in the case of gaussian, for example, it'll be + # batch x (D+D), where each D dims is the mean, and then variances, + # respectively. For a distribution with 3 parameters, it would be + # batch x (D+D+D). + self.output_dist_params = dist_params = [None] * num_steps + self.log_p_xgz_b = log_p_xgz_b = 0.0 # log P(x|z) + for t in range(num_steps): + # Controller + if co_dim > 0: + # Build inputs for controller + tlag = t - hps.controller_input_lag + if tlag < 0: + con_in_f_t = tf.zeros_like(ci_enc_fwd[0]) + else: + con_in_f_t = ci_enc_fwd[tlag] + if hps.do_causal_controller: + # If controller is causal (wrt to data generation process), then it + # cannot see future data. Thus, excluding ci_enc_rev[t] is obvious. + # Less obvious is the need to exclude factors[t-1]. This arises + # because information flows from g0 through factors to the controller + # input. The g0 encoding is backwards, so we must necessarily exclude + # the factors in order to keep the controller input purely from a + # forward encoding (however unlikely it is that + # g0->factors->controller channel might actually be used in this way). + con_in_list_t = [con_in_f_t] + else: + tlag_rev = t + hps.controller_input_lag + if tlag_rev >= num_steps: + # better than zeros + con_in_r_t = tf.zeros_like(ci_enc_rev[0]) + else: + con_in_r_t = ci_enc_rev[tlag_rev] + con_in_list_t = [con_in_f_t, con_in_r_t] + + if hps.do_feed_factors_to_controller: + if hps.feedback_factors_or_rates == "factors": + con_in_list_t.append(factors[t-1]) + elif hps.feedback_factors_or_rates == "rates": + con_in_list_t.append(rates[t-1]) + else: + assert False, "NIY" + + con_in_t = tf.concat(axis=1, values=con_in_list_t) + con_in_t = tf.nn.dropout(con_in_t, keep_prob) + with tf.variable_scope("con", reuse=True if t > 0 else None): + con_outs[t], con_states[t] = con_cell(con_in_t, con_states[t-1]) + posterior_zs_co[t] = \ + DiagonalGaussianFromInput(con_outs[t], co_dim, + name="con_to_post_co") + if kind == "train": + u_t[t] = posterior_zs_co[t].sample + elif kind == "posterior_sample_and_average": + u_t[t] = posterior_zs_co[t].sample + else: + u_t[t] = prior_zs_ar_con.samples_t[t] + + # Inputs to the generator (controller output + external input) + if ext_input_dim > 0 and hps.inject_ext_input_to_gen: + ext_input_t_bxi = ext_input_do_bxtxi[:,t,:] + if co_dim > 0: + gen_inputs[t] = tf.concat(axis=1, values=[u_t[t], ext_input_t_bxi]) + else: + gen_inputs[t] = ext_input_t_bxi + else: + gen_inputs[t] = u_t[t] + + # Generator + data_t_bxd = dataset_ph[:,t,:] + with tf.variable_scope("gen", reuse=True if t > 0 else None): + gen_outs[t], gen_states[t] = gen_cell(gen_inputs[t], gen_states[t-1]) + gen_outs[t] = tf.nn.dropout(gen_outs[t], keep_prob) + with tf.variable_scope("gen", reuse=True): # ic defined it above + factors[t] = linear(gen_outs[t], factors_dim, do_bias=False, + normalized=True, name="gen_2_fac") + with tf.variable_scope("glm", reuse=True if t > 0 else None): + if hps.output_dist == 'poisson': + log_rates_t = tf.matmul(factors[t], this_out_fac_W) + this_out_fac_b + log_rates_t.set_shape([None, None]) + rates[t] = dist_params[t] = tf.exp(log_rates_t) # rates feed back + rates[t].set_shape([None, hps.dataset_dims[hps.dataset_names[0]]]) + loglikelihood_t = Poisson(log_rates_t).logp(data_t_bxd) + + elif hps.output_dist == 'gaussian': + mean_n_logvars = tf.matmul(factors[t],this_out_fac_W) + this_out_fac_b + mean_n_logvars.set_shape([None, None]) + means_t_bxd, logvars_t_bxd = tf.split(axis=1, num_or_size_splits=2, + value=mean_n_logvars) + rates[t] = means_t_bxd # rates feed back to controller + dist_params[t] = tf.concat( + axis=1, values=[means_t_bxd, tf.exp(logvars_t_bxd)]) + loglikelihood_t = \ + diag_gaussian_log_likelihood(data_t_bxd, + means_t_bxd, logvars_t_bxd) + else: + assert False, "NIY" + + log_p_xgz_b += tf.reduce_sum(loglikelihood_t, [1]) + + # Correlation of inferred inputs cost. + self.corr_cost = tf.constant(0.0) + if hps.co_mean_corr_scale > 0.0: + all_sum_corr = [] + for i in range(hps.co_dim): + for j in range(i+1, hps.co_dim): + sum_corr_ij = tf.constant(0.0) + for t in range(num_steps): + u_mean_t = posterior_zs_co[t].mean + sum_corr_ij += u_mean_t[:,i]*u_mean_t[:,j] + all_sum_corr.append(0.5 * tf.square(sum_corr_ij)) + self.corr_cost = tf.reduce_mean(all_sum_corr) # div by batch and by n*(n-1)/2 pairs + + # Variational Lower Bound on posterior, p(z|x), plus reconstruction cost. + # KL and reconstruction costs are normalized only by batch size, not by + # dimension, or by time steps. + kl_cost_g0_b = tf.zeros_like(batch_size, dtype=tf.float32) + kl_cost_co_b = tf.zeros_like(batch_size, dtype=tf.float32) + self.kl_cost = tf.constant(0.0) # VAE KL cost + self.recon_cost = tf.constant(0.0) # VAE reconstruction cost + self.nll_bound_vae = tf.constant(0.0) + self.nll_bound_iwae = tf.constant(0.0) # for eval with IWAE cost. + if kind in ["train", "posterior_sample_and_average"]: + kl_cost_g0_b = 0.0 + kl_cost_co_b = 0.0 + if ic_dim > 0: + g0_priors = [self.prior_zs_g0] + g0_posts = [self.posterior_zs_g0] + kl_cost_g0_b = KLCost_GaussianGaussian(g0_posts, g0_priors).kl_cost_b + kl_cost_g0_b = hps.kl_ic_weight * kl_cost_g0_b + if co_dim > 0: + kl_cost_co_b = \ + KLCost_GaussianGaussianProcessSampled( + posterior_zs_co, prior_zs_ar_con).kl_cost_b + kl_cost_co_b = hps.kl_co_weight * kl_cost_co_b + + # L = -KL + log p(x|z), to maximize bound on likelihood + # -L = KL - log p(x|z), to minimize bound on NLL + # so 'reconstruction cost' is negative log likelihood + self.recon_cost = - tf.reduce_mean(log_p_xgz_b) + self.kl_cost = tf.reduce_mean(kl_cost_g0_b + kl_cost_co_b) + + lb_on_ll_b = log_p_xgz_b - kl_cost_g0_b - kl_cost_co_b + + # VAE error averages outside the log + self.nll_bound_vae = -tf.reduce_mean(lb_on_ll_b) + + # IWAE error averages inside the log + k = tf.cast(tf.shape(log_p_xgz_b)[0], tf.float32) + iwae_lb_on_ll = -tf.log(k) + log_sum_exp(lb_on_ll_b) + self.nll_bound_iwae = -iwae_lb_on_ll + + # L2 regularization on the generator, normalized by number of parameters. + self.l2_cost = tf.constant(0.0) + if self.hps.l2_gen_scale > 0.0 or self.hps.l2_con_scale > 0.0: + l2_costs = [] + l2_numels = [] + l2_reg_var_lists = [tf.get_collection('l2_gen_reg'), + tf.get_collection('l2_con_reg')] + l2_reg_scales = [self.hps.l2_gen_scale, self.hps.l2_con_scale] + for l2_reg_vars, l2_scale in zip(l2_reg_var_lists, l2_reg_scales): + for v in l2_reg_vars: + numel = tf.reduce_prod(tf.concat(axis=0, values=tf.shape(v))) + numel_f = tf.cast(numel, tf.float32) + l2_numels.append(numel_f) + v_l2 = tf.reduce_sum(v*v) + l2_costs.append(0.5 * l2_scale * v_l2) + self.l2_cost = tf.add_n(l2_costs) / tf.add_n(l2_numels) + + # Compute the cost for training, part of the graph regardless. + # The KL cost can be problematic at the beginning of optimization, + # so we allow an exponential increase in weighting the KL from 0 + # to 1. + self.kl_decay_step = tf.maximum(self.train_step - hps.kl_start_step, 0) + self.l2_decay_step = tf.maximum(self.train_step - hps.l2_start_step, 0) + kl_decay_step_f = tf.cast(self.kl_decay_step, tf.float32) + l2_decay_step_f = tf.cast(self.l2_decay_step, tf.float32) + kl_increase_steps_f = tf.cast(hps.kl_increase_steps, tf.float32) + l2_increase_steps_f = tf.cast(hps.l2_increase_steps, tf.float32) + self.kl_weight = kl_weight = \ + tf.minimum(kl_decay_step_f / kl_increase_steps_f, 1.0) + self.l2_weight = l2_weight = \ + tf.minimum(l2_decay_step_f / l2_increase_steps_f, 1.0) + + self.timed_kl_cost = kl_weight * self.kl_cost + self.timed_l2_cost = l2_weight * self.l2_cost + self.weight_corr_cost = hps.co_mean_corr_scale * self.corr_cost + self.cost = self.recon_cost + self.timed_kl_cost + \ + self.timed_l2_cost + self.weight_corr_cost + + if kind != "train": + # save every so often + self.seso_saver = tf.train.Saver(tf.global_variables(), + max_to_keep=hps.max_ckpt_to_keep) + # lowest validation error + self.lve_saver = tf.train.Saver(tf.global_variables(), + max_to_keep=hps.max_ckpt_to_keep_lve) + + return + + # OPTIMIZATION + if not self.hps.do_train_io_only: + self.train_vars = tvars = \ + tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, + scope=tf.get_variable_scope().name) + else: + self.train_vars = tvars = \ + tf.get_collection('IO_transformations', + scope=tf.get_variable_scope().name) + print("done.") + print("Model Variables (to be optimized): ") + total_params = 0 + for i in range(len(tvars)): + shape = tvars[i].get_shape().as_list() + print(" ", i, tvars[i].name, shape) + total_params += np.prod(shape) + print("Total model parameters: ", total_params) + + grads = tf.gradients(self.cost, tvars) + grads, grad_global_norm = tf.clip_by_global_norm(grads, hps.max_grad_norm) + opt = tf.train.AdamOptimizer(self.learning_rate, beta1=0.9, beta2=0.999, + epsilon=1e-01) + self.grads = grads + self.grad_global_norm = grad_global_norm + self.train_op = opt.apply_gradients( + zip(grads, tvars), global_step=self.train_step) + + self.seso_saver = tf.train.Saver(tf.global_variables(), + max_to_keep=hps.max_ckpt_to_keep) + + # lowest validation error + self.lve_saver = tf.train.Saver(tf.global_variables(), + max_to_keep=hps.max_ckpt_to_keep) + + # SUMMARIES, used only during training. + # example summary + self.example_image = tf.placeholder(tf.float32, shape=[1,None,None,3], + name='image_tensor') + self.example_summ = tf.summary.image("LFADS example", self.example_image, + collections=["example_summaries"]) + + # general training summaries + self.lr_summ = tf.summary.scalar("Learning rate", self.learning_rate) + self.kl_weight_summ = tf.summary.scalar("KL weight", self.kl_weight) + self.l2_weight_summ = tf.summary.scalar("L2 weight", self.l2_weight) + self.corr_cost_summ = tf.summary.scalar("Corr cost", self.weight_corr_cost) + self.grad_global_norm_summ = tf.summary.scalar("Gradient global norm", + self.grad_global_norm) + if hps.co_dim > 0: + self.atau_summ = [None] * hps.co_dim + self.pvar_summ = [None] * hps.co_dim + for c in range(hps.co_dim): + self.atau_summ[c] = \ + tf.summary.scalar("AR Autocorrelation taus " + str(c), + tf.exp(self.prior_zs_ar_con.logataus_1xu[0,c])) + self.pvar_summ[c] = \ + tf.summary.scalar("AR Variances " + str(c), + tf.exp(self.prior_zs_ar_con.logpvars_1xu[0,c])) + + # cost summaries, separated into different collections for + # training vs validation. We make placeholders for these, because + # even though the graph computes these costs on a per-batch basis, + # we want to report the more reliable metric of per-epoch cost. + kl_cost_ph = tf.placeholder(tf.float32, shape=[], name='kl_cost_ph') + self.kl_t_cost_summ = tf.summary.scalar("KL cost (train)", kl_cost_ph, + collections=["train_summaries"]) + self.kl_v_cost_summ = tf.summary.scalar("KL cost (valid)", kl_cost_ph, + collections=["valid_summaries"]) + l2_cost_ph = tf.placeholder(tf.float32, shape=[], name='l2_cost_ph') + self.l2_cost_summ = tf.summary.scalar("L2 cost", l2_cost_ph, + collections=["train_summaries"]) + + recon_cost_ph = tf.placeholder(tf.float32, shape=[], name='recon_cost_ph') + self.recon_t_cost_summ = tf.summary.scalar("Reconstruction cost (train)", + recon_cost_ph, + collections=["train_summaries"]) + self.recon_v_cost_summ = tf.summary.scalar("Reconstruction cost (valid)", + recon_cost_ph, + collections=["valid_summaries"]) + + total_cost_ph = tf.placeholder(tf.float32, shape=[], name='total_cost_ph') + self.cost_t_summ = tf.summary.scalar("Total cost (train)", total_cost_ph, + collections=["train_summaries"]) + self.cost_v_summ = tf.summary.scalar("Total cost (valid)", total_cost_ph, + collections=["valid_summaries"]) + + self.kl_cost_ph = kl_cost_ph + self.l2_cost_ph = l2_cost_ph + self.recon_cost_ph = recon_cost_ph + self.total_cost_ph = total_cost_ph + + # Merged summaries, for easy coding later. + self.merged_examples = tf.summary.merge_all(key="example_summaries") + self.merged_generic = tf.summary.merge_all() # default key is 'summaries' + self.merged_train = tf.summary.merge_all(key="train_summaries") + self.merged_valid = tf.summary.merge_all(key="valid_summaries") + + session = tf.get_default_session() + self.logfile = os.path.join(hps.lfads_save_dir, "lfads_log") + self.writer = tf.summary.FileWriter(self.logfile, session.graph) + + def build_feed_dict(self, train_name, data_bxtxd, ext_input_bxtxi=None, + keep_prob=None): + """Build the feed dictionary, handles cases where there is no value defined. + + Args: + train_name: The key into the datasets, to set the tf.case statement for + the proper readin / readout matrices. + data_bxtxd: The data tensor + ext_input_bxtxi (optional): The external input tensor + keep_prob: The drop out keep probability. + + Returns: + The feed dictionary with TF tensors as keys and data as values, for use + with tf.Session.run() + + """ + feed_dict = {} + B, T, _ = data_bxtxd.shape + feed_dict[self.dataName] = train_name + feed_dict[self.dataset_ph] = data_bxtxd + + if self.ext_input is not None and ext_input_bxtxi is not None: + feed_dict[self.ext_input] = ext_input_bxtxi + + if keep_prob is None: + feed_dict[self.keep_prob] = self.hps.keep_prob + else: + feed_dict[self.keep_prob] = keep_prob + + return feed_dict + + @staticmethod + def get_batch(data_extxd, ext_input_extxi=None, batch_size=None, + example_idxs=None): + """Get a batch of data, either randomly chosen, or specified directly. + + Args: + data_extxd: The data to model, numpy tensors with shape: + # examples x # time steps x # dimensions + ext_input_extxi (optional): The external inputs, numpy tensor with shape: + # examples x # time steps x # external input dimensions + batch_size: The size of the batch to return + example_idxs (optional): The example indices used to select examples. + + Returns: + A tuple with two parts: + 1. Batched data numpy tensor with shape: + batch_size x # time steps x # dimensions + 2. Batched external input numpy tensor with shape: + batch_size x # time steps x # external input dims + """ + assert batch_size is not None or example_idxs is not None, "Problems" + E, T, D = data_extxd.shape + if example_idxs is None: + example_idxs = np.random.choice(E, batch_size) + + ext_input_bxtxi = None + if ext_input_extxi is not None: + ext_input_bxtxi = ext_input_extxi[example_idxs,:,:] + + return data_extxd[example_idxs,:,:], ext_input_bxtxi + + @staticmethod + def example_idxs_mod_batch_size(nexamples, batch_size): + """Given a number of examples, E, and a batch_size, B, generate indices + [0, 1, 2, ... B-1; + [B, B+1, ... 2*B-1; + ... + ] + returning those indices as a 2-dim tensor shaped like E/B x B. Note that + shape is only correct if E % B == 0. If not, then an extra row is generated + so that the remainder of examples is included. The extra examples are + explicitly to to the zero index (see randomize_example_idxs_mod_batch_size) + for randomized behavior. + + Args: + nexamples: The number of examples to batch up. + batch_size: The size of the batch. + Returns: + 2-dim tensor as described above. + """ + bmrem = batch_size - (nexamples % batch_size) + bmrem_examples = [] + if bmrem < batch_size: + #bmrem_examples = np.zeros(bmrem, dtype=np.int32) + ridxs = np.random.permutation(nexamples)[0:bmrem].astype(np.int32) + bmrem_examples = np.sort(ridxs) + example_idxs = range(nexamples) + list(bmrem_examples) + example_idxs_e_x_edivb = np.reshape(example_idxs, [-1, batch_size]) + return example_idxs_e_x_edivb, bmrem + + @staticmethod + def randomize_example_idxs_mod_batch_size(nexamples, batch_size): + """Indices 1:nexamples, randomized, in 2D form of + shape = (nexamples / batch_size) x batch_size. The remainder + is managed by drawing randomly from 1:nexamples. + + Args: + nexamples: number of examples to randomize + batch_size: number of elements in batch + + Returns: + The randomized, properly shaped indicies. + """ + assert nexamples > batch_size, "Problems" + bmrem = batch_size - nexamples % batch_size + bmrem_examples = [] + if bmrem < batch_size: + bmrem_examples = np.random.choice(range(nexamples), + size=bmrem, replace=False) + example_idxs = range(nexamples) + list(bmrem_examples) + mixed_example_idxs = np.random.permutation(example_idxs) + example_idxs_e_x_edivb = np.reshape(mixed_example_idxs, [-1, batch_size]) + return example_idxs_e_x_edivb, bmrem + + def shuffle_spikes_in_time(self, data_bxtxd): + """Shuffle the spikes in the temporal dimension. This is useful to + help the LFADS system avoid overfitting to individual spikes or fast + oscillations found in the data that are irrelevant to behavior. A + pure 'tabula rasa' approach would avoid this, but LFADS is sensitive + enough to pick up dynamics that you may not want. + + Args: + data_bxtxd: numpy array of spike count data to be shuffled. + Returns: + S_bxtxd, a numpy array with the same dimensions and contents as + data_bxtxd, but shuffled appropriately. + + """ + + B, T, N = data_bxtxd.shape + w = self.hps.temporal_spike_jitter_width + + if w == 0: + return data_bxtxd + + max_counts = np.max(data_bxtxd) + S_bxtxd = np.zeros([B,T,N]) + + # Intuitively, shuffle spike occurances, 0 or 1, but since we have counts, + # Do it over and over again up to the max count. + for mc in range(1,max_counts+1): + idxs = np.nonzero(data_bxtxd >= mc) + + data_ones = np.zeros_like(data_bxtxd) + data_ones[data_bxtxd >= mc] = 1 + + nfound = len(idxs[0]) + shuffles_incrs_in_time = np.random.randint(-w, w, size=nfound) + + shuffle_tidxs = idxs[1].copy() + shuffle_tidxs += shuffles_incrs_in_time + + # Reflect on the boundaries to not lose mass. + shuffle_tidxs[shuffle_tidxs < 0] = -shuffle_tidxs[shuffle_tidxs < 0] + shuffle_tidxs[shuffle_tidxs > T-1] = \ + (T-1)-(shuffle_tidxs[shuffle_tidxs > T-1] -(T-1)) + + for iii in zip(idxs[0], shuffle_tidxs, idxs[2]): + S_bxtxd[iii] += 1 + + return S_bxtxd + + def shuffle_and_flatten_datasets(self, datasets, kind='train'): + """Since LFADS supports multiple datasets in the same dynamical model, + we have to be careful to use all the data in a single training epoch. But + since the datasets my have different data dimensionality, we cannot batch + examples from data dictionaries together. Instead, we generate random + batches within each data dictionary, and then randomize these batches + while holding onto the dataname, so that when it's time to feed + the graph, the correct in/out matrices can be selected, per batch. + + Args: + datasets: A dict of data dicts. The dataset dict is simply a + name(string)-> data dictionary mapping (See top of lfads.py). + kind: 'train' or 'valid' + + Returns: + A flat list, in which each element is a pair ('name', indices). + """ + batch_size = self.hps.batch_size + ndatasets = len(datasets) + random_example_idxs = {} + epoch_idxs = {} + all_name_example_idx_pairs = [] + kind_data = kind + '_data' + for name, data_dict in datasets.items(): + nexamples, ntime, data_dim = data_dict[kind_data].shape + epoch_idxs[name] = 0 + random_example_idxs, _ = \ + self.randomize_example_idxs_mod_batch_size(nexamples, batch_size) + + epoch_size = random_example_idxs.shape[0] + names = [name] * epoch_size + all_name_example_idx_pairs += zip(names, random_example_idxs) + + np.random.shuffle(all_name_example_idx_pairs) # shuffle in place + + return all_name_example_idx_pairs + + def train_epoch(self, datasets, batch_size=None, do_save_ckpt=True): + """Train the model through the entire dataset once. + + Args: + datasets: A dict of data dicts. The dataset dict is simply a + name(string)-> data dictionary mapping (See top of lfads.py). + batch_size (optional): The batch_size to use + do_save_ckpt (optional): Should the routine save a checkpoint on this + training epoch? + + Returns: + A tuple with 6 float values: + (total cost of the epoch, epoch reconstruction cost, + epoch kl cost, KL weight used this training epoch, + total l2 cost on generator, and the corresponding weight). + """ + ops_to_eval = [self.cost, self.recon_cost, + self.kl_cost, self.kl_weight, + self.l2_cost, self.l2_weight, + self.train_op] + collected_op_values = self.run_epoch(datasets, ops_to_eval, kind="train") + + total_cost = total_recon_cost = total_kl_cost = 0.0 + # normalizing by batch done in distributions.py + epoch_size = len(collected_op_values) + for op_values in collected_op_values: + total_cost += op_values[0] + total_recon_cost += op_values[1] + total_kl_cost += op_values[2] + + kl_weight = collected_op_values[-1][3] + l2_cost = collected_op_values[-1][4] + l2_weight = collected_op_values[-1][5] + + epoch_total_cost = total_cost / epoch_size + epoch_recon_cost = total_recon_cost / epoch_size + epoch_kl_cost = total_kl_cost / epoch_size + + if do_save_ckpt: + session = tf.get_default_session() + checkpoint_path = os.path.join(self.hps.lfads_save_dir, + self.hps.checkpoint_name + '.ckpt') + self.seso_saver.save(session, checkpoint_path, + global_step=self.train_step) + + return epoch_total_cost, epoch_recon_cost, epoch_kl_cost, \ + kl_weight, l2_cost, l2_weight + + + def run_epoch(self, datasets, ops_to_eval, kind="train", batch_size=None, + do_collect=True, keep_prob=None): + """Run the model through the entire dataset once. + + Args: + datasets: A dict of data dicts. The dataset dict is simply a + name(string)-> data dictionary mapping (See top of lfads.py). + ops_to_eval: A list of tensorflow operations that will be evaluated in + the tf.session.run() call. + batch_size (optional): The batch_size to use + do_collect (optional): Should the routine collect all session.run + output as a list, and return it? + keep_prob (optional): The dropout keep probability. + + Returns: + A list of lists, the internal list is the return for the ops for each + session.run() call. The outer list collects over the epoch. + """ + hps = self.hps + all_name_example_idx_pairs = \ + self.shuffle_and_flatten_datasets(datasets, kind) + + kind_data = kind + '_data' + kind_ext_input = kind + '_ext_input' + + total_cost = total_recon_cost = total_kl_cost = 0.0 + session = tf.get_default_session() + epoch_size = len(all_name_example_idx_pairs) + evaled_ops_list = [] + for name, example_idxs in all_name_example_idx_pairs: + data_dict = datasets[name] + data_extxd = data_dict[kind_data] + if hps.output_dist == 'poisson' and hps.temporal_spike_jitter_width > 0: + data_extxd = self.shuffle_spikes_in_time(data_extxd) + + ext_input_extxi = data_dict[kind_ext_input] + data_bxtxd, ext_input_bxtxi = self.get_batch(data_extxd, ext_input_extxi, + example_idxs=example_idxs) + + feed_dict = self.build_feed_dict(name, data_bxtxd, ext_input_bxtxi, + keep_prob=keep_prob) + evaled_ops_np = session.run(ops_to_eval, feed_dict=feed_dict) + if do_collect: + evaled_ops_list.append(evaled_ops_np) + + return evaled_ops_list + + def summarize_all(self, datasets, summary_values): + """Plot and summarize stuff in tensorboard. + + Note that everything done in the current function is otherwise done on + a single, randomly selected dataset (except for summary_values, which are + passed in.) + + Args: + datasets, the dictionary of datasets used in the study. + summary_values: These summary values are created from the training loop, + and so summarize the entire set of datasets. + """ + hps = self.hps + tr_kl_cost = summary_values['tr_kl_cost'] + tr_recon_cost = summary_values['tr_recon_cost'] + tr_total_cost = summary_values['tr_total_cost'] + kl_weight = summary_values['kl_weight'] + l2_weight = summary_values['l2_weight'] + l2_cost = summary_values['l2_cost'] + has_any_valid_set = summary_values['has_any_valid_set'] + i = summary_values['nepochs'] + + session = tf.get_default_session() + train_summ, train_step = session.run([self.merged_train, + self.train_step], + feed_dict={self.l2_cost_ph:l2_cost, + self.kl_cost_ph:tr_kl_cost, + self.recon_cost_ph:tr_recon_cost, + self.total_cost_ph:tr_total_cost}) + self.writer.add_summary(train_summ, train_step) + if has_any_valid_set: + ev_kl_cost = summary_values['ev_kl_cost'] + ev_recon_cost = summary_values['ev_recon_cost'] + ev_total_cost = summary_values['ev_total_cost'] + eval_summ = session.run(self.merged_valid, + feed_dict={self.kl_cost_ph:ev_kl_cost, + self.recon_cost_ph:ev_recon_cost, + self.total_cost_ph:ev_total_cost}) + self.writer.add_summary(eval_summ, train_step) + print("Epoch:%d, step:%d (TRAIN, VALID): total: %.2f, %.2f\ + recon: %.2f, %.2f, kl: %.2f, %.2f, l2: %.5f,\ + kl weight: %.2f, l2 weight: %.2f" % \ + (i, train_step, tr_total_cost, ev_total_cost, + tr_recon_cost, ev_recon_cost, tr_kl_cost, ev_kl_cost, + l2_cost, kl_weight, l2_weight)) + + csv_outstr = "epoch,%d, step,%d, total,%.2f,%.2f, \ + recon,%.2f,%.2f, kl,%.2f,%.2f, l2,%.5f, \ + klweight,%.2f, l2weight,%.2f\n"% \ + (i, train_step, tr_total_cost, ev_total_cost, + tr_recon_cost, ev_recon_cost, tr_kl_cost, ev_kl_cost, + l2_cost, kl_weight, l2_weight) + + else: + print("Epoch:%d, step:%d TRAIN: total: %.2f recon: %.2f, kl: %.2f,\ + l2: %.5f, kl weight: %.2f, l2 weight: %.2f" % \ + (i, train_step, tr_total_cost, tr_recon_cost, tr_kl_cost, + l2_cost, kl_weight, l2_weight)) + csv_outstr = "epoch,%d, step,%d, total,%.2f, recon,%.2f, kl,%.2f, \ + l2,%.5f, klweight,%.2f, l2weight,%.2f\n"% \ + (i, train_step, tr_total_cost, tr_recon_cost, + tr_kl_cost, l2_cost, kl_weight, l2_weight) + + if self.hps.csv_log: + csv_file = os.path.join(self.hps.lfads_save_dir, self.hps.csv_log+'.csv') + with open(csv_file, "a") as myfile: + myfile.write(csv_outstr) + + + def plot_single_example(self, datasets): + """Plot an image relating to a randomly chosen, specific example. We use + posterior sample and average by taking one example, and filling a whole + batch with that example, sample from the posterior, and then average the + quantities. + + """ + hps = self.hps + all_data_names = datasets.keys() + data_name = np.random.permutation(all_data_names)[0] + data_dict = datasets[data_name] + has_valid_set = True if data_dict['valid_data'] is not None else False + cf = 1.0 # plotting concern + + # posterior sample and average here + E, _, _ = data_dict['train_data'].shape + eidx = np.random.choice(E) + example_idxs = eidx * np.ones(hps.batch_size, dtype=np.int32) + + train_data_bxtxd, train_ext_input_bxtxi = \ + self.get_batch(data_dict['train_data'], data_dict['train_ext_input'], + example_idxs=example_idxs) + + truth_train_data_bxtxd = None + if 'train_truth' in data_dict and data_dict['train_truth'] is not None: + truth_train_data_bxtxd, _ = self.get_batch(data_dict['train_truth'], + example_idxs=example_idxs) + cf = data_dict['conversion_factor'] + + # plotter does averaging + train_model_values = self.eval_model_runs_batch(data_name, + train_data_bxtxd, + train_ext_input_bxtxi, + do_average_batch=False) + + train_step = train_model_values['train_steps'] + feed_dict = self.build_feed_dict(data_name, train_data_bxtxd, + train_ext_input_bxtxi, keep_prob=1.0) + + session = tf.get_default_session() + generic_summ = session.run(self.merged_generic, feed_dict=feed_dict) + self.writer.add_summary(generic_summ, train_step) + + valid_data_bxtxd = valid_model_values = valid_ext_input_bxtxi = None + truth_valid_data_bxtxd = None + if has_valid_set: + E, _, _ = data_dict['valid_data'].shape + eidx = np.random.choice(E) + example_idxs = eidx * np.ones(hps.batch_size, dtype=np.int32) + valid_data_bxtxd, valid_ext_input_bxtxi = \ + self.get_batch(data_dict['valid_data'], + data_dict['valid_ext_input'], + example_idxs=example_idxs) + if 'valid_truth' in data_dict and data_dict['valid_truth'] is not None: + truth_valid_data_bxtxd, _ = self.get_batch(data_dict['valid_truth'], + example_idxs=example_idxs) + else: + truth_valid_data_bxtxd = None + + # plotter does averaging + valid_model_values = self.eval_model_runs_batch(data_name, + valid_data_bxtxd, + valid_ext_input_bxtxi, + do_average_batch=False) + + example_image = plot_lfads(train_bxtxd=train_data_bxtxd, + train_model_vals=train_model_values, + train_ext_input_bxtxi=train_ext_input_bxtxi, + train_truth_bxtxd=truth_train_data_bxtxd, + valid_bxtxd=valid_data_bxtxd, + valid_model_vals=valid_model_values, + valid_ext_input_bxtxi=valid_ext_input_bxtxi, + valid_truth_bxtxd=truth_valid_data_bxtxd, + bidx=None, cf=cf, output_dist=hps.output_dist) + example_image = np.expand_dims(example_image, axis=0) + example_summ = session.run(self.merged_examples, + feed_dict={self.example_image : example_image}) + self.writer.add_summary(example_summ) + + def train_model(self, datasets): + """Train the model, print per-epoch information, and save checkpoints. + + Loop over training epochs. The function that actually does the + training is train_epoch. This function iterates over the training + data, one epoch at a time. The learning rate schedule is such + that it will stay the same until the cost goes up in comparison to + the last few values, then it will drop. + + Args: + datasets: A dict of data dicts. The dataset dict is simply a + name(string)-> data dictionary mapping (See top of lfads.py). + """ + hps = self.hps + has_any_valid_set = False + for data_dict in datasets.values(): + if data_dict['valid_data'] is not None: + has_any_valid_set = True + break + + session = tf.get_default_session() + lr = session.run(self.learning_rate) + lr_stop = hps.learning_rate_stop + i = -1 + train_costs = [] + valid_costs = [] + ev_total_cost = ev_recon_cost = ev_kl_cost = 0.0 + lowest_ev_cost = np.Inf + while True: + i += 1 + do_save_ckpt = True if i % 10 ==0 else False + tr_total_cost, tr_recon_cost, tr_kl_cost, kl_weight, l2_cost, l2_weight = \ + self.train_epoch(datasets, do_save_ckpt=do_save_ckpt) + + # Evaluate the validation cost, and potentially save. Note that this + # routine will not save a validation checkpoint until the kl weight and + # l2 weights are equal to 1.0. + if has_any_valid_set: + ev_total_cost, ev_recon_cost, ev_kl_cost = \ + self.eval_cost_epoch(datasets, kind='valid') + valid_costs.append(ev_total_cost) + + # > 1 may give more consistent results, but not the actual lowest vae. + # == 1 gives the lowest vae seen so far. + n_lve = 1 + run_avg_lve = np.mean(valid_costs[-n_lve:]) + + # conditions for saving checkpoints: + # KL weight must have finished stepping (>=1.0), AND + # L2 weight must have finished stepping OR L2 is not being used, AND + # the current run has a lower LVE than previous runs AND + # len(valid_costs > n_lve) (not sure what that does) + if kl_weight >= 1.0 and \ + (l2_weight >= 1.0 or \ + (self.hps.l2_gen_scale == 0.0 and self.hps.l2_con_scale == 0.0)) \ + and (len(valid_costs) > n_lve and run_avg_lve < lowest_ev_cost): + + lowest_ev_cost = run_avg_lve + checkpoint_path = os.path.join(self.hps.lfads_save_dir, + self.hps.checkpoint_name + '_lve.ckpt') + self.lve_saver.save(session, checkpoint_path, + global_step=self.train_step, + latest_filename='checkpoint_lve') + + # Plot and summarize. + values = {'nepochs':i, 'has_any_valid_set': has_any_valid_set, + 'tr_total_cost':tr_total_cost, 'ev_total_cost':ev_total_cost, + 'tr_recon_cost':tr_recon_cost, 'ev_recon_cost':ev_recon_cost, + 'tr_kl_cost':tr_kl_cost, 'ev_kl_cost':ev_kl_cost, + 'l2_weight':l2_weight, 'kl_weight':kl_weight, + 'l2_cost':l2_cost} + self.summarize_all(datasets, values) + self.plot_single_example(datasets) + + # Manage learning rate. + train_res = tr_total_cost + n_lr = hps.learning_rate_n_to_compare + if len(train_costs) > n_lr and train_res > np.max(train_costs[-n_lr:]): + _ = session.run(self.learning_rate_decay_op) + lr = session.run(self.learning_rate) + print(" Decreasing learning rate to %f." % lr) + # Force the system to run n_lr times while at this lr. + train_costs.append(np.inf) + else: + train_costs.append(train_res) + + if lr < lr_stop: + print("Stopping optimization based on learning rate criteria.") + break + + def eval_cost_epoch(self, datasets, kind='train', ext_input_extxi=None, + batch_size=None): + """Evaluate the cost of the epoch. + + Args: + data_dict: The dictionary of data (training and validation) used for + training and evaluation of the model, respectively. + + Returns: + a 3 tuple of costs: + (epoch total cost, epoch reconstruction cost, epoch KL cost) + """ + ops_to_eval = [self.cost, self.recon_cost, self.kl_cost] + collected_op_values = self.run_epoch(datasets, ops_to_eval, kind=kind, + keep_prob=1.0) + + total_cost = total_recon_cost = total_kl_cost = 0.0 + # normalizing by batch done in distributions.py + epoch_size = len(collected_op_values) + for op_values in collected_op_values: + total_cost += op_values[0] + total_recon_cost += op_values[1] + total_kl_cost += op_values[2] + + epoch_total_cost = total_cost / epoch_size + epoch_recon_cost = total_recon_cost / epoch_size + epoch_kl_cost = total_kl_cost / epoch_size + + return epoch_total_cost, epoch_recon_cost, epoch_kl_cost + + def eval_model_runs_batch(self, data_name, data_bxtxd, ext_input_bxtxi=None, + do_eval_cost=False, do_average_batch=False): + """Returns all the goodies for the entire model, per batch. + + Args: + data_name: The name of the data dict, to select which in/out matrices + to use. + data_bxtxd: Numpy array training data with shape: + batch_size x # time steps x # dimensions + ext_input_bxtxi: Numpy array training external input with shape: + batch_size x # time steps x # external input dims + do_eval_cost (optional): If true, the IWAE (Importance Weighted + Autoencoder) log likeihood bound, instead of the VAE version. + do_average_batch (optional): average over the batch, useful for getting + good IWAE costs, and model outputs for a single data point. + + Returns: + A dictionary with the outputs of the model decoder, namely: + prior g0 mean, prior g0 variance, approx. posterior mean, approx + posterior mean, the generator initial conditions, the control inputs (if + enabled), the state of the generator, the factors, and the rates. + """ + session = tf.get_default_session() + feed_dict = self.build_feed_dict(data_name, data_bxtxd, + ext_input_bxtxi, keep_prob=1.0) + + # Non-temporal signals will be batch x dim. + # Temporal signals are list length T with elements batch x dim. + tf_vals = [self.gen_ics, self.gen_states, self.factors, + self.output_dist_params] + tf_vals.append(self.cost) + tf_vals.append(self.nll_bound_vae) + tf_vals.append(self.nll_bound_iwae) + tf_vals.append(self.train_step) # not train_op! + if self.hps.ic_dim > 0: + tf_vals += [self.prior_zs_g0.mean, self.prior_zs_g0.logvar, + self.posterior_zs_g0.mean, self.posterior_zs_g0.logvar] + if self.hps.co_dim > 0: + tf_vals.append(self.controller_outputs) + tf_vals_flat, fidxs = flatten(tf_vals) + + np_vals_flat = session.run(tf_vals_flat, feed_dict=feed_dict) + + ff = 0 + gen_ics = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + gen_states = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + factors = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + out_dist_params = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + costs = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + nll_bound_vaes = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + nll_bound_iwaes = [np_vals_flat[f] for f in fidxs[ff]]; ff +=1 + train_steps = [np_vals_flat[f] for f in fidxs[ff]]; ff +=1 + if self.hps.ic_dim > 0: + prior_g0_mean = [np_vals_flat[f] for f in fidxs[ff]]; ff +=1 + prior_g0_logvar = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + post_g0_mean = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + post_g0_logvar = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + if self.hps.co_dim > 0: + controller_outputs = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + + # [0] are to take out the non-temporal items from lists + gen_ics = gen_ics[0] + costs = costs[0] + nll_bound_vaes = nll_bound_vaes[0] + nll_bound_iwaes = nll_bound_iwaes[0] + train_steps = train_steps[0] + + # Convert to full tensors, not lists of tensors in time dim. + gen_states = list_t_bxn_to_tensor_bxtxn(gen_states) + factors = list_t_bxn_to_tensor_bxtxn(factors) + out_dist_params = list_t_bxn_to_tensor_bxtxn(out_dist_params) + if self.hps.ic_dim > 0: + prior_g0_mean = prior_g0_mean[0] + prior_g0_logvar = prior_g0_logvar[0] + post_g0_mean = post_g0_mean[0] + post_g0_logvar = post_g0_logvar[0] + if self.hps.co_dim > 0: + controller_outputs = list_t_bxn_to_tensor_bxtxn(controller_outputs) + + if do_average_batch: + gen_ics = np.mean(gen_ics, axis=0) + gen_states = np.mean(gen_states, axis=0) + factors = np.mean(factors, axis=0) + out_dist_params = np.mean(out_dist_params, axis=0) + if self.hps.ic_dim > 0: + prior_g0_mean = np.mean(prior_g0_mean, axis=0) + prior_g0_logvar = np.mean(prior_g0_logvar, axis=0) + post_g0_mean = np.mean(post_g0_mean, axis=0) + post_g0_logvar = np.mean(post_g0_logvar, axis=0) + if self.hps.co_dim > 0: + controller_outputs = np.mean(controller_outputs, axis=0) + + model_vals = {} + model_vals['gen_ics'] = gen_ics + model_vals['gen_states'] = gen_states + model_vals['factors'] = factors + model_vals['output_dist_params'] = out_dist_params + model_vals['costs'] = costs + model_vals['nll_bound_vaes'] = nll_bound_vaes + model_vals['nll_bound_iwaes'] = nll_bound_iwaes + model_vals['train_steps'] = train_steps + if self.hps.ic_dim > 0: + model_vals['prior_g0_mean'] = prior_g0_mean + model_vals['prior_g0_logvar'] = prior_g0_logvar + model_vals['post_g0_mean'] = post_g0_mean + model_vals['post_g0_logvar'] = post_g0_logvar + if self.hps.co_dim > 0: + model_vals['controller_outputs'] = controller_outputs + + return model_vals + + def eval_model_runs_avg_epoch(self, data_name, data_extxd, + ext_input_extxi=None): + """Returns all the expected value for goodies for the entire model. + + The expected value is taken over hidden (z) variables, namely the initial + conditions and the control inputs. The expected value is approximate, and + accomplished via sampling (batch_size) samples for every examples. + + Args: + data_name: The name of the data dict, to select which in/out matrices + to use. + data_extxd: Numpy array training data with shape: + # examples x # time steps x # dimensions + ext_input_extxi (optional): Numpy array training external input with + shape: # examples x # time steps x # external input dims + + Returns: + A dictionary with the averaged outputs of the model decoder, namely: + prior g0 mean, prior g0 variance, approx. posterior mean, approx + posterior mean, the generator initial conditions, the control inputs (if + enabled), the state of the generator, the factors, and the output + distribution parameters, e.g. (rates or mean and variances). + """ + hps = self.hps + batch_size = hps.batch_size + E, T, D = data_extxd.shape + E_to_process = hps.ps_nexamples_to_process + if E_to_process > E: + print("Setting number of posterior samples to process to : ", E) + E_to_process = E + + if hps.ic_dim > 0: + prior_g0_mean = np.zeros([E_to_process, hps.ic_dim]) + prior_g0_logvar = np.zeros([E_to_process, hps.ic_dim]) + post_g0_mean = np.zeros([E_to_process, hps.ic_dim]) + post_g0_logvar = np.zeros([E_to_process, hps.ic_dim]) + + if hps.co_dim > 0: + controller_outputs = np.zeros([E_to_process, T, hps.co_dim]) + gen_ics = np.zeros([E_to_process, hps.gen_dim]) + gen_states = np.zeros([E_to_process, T, hps.gen_dim]) + factors = np.zeros([E_to_process, T, hps.factors_dim]) + + if hps.output_dist == 'poisson': + out_dist_params = np.zeros([E_to_process, T, D]) + elif hps.output_dist == 'gaussian': + out_dist_params = np.zeros([E_to_process, T, D+D]) + else: + assert False, "NIY" + + costs = np.zeros(E_to_process) + nll_bound_vaes = np.zeros(E_to_process) + nll_bound_iwaes = np.zeros(E_to_process) + train_steps = np.zeros(E_to_process) + for es_idx in range(E_to_process): + print("Running %d of %d." % (es_idx+1, E_to_process)) + example_idxs = es_idx * np.ones(batch_size, dtype=np.int32) + data_bxtxd, ext_input_bxtxi = self.get_batch(data_extxd, + ext_input_extxi, + batch_size=batch_size, + example_idxs=example_idxs) + model_values = self.eval_model_runs_batch(data_name, data_bxtxd, + ext_input_bxtxi, + do_eval_cost=True, + do_average_batch=True) + + if self.hps.ic_dim > 0: + prior_g0_mean[es_idx,:] = model_values['prior_g0_mean'] + prior_g0_logvar[es_idx,:] = model_values['prior_g0_logvar'] + post_g0_mean[es_idx,:] = model_values['post_g0_mean'] + post_g0_logvar[es_idx,:] = model_values['post_g0_logvar'] + gen_ics[es_idx,:] = model_values['gen_ics'] + + if self.hps.co_dim > 0: + controller_outputs[es_idx,:,:] = model_values['controller_outputs'] + gen_states[es_idx,:,:] = model_values['gen_states'] + factors[es_idx,:,:] = model_values['factors'] + out_dist_params[es_idx,:,:] = model_values['output_dist_params'] + costs[es_idx] = model_values['costs'] + nll_bound_vaes[es_idx] = model_values['nll_bound_vaes'] + nll_bound_iwaes[es_idx] = model_values['nll_bound_iwaes'] + train_steps[es_idx] = model_values['train_steps'] + print('bound nll(vae): %.3f, bound nll(iwae): %.3f' \ + % (nll_bound_vaes[es_idx], nll_bound_iwaes[es_idx])) + + model_runs = {} + if self.hps.ic_dim > 0: + model_runs['prior_g0_mean'] = prior_g0_mean + model_runs['prior_g0_logvar'] = prior_g0_logvar + model_runs['post_g0_mean'] = post_g0_mean + model_runs['post_g0_logvar'] = post_g0_logvar + model_runs['gen_ics'] = gen_ics + + if self.hps.co_dim > 0: + model_runs['controller_outputs'] = controller_outputs + model_runs['gen_states'] = gen_states + model_runs['factors'] = factors + model_runs['output_dist_params'] = out_dist_params + model_runs['costs'] = costs + model_runs['nll_bound_vaes'] = nll_bound_vaes + model_runs['nll_bound_iwaes'] = nll_bound_iwaes + model_runs['train_steps'] = train_steps + return model_runs + + def write_model_runs(self, datasets, output_fname=None): + """Run the model on the data in data_dict, and save the computed values. + + LFADS generates a number of outputs for each examples, and these are all + saved. They are: + The mean and variance of the prior of g0. + The mean and variance of approximate posterior of g0. + The control inputs (if enabled) + The initial conditions, g0, for all examples. + The generator states for all time. + The factors for all time. + The output distribution parameters (e.g. rates) for all time. + + Args: + datasets: a dictionary of named data_dictionaries, see top of lfads.py + output_fname: a file name stem for the output files. + """ + hps = self.hps + kind = hps.kind + + for data_name, data_dict in datasets.items(): + data_tuple = [('train', data_dict['train_data'], + data_dict['train_ext_input']), + ('valid', data_dict['valid_data'], + data_dict['valid_ext_input'])] + for data_kind, data_extxd, ext_input_extxi in data_tuple: + if not output_fname: + fname = "model_runs_" + data_name + '_' + data_kind + '_' + kind + else: + fname = output_fname + data_name + '_' + data_kind + '_' + kind + + print("Writing data for %s data and kind %s." % (data_name, data_kind)) + model_runs = self.eval_model_runs_avg_epoch(data_name, data_extxd, + ext_input_extxi) + full_fname = os.path.join(hps.lfads_save_dir, fname) + write_data(full_fname, model_runs, compression='gzip') + print("Done.") + + def write_model_samples(self, dataset_name, output_fname=None): + """Use the prior distribution to generate batch_size number of samples + from the model. + + LFADS generates a number of outputs for each sample, and these are all + saved. They are: + The mean and variance of the prior of g0. + The control inputs (if enabled) + The initial conditions, g0, for all examples. + The generator states for all time. + The factors for all time. + The output distribution parameters (e.g. rates) for all time. + + Args: + dataset_name: The name of the dataset to grab the factors -> rates + alignment matrices from. + output_fname: The name of the file in which to save the generated + samples. + """ + hps = self.hps + batch_size = hps.batch_size + + print("Generating %d samples" % (batch_size)) + tf_vals = [self.factors, self.gen_states, self.gen_ics, + self.cost, self.output_dist_params] + if hps.ic_dim > 0: + tf_vals += [self.prior_zs_g0.mean, self.prior_zs_g0.logvar] + if hps.co_dim > 0: + tf_vals += [self.prior_zs_ar_con.samples_t] + tf_vals_flat, fidxs = flatten(tf_vals) + + session = tf.get_default_session() + feed_dict = {} + feed_dict[self.dataName] = dataset_name + feed_dict[self.keep_prob] = 1.0 + + np_vals_flat = session.run(tf_vals_flat, feed_dict=feed_dict) + + ff = 0 + factors = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + gen_states = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + gen_ics = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + costs = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + output_dist_params = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + if hps.ic_dim > 0: + prior_g0_mean = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + prior_g0_logvar = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + if hps.co_dim > 0: + prior_zs_ar_con = [np_vals_flat[f] for f in fidxs[ff]]; ff += 1 + + # [0] are to take out the non-temporal items from lists + gen_ics = gen_ics[0] + costs = costs[0] + + # Convert to full tensors, not lists of tensors in time dim. + gen_states = list_t_bxn_to_tensor_bxtxn(gen_states) + factors = list_t_bxn_to_tensor_bxtxn(factors) + output_dist_params = list_t_bxn_to_tensor_bxtxn(output_dist_params) + if hps.ic_dim > 0: + prior_g0_mean = prior_g0_mean[0] + prior_g0_logvar = prior_g0_logvar[0] + if hps.co_dim > 0: + prior_zs_ar_con = list_t_bxn_to_tensor_bxtxn(prior_zs_ar_con) + + model_vals = {} + model_vals['gen_ics'] = gen_ics + model_vals['gen_states'] = gen_states + model_vals['factors'] = factors + model_vals['output_dist_params'] = output_dist_params + model_vals['costs'] = costs.reshape(1) + if hps.ic_dim > 0: + model_vals['prior_g0_mean'] = prior_g0_mean + model_vals['prior_g0_logvar'] = prior_g0_logvar + if hps.co_dim > 0: + model_vals['prior_zs_ar_con'] = prior_zs_ar_con + + full_fname = os.path.join(hps.lfads_save_dir, output_fname) + write_data(full_fname, model_vals, compression='gzip') + print("Done.") + + @staticmethod + def eval_model_parameters(use_nested=True, include_strs=None): + """Evaluate and return all of the TF variables in the model. + + Args: + use_nested (optional): For returning values, use a nested dictoinary, based + on variable scoping, or return all variables in a flat dictionary. + include_strs (optional): A list of strings to use as a filter, to reduce the + number of variables returned. A variable name must contain at least one + string in include_strs as a sub-string in order to be returned. + + Returns: + The parameters of the model. This can be in a flat + dictionary, or a nested dictionary, where the nesting is by variable + scope. + """ + all_tf_vars = tf.global_variables() + session = tf.get_default_session() + all_tf_vars_eval = session.run(all_tf_vars) + vars_dict = {} + strs = ["LFADS"] + if include_strs: + strs += include_strs + + for i, (var, var_eval) in enumerate(zip(all_tf_vars, all_tf_vars_eval)): + if any(s in include_strs for s in var.name): + if not isinstance(var_eval, np.ndarray): # for H5PY + print(var.name, """ is not numpy array, saving as numpy array + with value: """, var_eval, type(var_eval)) + e = np.array(var_eval) + print(e, type(e)) + else: + e = var_eval + vars_dict[var.name] = e + + if not use_nested: + return vars_dict + + var_names = vars_dict.keys() + nested_vars_dict = {} + current_dict = nested_vars_dict + for v, var_name in enumerate(var_names): + var_split_name_list = var_name.split('/') + split_name_list_len = len(var_split_name_list) + current_dict = nested_vars_dict + for p, part in enumerate(var_split_name_list): + if p < split_name_list_len - 1: + if part in current_dict: + current_dict = current_dict[part] + else: + current_dict[part] = {} + current_dict = current_dict[part] + else: + current_dict[part] = vars_dict[var_name] + + return nested_vars_dict + + @staticmethod + def spikify_rates(rates_bxtxd): + """Randomly spikify underlying rates according a Poisson distribution + + Args: + rates_bxtxd: a numpy tensor with shape: + + Returns: + A numpy array with the same shape as rates_bxtxd, but with the event + counts. + """ + + B,T,N = rates_bxtxd.shape + assert all([B > 0, N > 0]), "problems" + + # Because the rates are changing, there is nesting + spikes_bxtxd = np.zeros([B,T,N], dtype=np.int32) + for b in range(B): + for t in range(T): + for n in range(N): + rate = rates_bxtxd[b,t,n] + count = np.random.poisson(rate) + spikes_bxtxd[b,t,n] = count + + return spikes_bxtxd diff --git a/lfads/plot_lfads.py b/lfads/plot_lfads.py new file mode 100644 index 000000000..b4ebba9f4 --- /dev/null +++ b/lfads/plot_lfads.py @@ -0,0 +1,223 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import matplotlib +matplotlib.use('Agg') +from matplotlib import pyplot as plt +import numpy as np +import tensorflow as tf + +def _plot_item(W, name, full_name, nspaces): + plt.figure() + if W.shape == (): + print(name, ": ", W) + elif W.shape[0] == 1: + plt.stem(W.T) + plt.title(full_name) + elif W.shape[1] == 1: + plt.stem(W) + plt.title(full_name) + else: + plt.imshow(np.abs(W), interpolation='nearest', cmap='jet'); + plt.colorbar() + plt.title(full_name) + + +def all_plot(d, full_name="", exclude="", nspaces=0): + """Recursively plot all the LFADS model parameters in the nested + dictionary.""" + for k, v in d.iteritems(): + this_name = full_name+"/"+k + if isinstance(v, dict): + all_plot(v, full_name=this_name, exclude=exclude, nspaces=nspaces+4) + else: + if exclude == "" or exclude not in this_name: + _plot_item(v, name=k, full_name=full_name+"/"+k, nspaces=nspaces+4) + + +def plot_priors(): + g0s_prior_mean_bxn = train_modelvals['prior_g0_mean'] + g0s_prior_var_bxn = train_modelvals['prior_g0_var'] + g0s_post_mean_bxn = train_modelvals['posterior_g0_mean'] + g0s_post_var_bxn = train_modelvals['posterior_g0_var'] + + plt.figure(figsize=(10,4), tight_layout=True); + plt.subplot(1,2,1) + plt.hist(g0s_post_mean_bxn.flatten(), bins=20, color='b'); + plt.hist(g0s_prior_mean_bxn.flatten(), bins=20, color='g'); + + plt.title('Histogram of Prior/Posterior Mean Values') + plt.subplot(1,2,2) + plt.hist((g0s_post_var_bxn.flatten()), bins=20, color='b'); + plt.hist((g0s_prior_var_bxn.flatten()), bins=20, color='g'); + plt.title('Histogram of Prior/Posterior Log Variance Values') + + plt.figure(figsize=(10,10), tight_layout=True) + plt.subplot(2,2,1) + plt.imshow(g0s_prior_mean_bxn.T, interpolation='nearest', cmap='jet') + plt.colorbar(fraction=0.025, pad=0.04) + plt.title('Prior g0 means') + + plt.subplot(2,2,2) + plt.imshow(g0s_post_mean_bxn.T, interpolation='nearest', cmap='jet') + plt.colorbar(fraction=0.025, pad=0.04) + plt.title('Posterior g0 means'); + + plt.subplot(2,2,3) + plt.imshow(g0s_prior_var_bxn.T, interpolation='nearest', cmap='jet') + plt.colorbar(fraction=0.025, pad=0.04) + plt.title('Prior g0 variance Values') + + plt.subplot(2,2,4) + plt.imshow(g0s_post_var_bxn.T, interpolation='nearest', cmap='jet') + plt.colorbar(fraction=0.025, pad=0.04) + plt.title('Posterior g0 variance Values') + + plt.figure(figsize=(10,5)) + plt.stem(np.sort(np.log(g0s_post_mean_bxn.std(axis=0)))); + plt.title('Log standard deviation of h0 means'); + + +def plot_time_series(vals_bxtxn, bidx=None, n_to_plot=np.inf, scale=1.0, + color='r', title=None): + + if bidx is None: + vals_txn = np.mean(vals_bxtxn, axis=0) + else: + vals_txn = vals_bxtxn[bidx,:,:] + + T, N = vals_txn.shape + if n_to_plot > N: + n_to_plot = N + + plt.plot(vals_txn[:,0:n_to_plot] + scale*np.array(range(n_to_plot)), + color=color, lw=1.0) + plt.axis('tight') + if title: + plt.title(title) + + +def plot_lfads_timeseries(data_bxtxn, model_vals, ext_input_bxtxi=None, + truth_bxtxn=None, bidx=None, output_dist="poisson", + conversion_factor=1.0, subplot_cidx=0, + col_title=None): + + n_to_plot = 10 + scale = 1.0 + nrows = 7 + plt.subplot(nrows,2,1+subplot_cidx) + + if output_dist == 'poisson': + rates = means = conversion_factor * model_vals['output_dist_params'] + plot_time_series(rates, bidx, n_to_plot=n_to_plot, scale=scale, + title=col_title + " rates (LFADS - red, Truth - black)") + elif output_dist == 'gaussian': + means_vars = model_vals['output_dist_params'] + means, vars = np.split(means_vars,2, axis=2) # bxtxn + stds = np.sqrt(vars) + plot_time_series(means, bidx, n_to_plot=n_to_plot, scale=scale, + title=col_title + " means (LFADS - red, Truth - black)") + plot_time_series(means+stds, bidx, n_to_plot=n_to_plot, scale=scale, + color='c') + plot_time_series(means-stds, bidx, n_to_plot=n_to_plot, scale=scale, + color='c') + else: + assert 'NIY' + + + if truth_bxtxn is not None: + plot_time_series(truth_bxtxn, bidx, n_to_plot=n_to_plot, color='k', + scale=scale) + + input_title = "" + if "controller_outputs" in model_vals.keys(): + input_title += " Controller Output" + plt.subplot(nrows,2,3+subplot_cidx) + u_t = model_vals['controller_outputs'][0:-1] + plot_time_series(u_t, bidx, n_to_plot=n_to_plot, color='c', scale=1.0, + title=col_title + input_title) + + if ext_input_bxtxi is not None: + input_title += " External Input" + plot_time_series(ext_input_bxtxi, n_to_plot=n_to_plot, color='b', + scale=scale, title=col_title + input_title) + + plt.subplot(nrows,2,5+subplot_cidx) + plot_time_series(means, bidx, + n_to_plot=n_to_plot, scale=1.0, + title=col_title + " Spikes (LFADS - red, Spikes - black)") + plot_time_series(data_bxtxn, bidx, n_to_plot=n_to_plot, color='k', scale=1.0) + + plt.subplot(nrows,2,7+subplot_cidx) + plot_time_series(model_vals['factors'], bidx, n_to_plot=n_to_plot, color='b', + scale=2.0, title=col_title + " Factors") + + plt.subplot(nrows,2,9+subplot_cidx) + plot_time_series(model_vals['gen_states'], bidx, n_to_plot=n_to_plot, + color='g', scale=1.0, title=col_title + " Generator State") + + if bidx is not None: + data_nxt = data_bxtxn[bidx,:,:].T + params_nxt = model_vals['output_dist_params'][bidx,:,:].T + else: + data_nxt = np.mean(data_bxtxn, axis=0).T + params_nxt = np.mean(model_vals['output_dist_params'], axis=0).T + if output_dist == 'poisson': + means_nxt = params_nxt + elif output_dist == 'gaussian': # (means+vars) x time + means_nxt = np.vsplit(params_nxt,2)[0] # get means + else: + assert "NIY" + + plt.subplot(nrows,2,11+subplot_cidx) + plt.imshow(data_nxt, aspect='auto', interpolation='nearest') + plt.title(col_title + ' Data') + + plt.subplot(nrows,2,13+subplot_cidx) + plt.imshow(means_nxt, aspect='auto', interpolation='nearest') + plt.title(col_title + ' Means') + + +def plot_lfads(train_bxtxd, train_model_vals, + train_ext_input_bxtxi=None, train_truth_bxtxd=None, + valid_bxtxd=None, valid_model_vals=None, + valid_ext_input_bxtxi=None, valid_truth_bxtxd=None, + bidx=None, cf=1.0, output_dist='poisson'): + + # Plotting + f = plt.figure(figsize=(18,20), tight_layout=True) + plot_lfads_timeseries(train_bxtxd, train_model_vals, + train_ext_input_bxtxi, + truth_bxtxn=train_truth_bxtxd, + conversion_factor=cf, bidx=bidx, + output_dist=output_dist, col_title='Train') + plot_lfads_timeseries(valid_bxtxd, valid_model_vals, + valid_ext_input_bxtxi, + truth_bxtxn=valid_truth_bxtxd, + conversion_factor=cf, bidx=bidx, + output_dist=output_dist, + subplot_cidx=1, col_title='Valid') + + # Convert from figure to an numpy array width x height x 3 (last for RGB) + f.canvas.draw() + data = np.fromstring(f.canvas.tostring_rgb(), dtype=np.uint8, sep='') + data_wxhx3 = data.reshape(f.canvas.get_width_height()[::-1] + (3,)) + plt.close() + + return data_wxhx3 diff --git a/lfads/run_lfads.py b/lfads/run_lfads.py new file mode 100755 index 000000000..74c5bd00a --- /dev/null +++ b/lfads/run_lfads.py @@ -0,0 +1,778 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from lfads import LFADS +import numpy as np +import os +import tensorflow as tf +import re +import utils + +# Lots of hyperparameters, but most are pretty insensitive. The +# explanation of these hyperparameters is found below, in the flags +# session. + +CHECKPOINT_PB_LOAD_NAME = "checkpoint" +CHECKPOINT_NAME = "lfads_vae" +CSV_LOG = "fitlog" +OUTPUT_FILENAME_STEM = "" +DEVICE = "gpu:0" # "cpu:0", or other gpus, e.g. "gpu:1" +MAX_CKPT_TO_KEEP = 5 +MAX_CKPT_TO_KEEP_LVE = 5 +PS_NEXAMPLES_TO_PROCESS = 1e8 # if larger than number of examples, process all +EXT_INPUT_DIM = 0 +IC_DIM = 64 +FACTORS_DIM = 50 +IC_ENC_DIM = 128 +GEN_DIM = 200 +GEN_CELL_INPUT_WEIGHT_SCALE = 1.0 +GEN_CELL_REC_WEIGHT_SCALE = 1.0 +CELL_WEIGHT_SCALE = 1.0 +BATCH_SIZE = 128 +LEARNING_RATE_INIT = 0.01 +LEARNING_RATE_DECAY_FACTOR = 0.95 +LEARNING_RATE_STOP = 0.00001 +LEARNING_RATE_N_TO_COMPARE = 6 +INJECT_EXT_INPUT_TO_GEN = False +DO_TRAIN_IO_ONLY = False +DO_RESET_LEARNING_RATE = False +FEEDBACK_FACTORS_OR_RATES = "factors" + +# Calibrated just above the average value for the rnn synthetic data. +MAX_GRAD_NORM = 200.0 +CELL_CLIP_VALUE = 5.0 +KEEP_PROB = 0.95 +TEMPORAL_SPIKE_JITTER_WIDTH = 0 +OUTPUT_DISTRIBUTION = 'poisson' # 'poisson' or 'gaussian' +NUM_STEPS_FOR_GEN_IC = np.inf # set to num_steps if greater than num_steps + +DATA_DIR = "/tmp/rnn_synth_data_v1.0/" +DATA_FILENAME_STEM = "chaotic_rnn_inputs_g1p5" +LFADS_SAVE_DIR = "/tmp/lfads_chaotic_rnn_inputs_g1p5/" +CO_DIM = 1 +DO_CAUSAL_CONTROLLER = False +DO_FEED_FACTORS_TO_CONTROLLER = True +CONTROLLER_INPUT_LAG = 1 +PRIOR_AR_AUTOCORRELATION = 10.0 +PRIOR_AR_PROCESS_VAR = 0.1 +DO_TRAIN_PRIOR_AR_ATAU = True +DO_TRAIN_PRIOR_AR_NVAR = True +CI_ENC_DIM = 128 +CON_DIM = 128 +CO_PRIOR_VAR_SCALE = 0.1 +KL_INCREASE_STEPS = 2000 +L2_INCREASE_STEPS = 2000 +L2_GEN_SCALE = 2000.0 +L2_CON_SCALE = 0.0 +# scale of regularizer on time correlation of inferred inputs +CO_MEAN_CORR_SCALE = 0.0 +KL_IC_WEIGHT = 1.0 +KL_CO_WEIGHT = 1.0 +KL_START_STEP = 0 +L2_START_STEP = 0 +IC_PRIOR_VAR_MIN = 0.1 +IC_PRIOR_VAR_SCALE = 0.1 +IC_PRIOR_VAR_MAX = 0.1 +IC_POST_VAR_MIN = 0.0001 # protection from KL blowing up + +flags = tf.app.flags +flags.DEFINE_string("kind", "train", + "Type of model to build {train, \ + posterior_sample_and_average, \ + prior_sample, write_model_params") +flags.DEFINE_string("output_dist", OUTPUT_DISTRIBUTION, + "Type of output distribution, 'poisson' or 'gaussian'") +flags.DEFINE_boolean("allow_gpu_growth", False, + "If true, only allocate amount of memory needed for \ + Session. Otherwise, use full GPU memory.") + +# DATA +flags.DEFINE_string("data_dir", DATA_DIR, "Data for training") +flags.DEFINE_string("data_filename_stem", DATA_FILENAME_STEM, + "Filename stem for data dictionaries.") +flags.DEFINE_string("lfads_save_dir", LFADS_SAVE_DIR, "model save dir") +flags.DEFINE_string("checkpoint_pb_load_name", CHECKPOINT_PB_LOAD_NAME, + "Name of checkpoint files, use 'checkpoint_lve' for best \ + error") +flags.DEFINE_string("checkpoint_name", CHECKPOINT_NAME, + "Name of checkpoint files (.ckpt appended)") +flags.DEFINE_string("output_filename_stem", OUTPUT_FILENAME_STEM, + "Name of output file (postfix will be added)") +flags.DEFINE_string("device", DEVICE, + "Which device to use (default: \"gpu:0\", can also be \ + \"cpu:0\", \"gpu:1\", etc)") +flags.DEFINE_string("csv_log", CSV_LOG, + "Name of file to keep running log of fit likelihoods, \ + etc (.csv appended)") +flags.DEFINE_integer("max_ckpt_to_keep", MAX_CKPT_TO_KEEP, + "Max # of checkpoints to keep (rolling)") +flags.DEFINE_integer("ps_nexamples_to_process", PS_NEXAMPLES_TO_PROCESS, + "Number of examples to process for posterior sample and \ + average (not number of samples to average over).") +flags.DEFINE_integer("max_ckpt_to_keep_lve", MAX_CKPT_TO_KEEP_LVE, + "Max # of checkpoints to keep for lowest validation error \ + models (rolling)") +flags.DEFINE_integer("ext_input_dim", EXT_INPUT_DIM, "Dimension of external \ +inputs") +flags.DEFINE_integer("num_steps_for_gen_ic", NUM_STEPS_FOR_GEN_IC, + "Number of steps to train the generator initial conditon.") + + +# If there are observed inputs, there are two ways to add that observed +# input to the model. The first is by treating as something to be +# inferred, and thus encoding the observed input via the encoders, and then +# input to the generator via the "inferred inputs" channel. Second, one +# can input the input directly into the generator. This has the downside +# of making the generation process strictly dependent on knowing the +# observed input for any generated trial. +flags.DEFINE_boolean("inject_ext_input_to_gen", + INJECT_EXT_INPUT_TO_GEN, + "Should observed inputs be input to model via encoders, \ + or injected directly into generator?") + +# CELL + +# The combined recurrent and input weights of the encoder and +# controller cells are by default set to scale at ws/sqrt(#inputs), +# with ws=1.0. You can change this scaling with this parameter. +flags.DEFINE_float("cell_weight_scale", CELL_WEIGHT_SCALE, + "Input scaling for input weights in generator.") + + +# GENERATION + +# Note that the dimension of the initial conditions is separated from the +# dimensions of the generator initial conditions (and a linear matrix will +# adapt the shapes if necessary). This is just another way to control +# complexity. In all likelihood, setting the ic dims to the size of the +# generator hidden state is just fine. +flags.DEFINE_integer("ic_dim", IC_DIM, "Dimension of h0") +# Setting the dimensions of the factors to something smaller than the data +# dimension is a way to get a reduced dimensionality representation of your +# data. +flags.DEFINE_integer("factors_dim", FACTORS_DIM, + "Number of factors from generator") +flags.DEFINE_integer("ic_enc_dim", IC_ENC_DIM, + "Cell hidden size, encoder of h0") + +# Controlling the size of the generator is one way to control complexity of +# the dynamics (there is also l2, which will squeeze out unnecessary +# dynamics also). The modern deep learning approach is to make these cells +# as large as tolerable (from a waiting perspective), and then regularize +# them to death with drop out or whatever. I don't know if this is correct +# for the LFADS application or not. +flags.DEFINE_integer("gen_dim", GEN_DIM, + "Cell hidden size, generator.") +# The weights of the generator cell by default set to scale at +# ws/sqrt(#inputs), with ws=1.0. You can change ws for +# the input weights or the recurrent weights with these hyperparameters. +flags.DEFINE_float("gen_cell_input_weight_scale", GEN_CELL_INPUT_WEIGHT_SCALE, + "Input scaling for input weights in generator.") +flags.DEFINE_float("gen_cell_rec_weight_scale", GEN_CELL_REC_WEIGHT_SCALE, + "Input scaling for rec weights in generator.") + +# KL DISTRIBUTIONS +# If you don't know what you are donig here, please leave alone, the +# defaults should be fine for most cases, irregardless of other parameters. +# +# If you don't want the prior variance to be learned, set the +# following values to the same thing: ic_prior_var_min, +# ic_prior_var_scale, ic_prior_var_max. The prior mean will be +# learned regardless. +flags.DEFINE_float("ic_prior_var_min", IC_PRIOR_VAR_MIN, + "Minimum variance in posterior h0 codes.") +flags.DEFINE_float("ic_prior_var_scale", IC_PRIOR_VAR_SCALE, + "Variance of ic prior distribution") +flags.DEFINE_float("ic_prior_var_max", IC_PRIOR_VAR_MAX, + "Maximum variance of IC prior distribution.") +# If you really want to limit the information from encoder to decoder, +# Increase ic_post_var_min above 0.0. +flags.DEFINE_float("ic_post_var_min", IC_POST_VAR_MIN, + "Minimum variance of IC posterior distribution.") +flags.DEFINE_float("co_prior_var_scale", CO_PRIOR_VAR_SCALE, + "Variance of control input prior distribution.") + + +flags.DEFINE_float("prior_ar_atau", PRIOR_AR_AUTOCORRELATION, + "Initial autocorrelation of AR(1) priors.") +flags.DEFINE_float("prior_ar_nvar", PRIOR_AR_PROCESS_VAR, + "Initial noise variance for AR(1) priors.") +flags.DEFINE_boolean("do_train_prior_ar_atau", DO_TRAIN_PRIOR_AR_ATAU, + "Is the value for atau an init, or the constant value?") +flags.DEFINE_boolean("do_train_prior_ar_nvar", DO_TRAIN_PRIOR_AR_NVAR, + "Is the value for noise variance an init, or the constant \ + value?") + +# CONTROLLER +# This parameter critically controls whether or not there is a controller +# (along with controller encoders placed into the LFADS graph. If CO_DIM > +# 1, that means there is a 1 dimensional controller outputs, if equal to 0, +# then no controller. +flags.DEFINE_integer("co_dim", CO_DIM, + "Number of control net outputs (>0 builds that graph).") + +# The controller will be more powerful if it can see the encoding of the entire +# trial. However, this allows the controller to create inferred inputs that are +# acausal with respect to the actual data generation process. E.g. the data +# generator could have an input at time t, but the controller, after seeing the +# entirety of the trial could infer that the input is coming a little before +# time t, because there are no restrictions on the data the controller sees. +# One can force the controller to be causal (with respect to perturbations in +# the data generator) so that it only sees forward encodings of the data at time +# t that originate at times before or at time t. One can also control the data +# the controller sees by using an input lag (forward encoding at time [t-tlag] +# for controller input at time t. The same can be done in the reverse direction +# (controller input at time t from reverse encoding at time [t+tlag], in the +# case of an acausal controller). Setting this lag > 0 (even lag=1) can be a +# powerful way of avoiding very spiky decodes. Finally, one can manually control +# whether the factors at time t-1 are fed to the controller at time t. +# +# If you don't care about any of this, and just want to smooth your data, set +# do_causal_controller = False +# do_feed_factors_to_controller = True +# causal_input_lag = 0 +flags.DEFINE_boolean("do_causal_controller", + DO_CAUSAL_CONTROLLER, + "Restrict the controller create only causal inferred \ + inputs?") +# Strictly speaking, feeding either the factors or the rates to the controller +# violates causality, since the g0 gets to see all the data. This may or may not +# be only a theoretical concern. +flags.DEFINE_boolean("do_feed_factors_to_controller", + DO_FEED_FACTORS_TO_CONTROLLER, + "Should factors[t-1] be input to controller at time t?") +flags.DEFINE_string("feedback_factors_or_rates", FEEDBACK_FACTORS_OR_RATES, + "Feedback the factors or the rates to the controller? \ + Acceptable values: 'factors' or 'rates'.") +flags.DEFINE_integer("controller_input_lag", CONTROLLER_INPUT_LAG, + "Time lag on the encoding to controller t-lag for \ + forward, t+lag for reverse.") + +flags.DEFINE_integer("ci_enc_dim", CI_ENC_DIM, + "Cell hidden size, encoder of control inputs") +flags.DEFINE_integer("con_dim", CON_DIM, + "Cell hidden size, controller") + + +# OPTIMIZATION +flags.DEFINE_integer("batch_size", BATCH_SIZE, + "Batch size to use during training.") +flags.DEFINE_float("learning_rate_init", LEARNING_RATE_INIT, + "Learning rate initial value") +flags.DEFINE_float("learning_rate_decay_factor", LEARNING_RATE_DECAY_FACTOR, + "Learning rate decay, decay by this fraction every so \ + often.") +flags.DEFINE_float("learning_rate_stop", LEARNING_RATE_STOP, + "The lr is adaptively reduced, stop training at this value.") +# Rather put the learning rate on an exponentially decreasiong schedule, +# the current algorithm pays attention to the learning rate, and if it +# isn't regularly decreasing, it will decrease the learning rate. So far, +# it works fine, though it is not perfect. +flags.DEFINE_integer("learning_rate_n_to_compare", LEARNING_RATE_N_TO_COMPARE, + "Number of previous costs current cost has to be worse \ + than, to lower learning rate.") + +# This sets a value, above which, the gradients will be clipped. This hp +# is extremely useful to avoid an infrequent, but highly pathological +# problem whereby the gradient is so large that it destroys the +# optimziation by setting parameters too large, leading to a vicious cycle +# that ends in NaNs. If it's too large, it's useless, if it's too small, +# it essentially becomes the learning rate. It's pretty insensitive, though. +flags.DEFINE_float("max_grad_norm", MAX_GRAD_NORM, + "Max norm of gradient before clipping.") + +# If your optimizations start "NaN-ing out", reduce this value so that +# the values of the network don't grow out of control. Typically, once +# this parameter is set to a reasonable value, one stops having numerical +# problems. +flags.DEFINE_float("cell_clip_value", CELL_CLIP_VALUE, + "Max value recurrent cell can take before being clipped.") + +# This flag is used for an experiment where one sees if training a model with +# many days data can be used to learn the dynamics from a held-out days data. +# If you don't care about that particular experiment, this flag should always be +# false. +flags.DEFINE_boolean("do_train_io_only", DO_TRAIN_IO_ONLY, + "Train only the input (readin) and output (readout) \ + affine functions.") + +flags.DEFINE_boolean("do_reset_learning_rate", DO_RESET_LEARNING_RATE, + "Reset the learning rate to initial value.") + + +# OVERFITTING +# Dropout is done on the input data, on controller inputs (from +# encoder), on outputs from generator to factors. +flags.DEFINE_float("keep_prob", KEEP_PROB, "Dropout keep probability.") +# It appears that the system will happily fit spikes (blessing or +# curse, depending). You may not want this. Jittering the spikes a +# bit will help (-/+ bin size, as specified here). +flags.DEFINE_integer("temporal_spike_jitter_width", + TEMPORAL_SPIKE_JITTER_WIDTH, + "Shuffle spikes around this window.") + +# General note about helping ascribe controller inputs vs dynamics: +# +# If controller is heavily penalized, then it won't have any output. +# If dynamics are heavily penalized, then generator won't make +# dynamics. Note this l2 penalty is only on the recurrent portion of +# the RNNs, as dropout is also available, penalizing the feed-forward +# connections. +flags.DEFINE_float("l2_gen_scale", L2_GEN_SCALE, + "L2 regularization cost for the generator only.") +flags.DEFINE_float("l2_con_scale", L2_CON_SCALE, + "L2 regularization cost for the controller only.") +flags.DEFINE_float("co_mean_corr_scale", CO_MEAN_CORR_SCALE, + "Cost of correlation (thru time)in the means of \ + controller output.") + +# UNDERFITTING +# If the primary task of LFADS is "filtering" of data and not +# generation, then it is possible that the KL penalty is too strong. +# Empirically, we have found this to be the case. So we add a +# hyperparameter in front of the the two KL terms (one for the initial +# conditions to the generator, the other for the controller outputs). +# You should always think of the the default values as 1.0, and that +# leads to a standard VAE formulation whereby the numbers that are +# optimized are a lower-bound on the log-likelihood of the data. When +# these 2 HPs deviate from 1.0, one cannot make any statement about +# what those LL lower bounds mean anymore, and they cannot be compared +# (AFAIK). +flags.DEFINE_float("kl_ic_weight", KL_IC_WEIGHT, + "Strength of KL weight on initial conditions KL penatly.") +flags.DEFINE_float("kl_co_weight", KL_CO_WEIGHT, + "Strength of KL weight on controller output KL penalty.") + +# Sometimes the task can be sufficiently hard to learn that the +# optimizer takes the 'easy route', and simply minimizes the KL +# divergence, setting it to near zero, and the optimization gets +# stuck. These two parameters will help avoid that by by getting the +# optimization to 'latch' on to the main optimization, and only +# turning in the regularizers later. +flags.DEFINE_integer("kl_start_step", KL_START_STEP, + "Start increasing weight after this many steps.") +# training passes, not epochs, increase by 0.5 every kl_increase_steps +flags.DEFINE_integer("kl_increase_steps", KL_INCREASE_STEPS, + "Increase weight of kl cost to avoid local minimum.") +# Same story for l2 regularizer. One wants a simple generator, for scientific +# reasons, but not at the expense of hosing the optimization. +flags.DEFINE_integer("l2_start_step", L2_START_STEP, + "Start increasing l2 weight after this many steps.") +flags.DEFINE_integer("l2_increase_steps", L2_INCREASE_STEPS, + "Increase weight of l2 cost to avoid local minimum.") + +FLAGS = flags.FLAGS + + +def build_model(hps, kind="train", datasets=None): + """Builds a model from either random initialization, or saved parameters. + + Args: + hps: The hyper parameters for the model. + kind: (optional) The kind of model to build. Training vs inference require + different graphs. + datasets: The datasets structure (see top of lfads.py). + + Returns: + an LFADS model. + """ + + build_kind = kind + if build_kind == "write_model_params": + build_kind = "train" + with tf.variable_scope("LFADS", reuse=None): + model = LFADS(hps, kind=build_kind, datasets=datasets) + + if not os.path.exists(hps.lfads_save_dir): + print("Save directory %s does not exist, creating it." % hps.lfads_save_dir) + os.makedirs(hps.lfads_save_dir) + + cp_pb_ln = hps.checkpoint_pb_load_name + cp_pb_ln = 'checkpoint' if cp_pb_ln == "" else cp_pb_ln + if cp_pb_ln == 'checkpoint': + print("Loading latest training checkpoint in: ", hps.lfads_save_dir) + saver = model.seso_saver + elif cp_pb_ln == 'checkpoint_lve': + print("Loading lowest validation checkpoint in: ", hps.lfads_save_dir) + saver = model.lve_saver + else: + print("Loading checkpoint: ", cp_pb_ln, ", in: ", hps.lfads_save_dir) + saver = model.seso_saver + + ckpt = tf.train.get_checkpoint_state(hps.lfads_save_dir, + latest_filename=cp_pb_ln) + + session = tf.get_default_session() + print("ckpt: ", ckpt) + if ckpt and tf.train.checkpoint_exists(ckpt.model_checkpoint_path): + print("Reading model parameters from %s" % ckpt.model_checkpoint_path) + saver.restore(session, ckpt.model_checkpoint_path) + else: + print("Created model with fresh parameters.") + if kind in ["posterior_sample_and_average", "prior_sample", + "write_model_params"]: + print("Possible error!!! You are running ", kind, " on a newly \ + initialized model!") + print("Are you sure you sure ", ckpt.model_checkpoint_path, " exists?") + + tf.global_variables_initializer().run() + + if ckpt: + train_step_str = re.search('-[0-9]+$', ckpt.model_checkpoint_path).group() + else: + train_step_str = '-0' + + fname = 'hyperparameters' + train_step_str + '.txt' + hp_fname = os.path.join(hps.lfads_save_dir, fname) + hps_for_saving = jsonify_dict(hps) + utils.write_data(hp_fname, hps_for_saving, use_json=True) + + return model + + +def jsonify_dict(d): + """Turns python booleans into strings so hps dict can be written in json. + Creates a shallow-copied dictionary first, then accomplishes string + conversion. + + Args: + d: hyperparameter dictionary + + Returns: hyperparameter dictionary with bool's as strings + """ + + d2 = d.copy() # shallow copy is fine by assumption of d being shallow + def jsonify_bool(boolean_value): + if boolean_value: + return "true" + else: + return "false" + + for key in d2.keys(): + if isinstance(d2[key], bool): + d2[key] = jsonify_bool(d2[key]) + return d2 + + +def build_hyperparameter_dict(flags): + """Simple script for saving hyper parameters. Under the hood the + flags structure isn't a dictionary, so it has to be simplified since we + want to be able to view file as text. + + Args: + flags: From tf.app.flags + + Returns: + dictionary of hyper parameters (ignoring other flag types). + """ + d = {} + # Data + d['output_dist'] = flags.output_dist + d['data_dir'] = flags.data_dir + d['lfads_save_dir'] = flags.lfads_save_dir + d['checkpoint_pb_load_name'] = flags.checkpoint_pb_load_name + d['checkpoint_name'] = flags.checkpoint_name + d['output_filename_stem'] = flags.output_filename_stem + d['max_ckpt_to_keep'] = flags.max_ckpt_to_keep + d['max_ckpt_to_keep_lve'] = flags.max_ckpt_to_keep_lve + d['ps_nexamples_to_process'] = flags.ps_nexamples_to_process + d['ext_input_dim'] = flags.ext_input_dim + d['data_filename_stem'] = flags.data_filename_stem + d['device'] = flags.device + d['csv_log'] = flags.csv_log + d['num_steps_for_gen_ic'] = flags.num_steps_for_gen_ic + d['inject_ext_input_to_gen'] = flags.inject_ext_input_to_gen + # Cell + d['cell_weight_scale'] = flags.cell_weight_scale + # Generation + d['ic_dim'] = flags.ic_dim + d['factors_dim'] = flags.factors_dim + d['ic_enc_dim'] = flags.ic_enc_dim + d['gen_dim'] = flags.gen_dim + d['gen_cell_input_weight_scale'] = flags.gen_cell_input_weight_scale + d['gen_cell_rec_weight_scale'] = flags.gen_cell_rec_weight_scale + # KL distributions + d['ic_prior_var_min'] = flags.ic_prior_var_min + d['ic_prior_var_scale'] = flags.ic_prior_var_scale + d['ic_prior_var_max'] = flags.ic_prior_var_max + d['ic_post_var_min'] = flags.ic_post_var_min + d['co_prior_var_scale'] = flags.co_prior_var_scale + d['prior_ar_atau'] = flags.prior_ar_atau + d['prior_ar_nvar'] = flags.prior_ar_nvar + d['do_train_prior_ar_atau'] = flags.do_train_prior_ar_atau + d['do_train_prior_ar_nvar'] = flags.do_train_prior_ar_nvar + # Controller + d['do_causal_controller'] = flags.do_causal_controller + d['controller_input_lag'] = flags.controller_input_lag + d['do_feed_factors_to_controller'] = flags.do_feed_factors_to_controller + d['feedback_factors_or_rates'] = flags.feedback_factors_or_rates + d['co_dim'] = flags.co_dim + d['ci_enc_dim'] = flags.ci_enc_dim + d['con_dim'] = flags.con_dim + d['co_mean_corr_scale'] = flags.co_mean_corr_scale + # Optimization + d['batch_size'] = flags.batch_size + d['learning_rate_init'] = flags.learning_rate_init + d['learning_rate_decay_factor'] = flags.learning_rate_decay_factor + d['learning_rate_stop'] = flags.learning_rate_stop + d['learning_rate_n_to_compare'] = flags.learning_rate_n_to_compare + d['max_grad_norm'] = flags.max_grad_norm + d['cell_clip_value'] = flags.cell_clip_value + d['do_train_io_only'] = flags.do_train_io_only + d['do_reset_learning_rate'] = flags.do_reset_learning_rate + + # Overfitting + d['keep_prob'] = flags.keep_prob + d['temporal_spike_jitter_width'] = flags.temporal_spike_jitter_width + d['l2_gen_scale'] = flags.l2_gen_scale + d['l2_con_scale'] = flags.l2_con_scale + # Underfitting + d['kl_ic_weight'] = flags.kl_ic_weight + d['kl_co_weight'] = flags.kl_co_weight + d['kl_start_step'] = flags.kl_start_step + d['kl_increase_steps'] = flags.kl_increase_steps + d['l2_start_step'] = flags.l2_start_step + d['l2_increase_steps'] = flags.l2_increase_steps + + return d + + +class hps_dict_to_obj(dict): + """Helper class allowing us to access hps dictionary more easily.""" + + def __getattr__(self, key): + if key in self: + return self[key] + else: + assert False, ("%s does not exist." % key) + def __setattr__(self, key, value): + self[key] = value + + +def train(hps, datasets): + """Train the LFADS model. + + Args: + hps: The dictionary of hyperparameters. + datasets: A dictionary of data dictionaries. The dataset dict is simply a + name(string)-> data dictionary mapping (See top of lfads.py). + """ + model = build_model(hps, kind="train", datasets=datasets) + if hps.do_reset_learning_rate: + sess = tf.get_default_session() + sess.run(model.learning_rate.initializer) + + model.train_model(datasets) + + +def write_model_runs(hps, datasets, output_fname=None): + """Run the model on the data in data_dict, and save the computed values. + + LFADS generates a number of outputs for each examples, and these are all + saved. They are: + The mean and variance of the prior of g0. + The mean and variance of approximate posterior of g0. + The control inputs (if enabled) + The initial conditions, g0, for all examples. + The generator states for all time. + The factors for all time. + The rates for all time. + + Args: + hps: The dictionary of hyperparameters. + datasets: A dictionary of data dictionaries. The dataset dict is simply a + name(string)-> data dictionary mapping (See top of lfads.py). + output_fname (optional): output filename stem to write the model runs. + """ + model = build_model(hps, kind=hps.kind, datasets=datasets) + model.write_model_runs(datasets, output_fname) + + +def write_model_samples(hps, datasets, dataset_name=None, output_fname=None): + """Use the prior distribution to generate samples from the model. + Generates batch_size number of samples (set through FLAGS). + + LFADS generates a number of outputs for each examples, and these are all + saved. They are: + The mean and variance of the prior of g0. + The control inputs (if enabled) + The initial conditions, g0, for all examples. + The generator states for all time. + The factors for all time. + The output distribution parameters (e.g. rates) for all time. + + Args: + hps: The dictionary of hyperparameters. + datasets: A dictionary of data dictionaries. The dataset dict is simply a + name(string)-> data dictionary mapping (See top of lfads.py). + dataset_name: The name of the dataset to grab the factors -> rates + alignment matrices from. Only a concern with models trained on + multi-session data. By default, uses the first dataset in the data dict. + output_fname: The name prefix of the file in which to save the generated + samples. + """ + if not output_fname: + output_fname = "model_runs_" + hps.kind + else: + output_fname = output_fname + "model_runs_" + hps.kind + if not dataset_name: + dataset_name = datasets.keys()[0] + else: + if dataset_name not in datasets.keys(): + raise ValueError("Invalid dataset name '%s'."%(dataset_name)) + model = build_model(hps, kind=hps.kind, datasets=datasets) + model.write_model_samples(dataset_name, output_fname) + + +def write_model_parameters(hps, output_fname=None, datasets=None): + """Save all the model parameters + + Save all the parameters to hps.lfads_save_dir. + + Args: + hps: The dictionary of hyperparameters. + output_fname: The prefix of the file in which to save the generated + samples. + datasets: A dictionary of data dictionaries. The dataset dict is simply a + name(string)-> data dictionary mapping (See top of lfads.py). + """ + if not output_fname: + output_fname = "model_params" + else: + output_fname = output_fname + "_model_params" + fname = os.path.join(hps.lfads_save_dir, output_fname) + print("Writing model parameters to: ", fname) + # save the optimizer params as well + model = build_model(hps, kind="write_model_params", datasets=datasets) + model_params = model.eval_model_parameters(use_nested=False, + include_strs="LFADS") + utils.write_data(fname, model_params, compression=None) + print("Done.") + + +def clean_data_dict(data_dict): + """Add some key/value pairs to the data dict, if they are missing. + Args: + data_dict - dictionary containing data for LFADS + Returns: + data_dict with some keys filled in, if they are absent. + """ + + keys = ['train_truth', 'train_ext_input', 'valid_data', + 'valid_truth', 'valid_ext_input', 'valid_train'] + for k in keys: + if k not in data_dict: + data_dict[k] = None + + return data_dict + + +def load_datasets(data_dir, data_filename_stem): + """Load the datasets from a specified directory. + + Example files look like + >data_dir/my_dataset_first_day + >data_dir/my_dataset_second_day + + If my_dataset (filename) stem is in the directory, the read routine will try + and load it. The datasets dictionary will then look like + dataset['first_day'] -> (first day data dictionary) + dataset['second_day'] -> (first day data dictionary) + + Args: + data_dir: The directory from which to load the datasets. + data_filename_stem: The stem of the filename for the datasets. + + Returns: + datasets: a dataset dictionary, with one name->data dictionary pair for + each dataset file. + """ + print("Reading data from ", data_dir) + datasets = utils.read_datasets(data_dir, data_filename_stem) + for k, data_dict in datasets.items(): + datasets[k] = clean_data_dict(data_dict) + + train_total_size = len(data_dict['train_data']) + if train_total_size == 0: + print("Did not load training set.") + else: + print("Found training set with number examples: ", train_total_size) + + valid_total_size = len(data_dict['valid_data']) + if valid_total_size == 0: + print("Did not load validation set.") + else: + print("Found validation set with number examples: ", valid_total_size) + + return datasets + + +def main(_): + """Get this whole shindig off the ground.""" + d = build_hyperparameter_dict(FLAGS) + hps = hps_dict_to_obj(d) # hyper parameters + kind = FLAGS.kind + + # Read the data, if necessary. + train_set = valid_set = None + if kind in ["train", "posterior_sample_and_average", "prior_sample", + "write_model_params"]: + datasets = load_datasets(hps.data_dir, hps.data_filename_stem) + else: + raise ValueError('Kind {} is not supported.'.format(kind)) + + # infer the dataset names and dataset dimensions from the loaded files + hps.kind = kind # needs to be added here, cuz not saved as hyperparam + hps.dataset_names = [] + hps.dataset_dims = {} + for key in datasets: + hps.dataset_names.append(key) + hps.dataset_dims[key] = datasets[key]['data_dim'] + + # also store down the dimensionality of the data + # - just pull from one set, required to be same for all sets + hps.num_steps = datasets.values()[0]['num_steps'] + hps.ndatasets = len(hps.dataset_names) + + if hps.num_steps_for_gen_ic > hps.num_steps: + hps.num_steps_for_gen_ic = hps.num_steps + + # Build and run the model, for varying purposes. + config = tf.ConfigProto(allow_soft_placement=True, + log_device_placement=False) + if FLAGS.allow_gpu_growth: + config.gpu_options.allow_growth = True + sess = tf.Session(config=config) + with sess.as_default(): + with tf.device(hps.device): + if kind == "train": + train(hps, datasets) + elif kind == "posterior_sample_and_average": + write_model_runs(hps, datasets, hps.output_filename_stem) + elif kind == "prior_sample": + write_model_samples(hps, datasets, hps.output_filename_stem) + elif kind == "write_model_params": + write_model_parameters(hps, hps.output_filename_stem, datasets) + else: + assert False, ("Kind %s is not implemented. " % kind) + + +if __name__ == "__main__": + tf.app.run() + diff --git a/lfads/synth_data/generate_chaotic_rnn_data.py b/lfads/synth_data/generate_chaotic_rnn_data.py new file mode 100644 index 000000000..a89936df6 --- /dev/null +++ b/lfads/synth_data/generate_chaotic_rnn_data.py @@ -0,0 +1,193 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== +from __future__ import print_function + +import h5py +import numpy as np +import os +import tensorflow as tf # used for flags here + +from utils import write_datasets +from synthetic_data_utils import add_alignment_projections, generate_data +from synthetic_data_utils import generate_rnn, get_train_n_valid_inds +from synthetic_data_utils import nparray_and_transpose +from synthetic_data_utils import spikify_data, split_list_by_inds +import matplotlib +import matplotlib.pyplot as plt +import scipy.signal + +matplotlib.rcParams['image.interpolation'] = 'nearest' +DATA_DIR = "rnn_synth_data_v1.0" + +flags = tf.app.flags +flags.DEFINE_string("save_dir", "/tmp/" + DATA_DIR + "/", + "Directory for saving data.") +flags.DEFINE_string("datafile_name", "thits_data", + "Name of data file for input case.") +flags.DEFINE_integer("synth_data_seed", 5, "Random seed for RNN generation.") +flags.DEFINE_float("T", 1.0, "Time in seconds to generate.") +flags.DEFINE_integer("C", 100, "Number of conditions") +flags.DEFINE_integer("N", 50, "Number of units for the RNN") +flags.DEFINE_integer("S", 50, "Number of sampled units from RNN") +flags.DEFINE_integer("npcs", 10, "Number of PCS for multi-session case.") +flags.DEFINE_float("train_percentage", 4.0/5.0, + "Percentage of train vs validation trials") +flags.DEFINE_integer("nspikifications", 40, + "Number of spikifications of the same underlying rates.") +flags.DEFINE_float("g", 1.5, "Complexity of dynamics") +flags.DEFINE_float("x0_std", 1.0, + "Volume from which to pull initial conditions (affects diversity of dynamics.") +flags.DEFINE_float("tau", 0.025, "Time constant of RNN") +flags.DEFINE_float("dt", 0.010, "Time bin") +flags.DEFINE_float("input_magnitude", 20.0, + "For the input case, what is the value of the input?") +flags.DEFINE_float("max_firing_rate", 30.0, "Map 1.0 of RNN to a spikes per second") +FLAGS = flags.FLAGS + + +# Note that with N small, (as it is 25 above), the finite size effects +# will have pretty dramatic effects on the dynamics of the random RNN. +# If you want more complex dynamics, you'll have to run the script a +# lot, or increase N (or g). + +# Getting hard vs. easy data can be a little stochastic, so we set the seed. + +# Pull out some commonly used parameters. +# These are user parameters (configuration) +rng = np.random.RandomState(seed=FLAGS.synth_data_seed) +T = FLAGS.T +C = FLAGS.C +N = FLAGS.N +S = FLAGS.S +input_magnitude = FLAGS.input_magnitude +nspikifications = FLAGS.nspikifications +E = nspikifications * C # total number of trials +# S is the number of measurements in each datasets, w/ each +# dataset having a different set of observations. +ndatasets = N/S # ok if rounded down +train_percentage = FLAGS.train_percentage +ntime_steps = int(T / FLAGS.dt) +# End of user parameters + +rnn = generate_rnn(rng, N, FLAGS.g, FLAGS.tau, FLAGS.dt, FLAGS.max_firing_rate) + +# Check to make sure the RNN is the one we used in the paper. +if N == 50: + assert abs(rnn['W'][0,0] - 0.06239899) < 1e-8, 'Error in random seed?' + rem_check = nspikifications * train_percentage + assert abs(rem_check - int(rem_check)) < 1e-8, \ + 'Train percentage * nspikifications should be integral number.' + + +# Initial condition generation, and condition label generation. This +# happens outside of the dataset loop, so that all datasets have the +# same conditions, which is similar to a neurophys setup. +condition_number = 0 +x0s = [] +condition_labels = [] +for c in range(C): + x0 = FLAGS.x0_std * rng.randn(N, 1) + x0s.append(np.tile(x0, nspikifications)) # replicate x0 nspikifications times + # replicate the condition label nspikifications times + for ns in range(nspikifications): + condition_labels.append(condition_number) + condition_number += 1 +x0s = np.concatenate(x0s, axis=1) + +# Containers for storing data across data. +datasets = {} +for n in range(ndatasets): + print(n+1, " of ", ndatasets) + + # First generate all firing rates. in the next loop, generate all + # spikifications this allows the random state for rate generation to be + # independent of n_spikifications. + dataset_name = 'dataset_N' + str(N) + '_S' + str(S) + if S < N: + dataset_name += '_n' + str(n+1) + + # Sample neuron subsets. The assumption is the PC axes of the RNN + # are not unit aligned, so sampling units is adequate to sample all + # the high-variance PCs. + P_sxn = np.eye(S,N) + for m in range(n): + P_sxn = np.roll(P_sxn, S, axis=1) + + if input_magnitude > 0.0: + # time of "hits" randomly chosen between [1/4 and 3/4] of total time + input_times = rng.choice(int(ntime_steps/2), size=[E]) + int(ntime_steps/4) + else: + input_times = None + + rates, x0s, inputs = \ + generate_data(rnn, T=T, E=E, x0s=x0s, P_sxn=P_sxn, + input_magnitude=input_magnitude, + input_times=input_times) + spikes = spikify_data(rates, rng, rnn['dt'], rnn['max_firing_rate']) + + # split into train and validation sets + train_inds, valid_inds = get_train_n_valid_inds(E, train_percentage, + nspikifications) + + # Split the data, inputs, labels and times into train vs. validation. + rates_train, rates_valid = \ + split_list_by_inds(rates, train_inds, valid_inds) + spikes_train, spikes_valid = \ + split_list_by_inds(spikes, train_inds, valid_inds) + input_train, inputs_valid = \ + split_list_by_inds(inputs, train_inds, valid_inds) + condition_labels_train, condition_labels_valid = \ + split_list_by_inds(condition_labels, train_inds, valid_inds) + input_times_train, input_times_valid = \ + split_list_by_inds(input_times, train_inds, valid_inds) + + # Turn rates, spikes, and input into numpy arrays. + rates_train = nparray_and_transpose(rates_train) + rates_valid = nparray_and_transpose(rates_valid) + spikes_train = nparray_and_transpose(spikes_train) + spikes_valid = nparray_and_transpose(spikes_valid) + input_train = nparray_and_transpose(input_train) + inputs_valid = nparray_and_transpose(inputs_valid) + + # Note that we put these 'truth' rates and input into this + # structure, the only data that is used in LFADS are the spike + # trains. The rest is either for printing or posterity. + data = {'train_truth': rates_train, + 'valid_truth': rates_valid, + 'input_train_truth' : input_train, + 'input_valid_truth' : inputs_valid, + 'train_data' : spikes_train, + 'valid_data' : spikes_valid, + 'train_percentage' : train_percentage, + 'nspikifications' : nspikifications, + 'dt' : rnn['dt'], + 'input_magnitude' : input_magnitude, + 'input_times_train' : input_times_train, + 'input_times_valid' : input_times_valid, + 'P_sxn' : P_sxn, + 'condition_labels_train' : condition_labels_train, + 'condition_labels_valid' : condition_labels_valid, + 'conversion_factor': 1.0 / rnn['conversion_factor']} + datasets[dataset_name] = data + +if S < N: + # Note that this isn't necessary for this synthetic example, but + # it's useful to see how the input factor matrices were initialized + # for actual neurophysiology data. + datasets = add_alignment_projections(datasets, npcs=FLAGS.npcs) + +# Write out the datasets. +write_datasets(FLAGS.save_dir, FLAGS.datafile_name, datasets) diff --git a/lfads/synth_data/generate_itb_data.py b/lfads/synth_data/generate_itb_data.py new file mode 100644 index 000000000..e2e54179e --- /dev/null +++ b/lfads/synth_data/generate_itb_data.py @@ -0,0 +1,208 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== +from __future__ import print_function + +import h5py +import numpy as np +import os +import tensorflow as tf + +from utils import write_datasets +from synthetic_data_utils import normalize_rates +from synthetic_data_utils import get_train_n_valid_inds, nparray_and_transpose +from synthetic_data_utils import spikify_data, split_list_by_inds + +DATA_DIR = "rnn_synth_data_v1.0" + +flags = tf.app.flags +flags.DEFINE_string("save_dir", "/tmp/" + DATA_DIR + "/", + "Directory for saving data.") +flags.DEFINE_string("datafile_name", "itb_rnn", + "Name of data file for input case.") +flags.DEFINE_integer("synth_data_seed", 5, "Random seed for RNN generation.") +flags.DEFINE_float("T", 1.0, "Time in seconds to generate.") +flags.DEFINE_integer("C", 800, "Number of conditions") +flags.DEFINE_integer("N", 50, "Number of units for the RNN") +flags.DEFINE_float("train_percentage", 4.0/5.0, + "Percentage of train vs validation trials") +flags.DEFINE_integer("nspikifications", 5, + "Number of spikifications of the same underlying rates.") +flags.DEFINE_float("tau", 0.025, "Time constant of RNN") +flags.DEFINE_float("dt", 0.010, "Time bin") +flags.DEFINE_float("max_firing_rate", 30.0, + "Map 1.0 of RNN to a spikes per second") +flags.DEFINE_float("u_std", 0.25, + "Std dev of input to integration to bound model") +flags.DEFINE_string("checkpoint_path", "SAMPLE_CHECKPOINT", + """Path to directory with checkpoints of model + trained on integration to bound task. Currently this + is a placeholder which tells the code to grab the + checkpoint that is provided with the code + (in /trained_itb/..). If you have your own checkpoint + you would like to restore, you would point it to + that path.""") +FLAGS = flags.FLAGS + + +class IntegrationToBoundModel: + def __init__(self, N): + scale = 0.8 / float(N**0.5) + self.N = N + self.Wh_nxn = tf.Variable(tf.random_normal([N, N], stddev=scale)) + self.b_1xn = tf.Variable(tf.zeros([1, N])) + self.Bu_1xn = tf.Variable(tf.zeros([1, N])) + self.Wro_nxo = tf.Variable(tf.random_normal([N, 1], stddev=scale)) + self.bro_o = tf.Variable(tf.zeros([1])) + + def call(self, h_tm1_bxn, u_bx1): + act_t_bxn = tf.matmul(h_tm1_bxn, self.Wh_nxn) + self.b_1xn + u_bx1 * self.Bu_1xn + h_t_bxn = tf.nn.tanh(act_t_bxn) + z_t = tf.nn.xw_plus_b(h_t_bxn, self.Wro_nxo, self.bro_o) + return z_t, h_t_bxn + +def get_data_batch(batch_size, T, rng, u_std): + u_bxt = rng.randn(batch_size, T) * u_std + running_sum_b = np.zeros([batch_size]) + labels_bxt = np.zeros([batch_size, T]) + for t in xrange(T): + running_sum_b += u_bxt[:, t] + labels_bxt[:, t] += running_sum_b + labels_bxt = np.clip(labels_bxt, -1, 1) + return u_bxt, labels_bxt + + +rng = np.random.RandomState(seed=FLAGS.synth_data_seed) +u_rng = np.random.RandomState(seed=FLAGS.synth_data_seed+1) +T = FLAGS.T +C = FLAGS.C +N = FLAGS.N # must be same N as in trained model (provided example is N = 50) +nspikifications = FLAGS.nspikifications +E = nspikifications * C # total number of trials +train_percentage = FLAGS.train_percentage +ntimesteps = int(T / FLAGS.dt) +batch_size = 1 # gives one example per ntrial + +model = IntegrationToBoundModel(N) +inputs_ph_t = [tf.placeholder(tf.float32, + shape=[None, 1]) for _ in range(ntimesteps)] +state = tf.zeros([batch_size, N]) +saver = tf.train.Saver() + +P_nxn = rng.randn(N,N) / np.sqrt(N) # random projections + +# unroll RNN for T timesteps +outputs_t = [] +states_t = [] + +for inp in inputs_ph_t: + output, state = model.call(state, inp) + outputs_t.append(output) + states_t.append(state) + +with tf.Session() as sess: + # restore the latest model ckpt + if FLAGS.checkpoint_path == "SAMPLE_CHECKPOINT": + dir_path = os.path.dirname(os.path.realpath(__file__)) + model_checkpoint_path = os.path.join(dir_path, "trained_itb/model-65000") + else: + model_checkpoint_path = FLAGS.checkpoint_path + try: + saver.restore(sess, model_checkpoint_path) + print ('Model restored from', model_checkpoint_path) + except: + assert False, ("No checkpoints to restore from, is the path %s correct?" + %model_checkpoint_path) + + # generate data for trials + data_e = [] + u_e = [] + outs_e = [] + for c in range(C): + u_1xt, outs_1xt = get_data_batch(batch_size, ntimesteps, u_rng, FLAGS.u_std) + + feed_dict = {} + for t in xrange(ntimesteps): + feed_dict[inputs_ph_t[t]] = np.reshape(u_1xt[:,t], (batch_size,-1)) + + states_t_bxn, outputs_t_bxn = sess.run([states_t, outputs_t], + feed_dict=feed_dict) + states_nxt = np.transpose(np.squeeze(np.asarray(states_t_bxn))) + outputs_t_bxn = np.squeeze(np.asarray(outputs_t_bxn)) + r_sxt = np.dot(P_nxn, states_nxt) + + for s in xrange(nspikifications): + data_e.append(r_sxt) + u_e.append(u_1xt) + outs_e.append(outputs_t_bxn) + + truth_data_e = normalize_rates(data_e, E, N) + +spiking_data_e = spikify_data(truth_data_e, rng, dt=FLAGS.dt, + max_firing_rate=FLAGS.max_firing_rate) +train_inds, valid_inds = get_train_n_valid_inds(E, train_percentage, + nspikifications) + +data_train_truth, data_valid_truth = split_list_by_inds(truth_data_e, + train_inds, + valid_inds) +data_train_spiking, data_valid_spiking = split_list_by_inds(spiking_data_e, + train_inds, + valid_inds) + +data_train_truth = nparray_and_transpose(data_train_truth) +data_valid_truth = nparray_and_transpose(data_valid_truth) +data_train_spiking = nparray_and_transpose(data_train_spiking) +data_valid_spiking = nparray_and_transpose(data_valid_spiking) + +# save down the inputs used to generate this data +train_inputs_u, valid_inputs_u = split_list_by_inds(u_e, + train_inds, + valid_inds) +train_inputs_u = nparray_and_transpose(train_inputs_u) +valid_inputs_u = nparray_and_transpose(valid_inputs_u) + +# save down the network outputs (may be useful later) +train_outputs_u, valid_outputs_u = split_list_by_inds(outs_e, + train_inds, + valid_inds) +train_outputs_u = np.array(train_outputs_u) +valid_outputs_u = np.array(valid_outputs_u) + + +data = { 'train_truth': data_train_truth, + 'valid_truth': data_valid_truth, + 'train_data' : data_train_spiking, + 'valid_data' : data_valid_spiking, + 'train_percentage' : train_percentage, + 'nspikifications' : nspikifications, + 'dt' : FLAGS.dt, + 'u_std' : FLAGS.u_std, + 'max_firing_rate': FLAGS.max_firing_rate, + 'train_inputs_u': train_inputs_u, + 'valid_inputs_u': valid_inputs_u, + 'train_outputs_u': train_outputs_u, + 'valid_outputs_u': valid_outputs_u, + 'conversion_factor' : FLAGS.max_firing_rate/(1.0/FLAGS.dt) } + +# just one dataset here +datasets = {} +dataset_name = 'dataset_N' + str(N) +datasets[dataset_name] = data + +# write out the dataset +write_datasets(FLAGS.save_dir, FLAGS.datafile_name, datasets) +print ('Saved to ', os.path.join(FLAGS.save_dir, + FLAGS.datafile_name + '_' + dataset_name)) diff --git a/lfads/synth_data/generate_labeled_rnn_data.py b/lfads/synth_data/generate_labeled_rnn_data.py new file mode 100644 index 000000000..8cb40908a --- /dev/null +++ b/lfads/synth_data/generate_labeled_rnn_data.py @@ -0,0 +1,146 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== +from __future__ import print_function + +import os +import h5py +import numpy as np + +from synthetic_data_utils import generate_data, generate_rnn +from synthetic_data_utils import get_train_n_valid_inds +from synthetic_data_utils import nparray_and_transpose +from synthetic_data_utils import spikify_data, split_list_by_inds +import tensorflow as tf +from utils import write_datasets + +DATA_DIR = "rnn_synth_data_v1.0" + +flags = tf.app.flags +flags.DEFINE_string("save_dir", "/tmp/" + DATA_DIR + "/", + "Directory for saving data.") +flags.DEFINE_string("datafile_name", "conditioned_rnn_data", + "Name of data file for input case.") +flags.DEFINE_integer("synth_data_seed", 5, "Random seed for RNN generation.") +flags.DEFINE_float("T", 1.0, "Time in seconds to generate.") +flags.DEFINE_integer("C", 400, "Number of conditions") +flags.DEFINE_integer("N", 50, "Number of units for the RNN") +flags.DEFINE_float("train_percentage", 4.0/5.0, + "Percentage of train vs validation trials") +flags.DEFINE_integer("nspikifications", 10, + "Number of spikifications of the same underlying rates.") +flags.DEFINE_float("g", 1.5, "Complexity of dynamics") +flags.DEFINE_float("x0_std", 1.0, + "Volume from which to pull initial conditions (affects diversity of dynamics.") +flags.DEFINE_float("tau", 0.025, "Time constant of RNN") +flags.DEFINE_float("dt", 0.010, "Time bin") +flags.DEFINE_float("max_firing_rate", 30.0, "Map 1.0 of RNN to a spikes per second") +FLAGS = flags.FLAGS + +rng = np.random.RandomState(seed=FLAGS.synth_data_seed) +rnn_rngs = [np.random.RandomState(seed=FLAGS.synth_data_seed+1), + np.random.RandomState(seed=FLAGS.synth_data_seed+2)] +T = FLAGS.T +C = FLAGS.C +N = FLAGS.N +nspikifications = FLAGS.nspikifications +E = nspikifications * C +train_percentage = FLAGS.train_percentage +ntimesteps = int(T / FLAGS.dt) + +rnn_a = generate_rnn(rnn_rngs[0], N, FLAGS.g, FLAGS.tau, FLAGS.dt, + FLAGS.max_firing_rate) +rnn_b = generate_rnn(rnn_rngs[1], N, FLAGS.g, FLAGS.tau, FLAGS.dt, + FLAGS.max_firing_rate) +rnns = [rnn_a, rnn_b] + +# pick which RNN is used on each trial +rnn_to_use = rng.randint(2, size=E) +ext_input = np.repeat(np.expand_dims(rnn_to_use, axis=1), ntimesteps, axis=1) +ext_input = np.expand_dims(ext_input, axis=2) # these are "a's" in the paper + +x0s = [] +condition_labels = [] +condition_number = 0 +for c in range(C): + x0 = FLAGS.x0_std * rng.randn(N, 1) + x0s.append(np.tile(x0, nspikifications)) + for ns in range(nspikifications): + condition_labels.append(condition_number) + condition_number += 1 +x0s = np.concatenate(x0s, axis=1) + +P_nxn = rng.randn(N, N) / np.sqrt(N) + +# generate trials for both RNNs +rates_a, x0s_a, _ = generate_data(rnn_a, T=T, E=E, x0s=x0s, P_sxn=P_nxn, + input_magnitude=0.0, input_times=None) +spikes_a = spikify_data(rates_a, rng, rnn_a['dt'], rnn_a['max_firing_rate']) + +rates_b, x0s_b, _ = generate_data(rnn_b, T=T, E=E, x0s=x0s, P_sxn=P_nxn, + input_magnitude=0.0, input_times=None) +spikes_b = spikify_data(rates_b, rng, rnn_b['dt'], rnn_b['max_firing_rate']) + +# not the best way to do this but E is small enough +rates = [] +spikes = [] +for trial in xrange(E): + if rnn_to_use[trial] == 0: + rates.append(rates_a[trial]) + spikes.append(spikes_a[trial]) + else: + rates.append(rates_b[trial]) + spikes.append(spikes_b[trial]) + +# split into train and validation sets +train_inds, valid_inds = get_train_n_valid_inds(E, train_percentage, + nspikifications) + +rates_train, rates_valid = split_list_by_inds(rates, train_inds, valid_inds) +spikes_train, spikes_valid = split_list_by_inds(spikes, train_inds, valid_inds) +condition_labels_train, condition_labels_valid = split_list_by_inds( + condition_labels, train_inds, valid_inds) +ext_input_train, ext_input_valid = split_list_by_inds( + ext_input, train_inds, valid_inds) + +rates_train = nparray_and_transpose(rates_train) +rates_valid = nparray_and_transpose(rates_valid) +spikes_train = nparray_and_transpose(spikes_train) +spikes_valid = nparray_and_transpose(spikes_valid) + +# add train_ext_input and valid_ext input +data = {'train_truth': rates_train, + 'valid_truth': rates_valid, + 'train_data' : spikes_train, + 'valid_data' : spikes_valid, + 'train_ext_input' : np.array(ext_input_train), + 'valid_ext_input': np.array(ext_input_valid), + 'train_percentage' : train_percentage, + 'nspikifications' : nspikifications, + 'dt' : FLAGS.dt, + 'P_sxn' : P_nxn, + 'condition_labels_train' : condition_labels_train, + 'condition_labels_valid' : condition_labels_valid, + 'conversion_factor': 1.0 / rnn_a['conversion_factor']} + +# just one dataset here +datasets = {} +dataset_name = 'dataset_N' + str(N) +datasets[dataset_name] = data + +# write out the dataset +write_datasets(FLAGS.save_dir, FLAGS.datafile_name, datasets) +print ('Saved to ', os.path.join(FLAGS.save_dir, + FLAGS.datafile_name + '_' + dataset_name)) diff --git a/lfads/synth_data/run_generate_synth_data.sh b/lfads/synth_data/run_generate_synth_data.sh new file mode 100755 index 000000000..c73fee5b1 --- /dev/null +++ b/lfads/synth_data/run_generate_synth_data.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== + +SYNTH_PATH=/tmp/rnn_synth_data_v1.0/ + +echo "Generating chaotic rnn data with no input pulses (g=1.5)" +python generate_chaotic_rnn_data.py --save_dir=$SYNTH_PATH --datafile_name=chaotic_rnn_no_inputs --synth_data_seed=5 --T=1.0 --C=400 --N=50 --S=50 --train_percentage=0.8 --nspikifications=10 --g=1.5 --x0_std=1.0 --tau=0.025 --dt=0.01 --input_magnitude=0.0 --max_firing_rate=30.0 + +echo "Generating chaotic rnn data with input pulses (g=1.5)" +python generate_chaotic_rnn_data.py --save_dir=$SYNTH_PATH --datafile_name=chaotic_rnn_inputs_g1p5 --synth_data_seed=5 --T=1.0 --C=400 --N=50 --S=50 --train_percentage=0.8 --nspikifications=10 --g=1.5 --x0_std=1.0 --tau=0.025 --dt=0.01 --input_magnitude=20.0 --max_firing_rate=30.0 + +echo "Generating chaotic rnn data with input pulses (g=2.5)" +python generate_chaotic_rnn_data.py --save_dir=$SYNTH_PATH --datafile_name=chaotic_rnn_inputs_g2p5 --synth_data_seed=5 --T=1.0 --C=400 --N=50 --S=50 --train_percentage=0.8 --nspikifications=10 --g=2.5 --x0_std=1.0 --tau=0.025 --dt=0.01 --input_magnitude=20.0 --max_firing_rate=30.0 + +echo "Generate the multi-session RNN data (no multi-session synth example in paper)" +python generate_chaotic_rnn_data.py --save_dir=$SYNTH_PATH --datafile_name=chaotic_rnn_multisession --synth_data_seed=5 --T=1.0 --C=150 --N=100 --S=20 --npcs=10 --train_percentage=0.8 --nspikifications=40 --g=1.5 --x0_std=1.0 --tau=0.025 --dt=0.01 --input_magnitude=0.0 --max_firing_rate=30.0 + +echo "Generating Integration-to-bound RNN data" +python generate_itb_data.py --save_dir=$SYNTH_PATH --datafile_name=itb_rnn --u_std=0.25 --checkpoint_path=SAMPLE_CHECKPOINT --synth_data_seed=5 --T=1.0 --C=800 --N=50 --train_percentage=0.8 --nspikifications=5 --tau=0.025 --dt=0.01 --max_firing_rate=30.0 + +echo "Generating chaotic rnn data with external input labels (no external input labels example in paper)" +python generate_labeled_rnn_data.py --save_dir=$SYNTH_PATH --datafile_name=chaotic_rnns_labeled --synth_data_seed=5 --T=1.0 --C=400 --N=50 --train_percentage=0.8 --nspikifications=10 --g=1.5 --x0_std=1.0 --tau=0.025 --dt=0.01 --max_firing_rate=30.0 diff --git a/lfads/synth_data/synthetic_data_utils.py b/lfads/synth_data/synthetic_data_utils.py new file mode 100644 index 000000000..d01031c19 --- /dev/null +++ b/lfads/synth_data/synthetic_data_utils.py @@ -0,0 +1,322 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== +from __future__ import print_function + +import h5py +import numpy as np +import os + +from utils import write_datasets +import matplotlib +import matplotlib.pyplot as plt +import scipy.signal + + +def generate_rnn(rng, N, g, tau, dt, max_firing_rate): + """Create a (vanilla) RNN with a bunch of hyper parameters for generating +chaotic data. + Args: + rng: numpy random number generator + N: number of hidden units + g: scaling of recurrent weight matrix in g W, with W ~ N(0,1/N) + tau: time scale of individual unit dynamics + dt: time step for equation updates + max_firing_rate: how to resecale the -1,1 firing rates + Returns: + the dictionary of these parameters, plus some others. +""" + rnn = {} + rnn['N'] = N + rnn['W'] = rng.randn(N,N)/np.sqrt(N) + rnn['Bin'] = rng.randn(N)/np.sqrt(1.0) + rnn['Bin2'] = rng.randn(N)/np.sqrt(1.0) + rnn['b'] = np.zeros(N) + rnn['g'] = g + rnn['tau'] = tau + rnn['dt'] = dt + rnn['max_firing_rate'] = max_firing_rate + mfr = rnn['max_firing_rate'] # spikes / sec + nbins_per_sec = 1.0/rnn['dt'] # bins / sec + # Used for plotting in LFADS + rnn['conversion_factor'] = mfr / nbins_per_sec # spikes / bin + return rnn + + +def generate_data(rnn, T, E, x0s=None, P_sxn=None, input_magnitude=0.0, + input_times=None): + """ Generates data from an randomly initialized RNN. + Args: + rnn: the rnn + T: Time in seconds to run (divided by rnn['dt'] to get steps, rounded down. + E: total number of examples + S: number of samples (subsampling N) + Returns: + A list of length E of NxT tensors of the network being run. + """ + N = rnn['N'] + def run_rnn(rnn, x0, ntime_steps, input_time=None): + rs = np.zeros([N,ntime_steps]) + x_tm1 = x0 + r_tm1 = np.tanh(x0) + tau = rnn['tau'] + dt = rnn['dt'] + alpha = (1.0-dt/tau) + W = dt/tau*rnn['W']*rnn['g'] + Bin = dt/tau*rnn['Bin'] + Bin2 = dt/tau*rnn['Bin2'] + b = dt/tau*rnn['b'] + + us = np.zeros([1, ntime_steps]) + for t in range(ntime_steps): + x_t = alpha*x_tm1 + np.dot(W,r_tm1) + b + if input_time is not None and t == input_time: + us[0,t] = input_magnitude + x_t += Bin * us[0,t] # DCS is this what was used? + r_t = np.tanh(x_t) + x_tm1 = x_t + r_tm1 = r_t + rs[:,t] = r_t + return rs, us + + if P_sxn is None: + P_sxn = np.eye(N) + ntime_steps = int(T / rnn['dt']) + data_e = [] + inputs_e = [] + for e in range(E): + input_time = input_times[e] if input_times is not None else None + r_nxt, u_uxt = run_rnn(rnn, x0s[:,e], ntime_steps, input_time) + r_sxt = np.dot(P_sxn, r_nxt) + inputs_e.append(u_uxt) + data_e.append(r_sxt) + + S = P_sxn.shape[0] + data_e = normalize_rates(data_e, E, S) + + return data_e, x0s, inputs_e + + +def normalize_rates(data_e, E, S): + # Normalization, made more complex because of the P matrices. + # Normalize by min and max in each channel. This normalization will + # cause offset differences between identical rnn runs, but different + # t hits. + for e in range(E): + r_sxt = data_e[e] + for i in range(S): + rmin = np.min(r_sxt[i,:]) + rmax = np.max(r_sxt[i,:]) + assert rmax - rmin != 0, 'Something wrong' + r_sxt[i,:] = (r_sxt[i,:] - rmin)/(rmax-rmin) + data_e[e] = r_sxt + return data_e + + +def spikify_data(data_e, rng, dt=1.0, max_firing_rate=100): + """ Apply spikes to a continuous dataset whose values are between 0.0 and 1.0 + Args: + data_e: nexamples length list of NxT trials + dt: how often the data are sampled + max_firing_rate: the firing rate that is associated with a value of 1.0 + Returns: + spikified_data_e: a list of length b of the data represented as spikes, + sampled from the underlying poisson process. + """ + + spikifies_data_e = [] + E = len(data_e) + spikes_e = [] + for e in range(E): + data = data_e[e] + N,T = data.shape + data_s = np.zeros([N,T]).astype(np.int) + for n in range(N): + f = data[n,:] + s = rng.poisson(f*max_firing_rate*dt, size=T) + data_s[n,:] = s + spikes_e.append(data_s) + + return spikes_e + + +def get_train_n_valid_inds(num_trials, train_fraction, nspikifications): + """Split the numbers between 0 and num_trials-1 into two portions for + training and validation, based on the train fraction. + Args: + num_trials: the number of trials + train_fraction: (e.g. .80) + nspikifications: the number of spiking trials per initial condition + Returns: + a 2-tuple of two lists: the training indices and validation indices + """ + train_inds = [] + valid_inds = [] + for i in range(num_trials): + # This line divides up the trials so that within one initial condition, + # the randomness of spikifying the condition is shared among both + # training and validation data splits. + if (i % nspikifications)+1 > train_fraction * nspikifications: + valid_inds.append(i) + else: + train_inds.append(i) + + return train_inds, valid_inds + + +def split_list_by_inds(data, inds1, inds2): + """Take the data, a list, and split it up based on the indices in inds1 and + inds2. + Args: + data: the list of data to split + inds1, the first list of indices + inds2, the second list of indices + Returns: a 2-tuple of two lists. + """ + if data is None or len(data) == 0: + return [], [] + else: + dout1 = [data[i] for i in inds1] + dout2 = [data[i] for i in inds2] + return dout1, dout2 + + +def nparray_and_transpose(data_a_b_c): + """Convert the list of items in data to a numpy array, and transpose it + Args: + data: data_asbsc: a nested, nested list of length a, with sublist length + b, with sublist length c. + Returns: + a numpy 3-tensor with dimensions a x c x b +""" + data_axbxc = np.array([datum_b_c for datum_b_c in data_a_b_c]) + data_axcxb = np.transpose(data_axbxc, axes=[0,2,1]) + return data_axcxb + + +def add_alignment_projections(datasets, npcs, ntime=None, nsamples=None): + """Create a matrix that aligns the datasets a bit, under + the assumption that each dataset is observing the same underlying dynamical + system. + + Args: + datasets: The dictionary of dataset structures. + npcs: The number of pcs for each, basically like lfads factors. + nsamples (optional): Number of samples to take for each dataset. + ntime (optional): Number of time steps to take in each sample. + + Returns: + The dataset structures, with the field alignment_matrix_cxf added. + This is # channels x npcs dimension +""" + nchannels_all = 0 + channel_idxs = {} + conditions_all = {} + nconditions_all = 0 + for name, dataset in datasets.items(): + cidxs = np.where(dataset['P_sxn'])[1] # non-zero entries in columns + channel_idxs[name] = [cidxs[0], cidxs[-1]+1] + nchannels_all += cidxs[-1]+1 - cidxs[0] + conditions_all[name] = np.unique(dataset['condition_labels_train']) + + all_conditions_list = \ + np.unique(np.ndarray.flatten(np.array(conditions_all.values()))) + nconditions_all = all_conditions_list.shape[0] + + if ntime is None: + ntime = dataset['train_data'].shape[1] + if nsamples is None: + nsamples = dataset['train_data'].shape[0] + + # In the data workup in the paper, Chethan did intra condition + # averaging, so let's do that here. + avg_data_all = {} + for name, conditions in conditions_all.items(): + dataset = datasets[name] + avg_data_all[name] = {} + for cname in conditions: + td_idxs = np.argwhere(np.array(dataset['condition_labels_train'])==cname) + data = np.squeeze(dataset['train_data'][td_idxs,:,:], axis=1) + avg_data = np.mean(data, axis=0) + avg_data_all[name][cname] = avg_data + + # Visualize this in the morning. + all_data_nxtc = np.zeros([nchannels_all, ntime * nconditions_all]) + for name, dataset in datasets.items(): + cidx_s = channel_idxs[name][0] + cidx_f = channel_idxs[name][1] + for cname in conditions_all[name]: + cidxs = np.argwhere(all_conditions_list == cname) + if cidxs.shape[0] > 0: + cidx = cidxs[0][0] + all_tidxs = np.arange(0, ntime+1) + cidx*ntime + all_data_nxtc[cidx_s:cidx_f, all_tidxs[0]:all_tidxs[-1]] = \ + avg_data_all[name][cname].T + + # A bit of filtering. We don't care about spectral properties, or + # filtering artifacts, simply correlate time steps a bit. + filt_len = 6 + bc_filt = np.ones([filt_len])/float(filt_len) + for c in range(nchannels_all): + all_data_nxtc[c,:] = scipy.signal.filtfilt(bc_filt, [1.0], all_data_nxtc[c,:]) + + # Compute the PCs. + all_data_mean_nx1 = np.mean(all_data_nxtc, axis=1, keepdims=True) + all_data_zm_nxtc = all_data_nxtc - all_data_mean_nx1 + corr_mat_nxn = np.dot(all_data_zm_nxtc, all_data_zm_nxtc.T) + evals_n, evecs_nxn = np.linalg.eigh(corr_mat_nxn) + sidxs = np.flipud(np.argsort(evals_n)) # sort such that 0th is highest + evals_n = evals_n[sidxs] + evecs_nxn = evecs_nxn[:,sidxs] + + # Project all the channels data onto the low-D PCA basis, where + # low-d is the npcs parameter. + all_data_pca_pxtc = np.dot(evecs_nxn[:, 0:npcs].T, all_data_zm_nxtc) + + # Now for each dataset, we regress the channel data onto the top + # pcs, and this will be our alignment matrix for that dataset. + # |B - A*W|^2 + for name, dataset in datasets.items(): + cidx_s = channel_idxs[name][0] + cidx_f = channel_idxs[name][1] + all_data_zm_chxtc = all_data_zm_nxtc[cidx_s:cidx_f,:] # ch for channel + W_chxp, _, _, _ = \ + np.linalg.lstsq(all_data_zm_chxtc.T, all_data_pca_pxtc.T) + dataset['alignment_matrix_cxf'] = W_chxp + + do_debug_plot = False + if do_debug_plot: + pc_vecs = evecs_nxn[:,0:npcs] + ntoplot = 400 + + plt.figure() + plt.plot(np.log10(evals_n), '-x') + plt.figure() + plt.subplot(311) + plt.imshow(all_data_pca_pxtc) + plt.colorbar() + + plt.subplot(312) + plt.imshow(np.dot(W_chxp.T, all_data_zm_chxtc)) + plt.colorbar() + + plt.subplot(313) + plt.imshow(np.dot(all_data_zm_chxtc.T, W_chxp).T - all_data_pca_pxtc) + plt.colorbar() + + import pdb + pdb.set_trace() + + return datasets diff --git a/lfads/synth_data/trained_itb/model-65000.data-00000-of-00001 b/lfads/synth_data/trained_itb/model-65000.data-00000-of-00001 new file mode 100644 index 0000000000000000000000000000000000000000..9459a2a1b72f56dc16b3eca210911f14081e7fd5 GIT binary patch literal 10608 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 literal 0 HcmV?d00001 diff --git a/lfads/synth_data/trained_itb/model-65000.index b/lfads/synth_data/trained_itb/model-65000.index new file mode 100644 index 0000000000000000000000000000000000000000..dd9c793acf8dc79e07833d1c0edc8a2fa86d806a GIT binary patch literal 266 zcmZQzVB=tvV&Y(A;1CH*EXqtw%1Py56ygwK;xGbXjR}6HS!cgK*n1su#m3<_^Ra%Oi5k#b>ZC?WC9Qd?w0|O&- h2E!Jx9GED)JZJ4rMvh~Q{2*ocLHO^6Zk1B^+W_>PF*yJL literal 0 HcmV?d00001 diff --git a/lfads/synth_data/trained_itb/model-65000.meta b/lfads/synth_data/trained_itb/model-65000.meta new file mode 100644 index 0000000000000000000000000000000000000000..07bd2b9688eda16e329e7b08492151a65a88fb8a GIT binary patch literal 1053549 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

        {7f^1NeSjsKlnr|(^2eI{Piv*1kDhxoI$ z&IhayxhYv6dZKJx&H9k$JcqD%p*Lc|knYSxAYyKBh&cRttsAR^6hdm;$B2M|*98 z^>N+aYl8#Ku;3G23Bxi1?UMm$3vpkHshVqM@TiPHyF#u^Lt7b9vn0+bXY`L^eOfF% zOP@v)GIcafM)QD7U9dhJ&tiC&^+ES$%d`{K#VYNYQ+ABZLduShtCU@g>$aLX+`~eE zedtCA>6FFdcyy-imvPFDGR(v2!F&;{&&0uAsxH*4wi-#lKdq5kRx1<5`q*z%o&rCa z^+9b{`1yD?>thP#(Xom|Xmr}*IQS?M6(ogL)i%{G-jOI4QnZ|MPL+UZ6px2n9^&f= zrf&*N&CkU8_|QYZBv>Dp+uBF>1~=lANtBE29M;D)T6jk|h2G8)H^cy*SbByhlB`bd1$bf|b9fT051El29KsW;SMWsA!O3y4 zjYm~oi-RI`%KBKTXsC26QkeC5SJz#9i`$3}%5Qk{+J4h3} zPn+ekDa2i$cZv0x&iitjTDSH^us&^?uZ9gma}86v>*Jx9Q++@!DOevfxSor$mZUko zW+aHwG-#~P5g3hf7cd$hH*W}|#kgjDEF$-nkU~0PG>%7S>VjIh^y4eUJX~G0lJ%K5 z+QVver7oKt&W=G_YMFs{hxM_x>8%x8iIbR5Q*x10m+yx4A=Ar@gu6a(6YDeag2|ri z6{XJxLFINlfA;z=yQj;)z5F-%#tkv-ElnG+KIEokedviU>qDCJ9728#Z9XSsNQI<9 zNPKf_@vaZapJvzfROqliWJ`9HcCTQ4$e41Vix=9xA{F578tW4@EH5+phPT&4*5~bR z)`wioQCw$z*n~q_A0u-6tk2ub`n;~oXS&b?>tjEHXa&y4K^yGffA-mD&*gtV{@u$z z{qmdN{Q4JPeDB5ghc!-SeNbCjw#54EETjbMV_IZtwNTh>MI>5^DNq`GwAUtBAJ^># z1RP*D)+a0zEF;i98GyE0j$?hyU`r8NUI~>C+7)tT8WLs1jO?i%Db}aOvaC0K*C$3Z zcGFCRjOGE|G{O3CJd5F7)(732EmO|aSIM3hUAmr+lNPhwUR#abqLdxQ)l5_TuFpG@ zabLXT= z{Vl=zn7%16H9r&U<3mTYJ}$S<`pkkGampmh#ddf{X*&{3V?D6@IECKM7BS=01FVlJ zjVF2!p4giVPdu(!A5xh&1XQKaEEloNCpSrklY4>eVZ*0YLPLDP`j8pf!67`c9SWXE zIykuiPf_@w2%WM%Rw^1Q-N+4Qecsj}J;?f?s`#BP!yMoRYTAc9v^`^|26+ zP!a74UVv-A9d9wS)aFw^_k9li{zqV&x-Z&{n}s~US^7+*-TG&eMYb8ue?DWnrd<9KvtQbOWK&9T+m zYWRjX-$Xq}dsr>(30RF!BxmbsItFc&Q5WY7v^%Vib#NxE4<#2lb&0G`^@CpZcI842 z{9T_{WO|vA!1}yNtk1*?W^PVmeaz@M^#j(2+?1>jJ<(--NOPV;$giO{;;av;kTeL1 zhy1gyh4Gq}il+H?hxH*_va7Uv1?xl3mi?<(A5sDCuCYEr!(i_+xhPqmH$&Fv&2H9* zT+C5yNkN(7JAc=QjauY^)LkF@!b+d@d6QY6H_h@{yHT({_KR<)wB0i6gWAfnCD!Nd zh(T&ThPS_6M6b=X$SiuHu-S@mv=mdIH27#?BUm5T?F9rJU^mt$EE6mv&^{S}Gn#8= zuz`2${Xpe|c7-y6hDK$?ba{*4^=Yvz>rJyhF`BWPW+G%X56IL7>%;LZhId&XbZ@py zIa6OPed^8=U#2$g9rXXhzi8hQ!8ukbyBODPHBy;Rae#fOTZD8<*>OBNQ~jUh?kK}^ z_vwNatk1+j0(&?Zg!+)G;}glraW;b=Z5jIgD=5EU)LuP(3jAc&2en<{=i}f@4u`Nl zrcfRot4M@Kr!9_yC$K&)-jOJ>K9j|ofN2zuw$XO>w*>2B`li6t{7kHm4?P4-;;xU& zZSA9bgBx+mB+A8hz_%0rBfV06I}%J|Jrepjh2AbM;`k=g3H>AB$&|*!uE+YYH`Gy* z-l{JpkjlH@DQHi8JxPWNtrnyU^bhNpm!pF9Av3arLwI8K3Z6(hIJp2%QTU(;ow7bw zDjF)?$PH$F-s~$@2$HtG7pgiNl2D;MB^DqFW!wS-c~%;Hv^Wy1j|Hr#(yY$}lFF(} ztk3<4j9`6yA{{EB_Q9}}zY!I2NKVPa<(go9%+wJoqFtd}qoENhE{0XIK5drErVw|1 z-Xzv%I`6BUboiE%xa-rV`D)l8G}kcYyFT`DIn@W$l8n(fQ)7(ACpGKieqSfN>}swh zC(v9oJH}{Kx`5I6xOqbuEygwLW3Jp(W(dxS}B#uXCCY2+8)Erw~t7Fz@;%E=6 zg*^eQ@rmT@7_0H4bxp2g^?#-$)Vu7~!MXiwB~D^KP02-`_wR=FA=Ar@1lH$uVtpoF z)V;>^&vtQ#|I-p9r0@Ee(Q)brtPi;+?FZKJc}(X_qmz-QIrqw7o3sl(t)9eMnnbw#51Xdli_SQH3Q~AJ-yN ztA)bmTH?EmRM@1!M+=+G`c&OsK)?ZZV|~Ih!7>8vlL2_RjL6M3H`q|T^?so8LAye( zOhcnGV!FID>*JQeY>WdbWG!;il(?R55{sUqQeEZYw*qoZGyV?Y ziR}oTq%0krtV?16r=pfY5xUVomtS6BwQgN0D;2FMy43*8`n(?1BsGBX9*}s$8>%`R zlF+xkkc2XBfq~te1|Kbs1nXk~E2<>xGdnfQsym1E@riV(1cIfClu28Pg(5PHntS}_&(`LDB3c>okj;zmo-diLW4U>0$+B9Dc8-(T>rp)@- z$K_NXj?p+%6}2QrgCTYGFpeYJ8&a>=>(2MqQj!tk$fLb#TV4kLP#2dH-%$A2PknNMLBL#SUhtEzfkTsq=<6GdfQFfb}6aCF?^^bXgzLoYPOpuc0^MtPH7;Gzf{mKmU}9 zrulY<^&wlbtF(Is>qE|#{j2W!kP2{jjqC{;277nmuFtz6>+@q9Q)D6YTZjZIkO zc-q!-Qc1Bsc1^j@`n<}l54;&|+I`4vH@~rbM%yj3KB%oMTVj3SO?3~lKBH^YtGza~ z6jPwBIK{z73md`uxOguh-~hX^K4F<)8G-i6-0}?8#|$>`Zh0kCK4@3Sm1$^HMogEt zV0~IF%X-syePT3YH_b%IXr9CRa6F6Qy}Led(Y@I+q0woJe1vZM2>JE%9{((>DdC=4WDkeCQ!y60DEQ?Xy0UlK|fyv+YZhC>Pt|9VOIQ zPl7&9p|`U|%s4e6d+MqY@MKEkVb^1Q>~RN(ABC%`epXd)6+Ds3yWlBkPw+&Np+Xxs zlEgGkQK^MA-}Uhz++vy?9KsX3sNkvRo0zE`NN<7-WR|7`9JzU zPvKuZw%@-9*2lybJ2dMvIW^0wJBRggw;d{>_Q9ByzY!I2NKT2z;%R5yb`h+PnL0v6 zv@4WrG&DlR#k5eeK5drErVy;ptHk$oBj27dX^|6TbAWWB#LV9L>NHSn_{nEl1 ztc8w;SRXQH9jk>I0ju$eICGQVK*5jJOllpgHS1#?oC)hg$wdxFWPOMNxn7KUTF;!A zd%0e;`RwxdPZ!agC)3OB46M&{VtpoFu;!)vJndj4m$&Od`mT=|9jAW4`jDHF^`R%a ztPg3XS)b?Ktj{Eh>#Pr(a473zFKz6zKF^u;d4I?H%B+uncjb!a z<2Km+ZMV$&ptiDXiS>Cks+Zcy6c{0O*T=NT)M}xy*(znUG_@&k@X=nIV0~P?7Z7lO z-B_QnOt6eV<7EI^B#&#ZnZctn0__U9G7XK&h&`-Ni)C4Fn)Qj%jI57|kkLG#n9u5X{p=Q(TPL9(WDSWjc8Q%4=!o>P(9|tVV{qU3T`k=Ne z{EYM+@rJjzrcfRot4M@KCnUnbN0F$!D-~K*+nl?2N2193OcrYbrcpe0wzVprT?Ff6 z`li6t{7kHm4?P4-g7tB^eb#3d+=x>qQ7*Q_J4(1b>Uq=0DfD)65kLHfH{X5nMDMXa zW}|tN;fcpJJlQihm3P4tOV1}aNrr-S+(;7BbO$^M)`!f<4i4doT@0Nhv^37xq?3dn zt!r^mgicu>D-{Q<&-1=wg&=8bfT60hAqf@AQ(^&& z=Q*)H(|K=^T&{S;8{XP9Ukw|C<{GBV`q;=ox$(po7>$oBj27dX^|3j)52J;2!e|_i&P+;3{HQs$T3f*;Vys4)Jx6<3 zji0T{X5HCwDJg}oW3^^|tb;RQeI}_(WPNJ8Byk}}{;m(1US=e)J}(pNGx4IGa>?wc z9gL7>eaz^%&IhayxhYv6dZNqvkmj6zLi-1LBhJc@3Q2>Icu2DAS{N^Gsc4#ScUT{? zCA&(ySFk?hY&p=?T^~}R++Cx8f~vu8?!V#f!;tlPxtsMN7jqQXSsymxP}av@PTOaF zUS`(k!*p5IlR$jg+OwD|nvdIH_qW|L>x0_LvL)7MXCYO3Re!?2AM$pTS}hbdTM>zt zVhWT7ORw#rud@l($8~!F0SDNP^$E)a%Luej=9YCa>@6cibIlC46rtsnQ2C%;Ay=j$ zQAW(jp6by>-1TX(EbC3PJ~5iHn`R!5#Peb}wsR^xHqR3)Y9s$S_4<4+n#A zu|WN@lZ$DM)UsNlJPY_SQ2s5kKB(;qKOYAy(;=*nDU?UYDiWd5X^Z3FqevuJ9~bXP z6j`6iVoks_ipNeoYUh&xCet?srsij2eSGL4U=pm4%k8s1v*1RYGKq4r9e`8(J>u;o zFpae}(8nqCcD9Har}lM}(7aW6VsA1$@wkR3du9hbvGja$lVpIWdU7w|6ziDclzPJ( znQKIb6JPAmtk2}sEUPZv^{HEEH7CA^-}P~~9V(&r!I+i55fyPrPRYZlDDL{0 zsUuWGyF$4}LmMjA`0>fT7)^QCr_FNN6oU16nOL9cyw^lwJzo{9Pn+heVS~_I!<1Pc z`?#Fyg3?mFh=7{)pJo|G(M?WANTt@;U&@Jncj!dsB{6N@p1EpFj|aj*2i4A z52J;2!e|_i&eZu?p?}Oe^Kf;o$~U}C94!mD-4=jS5?!gwX5HB_R!iaQSglzf>)=dS zpGi2r8`g(RFEbKYpBIVsnRu~-*=fr&6GfW!F{9%;AFw{;reuBSi7x9ynsfT87qpWx zq(aglBz`&nl=7$9bq#xm^&wlbtF(Is>qE{KBvPyosQ`B?ps%q$LDgV4cUhlzFNUno zi`}dbxtOE4&ib$khq6BQQ(b-5=S5+`a1gS%du zAXp#MB2%k{!e%QX(bCkWz`;kqVJ%o67w-iGAo7j%3Cje_2sB;>;Ni?tG}p{vOA%UL z36&4p6>?=78kG?<`bV)oEtX}yY1Su3Gj`KVgpB3^nYv(oIG)AuF6)EtEiTje9qPs6 z>{+}*$Fz6QKe0aS7NzXC25P3MUZF!O^C=FnA6cKEJrN=#86a?>o5rH=IFAMELuOdT@3{TNp1yA?^@{Z&>EPr7Dn;Rg+H=bK*v=cUJ}(+#hL;bF=pgZiH&k^tByAlx zQz%b~1xP{}n)P9iJWk)=L;t8ZyqWl7hh}|jyte~SV}0Chhf1h@FlOa%L`58uQ}Qq> z3f9L=9ibxH70NXl5~#RXPrx+=ao4BKa@iDu^?8w4pXt0Wr>VYVpDu#+Y14c)Y!I4j zm@?~QAD2^oI7Z`4jWHUZ)U1#DZLCj4ox8xAOGs3@fYJE4!e}wBS)a*D(HJeH6Gr2B zbfzw-71qbBGY?l6tz>;Bj`pw`U8&1v-Pti#OX2HStyv$#{t4?t$wf|GBI`pG$Z2nQ zBh$-_FzfUDA+bIaFWOoo`+v5*p^pC3(%auO>q9oQG;P58keibAp(nbm4{6SG2zwWL zBhJc@3Q2>I_~uy2U4HQC=U@Ho>#x7~*O}_DK4eRF zm3FUSeaP7k>q9EQ-FmvOu|7f7U^n+!pO+)n=lR2K)`wioQLK}2{o~KS_})MJ-ZBpq zj9TP@#P9k%fB1A=OF!wdKIIhngSOiK^vf^*{L?#NOQvn{#QMB3ji%r-=Gp>q8L6;IgU7QzRks%qaDZ*BPh2KgMxcE%0BxP``(lxJk&YW| zDMIW0K;?sWgVz#)zu@x`nYLZDyvza6wT00a}hF{2W0A*^>K|gI66mfLBo`QzqRYO96ug8cb+ef*hTQ4g>mSRenSYmcmt zk4I-FnK}mAMBjn;ne|~aGE5QJ!@(fz5N$P<4mdwfYozeif&^Ajh9CRs?Ni_CXeyAe;rw$8iI#_Dc|*}a=Wb0G`JC`M!`J*r}%rs+mXQGEjz0B?F906wul+0 z_I-~S&5I{`51!bY3{O0+;mMxa0Z%NQnk*w{R^W+6-vLkj)|hNY-tj|tVmlN(QTXnI zrzm_-drny&D-{iuZZ*K~|Ld=Q_VZu-)vvz#@)v*m>G?xDtsY~2P}SLxv~}D}p*(^Y zAPHsM0t0zg8ho@k5_f&f{-R2%)^>j8+&;a~f+&8kDuthk=trT5C3h9K=I3AsuU^ITzOUT8w3e+iMHOlNcTGm4Uu1{Px>(18G zU|dt8h30kHqmz|%k*tq*aK@~U=b*iCd?&0An_gxlus-i2>ofDBo&|jA=TO$ijgITQ z&-(Z$ZZo7F88xOY}DecE7r$Kmp<$B zKC?b8OPMaT{ED47_9KW^;EdW}2fX2pw3TIxtWPPVewcpv^YhCOe)>qC;E<5a^o|1z})#B=uhm+JlyigmryoW^(#Hmqm&tZK`V?7D_IECKM7BR!qqz_O}F8&@duHJaq_27xU$?(ME8lLQ# z9q`1`^T|z;cfu3vn3oIONy;(36P{STVtuAgF2GaNGAKef`sb3~@aCnWq0)`qVAkjT zzG8(S>Du=qRcAvIDwId?0wke~TVNp1N`nQGEPXoau8#+-sM4&@Mpu(FRb8 zVJUwjD&mlw5|7{0PIwf*>*J=5P!a74+*O#dNZG{#L%^#Qdce=`F$jxida++0J9ronM7IRR_NXq3Bv z(fGJ|Ll`Z_CF|o;cppX!>4ecZ9-V0`Z(Ks64D)c6s#JG?ktUS=e)KJOCiGx37So~8RdZF$mNpp7V!cYVBL z7T5WJ^&vMU>qAd;Ss#09Vei5>Vx31J6_N%a@sMPXm$H;U&8}gF6Jm!qppA4dDn-HdVuw@)TPh* zyvwZ5t2@?L{<5|G2;wPiw|v(JwUuQ{tk3&41A*BYRalDkF)cE+S}1I`>J}}<6etZo z+G`W6kL&hc8ysM_yFOu=U>Sk-$pGxE9_r*M*2fIC6ruHgpz=YxLat0h4>i{W>(gRc z)|+O1Vl*LBN7H0956IL7>%;LZhId&XbZ@pyA1lrj>totG=pWzk_J-Y}lpOYh#?>NG+?C ziDG^1w<%A7A8N5}mZP>S{Cqt7u8%2{N5?7>q0woJC8??@C2DOyf>Hzr^j z#p4WMGJR8EYJMix$A=yQCc*l++}1w2H@Fd}Orl(D2jCQUlyE=Q1G|q?=Jl_qd~k0a=D8!TOLHdB+do ziCt9iMADU$3-A=R464x{>tm&&q0)`qVAki|s3xgvGQO%hzv0bm`%TB$khC@0%r|*T zEI<;sFC1S&2D5w0oZH@vxtS6!0zd6!t9>AbgHxoDweef(%>unn(Y zz|d@_C)Q`Q`wstR2AVU*Xnaz$KJNF?tdGfEz-Y8lVYC?6tPiQo5T;8=A)PQ9$D=co z$`L>6(7d=rVG}V{qs(41(!*-}Y+W|%&eqd(jMY-h6sz@JAM4;uSRYC*^1OdHtPh!9 zW+bpaZxib?@uHn_nZnt@2x->GjE?Jk!1|DzlJ%h{x~var&T|NR7kVSk%8&}l`jGhh z^G~U0+Me&QK4eRFm3FUSeaP7k>q9D(yKD4MP&L@Z{kuM|hpf-r-K-C}n4{RXOF6dg zWPRAE2Us5?a{H{$+syjBo-V8Enz-v@KZ0ll&c{I;?1;NQsI4qpVtsZNQl(e*C+&LN zR@|BvnME%YHYg(%HfiwD!bY$@9wjdz-~hX^K4F<)8G-i60Mx~>vz}0_j~Q$!LhJoN z<%4#GGJ=M-GNL99+yI(3(FN<%Vp-OkW_@BbV>fNIoDRs;1?$7{EQWVkA9OEu(|mB8 zsV^p&iuExC9rRDE54)AyYCNvnYNRrs;sE>5jldP=1w*>)Ly`dk7rJR|_#Nl5xa&h^ zWCscC;b0IhsoblzjC+;L=GqQt2cw##gJoTJhfTt*YPC=EUeNrLq;`->{g`b;3{G}gx_(xDP+9}G+R z8&MI5Ds8czfQGeTecCLSO(EX!_BOFT(|NBOemQYf zcYWG4Ukw|C<{GB-hPP+?xSZ+(YDxZP2F}zNqwz`2`nca#OY)RYpt(k#F&dRFU^G5% z-VjEMan1UeD>s!H!Zbz;>4ecZ9-UcXeat9xY;}pkCSt74=43~ESdE{p%Vyo#F;+|A z>sYN>AM4;uSRYC*ayY&l)`v_lGZI*zH;MI`c(H@osoRr3JGkp(M#ptNV139<$@8@Efh9eb&Hm!HU$noTG$BI$HjXA0SDNP^$E)a%Lp`H z2H@c`LcB=F47L=Z^?so8LAye(OhclKn62u%{?+gLv{;t)rdgjD&Dc#d5i*(wWa@(T z;dmCqyQ~kox42AWH*K*>Q>>3^@1TETeb_BZ*>MfjOjF(UA(isAJle* zpO1qtIUK_Jm_m7UtRfK_owhg*K8i$w^>OizM3I=7EY<`}qj;PFOr~!NOwG^4`uNb% ztdGm>vp%!nMw~KP8Feq8t>Vy}LeEDh^m5 zD7x->F#&xMVQYY)sti36Q++r_<4o1#P+~MbsaYTQ`)Jn3|N-MI2l7KBn?91Rgyhk(^AoV zW$54aAzQMmw0q|Z>n?ZK$Q}x3X+HG1e_m!6^@g{%L)Pc@Zq{cK#db8`&-$=Y53oLV zeXq~@yw0r8+h+N!Kc2sA{n~y6@sze(dczxOE6bKxpEvuyK9^Y^*CJD^g~H}qJGzWi z*rdTndu^HZsk*&@fCKEt`h;bIWdzzM1JG8>VZZC+1{-*{yb>xOv@7JwG$hK1*{ZG{ z3D(C=+fvyM>l33Hx@j&#M)QD7J+nTpu_i+;qELiT*si_9*iCaW+Zry*l)Gt*#aa8+ zF#e(zYVV+bWPRKobBj`T6j$9AtdGmMsmxdiupd|-|D~X?7=#@mRmUfiljCd#KU!yJwIG2Nl)iNE8ebeSW?}CC(gC&DHWyIa6@EUR z%=)-{^5|GaA~ZT}aU6UUi8AZs_LtN1c6J8VXSP@qFqyeB9uN1o^4AgEep|Ec7>&T> zVf^;5BkSWLwnH==q3ghu@A_1^UDjtB+=x@7;2!Ypg#Y+-iRX=JtVco%aKxz=V1ZLU zcwk2fw|hM7I;@Y+hyw)vQZ$OI-YR%9S9ZV?$C5fqs69GUv1A3OSjQBn1nc8L>Nz-s zCswcEiNbe()s2Cw(=@0?d#sO@idGceY5>0L^Lk&gLXfoey-?NJkc0~55xf9NDB~6w z$g|R5fu!g3W34~B{NYc3?~C94{2%?Fr|_@7roVp?td9k(sFJMD?9?o)?!WpUe)hM& z{MlcA^@~r>Kl$5V{On6t_q3eRDAva((xDO{2E$VRMpVQhIVBIHqF{Z@RNEo#(C(NV z$~83khKjX6x~syFzw6Uxxoir-`n-;;&wSpOXSc2gb=Rj&^VP6HXs%((tdD(MPW1t` zBx5wrR6P#cbOT1?lUu2bi6#viMt7#X-}t*7wZFdnQF|{7%8jrlFd82>Z>WS6gKWdJxu2rB;`5PK2v*&0JtMRjS*{nM|E+wV#8AP`osaYTE z;EY+HS?coLus&pZnUTQyyo#*P%!?W-LE-R!TKdf&{f0L)IqBlz)`yFX?Owt9kh2Ae)LkD^0q(A`K0(7^6ECnn z?}n_;tKF;*xtOE)Sten{l)X;#TWnWSHJrCPyc0usDJlwKmGcvZ@>QZ zm!F>5ghh_0?M5e+F8>Cr=vzDAt||9fpI4dnc{g2FRkvV$@aFEg4R(LqEwetTtt?w& zeO^~HPBCYK485on(bK#THm ztdALNDMHIDp^QMgLat0hN3%XHmSw%^yFOvl;k%g8G#SkUx@m&-;dmCqdv|?&si#aG z4c|($Q&=CfvxEML^KD3Ve(IDfD)>i0fIzO~ku8N@!j@(M3lIA2)9@Jed#GTLn+{%uQw9 z5CeE(=^36#GMwDwuMZ2y?kE?ylZ3K*4i4doT~zSYb8-QdqVPcxx^*CH9(>7fc(YP* zOPst&VbKr^Eszp$yIXuty%J!|wW+_+p1tm*lP!a74&=T%~T zrt|JA@eXoN-1TYGd^KzknroOc>ti36Q++r_<4jf5k{FFordpB)k7j)=APX3cW+;pn zqDCJ9728#y%8s4NQI<9NIWFji)&gcn&#V`H@uN8+10XEKL4{XfAKfp z{PLUM{7|qyObyc&@^)rDAODb{E7g_?!J zW~*+|($uEF!AE;-g7tCnUO>PBc4K|QGQlzejhDIQ!)1hMu9?A>BDA~`Dj&2fuvt`SC29-thL?w0F=y zu|DipZmaQlLH>Vuy2L&+sm!N1AYo*ESUP2~xB{ay?c`bLud$Bl!F&;{&%{9jdsxco zf=<=(iR9!sL&uL+;j5L&@UD*+(PzL9wb(WnP}>!LKAz3`m_m7UtRfK_owhg*KKlIw z!TPv(N1{7-V*;j8JlaM(?&}DqZwgG!&&2xp&<0HR;ZgPIB3K`n+h=_yCqeplf=QH% z?EswO?-ApEsz*W}r_kHkBIY1Z$etEs`W`Ww7Z1B0>ti;WHyNIIT*H$+b5nU2JhAi) zPb67YXbbSfI_B`iounMo?BEcdSiNF>dQL9DQxra^J*TXXm5Kw_r-525NJdr6g&=9` zd!eecAqf@AQ(^&B3K_Yb%cs&S18wLNTA|kJpm1C!TPjWE}KHIKF^8una=x;d{wYMZJMu!4MKAb zQ)Yea<8rFcVSRYAi_xl66`Wcq7xx?hLHY%f$Ljyl8ll%s!6wF{9%;AFw{;reuBSi7x9yn)4h&`v-a> zPR5W5NrRAhm1K_>w^TGwv-MpcvL(A(*2<9eA!j?R52*lm*T|lrVX%o8?)rQfvOX_& zvp(cvj^g@VA2wl;<7vCmNhQVl*vo1Atk28L`h1u!tEyYDK87|{;Cvjk!H!^kP+M8H z#QHps>ZR&JEV2~qV_IZtwNTh>)h$|@+7vi=0_)@Ay?}rN?8f?pWrAe{8ZQH|vwEl# zAbvFawHZ7rBhappE7OoDBW7ezGwnaodzeXXYpzYB8Cf6mPDb;9Zko93!}087>dC#? zGUaaCVsX~m8=SJE_73_d)`#87Z8aX(Z8dx5zLXt}^@1V2;f*8%1TJ*b*zh~fW5N26 z85yPs>|rSj7gbx0q=S>=Y(@%StxRAAV>*I18 zFx?y6h*Ks}F17=3O0Yhrv9<?qNob(9#VCXJ-JY6Lu)d8_cm-eh>tnJ8 ztk283?qWeQs$vA|gR0Jkq^;v-3gs!W07)oAvp(#R$LTQE$HW&qH0v{gq_XPHx$EO@ zJ5)y2r`e6Dh~bn|;_*9@^)XXMsEBrja*c*IRIL3`KDiew4Ect)7Ok==1ncuMu|Csz z-;u8h)~8ML)v!Tmu3^fok9}ND_2C$eGd0F&e6sjd3ZGxRyj24%W+?h_M<)^&IVCHGZ}(n{{W$rKA+Tj@6p= zv3}Tu^_k3jWPOM=Iqj|wnOof5p6H+Jqu8$cV*ZF|;AvY!KLr-*BAJRO` zuc0^MWDKd0tPhEY{Ieq5cyUWb(|o&g*N1G$uF~!mcYVm&a-gfbKBNNNU1NQMhQTJD zvp(-%3|XHSyICJ{F-LKo^*G=K0s;=O8|xF636>FPpA5jx zo?2aGs<~zcTZ+(nKT!FgT_IPdp@*7lg7s;!EbC3b;VnipcGE`7>3~dKus$5mVz~N# z7KJTl>NF@b^~H1&diMFt)MjS~{S)iMZc)mP_SQ^O-Sr`r`4rbFyO2&V>*I3! ztj{dC5vNR|Txw~J!hNP|IW(wsgu>eUZBNaz!@KHz- zzw2Z67gd_|vGM)_&8*M;sqo)DU7)rhw;d`wq8U!TOk*jT+Ic51NkmaWQUkst?C#)L4&0 ziP89^W_{dmt0n7!%tYVhD;oUG3{<*+(fGK+Xfdu?pUFzmC8Ur}@P*^inYM?=V2v`& z!_`Im6n=vbMfHzDa1}~P{A^t|>&}i#Nhy2=(KUdbH@sQeFkyWtxyZTMcfE*0r z*5~Di#QIFU_^q%$WJAkE2doddDOn$SqRaY_<~)abK|2{kDkKd;;+tc2{gq!S^q+zG zqFYE zHO{SW_`wDRFGlrJ+jpVJ5_f%Ei%hK+3Y%-~=rU4alLn7xeX4FRAOMj!)+a6#EF;i9 z8GxPDL!AJ@`nbWCBDA~`Dj&2flo2!}%81#jZl-0{$4!GQeHzWsO>+@4ng?X+ne}mv zHRWm%g*ESymfLBo`QzqRYO96ug8canZ~ja#lLgp^ zZ>wRbTzl*|v1A2-M z0zZlMA#GRq`FJwx;|k@`v5G_(qS!EZ1-``}`swV<`c(0bM1l3;<&+m|0w(iC#-kqN zI}u6&lj)lRlgIemzmBX=4Z%aelv$rDx6ArWgBx*b6x@PS``(*ZXXTPvANOGar&@r^ zsT5CUAGD4V))a*-NN^tX5;mOQ!fcVj0v`l+D_jp{xlRdKoo>)3HSx|d)X5mW- z9tU%5ib^e{ne}m5JqL&I#4aj$qVNGcEuc~qKBzsXcYUl>G*sID?}xg7xud z2g6eSMpVQhIVBGt+u{vxX6gtP(XLRg(a?s99SUGEtn#i;o8_`8GV4?NATPq{Y>kZm z!PIu_qG8V$!TPjmz8W?N%{5H zXY0}!gSON%18vRvct32+`pi<7?}YVX)60<(SfBTi^_h9mPC2@(^t1BQLWjNK&5e%h zywCdhCvG#OSRa0($NKnFy(O&|w2?9XVKYKpe(@)wV{2rOfBGi>jx<}o;mxJ>TrF#5 z^oBS8xcjb1E`KJuyF~W*r(MHf?=IZ+c^#Pr(aPJ&nx8?S;LE;T> zFRgUxvp(-L>(lzO(}kAr`n<9qL9_yA)CN1?4R55aEL&uKN+I>b%kO_GUz_`N`R3f$ z*X-i!FFwEg;HUrOi|>8@y>^%_us-IKOsy6Qo2|&kxL^vD1|KbK@?D=AB`+WVk#DR| zSSDCTpnWm`50?@7cYWMoOA#7J0hJHh6>?=78kG?<`bYe(kDIoovih!1+;sT;EHq6< z^BmU47GF)dT0|r3KD3;20iA$p6py+qb|REw zeN5jJn3|u7_3@#HfJv}EF1OG6%z_(PACo8-+W|NwSRd24fK%x0Y!TP9hym-aj?#8e znbK8wVsA1$@wjGvNM+s-19)QT)MObsGwCSdM{Sz!fG6%Gp{!l-#4aj$qVNF*j~hs6 zSY3;QB6P<3c&TWpwEbUTecrdzDikE6Dki_-jZ~ctN!Lc3E0m|i0wke~TVNp1N`nQG zY&Y+_ewtYyx4)>;tk2}sRIE=ua8`5TOJ;rCu2N{+$_%J|Ff8S7L`58uQ?e5bJ?u~7 zu8*5KLPfMIlxsA!p(3Bti$R2jb-wH4CT_YE>+?RbKGS)xAz9B?Gwb7qK|Kj28HQ&2 z8*51%lv8~Q>*EI3b5YikXxru*Vl)lPT5dSY!e}urSs#x`55hD? z3+aT>I3As;{!hRfWtfMnYgOI#nK{}kC50IQtMQ4xvt!Uk8Fg{aK)b{GSU>F6imk*+ zELJGF$hp~f!}^fvWkv$)^DePI6EE6YJCXG%r-W-B7mQcQu;;G>0&V0~P-7Z7lO-B_QnOt6eV z`(yxGB=>#!S2fqnU<2=#S3>23c7-y6h8}9JiMu{6mSw%kH@v-!(Tv?R6CtB{K&CG4 z`fxmp;k`G!y+ZdEmuY-+&SI7J%qcrgS_l2(8{XVlm9nF_ngc4<#~kiqA;3O#BZPEH z*>OBNGs)EPqh|OW=drl!GjWi>9u5X!M@ZH2iR9#BT7xp`G_6)9>aLIdHsvYslUX0s zc7>mhXW#WPh4ScFMItmhZE+ktf%S3mjzqDLnk?1?Orv<50ZgXPmTEgjBQP~T6YJwc z4*`>4eOzvz^_c}X;*?30i|qiM60DDDtS3PWFtoz9GXuSyEn;pW_DhJ+yw7)iOldsq zdS6OlZ>Xb$K2&cNJdw&=WDMXbXir~CAjwdWE_^A0Mc)BWg7qOYvV%i-VmlN(k#ul! zTx`qP8PuL(;r#Lft95HeS*d8KbSqN$uFt!6T7`mSRK*C^2UVR7N$8tAB^DqFW!wS- zc~%;H6p{q%V*x9wH0v`tH5Kc#ngQ22SFDduq(db@42Grrji`u2a!Sr%eazGmDxzJX zT%)10Sf4h_WmAZ|KJOCiGoAP4G__5$V13#&Ukw|CW(!kdeeC0Mst^BW2F_GPEs4?i zq-K5GZ)1IGy>J&;a|ww`7cd$hH*W}|#kgjD%$1wU3}G6hg>)(*aXdOx7u2MdL>cDc z>Y|mb&&1IlRtqx%R^t=N*)dk*N9&qg$7=bzKHkB(wPGuA5{nf|F7mub)~7DO}X)`#4btPefWWqs_a zg}n>C5f3h@kTeL1hy1gyh4JE+ismar-}NC|@^Yo!J6~9Lxw}U8P&nsgPdx=M|K;hD z-dOf}$ojn9&H7BDSdF^=vC%T?JP;dooBR1>|C zuk1$)UaTtou1rIsjF_$Jy8hK&pB78c(x=gk-82&+qj^9#O|U*3 z&tiC&^+ER*m+675k7@6qe`0;uElSyO4b)^%wbe*v#zLL43+a@y<9KwYuC7VSjxs!D zpRHVV*Jt7&fjul`p+2PQ_(XDYoXy}z>+Gx+Byd|S!;k$oEy>th=0kz$;``dF!GsB|MYnDu!( zB6n&4w~J!hNP|IW(wsgu>eUZ;})36`mjgki{JhHAN`-F z@UI@f?_UJ#W8#Y)n)R8Sny0Zo?zTfE)IJ!q@;9O)4#_Eb7!~sy-n?lyLPfMIlxs93 z%C$ufZG6|K&2rfkg7tZuSfA;<@5omL>(i$BYS19U3U7t6J^_h6_TVZ|ZzER6X2doddDOn$SqRaY_<~)b6ccC}pWDKd0Gzf`r zj*M0RfPe$+Mh=E$f@K66F9Xn`eB50h zGuTkP^?so8LAye(OhXSf*Th|)7R$2U^j)7A&Dc#d5i*(wbkhXu!|^PJcUd2FZ?;VN zYgvoM8T9P)m#IyAO#FInHFk?qc3cBB8B}dGQkhS2fPLsj2RxZwgG!&&2xp&_lo^?)tdgKI=0J zZp0~*C>PrSI3-vg(^!v$K2D*xvqj7}H6eTIsu8S@DUF9+51!bY3{O0+Sszk)7d)}_ z3{NB(Dzy4F#0C0?bxi99#rlvL*})+^v3dnhBwabVfKyS+pc>sS{aiBZW2NGN^?5U@ zN$Q%6g^XZ*P}SLxv~}D}p*$rPAPHq?)`vYhob@sB#SYE-OiseBD})Gf4{6RW#E z?zTfE)IJ!q@;9O)4#_ELYiVb>CRiUcb%cs&S18wLXoQN3(Nw?d^Rmry*%X5Hd6QV5 z>AdgAR|V_Sruk~vAT(Q;66<3hms5Q>M&nG4F&dvNK9x-Z)e{X~C%k>V=%H_BpxgzF z#>dSY!e}wBSs$B&o5~Dfx`Y(c38Qg5I@9*>7^6{!dAPc0CF?VBw1?HgjDXenMBmvl zR-=r%IHy>xSs&}*OjsXEF7mub)~BLEW^gjKviq(NnOof79t+izKalh+h zM#rfius-CbWPRv~F6%>@^Blt7h2DshF{DD$ASC|&{8K8Lr`h_h580AkrQIu7A9A+r zU&Z>63UGIg^$8jVdv}5Lc{^l%Uhigo$i*DRwq2Z-S?7V+s6`$~u|9Tvuh06t&a4lx zC9`&8W__ORM-Z*R`8a5U9l-jKwz6!A_1RfSm0nf2>*HEvYPC?{8O;MS_00OX#+nSZh{C%_C~PrPr@?WizF3@zH@vx>9rTZP zef)8Ai&A#9x4JD@AD3}cnNM+meW+W6bV}KAJUX+$`nXYM_!Q>bg3WJub6GtH3GCru zKo@EN*PR?^=u-GO>l>3KUl1M4$etO=ORTp5qLD|RB3c=f2;ZyTZ=qY;=qjNkrsWPM!3mI(ZK zFEC}+r^@ZJKGWbvoEio90G!IKkNZ&1n-<`RQ!T*UQBsSTgS?;har5Gd-eGn zDry;2qdnHgN<}M*ZZ!bk^?7|1>w~J!hNP|0W(wsIyZ}ikBNaz!@KHz-cYVzMqDrzp zvs1IIx^q|`pGb#FfEWx*`5RFYhvby(1jD*x)bIM3sdgT;L%U;gDA&+rg^G*y#Q3gH zo8_`81ncuUvOe>9-;u8h)~8ML)v!TmwlF2u$38Bnx?pteH1DMN7^88fDr&Xq28_lh zw^A7sO&T26k`u7zZ)Tv}c;X9;#>dSY!e}wBSs$B&9)xL(7Sai$aXdQHrgaR~D8s>e zbvK1?XrQQ`qdly~&(>wL?(7(%rSKU<*8p~Y*T*_IW7cPux@hwUHejW`)YDkKd;;vvZ%uW2d& zjx<}dK4eRFm3FUSeaP7k>q9EQ-8I%HXc%nb1=i=?ko9@BoAn_Va}?Wlxu5l6qaI*= z?3!|)^?8+9pLchxuk>Z>XS)Sz1*Kn;fPe$+#`=V1f@K8SCj-#d`OeHzus&w6r3fvrgfar{3b`^3 z9nJc*SeEss@A|}O#%`L4kkLG#nqE;a@5Tg7qjtm&&6-764gIS+fN3lMr>TF2bI&P*=o)Qa?gfeb{ zfp6EO!ABuUus&vgQKea*$*Fl7>*EvYPzkjUhNb+CsE9*yO3q+?%+wJoqFtd}qalHc zi}l2q^=Y$wE!+N830l~HiS?Pz`*NCE6OoHxecCi%4I6}J3sYi!?BjB(565VnsWC?5 zlbZE$zsI%Y{j874UBGCx(Yzsy7UP=rA(g8bEu<4h<9KwYE~v>j2vLT4xVmWNU7v}g zWdVQwXJ7u}Z@&5EH^2EI^q7Ph0ju$ezO!SjMj3T+PO)0w^|21lg!Q51BF}qdeQHTe z^v{((Ir4XX$n-KJf%SP#tk1*?CVQ@A)d|1rV@AiRAFw{;reuBSi7x9yn)4j$1?{X1 zsgSG>iH9V6yp*NFX?Owt9kh5j~s=Gd<0^D6=eS(I;-d$jQ-Va%y z=iRIixtOC^C*k_XoxkhDMm@m#*h?Gxtj}|1ecs=(zB23M-(5MQ?Uq>|)K-=)u|BWb z4BYbrse<(xeW7Ndu-U3xv^2FTaPZN>MzB6E-U|potwAI+d z>A|d6pNWG6_HZzu3pIf2PL9(WDSWjc8Q%55VsgyF9Krgawk!O699(TZg!M6n^5|Ga zA~ZT}aU6UUi3IE8;vI=1>oZxb37AIlXdCS~U^0DEU}}CQ*2jk)0w%%wxZFPLGYf9S zDU&D{+W|NwSRd0^&zn9@p|^{RIO5b@9i{EWGNtiE@3B7YO@=2PFNJCTU7u%Cc^5pf z^n7xYWT?<;uCxG8tYZ#O;;s*wksTbu6RQuMq|uC(?^XTa)6c*9+1Fox@yC}x`r@B| z^{b!%^j}_o0ri)qXZ7_@@S}At4vNr??5W3%c*C2OiUZcCfm(cv+lUSlZ+JshXG7A~ zXfuWKlvscyl%ZK4_UN&%#0l2N#1}g>>oYku73;H_0kocAA9r>zYeSCE{*p63b(DcOm z*r1&1!!a6Xs-BAyqwz`2`nccM2``Bz7v>XaZu^E_5{^n2Fd82>ZwRBsxMqFKm7B^8 zVY-AA(g~w+JUX*N_Lx!T*y>sZ>XflMo0A>wVKsiXE}L~{$5<_euVb}leXN5sVSOg4 zOJseB>^beO51C$OB(Od&6YDea;PwEx$C5!yy1 z86dERZK18kI;ID+VtvSr>>z?-16<6w0Gx6^YR3w8e4o1lGsJI}%0KXR=rmFpc8T*5Gl#WcsGS z)cj1Wj}JWrOoH`sxvhP4Z*U_{nMAqR3QpB?Y-e}{>th=0f!)U`^mcI(KhFA?(sID{uwuUH?F4o;4XZ8WT| z#X%7|Wqr(y0qgT}U$H`vv^Bs`)!C4Q3gs!W07)oAvp(#RA3OVAe=S%a6JPAmtj`3J z6zfw@#^pptus-g#LnYKc7_;&>q9P8-De?F{?WBLy8{W*+5h|ixpH{xUrsgSG>iC@k?rTl4jUGb=M*N1G$uF~!mtPeTcVSPvixVy&s z1Py~tJZF7Aycn`RFLtv&eYNzd>xENxoU{)5C)S7EqLdxQ)l5^dJ|^R)GN0l)Wf#&Zi^cKi%p_&Uk9x{J zTc<6g;&*)}4iebI!658VZ8ee(IA2rTan3Hatd=Ox0)A}oodQ49V%sc7ZCCjDIAEC$ zVSP-YJUUj92#ro#90yNeeO$aFQ6wg4Ipy7$fN2zux-0hfw*)Ymz9}#@KNIWYLr1ed zF1OG6%z_(n$|TCgb^uNZ*2gr~1G|q?=$NmeKK!j}?Q$Glt+tPh!y9UQ_Ft5@(u(!t3EREoj}Md+0Ev7I+yeO?^J`k<<_ zA!+NlnL>F=EI<;<(5w%8^w?M81nXnsiyfNvvGHDls92x-Q(?jSxZ4huQ2Sua%HN2J zI3%a!VO0EIo-XkHC)77WMSL!lYcw<}*A~Mn@A|Y^E}KHIJ}(mMGoAMq$wkAS)f?X0 zG+zxHgk}p^hkv^Mho1<>$4`J9tF|6zoyOd8d->s}@RW{Q zB78_&S+YdiVCe`hzX zt}*d**&Zu{?bh{yng{I)Suzbh)K>f7pDu9Ip5(T++ANr%jpokDU>?v$%a?pyW6gqE zKu6wTicYRuieB?D&efNTAG(*13S!3B>8Ay^C|5^u)onrdxQv_1jDi68P~-~fl&j-- zbY_yP<44W#DZsa_l?A(JrY`gBTlu2#I2<5 zWbwfRTS+K49(Fx=;>D8TiN__~;}O{bPb@vdlZ{7b+LD~pJ#O79PKh7%aS=TShw#KM zDtPKSxd2a5_@L?xbkAR5&bW1W$b_piVD+0TFRSHJq|%U}HMrw>Q5J*eqy zL_*i(3A}(vDB~6vNVC%5qhCPy|J%E^5X-W&+^707-K#ItbEapKImu*tW}IAVl2n~b zUAjSZx>X27lNgu>AG)ZSu5`*&U#zO0u_H!&6I4_bl|dvVDqiq{L~^Yw!K9wf@_>?Q>3#0V5{WXYIBA%lg;){`G(RqOd*SFe^%Bdvb_mgYL=K zcMtb>-#FOYnXDb|?cVN@$0%%%n@ES02w|{W?B5s^ag#bFVR`qwIZt7GK-Cl|V!ha5 zjWj8TwZh{BDpcE9MsR`0Z~yM*nJzz0_T;C%$1E$4_=H)ui&Z6iLVVg#LkNw{QfGQO zWDlKdtF(6GAlA*!HbrRCxIl!)<8n|_5E@?&kxLL-Y1hdf@JI~6^aG?aIzedM&W*_& zAaPd*%=K%C-k5>Mj2Rk3YTOs}VMvXy5XPpF8h7=Bmm~F`3~;#=s_Rg{?EdBH5}r(x z%tF=;IM+iS>{-Bj-E3j%YAEz-n%nuHRL?f2dUClJWq9WQmd~;Ia7<-B?XX~9Krc?w zY#hCqxxg;je;t_hv{*TNXwjnLo~pq|q8f0UR>z(T_>g&J_%h=Hw9zXnKi?dfNv)Y= z$!5c8RAK7WoB9#+q2Vh9rsioKpSqa;Quv)oir?8T<9Dj#q?q2J3UpIlKDmwM-Fw_5 zy#xDDl-}8v&+|;mB`Xy+_|PGoWl|Nd`q${Zf$t=0kK9=f*d zYnls}6n4jr8)tWN&gD1-BdWo+9CimJ`kf$-Q`p*E5Jzw-evepNt*18%w;L4*twb|8*YNv@jFd%4*csewQL67oi3tUk18f3#8*#J$5Qe7)sR)!+X4{z z9a8K@JC_2;y4KyfQIC{%-?KR-o#6}$2Up%Tuc*$5pz-sl>MAW6;kvPGwpjcx1B3D* zbV+5PlXRxr1~C=Wo0fgve>0dO0C!l0iOKQu!OAxkY%& z-)sr~CS!wNT~x!~kLqar4XDh+JI>z_8#VrhToB`Lh*&v$C~-z%3=9hqpphD6aFjcz z16Uh98wY-hjLP2-O{AG5eU|(UG1RVDg})&Jkf}xd4I4kPTG>n4H2!9q;%~P4@;Agj z>A+(ChAOZ~{s!`rD1Wmh`I~7)Sc%UdjNy}oOR1qr{sv2H&Me*WsO4|AQ#6fV82rej z@i!nuO`Ku}64bAPZOc8<41^;jtj)_f%oU^+dez zsD+-bkWc4;o)N6)FJp5XjZ2KL-U_)W*4LY@J)J{D%KaPRJTH(@r^*5u85tp8L0yav zU9lM}Pv;Odq=5wCIe$a-&IOXlqThsQg|j~?s|SJqFaPB2FBH(1c(@ksJFAWz*PVsOL? zzgT6?-{3Y2MlfmpZfcYK4UBHff;xYb!6F-Og1@QHfhB+AjCK&o_>iDA=Wn1zos6Ck z=v+Q9lD`3Q0t$6~75>HM`eUptCx~7Lom~){~@@{0#_H09n^sEZR!Qa5J5j5uf4Yfq@ zH?&#hZ-_jJR0xV0e?!L>v<4Yh!>BxwLnV~P>A*<-hA1PAByf!C9!<1TC2a6={)UXL z8JaGCYcjG}tnxQd?aJ^sBzKUmcvtuvqPd+6%HM1X{w8BX*f9j@)azAi8h-;SN0uq( zQGwqeHfsD0xgf^h5V3Oh&}v0ttZJZ;8f0)3$>{*rMz2VoRsM!(BF!Z0Rq{8?lNx_R z1Rzt3_!~BUVzn0VH?tIfv)PxwA@)fJ7V|e$fo`hHC%0LMvFC4qgN^bxo07kog@v7~ zbu0Hk!^a1gQbUvc4VGrZ74tVek43ib^eU?agAg@wiXBvVX&fsmN)EVj-nyB>-?-u3 zp#be!Eq}veMAXSr_J>&MnKmlV-+(-EIN{2GKIf!s*dgFrpf43&1IbzX6E_IEAgv1+m|7DPYy} zHz2eWo~Shvo@l!cPei0#5D9pqqf2-qBcq+$d#eDRsEj;3Df|slLmHTbCn{cpCo(!R zvH+g=;EBU$OWTCSDfk;WBgXlgP2ZW{OjgI=U_pz=Bgx-@JavbN!4WI`VwE|6gWE#k zcTxNej2`80GFW88P4G8mT536j6r6#PwgzI!C7lD~0Q2bk6ugv#GQXLX7fa7TsYZ$O{|$hy`l zf8$J6kBu1=_8X%mtJ(86Fl+>kIe$Yf5&R8pR{0wuPa+k9V#eRlu?4L`#zh#Fr)}uK zrQwNKPs!g9Wu%b=j#1sCiB_tO!rzdwk)eLqOqahk897kapTB`>S65{990*UBN$wzB z@viVUL~}bCl)u>!{7uFN`q<5K-k%04N0zC=-w+!${)Su-<8O#qIeTceqA&)Ag$U3{ z4Kg^2+w}`5U;eB+B1xNd9KSM@=@q6#fRjnYNS~n&fY=G#jp%zu8Qk zeu9bYmN)JB8xW!Hzj3BRBJQ_v zS{Exkb7}8S0|61N7yJ!1OBTpzyIvq8BIW*#aGvuwbaYuDBO@c^E2xXnp|g9i-^w)p zhNvM8BnZ#>8>)v^AS0tABMS;-eDKoqN0PsBuN!YdG|i{fzq?cNH&|MOJvW!l-+(}M z>nOz`thB%(+_(h(#trXqh@Y8AILTlYxRmmTUllz8N_+kWDoZ?avhtJ6KH*iLb^Ec?c#SSB> z6O4TR1`Ap|9!dTN2JhS;d_H{^mCe?!E|*+Z)pg)uNJM1V$Wkim;1SsOi@Gy5sh-=9V_k!F(hD)}2? zs9muNe?tTyQ$1i8@i$CRV*SSXo6Qt|GwaLW5c{M9z5AO#+9za+86B!pA){mD_ix}C zx+s4$ll;wQMOb|Szj(HJZ4rDOY$^23E`AFy7iNPMvo{;5vrm{8c3?8}l!9caSyRC& z1r5>q1fNoP+q|a~n=hjL8ISIc18BEunHv@z_)vhltG3U5D6pTQM5zuEmpT-n%h;g+ zx1S8oP%s2w&D0)#>A1uWNrc-Zi=+aXL3LAki@F4zD5Qe;yrZE5uYY^tj1qvUcURO#{6>Es zDnUP5ugHSWHw5?ur`q^yzqnTER)$3>w=TR2g#6;Sm*84d1wt39Sme9_Sme(S)V-N< z5WR~Ri7bR58X^LMXtN4Ia7kL7W2Q3nkn&N#enUex({f;wn)`)60E zN8fa4A}517%OYaj6gn(KFhZ5au!maIxtRORC5af&GX;A{D|Y6>EvYkC;bCE5?Cc^? zK*KkGYDCOzR6E^0Qc%gmgxPhVoKTy;2Ms!_GrVvFMm|gK)-fu-S@WjLzg4*ACm$H zRKlTl)&0wJ87w&_iIL1nmQBO_!NAD6IZ@os1*Ku8qdF79QDb>;K?99>aL2!5Lrm0I z7;-_3g&|_)G(phD}*w z^~PD4trQD0?aRVs99Yb`PzAcFE}z_HmSb;0gQt6=EX-80Fk9u4ji`~q!;VX-kqH(C z3$wwBSs3&xH^#K2PD%<312WW{sjx1F)#PO_FFVkZLJk~$G&3t^Il30|~8))vBYeq@!elphz6cS{zAdeUnB zgiBn}X#snzeQt)456*1JyJ^9z@L+|?>4JrU@gvyISr}>(Nx+dIK6_MH7$Q%i9RhXT z5zdA9{vafp+YuH>o`s>tW%pl&g~=F4pd3Xn(%-v|B;M$PxPj>m91Y=RlpZ!F5@FzW ztfe3fsfRUsV_^-#+*~pX1M=oU8>})%8{B5mW@0Yw*smr$updr1YF7Et@T&R1^^3#v zXaC3jXTbjHqWWY5m8i6Yo#oJm9Vap&%E2e)ik_I`lpiSI1L7b;!-g5Pk+U$^x9nrP zIm`)qNfyQp8*TxpbSuN6lv@{YN5DJez>K28Fa6+JhDF%YOyK(S0|ljO76wG}oehqc z9D?9#utY!*ZB|(rBCiI5=-6V1CgY+brT0@Ff~bT%1W6W#C?SnYK@b(LurOq7WMCe7 z_|S>dV~&M^(;gsC`#&S{ag3>7$n(9=3=3K|>NNE+kk=P=&=8$dQ2xZ*=0zRJ!hrHt zkjlbjP-j^zjGID-g$PEFOYEN*_E3vD7a_cQ-h3cg7|=5Xdq^vG=E5!QnTu}6g=Yj* zP?juAm|eRNLZbtzN0~&!%rQwMd z4Mk$1j5IQa#Hg!}m10AEs*#3dO-2rqjmpA6?JCW}ki0>9;$2~3h~joGC<`;;EKJ4( zzqXe6EDUJOgFDW`5EC^PhFlP1VTf2cd1$SoiU#l`M1V$3kim;HN^SIPuI#5sXJLpY z(oC{iB@06gwP2$>3qu4TQ;WzKHhyBQ7JQ3lJH^6G`m!*@KIuU3{^pOmXJM#Hg}jXN zEDXGlFv`MABnz`0)XtR;WQ`1HcsQxtOcbr^Une727%a>ND`sJO9*AsdX_bD724tu? zQy~k3)#T*`+_rcY#*OaI0%*5tSr`@__(aeYP*S!pp%4b*AOi^18gzm|TCv<0w|C`Y@1G*2mkk+G41 zg^9N&qx7($urT;In5ISQ5k{~uSXhHFDL@;XIB{ZP|9|zoIeok6bI=lPK;ArPgH`5B z8n?|`53|a%joFRv(1y_kB#dN;a_~vHVhP{_;&R{ z3xfqM8+Dqp7|2uign}~;8bW1Zs5veu`+ZeLvM?~ZRYGN9GTWn#HStn1pVt)92ovR{ zWX@)Xg$OEDB_E3vD7tVEqp7>`Z3j=zlU=L}<&Rn=ffxSZap@OnxVZ!X%g&_~rLZt`j;+SpX%NpPzb6m30Sn{TNEH;* zr%}>2hf<$d7OnICTc7Uxgf^E z5V3Od^dP1xcmL9;2{Jg!DE-Ek4ronGHdb^NhG-(qB&$`jFwB#^Of8~gn4m-+9e)<) zT8f1k_hn%+4lI5ahAPm_aCT0^`m>P}dlm-Xlp1AW#*&4(RxVkxFaQ9LhlRnyY_MV$ zrssi3*2O@EnllxgP@01vR+E<(aNFWp7&p2*3n0jCSr`@__(XsdS8eZk5b!~(+>Q*| zrcMM%E0+7>7Ue`R4+|5#XoE~;VYnYzxJBF5nZjn$A;DPd_WgDKjhuyXEpvg7WMSN} zQ5GiWR)$3|o*H3GVPQa^-vgppge}bkZdK{W2aALt5XpD8$g?oi5&=Q9S!H2}Jh@B9 zA&8DGc4#tgKM0}{@(@I8Kh0)Ol#s@yAczWQwI4AyGB6K8eCWjKF~`EdP;nM!oO;gQ zhaqQZY*?a%qp4S6LCZ!RBv0KF3Qz|Pp|UX49Os8cu`n>YRYGN9GTWoZ!jz`8&XR$` z!Z@297BUtlD2-tcIZ~YqFR(A{NfrhaNx>e{ik-P|OAC9xghe;#LWgQ^BnytR3qi6l zW6r{4r#twtP%Djv3A5X1757TxAi=^wXLW`bj=*S&(g=($wDwr7lY3I|BAw~X4G|Q9 zk;noBMpuI+1c7C<%EEy2>kff(Y=Xe3ncGpo!hl9#Q|SpQ$--oej3F_y!^cXop?>M7 zAz71=gJk_#7^t~)#ZpgYuro)-6U$~{eouQN8ByHMg=1k(H6=OD!DI{w>rik&3*%rw zUmn_V4u%-0aWLe97zabd%5)Ot%BY?J>eEr*UZO;uO8fg^ZIw@#P=s)4sa^pme?CvYYP3+t#-vn z**NlRUa~LXjHT4Z#4|8hmKu?GVa)H6HxlDvL-{N1 zMON)f#m@qAZOOb)KiXvxV_rgV&|DiEy)5PhWJeI4GcVL6l5`_wea5ITFGQZ)qY;#& z$(3W1Tog5PJ2FW(>gkg1TwsQkBcFfC7)JmcWhzn&8wZ?PB4Z=$PUqO#(52^!z?++W z{**-vWlO;pLGlDq4YJ%^DC_dI0lv|waaJo$-DzVO!?wksE@uTo%e;Jxy%p`*X0&~K z``po*SKDsIT?K-jd`RfXH8(={TKTb57x>uki8|(I#HQXlML3~EK{Hx}$gO7O zHE!KB1(2z9CVO(X9ZhxS0x-vZ9h>cv*qs=0RL8Zo9rhNo&iXXkL(urBlov|HcGtOoT-_|LKF>H}^h&|KRrC z;et36EN1Z-LQg79Q48d$t3HMzC?L@gDu+VNneQ!@@<|pL-72ASD9{{_#^pT8;%s&Z zhxRk%F8e1wJE0bJE_$MvU;4_EETE?VG+keIc0&5L6YmAF_h}Zg6$A5g1a8sr?VsKJ z;`PQEl8%F-XdUNy?42!@b?xqZ&JUJgnk9OZzs@-VDq=^TCjyVzqf}D{B;A-u+G1sBE@t^dAQ1 z<0*lqi&PFi`VdNsaWl6hvr2K-?(d2!_dgHJdYySTFx1D)q#Cy7Qfy*+eQIMT)+eJ& zzV=~-E*S$|G7i=^CyVj5%y*WoQKC!cje1&_%;R5Lmke8}by@GKFY%pL*s@)3{&v0j z+x6ye*PFjxZ~j)j`CIkoZ`GT>Rd4=Qz4@E<=5N-UzgchoX1)2F_2zHXo4-+S{zkp| z8};UI)SEx6H-A=d{;b~oS-ttQdh@6C=1=R*pVpf{tv7#KZ~mm-{7Jp}lX~+f_2y6N z%^%mBKdv`_TyOrk-u!XB`Rn!Ouh*NuUT^+-z4_~T^HI**WPJrmAMcSjp7+Sx&U@rd z=RK+|FUa?pjDmEJ_o%kKAlc(Gsx2=_^_Yx;Opo`dw!9$E<1(r(FUazkjDjSO_o%kK zAjRV{sx2=_@R*E({Eqjiw!9#_<1(r(FUakfjDpmT_o%kKAhF{zsx2=_>zIs!td94n zw!9#x<1(r(FUaVajDm!Y_o%kKAf4kfsx2=_=9r9vT#omsw!9#d<1+G=uhIHdK8<4? z@_7vFkT;uk$Y(L^hLFahwRp{HHGOk6sp5H}AWTq~n`&I@Y$ z+*j3eUUyP#?Wmsf0``E}u~9web*ItBj*aR$uRFiCGOFjifY9K+s-E+@GjeN3^_&+_ zCd`gm^_LRTj)pK4zjxjqX)pK4~dui;LRL^-`wWgI(J?8~{9rsoB zoYz%^T05%eynqp8c8sg%ysqlh*fFl2^SU}!E2DbO3rI@ttLizgtA(|8RL^+<4T?%t zjg0)1vkv)+4C|1eaMmGTk6|71)6F{Mt1+xYezIAId@Y7`$WC>p2H3`nE6L4M1N{1` za_is}YJks$((5NDpS*u`)D`rs@X<6h!M%$GO50l#ex~Q$F65 zPWhNqI_2X|>6DEJt$geIlZu>ZqvK zCn5@JkBX!|5m8Wql#&XHkV>aM5m8WzR3!C@h*_VAD5yy)>h+0;g36>KsZT@{)F-8+ zf)b_DsZT@{6e<--eIjDoCn5?emWq0PBBG#fsYvP*5e3ytDXE}CnCmuBBG$$si@Z{A_{7r ziljafQBe7mFH6lAKV_eMJjg!z@|5h8j|SN%9}KcjzBVQMLB$ycUipL`&osyu#T zI&mxINBygoUNTpQA7HOqVpYw=J(To`Yj+Rjp7{~;+#7qxyW^b)_ut+-T-(35f4skY zu=CdL!NWcG>bYmk>F(bbZkV%!;fd8#pZnbBzGL-$UbUyplf#RxYOn7e?(e>Fu(x{N zoW6bh=)vA_Wqq*vthuyv|Kah2hsQfd&HF!&hNsNR^%Lf&2If4HJ~XcT>yzd+Ce4%k zyZiU{4u>mNs2#EGJhVO2vLoV}mlfC%4)<>F+}pitHR}fTYBt{+9wK$tUOPJ4zjJSR zru*L!R&^Bj+UgZ^$+~O*_U`dsXKwpF)1m{Q=cDwodz+52;@(qWo zKgxM{K~a@6%WptOW=Pd%@kP}yjIfM!W8dEPB9Xc?{yz|FUmh6$4xTpt?K@a7n32F0 z$W|YE%J!9W+@ISQsB*`#-HV$r%6s~8$K2a&$=KOvQOAu)?g;wuz z-7_rR9{0RYoSrsM4WA^5lYLJv36{8m-3unaf+7#}>K}QXk{R`?Vy{#3FHr0`=fz?V z+C%KQ4gygkv6ok$r&<{whah+qqR(j+i#}-geOEJTWppsVG%zo_M=10S39-@K8qBJJx znb9aGp6rH`CGLikId;QNucb!fM2WP-AzaxF!Fkc$uxm%VVa(focEeWvh3tl)6^lTR z#XDVldJ~-FJmwj&yn8+Lm2kHk*Nq^G8d z1>AL)xuYSuAviC(8+PqzH;j3^Pv}jXg;Ks7b{6^5FwPA@D;9xaH|*NeyJ6m$UNp%K zyRj>G!_Jn)MA^V9gGJj?8c&$(*gPi+Q)t?$_GEcfW*ReY}{5=u`|Ev1sG| z&v~>+to^V~IGc5HQ@h?{h_qk9Ct;@%i8WH%dCY-l{t};noqF+I&Rv0aIro#Y%k?<; z_K&zn==AG#VlfwXICq7Q*g3+_e9D-%_SaHxuG$hINXcwR=p{1XBtBqErxgwO8FQi4 zaPPs<{=xlwi6Q^`Rd%?E>G!$opsIV4f)MA z;WH^MDA?Dv2m-VF1@l#-;lbYS;XTWW?i^Y|wR^oinu1aIdom)1kA~q9pVzuCuuek= zB$*wN2cF2J5EJv;E9R=^qNX~dImxpF)(v5M>a@vTWv-cGeU*t4s5cvs~V{WM^IG zi!dy~%vrK}5f02(Vy?0fkapD!xvIkpZ(FVDJXg(m4BLFUNL9eoytB2 z*?kX5Zo^?y9or9ZX!}}lsQtvbb^+e_Vwa%h9=ikudF&E2xxr`2{XK?rmRvsH+QL$B zd^63+J1>%DCnYOE9Z|-cV%}MSoTGhc7EKw!$uMP;Z>=dy`YY=kTl=_(rmXoWPB(eo z?ONa>$P!uyddDtz{>(qRVCs@4_}b04(rOxA=vFp3^b-D;{qW8gAuRE|g04$v^XkwY z@6X+M;_S)ciR*)b&7|BX>93gK@N#!Y|KXP$9oU(`S@h?&cQF4Q_ZZ~w6ncO z&*pcd^LN4^FyF0aS%LLy@}&8+F-N;^?a^DCo^{q|2%cF51#abKUT9q-*cx_{W-sd(ga_#bcrK6B$!RzOqVICI0N+c!{7iT<9Tzo+Q$ z*$wP5s$~2Ce#YE4@5g$!_hjzu-n+eXbg=)Xy|oj*SNww0_1PO&ysjs1`2Q;xXg~dX z9!VUY={z(-Gcby}Zj@9OomG(YM&a)X`g@B0o{?~~JIR^$HqxV^F=r=d2F-s?+CtoW zTD_BBpu$#MxP|OgbIP{8y`L@?NN#(3!W@|QwU^u1D;(cHjKvhWAFqq4L5Qi+SsIwn zn-`e0SY(jXvXj`}-|KG0eIl8_{OrJ7qN0Z9yp1F(QudE>>e@Sy-K3s2Cnt92datN5 zo-wDcue^8A+-ul{C`%mt+8i;B7lJ*_UdnH*zF_eEi~hv*z&uY~X45lmhf!AT0PPv% z=A`s2{h)bKNL*G#{Nlh|=E7nzk@mwVuXIgZ*iHRnt5_EoC_4#Tj4gw3-Q5}!9g7%f>IH#c#G!DSor1$?msjZc!RbUb^8fefkzEWP~5_ zvwqO~>08Z@t_tWS1zVa2vEb+Tc!Pj^lMRifsK;}@2Q&mvgu&p(PB$3p_?;21aSDc3?^CdI<-o3*+du#1~fA->m&Fcckqf7gDckk@&z*%YBtc~X5Bd21=@0V82J~R3*bD@pb z_Mm=!efV7aFIfh-z7DGo#sAgQ8z;W={ok{_^3wO4b4RWE`?jj`-R7owim82l-CPKY z+kaics@s2GrpjMmf9b0$=IP@@`%rE3knYY~@U-sH@F!P>Ke1vyZhYElwf3~6^LqH9 z;o9x^GjqWO+s@ebAiQN4`1mKK*M#))%PRDmw2Uv4H6^|L!VA5oTCW-D<(FpYHG^I+ z{r5R@F8Jm@&JF+l-2eLqX7Ae#T|L&RS4dpCXkou9lfOYG#BYFMLb|Wn+sWTD7ty9@ zyA9Dloj~#%h_fBh#@Td4|MVU4Z?q$9uC627YumxxZ^1uqO|;vo?W#WIIby#;ce~0- z_jX-H9^4y=-{l~%cUvv|#cZD!zr!G(Fi$&8JOJ2Xq7TuGlomyw4i|_%-A`^dfC(Wh%+ d`nVsZKE9ZL2@Yzq=Q_a6-Hjg%eN^1mc5r)U5G literal 0 HcmV?d00001 diff --git a/lfads/utils.py b/lfads/utils.py new file mode 100644 index 000000000..7eb1db84f --- /dev/null +++ b/lfads/utils.py @@ -0,0 +1,357 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== +from __future__ import print_function + +import os +import h5py +import json + +import numpy as np +import tensorflow as tf + + +def log_sum_exp(x_k): + """Computes log \sum exp in a numerically stable way. + log ( sum_i exp(x_i) ) + log ( sum_i exp(x_i - m + m) ), with m = max(x_i) + log ( sum_i exp(x_i - m)*exp(m) ) + log ( sum_i exp(x_i - m) + m + + Args: + x_k - k -dimensional list of arguments to log_sum_exp. + + Returns: + log_sum_exp of the arguments. + """ + m = tf.reduce_max(x_k) + x1_k = x_k - m + u_k = tf.exp(x1_k) + z = tf.reduce_sum(u_k) + return tf.log(z) + m + + +def linear(x, out_size, do_bias=True, alpha=1.0, identity_if_possible=False, + normalized=False, name=None, collections=None): + """Linear (affine) transformation, y = x W + b, for a variety of + configurations. + + Args: + x: input The tensor to tranformation. + out_size: The integer size of non-batch output dimension. + do_bias (optional): Add a learnable bias vector to the operation. + alpha (optional): A multiplicative scaling for the weight initialization + of the matrix, in the form \alpha * 1/\sqrt{x.shape[1]}. + identity_if_possible (optional): just return identity, + if x.shape[1] == out_size. + normalized (optional): Option to divide out by the norms of the rows of W. + name (optional): The name prefix to add to variables. + collections (optional): List of additional collections. (Placed in + tf.GraphKeys.GLOBAL_VARIABLES already, so no need for that.) + + Returns: + In the equation, y = x W + b, returns the tensorflow op that yields y. + """ + in_size = int(x.get_shape()[1]) # from Dimension(10) -> 10 + stddev = alpha/np.sqrt(float(in_size)) + mat_init = tf.random_normal_initializer(0.0, stddev) + wname = (name + "/W") if name else "/W" + + if identity_if_possible and in_size == out_size: + # Sometimes linear layers are nothing more than size adapters. + return tf.identity(x, name=(wname+'_ident')) + + W,b = init_linear(in_size, out_size, do_bias=do_bias, alpha=alpha, + normalized=normalized, name=name, collections=collections) + + if do_bias: + return tf.matmul(x, W) + b + else: + return tf.matmul(x, W) + + +def init_linear(in_size, out_size, do_bias=True, mat_init_value=None, alpha=1.0, + identity_if_possible=False, normalized=False, + name=None, collections=None): + """Linear (affine) transformation, y = x W + b, for a variety of + configurations. + + Args: + in_size: The integer size of the non-batc input dimension. [(x),y] + out_size: The integer size of non-batch output dimension. [x,(y)] + do_bias (optional): Add a learnable bias vector to the operation. + mat_init_value (optional): numpy constant for matrix initialization, if None + , do random, with additional parameters. + alpha (optional): A multiplicative scaling for the weight initialization + of the matrix, in the form \alpha * 1/\sqrt{x.shape[1]}. + identity_if_possible (optional): just return identity, + if x.shape[1] == out_size. + normalized (optional): Option to divide out by the norms of the rows of W. + name (optional): The name prefix to add to variables. + collections (optional): List of additional collections. (Placed in + tf.GraphKeys.GLOBAL_VARIABLES already, so no need for that.) + + Returns: + In the equation, y = x W + b, returns the pair (W, b). + """ + + if mat_init_value is not None and mat_init_value.shape != (in_size, out_size): + raise ValueError( + 'Provided mat_init_value must have shape [%d, %d].'%(in_size, out_size)) + + if mat_init_value is None: + stddev = alpha/np.sqrt(float(in_size)) + mat_init = tf.random_normal_initializer(0.0, stddev) + + wname = (name + "/W") if name else "/W" + + if identity_if_possible and in_size == out_size: + return (tf.constant(np.eye(in_size).astype(np.float32)), + tf.zeros(in_size)) + + # Note the use of get_variable vs. tf.Variable. this is because get_variable + # does not allow the initialization of the variable with a value. + if normalized: + w_collections = [tf.GraphKeys.GLOBAL_VARIABLES, "norm-variables"] + if collections: + w_collections += collections + if mat_init_value is not None: + w = tf.Variable(mat_init_value, name=wname, collections=w_collections) + else: + w = tf.get_variable(wname, [in_size, out_size], initializer=mat_init, + collections=w_collections) + w = tf.nn.l2_normalize(w, dim=0) # x W, so xW_j = \sum_i x_bi W_ij + else: + w_collections = [tf.GraphKeys.GLOBAL_VARIABLES] + if collections: + w_collections += collections + if mat_init_value is not None: + w = tf.Variable(mat_init_value, name=wname, collections=w_collections) + else: + w = tf.get_variable(wname, [in_size, out_size], initializer=mat_init, + collections=w_collections) + + if do_bias: + b_collections = [tf.GraphKeys.GLOBAL_VARIABLES] + if collections: + b_collections += collections + bname = (name + "/b") if name else "/b" + b = tf.get_variable(bname, [1, out_size], + initializer=tf.zeros_initializer(), + collections=b_collections) + else: + b = None + + return (w, b) + + +def write_data(data_fname, data_dict, use_json=False, compression=None): + """Write data in HD5F format. + + Args: + data_fname: The filename of teh file in which to write the data. + data_dict: The dictionary of data to write. The keys are strings + and the values are numpy arrays. + use_json (optional): human readable format for simple items + compression (optional): The compression to use for h5py (disabled by + default because the library borks on scalars, otherwise try 'gzip'). + """ + + dir_name = os.path.dirname(data_fname) + if not os.path.exists(dir_name): + os.makedirs(dir_name) + + if use_json: + the_file = open(data_fname,'w') + json.dump(data_dict, the_file) + the_file.close() + else: + try: + with h5py.File(data_fname, 'w') as hf: + for k, v in data_dict.items(): + clean_k = k.replace('/', '_') + if clean_k is not k: + print('Warning: saving variable with name: ', k, ' as ', clean_k) + else: + print('Saving variable with name: ', clean_k) + hf.create_dataset(clean_k, data=v, compression=compression) + except IOError: + print("Cannot open %s for writing.", data_fname) + raise + + +def read_data(data_fname): + """ Read saved data in HDF5 format. + + Args: + data_fname: The filename of the file from which to read the data. + Returns: + A dictionary whose keys will vary depending on dataset (but should + always contain the keys 'train_data' and 'valid_data') and whose + values are numpy arrays. + """ + + try: + with h5py.File(data_fname, 'r') as hf: + data_dict = {k: np.array(v) for k, v in hf.items()} + return data_dict + except IOError: + print("Cannot open %s for reading." % data_fname) + raise + + +def write_datasets(data_path, data_fname_stem, dataset_dict, compression=None): + """Write datasets in HD5F format. + + This function assumes the dataset_dict is a mapping ( string -> + to data_dict ). It calls write_data for each data dictionary, + post-fixing the data filename with the key of the dataset. + + Args: + data_path: The path to the save directory. + data_fname_stem: The filename stem of the file in which to write the data. + dataset_dict: The dictionary of datasets. The keys are strings + and the values data dictionaries (str -> numpy arrays) associations. + compression (optional): The compression to use for h5py (disabled by + default because the library borks on scalars, otherwise try 'gzip'). + """ + + full_name_stem = os.path.join(data_path, data_fname_stem) + for s, data_dict in dataset_dict.items(): + write_data(full_name_stem + "_" + s, data_dict, compression=compression) + + +def read_datasets(data_path, data_fname_stem): + """Read dataset sin HD5F format. + + This function assumes the dataset_dict is a mapping ( string -> + to data_dict ). It calls write_data for each data dictionary, + post-fixing the data filename with the key of the dataset. + + Args: + data_path: The path to the save directory. + data_fname_stem: The filename stem of the file in which to write the data. + """ + + dataset_dict = {} + fnames = os.listdir(data_path) + + print ('loading data from ' + data_path + ' with stem ' + data_fname_stem) + for fname in fnames: + if fname.startswith(data_fname_stem): + data_dict = read_data(os.path.join(data_path,fname)) + idx = len(data_fname_stem) + 1 + key = fname[idx:] + data_dict['data_dim'] = data_dict['train_data'].shape[2] + data_dict['num_steps'] = data_dict['train_data'].shape[1] + dataset_dict[key] = data_dict + + if len(dataset_dict) == 0: + raise ValueError("Failed to load any datasets, are you sure that the " + "'--data_dir' and '--data_filename_stem' flag values " + "are correct?") + + print (str(len(dataset_dict)) + ' datasets loaded') + return dataset_dict + + +# NUMPY utility functions +def list_t_bxn_to_list_b_txn(values_t_bxn): + """Convert a length T list of BxN numpy tensors of length B list of TxN numpy + tensors. + + Args: + values_t_bxn: The length T list of BxN numpy tensors. + + Returns: + The length B list of TxN numpy tensors. + """ + T = len(values_t_bxn) + B, N = values_t_bxn[0].shape + values_b_txn = [] + for b in range(B): + values_pb_txn = np.zeros([T,N]) + for t in range(T): + values_pb_txn[t,:] = values_t_bxn[t][b,:] + values_b_txn.append(values_pb_txn) + + return values_b_txn + + +def list_t_bxn_to_tensor_bxtxn(values_t_bxn): + """Convert a length T list of BxN numpy tensors to single numpy tensor with + shape BxTxN. + + Args: + values_t_bxn: The length T list of BxN numpy tensors. + + Returns: + values_bxtxn: The BxTxN numpy tensor. + """ + + T = len(values_t_bxn) + B, N = values_t_bxn[0].shape + values_bxtxn = np.zeros([B,T,N]) + for t in range(T): + values_bxtxn[:,t,:] = values_t_bxn[t] + + return values_bxtxn + + +def tensor_bxtxn_to_list_t_bxn(tensor_bxtxn): + """Convert a numpy tensor with shape BxTxN to a length T list of numpy tensors + with shape BxT. + + Args: + tensor_bxtxn: The BxTxN numpy tensor. + + Returns: + A length T list of numpy tensors with shape BxT. + """ + + values_t_bxn = [] + B, T, N = tensor_bxtxn.shape + for t in range(T): + values_t_bxn.append(np.squeeze(tensor_bxtxn[:,t,:])) + + return values_t_bxn + + +def flatten(list_of_lists): + """Takes a list of lists and returns a list of the elements. + + Args: + list_of_lists: List of lists. + + Returns: + flat_list: Flattened list. + flat_list_idxs: Flattened list indices. + """ + flat_list = [] + flat_list_idxs = [] + start_idx = 0 + for item in list_of_lists: + if isinstance(item, list): + flat_list += item + l = len(item) + idxs = range(start_idx, start_idx+l) + start_idx = start_idx+l + else: # a value + flat_list.append(item) + idxs = [start_idx] + start_idx += 1 + flat_list_idxs.append(idxs) + + return flat_list, flat_list_idxs -- GitLab From f2c86f92babbddf03c8ea7e578a412418db6f13e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E7=92=9E?= Date: Fri, 23 Jun 2017 09:48:25 +0800 Subject: [PATCH 143/171] Comment wrong in adversarial_crypto model According to the code below: ```python if key is not None: combined_message = tf.concat(axis=1, values=[message, key]) else: combined_message = message ```python If the key=None, combined_message is just message, not the key. --- adversarial_crypto/train_eval.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adversarial_crypto/train_eval.py b/adversarial_crypto/train_eval.py index 09de7e513..6f5a5914b 100644 --- a/adversarial_crypto/train_eval.py +++ b/adversarial_crypto/train_eval.py @@ -118,7 +118,7 @@ class AdversarialCrypto(object): def model(self, collection, message, key=None): """The model for Alice, Bob, and Eve. If key=None, the first FC layer - takes only the Key as inputs. Otherwise, it uses both the key + takes only the message as inputs. Otherwise, it uses both the key and the message. Args: -- GitLab From 3ae3df73408167d242731ac163d8dec96df5fa30 Mon Sep 17 00:00:00 2001 From: Thibaut Mattio Date: Sat, 24 Jun 2017 07:19:10 +0800 Subject: [PATCH 144/171] Fix typo in Engine Dashboard (#1746) --- object_detection/g3doc/running_on_cloud.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_detection/g3doc/running_on_cloud.md b/object_detection/g3doc/running_on_cloud.md index b96725eaf..b691c0e5b 100644 --- a/object_detection/g3doc/running_on_cloud.md +++ b/object_detection/g3doc/running_on_cloud.md @@ -88,7 +88,7 @@ training checkpoints and events will be written to and Google Cloud Storage. Users can monitor the progress of their training job on the [ML Engine -Dasboard](https://pantheon.corp.google.com/mlengine/jobs). +Dashboard](https://pantheon.corp.google.com/mlengine/jobs). ## Running an Evaluation Job on Cloud -- GitLab From f47880a3ce97e57db756e8c87cf76537864bb6f9 Mon Sep 17 00:00:00 2001 From: Ben Mabey Date: Sat, 24 Jun 2017 16:21:28 -0600 Subject: [PATCH 145/171] fix docs on data generation for object detection --- object_detection/g3doc/preparing_inputs.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/object_detection/g3doc/preparing_inputs.md b/object_detection/g3doc/preparing_inputs.md index 77ba7f39f..8e4933c78 100644 --- a/object_detection/g3doc/preparing_inputs.md +++ b/object_detection/g3doc/preparing_inputs.md @@ -14,9 +14,9 @@ Extract the tar file and run the `create_pascal_tf_record` script: ``` # From tensorflow/models/object_detection tar -xvf VOCtrainval_11-May-2012.tar -./create_pascal_tf_record --data_dir=VOCdevkit \ +python create_pascal_tf_record.py --data_dir=VOCdevkit \ --year=VOC2012 --set=train --output_path=pascal_train.record -./create_pascal_tf_record --data_dir=/home/user/VOCdevkit \ +python create_pascal_tf_record.py --data_dir=/home/user/VOCdevkit \ --year=VOC2012 --set=val --output_path=pascal_val.record ``` @@ -36,7 +36,7 @@ file and run the `create_pet_tf_record` script to generate TFRecords. # From tensorflow/models/object_detection tar -xvf annotations.tar.gz tar -xvf images.tar.gz -./create_pet_tf_record --data_dir=`pwd` --output_dir=`pwd` +python create_pet_tf_record.py --data_dir=`pwd` --output_dir=`pwd` ``` You should end up with two TFRecord files named pet_train.record and -- GitLab From 093de0aff9af123afd1a3c8d5e35765c7c60ab8e Mon Sep 17 00:00:00 2001 From: Ben Mabey Date: Sat, 24 Jun 2017 17:50:27 -0600 Subject: [PATCH 146/171] fix typo in object_detection docs --- object_detection/g3doc/running_pets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_detection/g3doc/running_pets.md b/object_detection/g3doc/running_pets.md index eae858af7..a72ed4af8 100644 --- a/object_detection/g3doc/running_pets.md +++ b/object_detection/g3doc/running_pets.md @@ -146,7 +146,7 @@ upload your edited file onto GCS, making note of the path it was uploaded to sed -i "s|PATH_TO_BE_CONFIGURED|"gs://${YOUR_GCS_BUCKET}"/data|g" \ object_detection/samples/configs/faster_rcnn_resnet101_pets.config -# Copy editted template to cloud. +# Copy edited template to cloud. gsutil cp object_detection/samples/configs/faster_rcnn_resnet101_pets.config \ gs://${YOUR_GCS_BUCKET}/data/faster_rcnn_resnet101_pets.config ``` -- GitLab From 8f16def11bd9ef4b874fbd86bb0f2792abbb07a0 Mon Sep 17 00:00:00 2001 From: Byeongjoo Ahn Date: Mon, 26 Jun 2017 18:25:42 +0900 Subject: [PATCH 147/171] Fix compatibility for Python3 iteritems() -> items() --- object_detection/utils/variables_helper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_detection/utils/variables_helper.py b/object_detection/utils/variables_helper.py index 1e091a144..b27f814f1 100644 --- a/object_detection/utils/variables_helper.py +++ b/object_detection/utils/variables_helper.py @@ -122,7 +122,7 @@ def get_variables_available_in_checkpoint(variables, checkpoint_path): ckpt_reader = tf.train.NewCheckpointReader(checkpoint_path) ckpt_vars = ckpt_reader.get_variable_to_shape_map().keys() vars_in_ckpt = {} - for variable_name, variable in sorted(variable_names_map.iteritems()): + for variable_name, variable in sorted(variable_names_map.items()): if variable_name in ckpt_vars: vars_in_ckpt[variable_name] = variable else: -- GitLab From 47a617617bdf402fa93bf535b44d9f3b3b7a199e Mon Sep 17 00:00:00 2001 From: Jasmine Date: Mon, 26 Jun 2017 10:49:51 -0700 Subject: [PATCH 148/171] update README's TF version --- lfads/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lfads/README.md b/lfads/README.md index ab4ee2b91..0dacb79db 100644 --- a/lfads/README.md +++ b/lfads/README.md @@ -7,7 +7,9 @@ This code implements the model from the paper "[LFADS - Latent Factor Analysis v The code is written in Python 2.7.6. You will also need: -* **TensorFlow** version 1.0.1 or greater ([install](https://www.tensorflow.org/install/)) +* **TensorFlow** version 1.1 ([install](http://tflearn.org/installation/)) - + there is an incompatibility with LFADS and TF v1.2, which we are in the + process of resolving * **NumPy, SciPy, Matplotlib** ([install SciPy stack](https://www.scipy.org/install.html), contains all of them) * **h5py** ([install](https://pypi.python.org/pypi/h5py)) -- GitLab From 2f3666ed8e339e5b3d67609cded3f741596de205 Mon Sep 17 00:00:00 2001 From: Duc Nguyen Date: Tue, 27 Jun 2017 10:57:15 +0900 Subject: [PATCH 149/171] Change key of type 'tuple' to 'str' dictionary having both 'tuple' and 'str' keys cannot be 'sorted' --- object_detection/core/batcher.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/object_detection/core/batcher.py b/object_detection/core/batcher.py index 7b9d040ab..4c816457b 100644 --- a/object_detection/core/batcher.py +++ b/object_detection/core/batcher.py @@ -20,6 +20,8 @@ import tensorflow as tf from object_detection.core import prefetcher +rt_shape_str = '_runtime_shapes' + class BatchQueue(object): """BatchQueue class. @@ -81,7 +83,7 @@ class BatchQueue(object): {key: tensor.get_shape() for key, tensor in tensor_dict.iteritems()}) # Remember runtime shapes to unpad tensors after batching. runtime_shapes = collections.OrderedDict( - {(key + '_runtime_shapes'): tf.shape(tensor) + {(key + rt_shape_str): tf.shape(tensor) for key, tensor in tensor_dict.iteritems()}) all_tensors = tensor_dict all_tensors.update(runtime_shapes) @@ -112,8 +114,8 @@ class BatchQueue(object): for key, batched_tensor in batched_tensors.iteritems(): unbatched_tensor_list = tf.unstack(batched_tensor) for i, unbatched_tensor in enumerate(unbatched_tensor_list): - if '_runtime_shapes' in key: - shapes[(key[:-15], i)] = unbatched_tensor + if rt_shape_str in key: + shapes[(key[:-len(rt_shape_str)], i)] = unbatched_tensor else: tensors[(key, i)] = unbatched_tensor -- GitLab From 7fcddd76f17fad959c83fe88166e5cb6a6d4027c Mon Sep 17 00:00:00 2001 From: James Pruegsanusak Date: Tue, 27 Jun 2017 11:50:34 +0800 Subject: [PATCH 150/171] Fix typo in object_detection's preparing_inputs.md --- object_detection/g3doc/preparing_inputs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_detection/g3doc/preparing_inputs.md b/object_detection/g3doc/preparing_inputs.md index 8e4933c78..8c95eb87c 100644 --- a/object_detection/g3doc/preparing_inputs.md +++ b/object_detection/g3doc/preparing_inputs.md @@ -16,7 +16,7 @@ Extract the tar file and run the `create_pascal_tf_record` script: tar -xvf VOCtrainval_11-May-2012.tar python create_pascal_tf_record.py --data_dir=VOCdevkit \ --year=VOC2012 --set=train --output_path=pascal_train.record -python create_pascal_tf_record.py --data_dir=/home/user/VOCdevkit \ +python create_pascal_tf_record.py --data_dir=VOCdevkit \ --year=VOC2012 --set=val --output_path=pascal_val.record ``` -- GitLab From 1e093b26a5c5200856f90ad8ad9c794f2dd721fc Mon Sep 17 00:00:00 2001 From: James Pruegsanusak Date: Tue, 27 Jun 2017 11:58:40 +0800 Subject: [PATCH 151/171] Fix markdown style for better readability --- object_detection/g3doc/preparing_inputs.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/object_detection/g3doc/preparing_inputs.md b/object_detection/g3doc/preparing_inputs.md index 8c95eb87c..1e80bebb0 100644 --- a/object_detection/g3doc/preparing_inputs.md +++ b/object_detection/g3doc/preparing_inputs.md @@ -11,7 +11,7 @@ The raw 2012 PASCAL VOC data set can be downloaded [here](http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar). Extract the tar file and run the `create_pascal_tf_record` script: -``` +```bash # From tensorflow/models/object_detection tar -xvf VOCtrainval_11-May-2012.tar python create_pascal_tf_record.py --data_dir=VOCdevkit \ @@ -20,11 +20,11 @@ python create_pascal_tf_record.py --data_dir=VOCdevkit \ --year=VOC2012 --set=val --output_path=pascal_val.record ``` -You should end up with two TFRecord files named pascal_train.record and -pascal_val.record in the tensorflow/models/object_detection directory. +You should end up with two TFRecord files named `pascal_train.record` and +`pascal_val.record` in the `tensorflow/models/object_detection` directory. The label map for the PASCAL VOC data set can be found at -data/pascal_label_map.pbtxt. +`data/pascal_label_map.pbtxt`. ## Generation the Oxford-IIIT Pet TFRecord files. @@ -32,14 +32,14 @@ The Oxford-IIIT Pet data set can be downloaded from [their website](http://www.robots.ox.ac.uk/~vgg/data/pets/). Extract the tar file and run the `create_pet_tf_record` script to generate TFRecords. -``` +```bash # From tensorflow/models/object_detection tar -xvf annotations.tar.gz tar -xvf images.tar.gz python create_pet_tf_record.py --data_dir=`pwd` --output_dir=`pwd` ``` -You should end up with two TFRecord files named pet_train.record and -pet_val.record in the tensorflow/models/object_detection directory. +You should end up with two TFRecord files named `pet_train.record` and +`pet_val.record` in the `tensorflow/models/object_detection` directory. -The label map for the Pet dataset can be found at data/pet_label_map.pbtxt. +The label map for the Pet dataset can be found at `data/pet_label_map.pbtxt`. -- GitLab From ee1089eedd1aea0a4edea40902807d373b912b51 Mon Sep 17 00:00:00 2001 From: akssri Date: Tue, 27 Jun 2017 11:54:18 +0530 Subject: [PATCH 152/171] random_pixel_value_scale has no boxes involved --- object_detection/core/preprocessor.py | 1 - 1 file changed, 1 deletion(-) diff --git a/object_detection/core/preprocessor.py b/object_detection/core/preprocessor.py index 3fdcb6138..25bd0cbaf 100644 --- a/object_detection/core/preprocessor.py +++ b/object_detection/core/preprocessor.py @@ -341,7 +341,6 @@ def random_pixel_value_scale(image, minval=0.9, maxval=1.1, seed=None): Returns: image: image which is the same shape as input image. - boxes: boxes which is the same shape as input boxes. """ with tf.name_scope('RandomPixelValueScale', values=[image]): color_coef = tf.random_uniform( -- GitLab From 801f892acc21f3a4359c8ebaa4ff3b44dd02b5e0 Mon Sep 17 00:00:00 2001 From: James Pruegsanusak Date: Tue, 27 Jun 2017 21:56:15 +0800 Subject: [PATCH 153/171] Fix typos and inline code style --- object_detection/g3doc/running_pets.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/object_detection/g3doc/running_pets.md b/object_detection/g3doc/running_pets.md index a72ed4af8..a218bae93 100644 --- a/object_detection/g3doc/running_pets.md +++ b/object_detection/g3doc/running_pets.md @@ -64,7 +64,7 @@ the tarballs, your object_detection directory should appear as follows: ``` The Tensorflow Object Detection API expects data to be in the TFRecord format, -so we'll now run the _create_pet_tf_record_ script to convert from the raw +so we'll now run the `create_pet_tf_record` script to convert from the raw Oxford-IIIT Pet dataset into TFRecords. Run the following commands from the object_detection directory: @@ -83,12 +83,12 @@ python object_detection/create_pet_tf_record.py \ Note: It is normal to see some warnings when running this script. You may ignore them. -Two TFRecord files named pet_train.record and pet_val.record should be generated +Two TFRecord files named `pet_train.record` and `pet_val.record` should be generated in the object_detection/ directory. Now that the data has been generated, we'll need to upload it to Google Cloud Storage so the data can be accessed by ML Engine. Run the following command to -copy the files into your GCS bucket (substituting ${YOUR_GCS_BUCKET}): +copy the files into your GCS bucket (substituting `${YOUR_GCS_BUCKET}`): ``` bash # From tensorflow/models/ @@ -109,7 +109,7 @@ parameters to initialize our new model. Download our [COCO-pretrained Faster R-CNN with Resnet-101 model](http://storage.googleapis.com/download.tensorflow.org/models/object_detection/faster_rcnn_resnet101_coco_11_06_2017.tar.gz). -Unzip the contents of the folder and copy the model.ckpt* files into your GCS +Unzip the contents of the folder and copy the `model.ckpt*` files into your GCS Bucket. ``` bash @@ -134,7 +134,7 @@ text editor. We'll need to configure some paths in order for the template to work. Search the file for instances of `PATH_TO_BE_CONFIGURED` and replace them with the -appropriate value (typically "gs://${YOUR_GCS_BUCKET}/data/"). Afterwards +appropriate value (typically `gs://${YOUR_GCS_BUCKET}/data/`). Afterwards upload your edited file onto GCS, making note of the path it was uploaded to (we'll need it when starting the training/eval jobs). @@ -171,7 +171,7 @@ the following: ``` You can inspect your bucket using the [Google Cloud Storage -browser](pantheon.corp.google.com/storage). +browser](https://console.cloud.google.com/storage/browser). ## Starting Training and Evaluation Jobs on Google Cloud ML Engine @@ -194,7 +194,7 @@ and `slim/dist/slim-0.1.tar.gz`. For running the training Cloud ML job, we'll configure the cluster to use 10 training jobs (1 master + 9 workers) and three parameters servers. The -configuration file can be found at object_detection/samples/cloud/cloud.yml. +configuration file can be found at `object_detection/samples/cloud/cloud.yml`. To start training, execute the following command from the tensorflow/models/ directory: @@ -233,7 +233,7 @@ submit training` command is correct. ML Engine does not distinguish between training and evaluation jobs. Users can monitor and stop training and evaluation jobs on the [ML Engine -Dasboard](https://console.cloud.google.com/mlengine/jobs). +Dashboard](https://console.cloud.google.com/mlengine/jobs). ## Monitoring Progress with Tensorboard @@ -263,15 +263,15 @@ Note: It takes roughly 10 minutes for a job to get started on ML Engine, and roughly an hour for the system to evaluate the validation dataset. It may take some time to populate the dashboards. If you do not see any entries after half an hour, check the logs from the [ML Engine -Dasboard](https://pantheon.corp.google.com/mlengine/jobs). +Dashboard](https://console.cloud.google.com/mlengine/jobs). ## Exporting the Tensorflow Graph After your model has been trained, you should export it to a Tensorflow graph proto. First, you need to identify a candidate checkpoint to export. You can search your bucket using the [Google Cloud Storage -Browser](https://pantheon.corp.google.com/storage/browser). The file should be -stored under ${YOUR_GCS_BUCKET}/train. The checkpoint will typically consist of +Browser](https://console.cloud.google.com/storage/browser). The file should be +stored under `${YOUR_GCS_BUCKET}/train`. The checkpoint will typically consist of three files: * model.ckpt-${CHECKPOINT_NUMBER}.data-00000-of-00001, @@ -291,7 +291,7 @@ python object_detection/export_inference_graph \ --inference_graph_path output_inference_graph.pb ``` -Afterwards, you should see a graph named output_inference_graph.pb. +Afterwards, you should see a graph named `output_inference_graph.pb`. ## What's Next -- GitLab From b02ab963cdd414486751bb6ba39ec6b6dea9d750 Mon Sep 17 00:00:00 2001 From: James Pruegsanusak Date: Tue, 27 Jun 2017 22:04:18 +0800 Subject: [PATCH 154/171] Use inline code style for directory names --- object_detection/g3doc/running_pets.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/object_detection/g3doc/running_pets.md b/object_detection/g3doc/running_pets.md index a218bae93..23943c794 100644 --- a/object_detection/g3doc/running_pets.md +++ b/object_detection/g3doc/running_pets.md @@ -51,8 +51,8 @@ dataset for Oxford-IIIT Pets lives [here](http://www.robots.ox.ac.uk/~vgg/data/pets/). You will need to download both the image dataset [`images.tar.gz`](http://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz) and the groundtruth data [`annotations.tar.gz`](http://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gz) -to the tensorflow/models directory. This may take some time. After downloading -the tarballs, your object_detection directory should appear as follows: +to the `tensorflow/models` directory. This may take some time. After downloading +the tarballs, your `object_detection` directory should appear as follows: ```lang-none + object_detection/ @@ -66,7 +66,7 @@ the tarballs, your object_detection directory should appear as follows: The Tensorflow Object Detection API expects data to be in the TFRecord format, so we'll now run the `create_pet_tf_record` script to convert from the raw Oxford-IIIT Pet dataset into TFRecords. Run the following commands from the -object_detection directory: +`object_detection` directory: ``` bash # From tensorflow/models/ @@ -84,7 +84,7 @@ Note: It is normal to see some warnings when running this script. You may ignore them. Two TFRecord files named `pet_train.record` and `pet_val.record` should be generated -in the object_detection/ directory. +in the `object_detection` directory. Now that the data has been generated, we'll need to upload it to Google Cloud Storage so the data can be accessed by ML Engine. Run the following command to @@ -127,7 +127,7 @@ In the Tensorflow Object Detection API, the model parameters, training parameters and eval parameters are all defined by a config file. More details can be found [here](configuring_jobs.md). For this tutorial, we will use some predefined templates provided with the source code. In the -object_detection/samples/configs folder, there are skeleton object_detection +`object_detection/samples/configs` folder, there are skeleton object_detection configuration files. We will use `faster_rcnn_resnet101_pets.config` as a starting point for configuring the pipeline. Open the file with your favourite text editor. @@ -181,7 +181,7 @@ Before we can start a job on Google Cloud ML Engine, we must: 2. Write a cluster configuration for our Google Cloud ML job. To package the Tensorflow Object Detection code, run the following commands from -the tensorflow/models/ directory: +the `tensorflow/models/` directory: ``` bash # From tensorflow/models/ @@ -196,7 +196,7 @@ For running the training Cloud ML job, we'll configure the cluster to use 10 training jobs (1 master + 9 workers) and three parameters servers. The configuration file can be found at `object_detection/samples/cloud/cloud.yml`. -To start training, execute the following command from the tensorflow/models/ +To start training, execute the following command from the `tensorflow/models/` directory: ``` bash @@ -274,12 +274,12 @@ Browser](https://console.cloud.google.com/storage/browser). The file should be stored under `${YOUR_GCS_BUCKET}/train`. The checkpoint will typically consist of three files: -* model.ckpt-${CHECKPOINT_NUMBER}.data-00000-of-00001, -* model.ckpt-${CHECKPOINT_NUMBER}.index -* model.ckpt-${CHECKPOINT_NUMBER}.meta +* `model.ckpt-${CHECKPOINT_NUMBER}.data-00000-of-00001` +* `model.ckpt-${CHECKPOINT_NUMBER}.index` +* `model.ckpt-${CHECKPOINT_NUMBER}.meta` After you've identified a candidate checkpoint to export, run the following -command from tensorflow/models/object_detection: +command from `tensorflow/models/object_detection`: ``` bash # From tensorflow/models -- GitLab From f33ffcc224fe6549bc2c10cf3597b702459d64fc Mon Sep 17 00:00:00 2001 From: Vivek Rathod Date: Tue, 27 Jun 2017 10:11:30 -0700 Subject: [PATCH 155/171] Add option to export graph with input node that accepts encoded jpeg or png string --- object_detection/export_inference_graph.py | 19 ++- object_detection/exporter.py | 44 ++++-- object_detection/exporter_test.py | 164 ++++++++++++++++++--- 3 files changed, 194 insertions(+), 33 deletions(-) diff --git a/object_detection/export_inference_graph.py b/object_detection/export_inference_graph.py index c6e8a827c..d7ffa4152 100644 --- a/object_detection/export_inference_graph.py +++ b/object_detection/export_inference_graph.py @@ -18,21 +18,27 @@ r"""Tool to export an object detection model for inference. Prepares an object detection tensorflow graph for inference using model configuration and an optional trained checkpoint. -The inference graph contains one of two input nodes depending on the user +The inference graph contains one of three input nodes depending on the user specified option. * `image_tensor`: Accepts a uint8 4-D tensor of shape [1, None, None, 3] + * `encoded_image_string_tensor`: Accepts a scalar string tensor of encoded PNG + or JPEG image. * `tf_example`: Accepts a serialized TFExample proto. The batch size in this case is always 1. -and the following output nodes: - * `num_detections` : Outputs float32 tensors of the form [batch] +and the following output nodes returned by the model.postprocess(..): + * `num_detections`: Outputs float32 tensors of the form [batch] that specifies the number of valid boxes per image in the batch. - * `detection_boxes` : Outputs float32 tensors of the form + * `detection_boxes`: Outputs float32 tensors of the form [batch, num_boxes, 4] containing detected boxes. - * `detection_scores` : Outputs float32 tensors of the form + * `detection_scores`: Outputs float32 tensors of the form [batch, num_boxes] containing class scores for the detections. * `detection_classes`: Outputs float32 tensors of the form [batch, num_boxes] containing classes for the detections. + * `detection_masks`: Outputs float32 tensors of the form + [batch, num_boxes, mask_height, mask_width] containing predicted instance + masks for each box if its present in the dictionary of postprocessed + tensors returned by the model. Note that currently `batch` is always 1, but we will support `batch` > 1 in the future. @@ -61,7 +67,8 @@ slim = tf.contrib.slim flags = tf.app.flags flags.DEFINE_string('input_type', 'image_tensor', 'Type of input node. Can be ' - 'one of [`image_tensor` `tf_example_proto`]') + 'one of [`image_tensor`, `encoded_image_string_tensor`, ' + '`tf_example`]') flags.DEFINE_string('pipeline_config_path', '', 'Path to a pipeline_pb2.TrainEvalPipelineConfig config ' 'file.') diff --git a/object_detection/exporter.py b/object_detection/exporter.py index a57913f7c..24b654a55 100644 --- a/object_detection/exporter.py +++ b/object_detection/exporter.py @@ -30,8 +30,8 @@ from object_detection.data_decoders import tf_example_decoder slim = tf.contrib.slim -# TODO: Replace with freeze_graph.freeze_graph_with_def_protos when newer -# version of Tensorflow becomes more common. +# TODO: Replace with freeze_graph.freeze_graph_with_def_protos when +# newer version of Tensorflow becomes more common. def freeze_graph_with_def_protos( input_graph_def, input_saver_def, @@ -48,12 +48,12 @@ def freeze_graph_with_def_protos( # 'input_checkpoint' may be a prefix if we're using Saver V2 format if not saver_lib.checkpoint_exists(input_checkpoint): - logging.info('Input checkpoint "' + input_checkpoint + '" does not exist!') - return -1 + raise ValueError( + 'Input checkpoint "' + input_checkpoint + '" does not exist!') if not output_node_names: - logging.info('You must supply the name of a node to --output_node_names.') - return -1 + raise ValueError( + 'You must supply the name of a node to --output_node_names.') # Remove all the explicit device specifications for this node. This helps to # make the graph more portable. @@ -101,7 +101,7 @@ def freeze_graph_with_def_protos( def _tf_example_input_placeholder(): tf_example_placeholder = tf.placeholder( tf.string, shape=[], name='tf_example') - tensor_dict = tf_example_decoder.TfExampleDecoder().Decode( + tensor_dict = tf_example_decoder.TfExampleDecoder().decode( tf_example_placeholder) image = tensor_dict[fields.InputDataFields.image] return tf.expand_dims(image, axis=0) @@ -112,9 +112,21 @@ def _image_tensor_input_placeholder(): shape=(1, None, None, 3), name='image_tensor') + +def _encoded_image_string_tensor_input_placeholder(): + image_str = tf.placeholder(dtype=tf.string, + shape=[], + name='encoded_image_string_tensor') + image_tensor = tf.image.decode_image(image_str, channels=3) + image_tensor.set_shape((None, None, 3)) + return tf.expand_dims(image_tensor, axis=0) + + input_placeholder_fn_map = { + 'image_tensor': _image_tensor_input_placeholder, + 'encoded_image_string_tensor': + _encoded_image_string_tensor_input_placeholder, 'tf_example': _tf_example_input_placeholder, - 'image_tensor': _image_tensor_input_placeholder } @@ -129,23 +141,31 @@ def _add_output_tensor_nodes(postprocessed_tensors): containing scores for the detected boxes. * detection_classes: float32 tensor of shape [batch_size, num_boxes] containing class predictions for the detected boxes. + * detection_masks: (Optional) float32 tensor of shape + [batch_size, num_boxes, mask_height, mask_width] containing masks for each + detection box. Args: postprocessed_tensors: a dictionary containing the following fields 'detection_boxes': [batch, max_detections, 4] 'detection_scores': [batch, max_detections] 'detection_classes': [batch, max_detections] + 'detection_masks': [batch, max_detections, mask_height, mask_width] + (optional). 'num_detections': [batch] """ label_id_offset = 1 boxes = postprocessed_tensors.get('detection_boxes') scores = postprocessed_tensors.get('detection_scores') classes = postprocessed_tensors.get('detection_classes') + label_id_offset + masks = postprocessed_tensors.get('detection_masks') num_detections = postprocessed_tensors.get('num_detections') tf.identity(boxes, name='detection_boxes') tf.identity(scores, name='detection_scores') tf.identity(classes, name='detection_classes') tf.identity(num_detections, name='num_detections') + if masks is not None: + tf.identity(masks, name='detection_masks') def _write_inference_graph(inference_graph_path, @@ -201,6 +221,7 @@ def _export_inference_graph(input_type, use_moving_averages, checkpoint_path, inference_graph_path): + """Export helper.""" if input_type not in input_placeholder_fn_map: raise ValueError('Unknown input type: {}'.format(input_type)) inputs = tf.to_float(input_placeholder_fn_map[input_type]()) @@ -208,8 +229,13 @@ def _export_inference_graph(input_type, output_tensors = detection_model.predict(preprocessed_inputs) postprocessed_tensors = detection_model.postprocess(output_tensors) _add_output_tensor_nodes(postprocessed_tensors) + out_node_names = ['num_detections', 'detection_scores,' + 'detection_boxes', 'detection_classes'] + if 'detection_masks' in postprocessed_tensors: + out_node_names.append('detection_masks') _write_inference_graph(inference_graph_path, checkpoint_path, - use_moving_averages) + use_moving_averages, + output_node_names=','.join(out_node_names)) def export_inference_graph(input_type, pipeline_config, checkpoint_path, diff --git a/object_detection/exporter_test.py b/object_detection/exporter_test.py index 5b16fc8e9..eb7c742d8 100644 --- a/object_detection/exporter_test.py +++ b/object_detection/exporter_test.py @@ -26,24 +26,28 @@ from object_detection.protos import pipeline_pb2 class FakeModel(model.DetectionModel): + def __init__(self, add_detection_masks=False): + self._add_detection_masks = add_detection_masks + def preprocess(self, inputs): - return (tf.identity(inputs) * - tf.get_variable('dummy', shape=(), - initializer=tf.constant_initializer(2), - dtype=tf.float32)) + return tf.identity(inputs) def predict(self, preprocessed_inputs): - return {'image': tf.identity(preprocessed_inputs)} + return {'image': tf.layers.conv2d(preprocessed_inputs, 3, 1)} def postprocess(self, prediction_dict): with tf.control_dependencies(prediction_dict.values()): - return { + postprocessed_tensors = { 'detection_boxes': tf.constant([[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 0.8, 0.8]], tf.float32), 'detection_scores': tf.constant([[0.7, 0.6]], tf.float32), 'detection_classes': tf.constant([[0, 1]], tf.float32), 'num_detections': tf.constant([2], tf.float32) } + if self._add_detection_masks: + postprocessed_tensors['detection_masks'] = tf.constant( + np.arange(32).reshape([2, 4, 4]), tf.float32) + return postprocessed_tensors def restore_fn(self, checkpoint_path, from_detection_checkpoint): pass @@ -58,8 +62,11 @@ class ExportInferenceGraphTest(tf.test.TestCase): use_moving_averages): g = tf.Graph() with g.as_default(): - mock_model = FakeModel(num_classes=1) - mock_model.preprocess(tf.constant([1, 3, 4, 3], tf.float32)) + mock_model = FakeModel() + preprocessed_inputs = mock_model.preprocess( + tf.ones([1, 3, 4, 3], tf.float32)) + predictions = mock_model.predict(preprocessed_inputs) + mock_model.postprocess(predictions) if use_moving_averages: tf.train.ExponentialMovingAverage(0.0).apply() saver = tf.train.Saver() @@ -93,7 +100,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): def test_export_graph_with_image_tensor_input(self): with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel() inference_graph_path = os.path.join(self.get_temp_dir(), 'exported_graph.pbtxt') @@ -108,7 +115,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): def test_export_graph_with_tf_example_input(self): with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel() inference_graph_path = os.path.join(self.get_temp_dir(), 'exported_graph.pbtxt') pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() @@ -119,6 +126,20 @@ class ExportInferenceGraphTest(tf.test.TestCase): checkpoint_path=None, inference_graph_path=inference_graph_path) + def test_export_graph_with_encoded_image_string_input(self): + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel() + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pbtxt') + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = False + exporter.export_inference_graph( + input_type='encoded_image_string_tensor', + pipeline_config=pipeline_config, + checkpoint_path=None, + inference_graph_path=inference_graph_path) + def test_export_frozen_graph(self): checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') self._save_checkpoint_from_mock_model(checkpoint_path, @@ -127,7 +148,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): 'exported_graph.pb') with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel() pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() pipeline_config.eval_config.use_moving_averages = False exporter.export_inference_graph( @@ -144,7 +165,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): 'exported_graph.pb') with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel() pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() pipeline_config.eval_config.use_moving_averages = True exporter.export_inference_graph( @@ -153,6 +174,55 @@ class ExportInferenceGraphTest(tf.test.TestCase): checkpoint_path=checkpoint_path, inference_graph_path=inference_graph_path) + def test_export_model_with_all_output_nodes(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=False) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pb') + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(add_detection_masks=True) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + exporter.export_inference_graph( + input_type='image_tensor', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path) + inference_graph = self._load_inference_graph(inference_graph_path) + with self.test_session(graph=inference_graph): + inference_graph.get_tensor_by_name('image_tensor:0') + inference_graph.get_tensor_by_name('detection_boxes:0') + inference_graph.get_tensor_by_name('detection_scores:0') + inference_graph.get_tensor_by_name('detection_classes:0') + inference_graph.get_tensor_by_name('detection_masks:0') + inference_graph.get_tensor_by_name('num_detections:0') + + def test_export_model_with_detection_only_nodes(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=False) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pb') + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(add_detection_masks=False) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + exporter.export_inference_graph( + input_type='image_tensor', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path) + inference_graph = self._load_inference_graph(inference_graph_path) + with self.test_session(graph=inference_graph): + inference_graph.get_tensor_by_name('image_tensor:0') + inference_graph.get_tensor_by_name('detection_boxes:0') + inference_graph.get_tensor_by_name('detection_scores:0') + inference_graph.get_tensor_by_name('detection_classes:0') + inference_graph.get_tensor_by_name('num_detections:0') + with self.assertRaises(KeyError): + inference_graph.get_tensor_by_name('detection_masks:0') + def test_export_and_run_inference_with_image_tensor(self): checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') self._save_checkpoint_from_mock_model(checkpoint_path, @@ -161,7 +231,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): 'exported_graph.pb') with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel(add_detection_masks=True) pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() pipeline_config.eval_config.use_moving_averages = False exporter.export_inference_graph( @@ -176,16 +246,72 @@ class ExportInferenceGraphTest(tf.test.TestCase): boxes = inference_graph.get_tensor_by_name('detection_boxes:0') scores = inference_graph.get_tensor_by_name('detection_scores:0') classes = inference_graph.get_tensor_by_name('detection_classes:0') + masks = inference_graph.get_tensor_by_name('detection_masks:0') num_detections = inference_graph.get_tensor_by_name('num_detections:0') - (boxes, scores, classes, num_detections) = sess.run( - [boxes, scores, classes, num_detections], + (boxes, scores, classes, masks, num_detections) = sess.run( + [boxes, scores, classes, masks, num_detections], feed_dict={image_tensor: np.ones((1, 4, 4, 3)).astype(np.uint8)}) self.assertAllClose(boxes, [[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 0.8, 0.8]]) self.assertAllClose(scores, [[0.7, 0.6]]) self.assertAllClose(classes, [[1, 2]]) + self.assertAllClose(masks, np.arange(32).reshape([2, 4, 4])) self.assertAllClose(num_detections, [2]) + def _create_encoded_image_string(self, image_array_np, encoding_format): + od_graph = tf.Graph() + with od_graph.as_default(): + if encoding_format == 'jpg': + encoded_string = tf.image.encode_jpeg(image_array_np) + elif encoding_format == 'png': + encoded_string = tf.image.encode_png(image_array_np) + else: + raise ValueError('Supports only the following formats: `jpg`, `png`') + with self.test_session(graph=od_graph): + return encoded_string.eval() + + def test_export_and_run_inference_with_encoded_image_string_tensor(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=False) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pb') + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(add_detection_masks=True) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = False + exporter.export_inference_graph( + input_type='encoded_image_string_tensor', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path) + + inference_graph = self._load_inference_graph(inference_graph_path) + jpg_image_str = self._create_encoded_image_string( + np.ones((4, 4, 3)).astype(np.uint8), 'jpg') + png_image_str = self._create_encoded_image_string( + np.ones((4, 4, 3)).astype(np.uint8), 'png') + with self.test_session(graph=inference_graph) as sess: + image_str_tensor = inference_graph.get_tensor_by_name( + 'encoded_image_string_tensor:0') + boxes = inference_graph.get_tensor_by_name('detection_boxes:0') + scores = inference_graph.get_tensor_by_name('detection_scores:0') + classes = inference_graph.get_tensor_by_name('detection_classes:0') + masks = inference_graph.get_tensor_by_name('detection_masks:0') + num_detections = inference_graph.get_tensor_by_name('num_detections:0') + for image_str in [jpg_image_str, png_image_str]: + (boxes_np, scores_np, classes_np, masks_np, + num_detections_np) = sess.run( + [boxes, scores, classes, masks, num_detections], + feed_dict={image_str_tensor: image_str}) + self.assertAllClose(boxes_np, [[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.8, 0.8]]) + self.assertAllClose(scores_np, [[0.7, 0.6]]) + self.assertAllClose(classes_np, [[1, 2]]) + self.assertAllClose(masks_np, np.arange(32).reshape([2, 4, 4])) + self.assertAllClose(num_detections_np, [2]) + def test_export_and_run_inference_with_tf_example(self): checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') self._save_checkpoint_from_mock_model(checkpoint_path, @@ -194,7 +320,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): 'exported_graph.pb') with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel(add_detection_masks=True) pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() pipeline_config.eval_config.use_moving_averages = False exporter.export_inference_graph( @@ -209,15 +335,17 @@ class ExportInferenceGraphTest(tf.test.TestCase): boxes = inference_graph.get_tensor_by_name('detection_boxes:0') scores = inference_graph.get_tensor_by_name('detection_scores:0') classes = inference_graph.get_tensor_by_name('detection_classes:0') + masks = inference_graph.get_tensor_by_name('detection_masks:0') num_detections = inference_graph.get_tensor_by_name('num_detections:0') - (boxes, scores, classes, num_detections) = sess.run( - [boxes, scores, classes, num_detections], + (boxes, scores, classes, masks, num_detections) = sess.run( + [boxes, scores, classes, masks, num_detections], feed_dict={tf_example: self._create_tf_example( np.ones((4, 4, 3)).astype(np.uint8))}) self.assertAllClose(boxes, [[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 0.8, 0.8]]) self.assertAllClose(scores, [[0.7, 0.6]]) self.assertAllClose(classes, [[1, 2]]) + self.assertAllClose(masks, np.arange(32).reshape([2, 4, 4])) self.assertAllClose(num_detections, [2]) -- GitLab From f8b0067f803286953f124c83d2a4e9ba4bd63a32 Mon Sep 17 00:00:00 2001 From: Vivek Rathod Date: Tue, 27 Jun 2017 10:11:30 -0700 Subject: [PATCH 156/171] Add option to export graph with input node that accepts encoded jpeg or png string --- object_detection/export_inference_graph.py | 19 ++- object_detection/exporter.py | 42 +++++- object_detection/exporter_test.py | 164 ++++++++++++++++++--- 3 files changed, 193 insertions(+), 32 deletions(-) diff --git a/object_detection/export_inference_graph.py b/object_detection/export_inference_graph.py index c6e8a827c..d7ffa4152 100644 --- a/object_detection/export_inference_graph.py +++ b/object_detection/export_inference_graph.py @@ -18,21 +18,27 @@ r"""Tool to export an object detection model for inference. Prepares an object detection tensorflow graph for inference using model configuration and an optional trained checkpoint. -The inference graph contains one of two input nodes depending on the user +The inference graph contains one of three input nodes depending on the user specified option. * `image_tensor`: Accepts a uint8 4-D tensor of shape [1, None, None, 3] + * `encoded_image_string_tensor`: Accepts a scalar string tensor of encoded PNG + or JPEG image. * `tf_example`: Accepts a serialized TFExample proto. The batch size in this case is always 1. -and the following output nodes: - * `num_detections` : Outputs float32 tensors of the form [batch] +and the following output nodes returned by the model.postprocess(..): + * `num_detections`: Outputs float32 tensors of the form [batch] that specifies the number of valid boxes per image in the batch. - * `detection_boxes` : Outputs float32 tensors of the form + * `detection_boxes`: Outputs float32 tensors of the form [batch, num_boxes, 4] containing detected boxes. - * `detection_scores` : Outputs float32 tensors of the form + * `detection_scores`: Outputs float32 tensors of the form [batch, num_boxes] containing class scores for the detections. * `detection_classes`: Outputs float32 tensors of the form [batch, num_boxes] containing classes for the detections. + * `detection_masks`: Outputs float32 tensors of the form + [batch, num_boxes, mask_height, mask_width] containing predicted instance + masks for each box if its present in the dictionary of postprocessed + tensors returned by the model. Note that currently `batch` is always 1, but we will support `batch` > 1 in the future. @@ -61,7 +67,8 @@ slim = tf.contrib.slim flags = tf.app.flags flags.DEFINE_string('input_type', 'image_tensor', 'Type of input node. Can be ' - 'one of [`image_tensor` `tf_example_proto`]') + 'one of [`image_tensor`, `encoded_image_string_tensor`, ' + '`tf_example`]') flags.DEFINE_string('pipeline_config_path', '', 'Path to a pipeline_pb2.TrainEvalPipelineConfig config ' 'file.') diff --git a/object_detection/exporter.py b/object_detection/exporter.py index a57913f7c..3bc617b33 100644 --- a/object_detection/exporter.py +++ b/object_detection/exporter.py @@ -30,8 +30,8 @@ from object_detection.data_decoders import tf_example_decoder slim = tf.contrib.slim -# TODO: Replace with freeze_graph.freeze_graph_with_def_protos when newer -# version of Tensorflow becomes more common. +# TODO: Replace with freeze_graph.freeze_graph_with_def_protos when +# newer version of Tensorflow becomes more common. def freeze_graph_with_def_protos( input_graph_def, input_saver_def, @@ -48,12 +48,12 @@ def freeze_graph_with_def_protos( # 'input_checkpoint' may be a prefix if we're using Saver V2 format if not saver_lib.checkpoint_exists(input_checkpoint): - logging.info('Input checkpoint "' + input_checkpoint + '" does not exist!') - return -1 + raise ValueError( + 'Input checkpoint "' + input_checkpoint + '" does not exist!') if not output_node_names: - logging.info('You must supply the name of a node to --output_node_names.') - return -1 + raise ValueError( + 'You must supply the name of a node to --output_node_names.') # Remove all the explicit device specifications for this node. This helps to # make the graph more portable. @@ -112,9 +112,21 @@ def _image_tensor_input_placeholder(): shape=(1, None, None, 3), name='image_tensor') + +def _encoded_image_string_tensor_input_placeholder(): + image_str = tf.placeholder(dtype=tf.string, + shape=[], + name='encoded_image_string_tensor') + image_tensor = tf.image.decode_image(image_str, channels=3) + image_tensor.set_shape((None, None, 3)) + return tf.expand_dims(image_tensor, axis=0) + + input_placeholder_fn_map = { + 'image_tensor': _image_tensor_input_placeholder, + 'encoded_image_string_tensor': + _encoded_image_string_tensor_input_placeholder, 'tf_example': _tf_example_input_placeholder, - 'image_tensor': _image_tensor_input_placeholder } @@ -129,23 +141,31 @@ def _add_output_tensor_nodes(postprocessed_tensors): containing scores for the detected boxes. * detection_classes: float32 tensor of shape [batch_size, num_boxes] containing class predictions for the detected boxes. + * detection_masks: (Optional) float32 tensor of shape + [batch_size, num_boxes, mask_height, mask_width] containing masks for each + detection box. Args: postprocessed_tensors: a dictionary containing the following fields 'detection_boxes': [batch, max_detections, 4] 'detection_scores': [batch, max_detections] 'detection_classes': [batch, max_detections] + 'detection_masks': [batch, max_detections, mask_height, mask_width] + (optional). 'num_detections': [batch] """ label_id_offset = 1 boxes = postprocessed_tensors.get('detection_boxes') scores = postprocessed_tensors.get('detection_scores') classes = postprocessed_tensors.get('detection_classes') + label_id_offset + masks = postprocessed_tensors.get('detection_masks') num_detections = postprocessed_tensors.get('num_detections') tf.identity(boxes, name='detection_boxes') tf.identity(scores, name='detection_scores') tf.identity(classes, name='detection_classes') tf.identity(num_detections, name='num_detections') + if masks is not None: + tf.identity(masks, name='detection_masks') def _write_inference_graph(inference_graph_path, @@ -201,6 +221,7 @@ def _export_inference_graph(input_type, use_moving_averages, checkpoint_path, inference_graph_path): + """Export helper.""" if input_type not in input_placeholder_fn_map: raise ValueError('Unknown input type: {}'.format(input_type)) inputs = tf.to_float(input_placeholder_fn_map[input_type]()) @@ -208,8 +229,13 @@ def _export_inference_graph(input_type, output_tensors = detection_model.predict(preprocessed_inputs) postprocessed_tensors = detection_model.postprocess(output_tensors) _add_output_tensor_nodes(postprocessed_tensors) + out_node_names = ['num_detections', 'detection_scores,' + 'detection_boxes', 'detection_classes'] + if 'detection_masks' in postprocessed_tensors: + out_node_names.append('detection_masks') _write_inference_graph(inference_graph_path, checkpoint_path, - use_moving_averages) + use_moving_averages, + output_node_names=','.join(out_node_names)) def export_inference_graph(input_type, pipeline_config, checkpoint_path, diff --git a/object_detection/exporter_test.py b/object_detection/exporter_test.py index 5b16fc8e9..eb7c742d8 100644 --- a/object_detection/exporter_test.py +++ b/object_detection/exporter_test.py @@ -26,24 +26,28 @@ from object_detection.protos import pipeline_pb2 class FakeModel(model.DetectionModel): + def __init__(self, add_detection_masks=False): + self._add_detection_masks = add_detection_masks + def preprocess(self, inputs): - return (tf.identity(inputs) * - tf.get_variable('dummy', shape=(), - initializer=tf.constant_initializer(2), - dtype=tf.float32)) + return tf.identity(inputs) def predict(self, preprocessed_inputs): - return {'image': tf.identity(preprocessed_inputs)} + return {'image': tf.layers.conv2d(preprocessed_inputs, 3, 1)} def postprocess(self, prediction_dict): with tf.control_dependencies(prediction_dict.values()): - return { + postprocessed_tensors = { 'detection_boxes': tf.constant([[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 0.8, 0.8]], tf.float32), 'detection_scores': tf.constant([[0.7, 0.6]], tf.float32), 'detection_classes': tf.constant([[0, 1]], tf.float32), 'num_detections': tf.constant([2], tf.float32) } + if self._add_detection_masks: + postprocessed_tensors['detection_masks'] = tf.constant( + np.arange(32).reshape([2, 4, 4]), tf.float32) + return postprocessed_tensors def restore_fn(self, checkpoint_path, from_detection_checkpoint): pass @@ -58,8 +62,11 @@ class ExportInferenceGraphTest(tf.test.TestCase): use_moving_averages): g = tf.Graph() with g.as_default(): - mock_model = FakeModel(num_classes=1) - mock_model.preprocess(tf.constant([1, 3, 4, 3], tf.float32)) + mock_model = FakeModel() + preprocessed_inputs = mock_model.preprocess( + tf.ones([1, 3, 4, 3], tf.float32)) + predictions = mock_model.predict(preprocessed_inputs) + mock_model.postprocess(predictions) if use_moving_averages: tf.train.ExponentialMovingAverage(0.0).apply() saver = tf.train.Saver() @@ -93,7 +100,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): def test_export_graph_with_image_tensor_input(self): with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel() inference_graph_path = os.path.join(self.get_temp_dir(), 'exported_graph.pbtxt') @@ -108,7 +115,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): def test_export_graph_with_tf_example_input(self): with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel() inference_graph_path = os.path.join(self.get_temp_dir(), 'exported_graph.pbtxt') pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() @@ -119,6 +126,20 @@ class ExportInferenceGraphTest(tf.test.TestCase): checkpoint_path=None, inference_graph_path=inference_graph_path) + def test_export_graph_with_encoded_image_string_input(self): + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel() + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pbtxt') + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = False + exporter.export_inference_graph( + input_type='encoded_image_string_tensor', + pipeline_config=pipeline_config, + checkpoint_path=None, + inference_graph_path=inference_graph_path) + def test_export_frozen_graph(self): checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') self._save_checkpoint_from_mock_model(checkpoint_path, @@ -127,7 +148,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): 'exported_graph.pb') with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel() pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() pipeline_config.eval_config.use_moving_averages = False exporter.export_inference_graph( @@ -144,7 +165,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): 'exported_graph.pb') with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel() pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() pipeline_config.eval_config.use_moving_averages = True exporter.export_inference_graph( @@ -153,6 +174,55 @@ class ExportInferenceGraphTest(tf.test.TestCase): checkpoint_path=checkpoint_path, inference_graph_path=inference_graph_path) + def test_export_model_with_all_output_nodes(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=False) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pb') + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(add_detection_masks=True) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + exporter.export_inference_graph( + input_type='image_tensor', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path) + inference_graph = self._load_inference_graph(inference_graph_path) + with self.test_session(graph=inference_graph): + inference_graph.get_tensor_by_name('image_tensor:0') + inference_graph.get_tensor_by_name('detection_boxes:0') + inference_graph.get_tensor_by_name('detection_scores:0') + inference_graph.get_tensor_by_name('detection_classes:0') + inference_graph.get_tensor_by_name('detection_masks:0') + inference_graph.get_tensor_by_name('num_detections:0') + + def test_export_model_with_detection_only_nodes(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=False) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pb') + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(add_detection_masks=False) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + exporter.export_inference_graph( + input_type='image_tensor', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path) + inference_graph = self._load_inference_graph(inference_graph_path) + with self.test_session(graph=inference_graph): + inference_graph.get_tensor_by_name('image_tensor:0') + inference_graph.get_tensor_by_name('detection_boxes:0') + inference_graph.get_tensor_by_name('detection_scores:0') + inference_graph.get_tensor_by_name('detection_classes:0') + inference_graph.get_tensor_by_name('num_detections:0') + with self.assertRaises(KeyError): + inference_graph.get_tensor_by_name('detection_masks:0') + def test_export_and_run_inference_with_image_tensor(self): checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') self._save_checkpoint_from_mock_model(checkpoint_path, @@ -161,7 +231,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): 'exported_graph.pb') with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel(add_detection_masks=True) pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() pipeline_config.eval_config.use_moving_averages = False exporter.export_inference_graph( @@ -176,16 +246,72 @@ class ExportInferenceGraphTest(tf.test.TestCase): boxes = inference_graph.get_tensor_by_name('detection_boxes:0') scores = inference_graph.get_tensor_by_name('detection_scores:0') classes = inference_graph.get_tensor_by_name('detection_classes:0') + masks = inference_graph.get_tensor_by_name('detection_masks:0') num_detections = inference_graph.get_tensor_by_name('num_detections:0') - (boxes, scores, classes, num_detections) = sess.run( - [boxes, scores, classes, num_detections], + (boxes, scores, classes, masks, num_detections) = sess.run( + [boxes, scores, classes, masks, num_detections], feed_dict={image_tensor: np.ones((1, 4, 4, 3)).astype(np.uint8)}) self.assertAllClose(boxes, [[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 0.8, 0.8]]) self.assertAllClose(scores, [[0.7, 0.6]]) self.assertAllClose(classes, [[1, 2]]) + self.assertAllClose(masks, np.arange(32).reshape([2, 4, 4])) self.assertAllClose(num_detections, [2]) + def _create_encoded_image_string(self, image_array_np, encoding_format): + od_graph = tf.Graph() + with od_graph.as_default(): + if encoding_format == 'jpg': + encoded_string = tf.image.encode_jpeg(image_array_np) + elif encoding_format == 'png': + encoded_string = tf.image.encode_png(image_array_np) + else: + raise ValueError('Supports only the following formats: `jpg`, `png`') + with self.test_session(graph=od_graph): + return encoded_string.eval() + + def test_export_and_run_inference_with_encoded_image_string_tensor(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=False) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'exported_graph.pb') + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(add_detection_masks=True) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = False + exporter.export_inference_graph( + input_type='encoded_image_string_tensor', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path) + + inference_graph = self._load_inference_graph(inference_graph_path) + jpg_image_str = self._create_encoded_image_string( + np.ones((4, 4, 3)).astype(np.uint8), 'jpg') + png_image_str = self._create_encoded_image_string( + np.ones((4, 4, 3)).astype(np.uint8), 'png') + with self.test_session(graph=inference_graph) as sess: + image_str_tensor = inference_graph.get_tensor_by_name( + 'encoded_image_string_tensor:0') + boxes = inference_graph.get_tensor_by_name('detection_boxes:0') + scores = inference_graph.get_tensor_by_name('detection_scores:0') + classes = inference_graph.get_tensor_by_name('detection_classes:0') + masks = inference_graph.get_tensor_by_name('detection_masks:0') + num_detections = inference_graph.get_tensor_by_name('num_detections:0') + for image_str in [jpg_image_str, png_image_str]: + (boxes_np, scores_np, classes_np, masks_np, + num_detections_np) = sess.run( + [boxes, scores, classes, masks, num_detections], + feed_dict={image_str_tensor: image_str}) + self.assertAllClose(boxes_np, [[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.8, 0.8]]) + self.assertAllClose(scores_np, [[0.7, 0.6]]) + self.assertAllClose(classes_np, [[1, 2]]) + self.assertAllClose(masks_np, np.arange(32).reshape([2, 4, 4])) + self.assertAllClose(num_detections_np, [2]) + def test_export_and_run_inference_with_tf_example(self): checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') self._save_checkpoint_from_mock_model(checkpoint_path, @@ -194,7 +320,7 @@ class ExportInferenceGraphTest(tf.test.TestCase): 'exported_graph.pb') with mock.patch.object( model_builder, 'build', autospec=True) as mock_builder: - mock_builder.return_value = FakeModel(num_classes=1) + mock_builder.return_value = FakeModel(add_detection_masks=True) pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() pipeline_config.eval_config.use_moving_averages = False exporter.export_inference_graph( @@ -209,15 +335,17 @@ class ExportInferenceGraphTest(tf.test.TestCase): boxes = inference_graph.get_tensor_by_name('detection_boxes:0') scores = inference_graph.get_tensor_by_name('detection_scores:0') classes = inference_graph.get_tensor_by_name('detection_classes:0') + masks = inference_graph.get_tensor_by_name('detection_masks:0') num_detections = inference_graph.get_tensor_by_name('num_detections:0') - (boxes, scores, classes, num_detections) = sess.run( - [boxes, scores, classes, num_detections], + (boxes, scores, classes, masks, num_detections) = sess.run( + [boxes, scores, classes, masks, num_detections], feed_dict={tf_example: self._create_tf_example( np.ones((4, 4, 3)).astype(np.uint8))}) self.assertAllClose(boxes, [[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 0.8, 0.8]]) self.assertAllClose(scores, [[0.7, 0.6]]) self.assertAllClose(classes, [[1, 2]]) + self.assertAllClose(masks, np.arange(32).reshape([2, 4, 4])) self.assertAllClose(num_detections, [2]) -- GitLab From e5a7bb9acca6805a88fdddb5c1009e27e8a0412a Mon Sep 17 00:00:00 2001 From: Vivek Rathod Date: Tue, 27 Jun 2017 10:41:04 -0700 Subject: [PATCH 157/171] change decode -> Decode --- object_detection/exporter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_detection/exporter.py b/object_detection/exporter.py index 24b654a55..3bc617b33 100644 --- a/object_detection/exporter.py +++ b/object_detection/exporter.py @@ -101,7 +101,7 @@ def freeze_graph_with_def_protos( def _tf_example_input_placeholder(): tf_example_placeholder = tf.placeholder( tf.string, shape=[], name='tf_example') - tensor_dict = tf_example_decoder.TfExampleDecoder().decode( + tensor_dict = tf_example_decoder.TfExampleDecoder().Decode( tf_example_placeholder) image = tensor_dict[fields.InputDataFields.image] return tf.expand_dims(image, axis=0) -- GitLab From 3ab727658b171c6803bfc22384524c8bbb1bcbf8 Mon Sep 17 00:00:00 2001 From: Derek Chow Date: Tue, 27 Jun 2017 13:14:43 -0700 Subject: [PATCH 158/171] snake_case Decode function --- .../builders/input_reader_builder.py | 2 +- object_detection/core/data_decoder.py | 3 +-- .../data_decoders/tf_example_decoder.py | 2 +- .../data_decoders/tf_example_decoder_test.py | 18 +++++++++--------- object_detection/exporter.py | 2 +- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/object_detection/builders/input_reader_builder.py b/object_detection/builders/input_reader_builder.py index 98ad6127a..5baa08137 100644 --- a/object_detection/builders/input_reader_builder.py +++ b/object_detection/builders/input_reader_builder.py @@ -60,6 +60,6 @@ def build(input_reader_config): capacity=input_reader_config.queue_capacity, min_after_dequeue=input_reader_config.min_after_dequeue) - return tf_example_decoder.TfExampleDecoder().Decode(string_tensor) + return tf_example_decoder.TfExampleDecoder().decode(string_tensor) raise ValueError('Unsupported input_reader_config.') diff --git a/object_detection/core/data_decoder.py b/object_detection/core/data_decoder.py index 84be4db59..9ae18c1f9 100644 --- a/object_detection/core/data_decoder.py +++ b/object_detection/core/data_decoder.py @@ -26,9 +26,8 @@ class DataDecoder(object): """Interface for data decoders.""" __metaclass__ = ABCMeta - # TODO: snake_case this method. @abstractmethod - def Decode(self, data): + def decode(self, data): """Return a single image and associated labels. Args: diff --git a/object_detection/data_decoders/tf_example_decoder.py b/object_detection/data_decoders/tf_example_decoder.py index fcea12cb4..7426f466e 100644 --- a/object_detection/data_decoders/tf_example_decoder.py +++ b/object_detection/data_decoders/tf_example_decoder.py @@ -82,7 +82,7 @@ class TfExampleDecoder(data_decoder.DataDecoder): slim_example_decoder.Tensor('image/segmentation/object/class')), } - def Decode(self, tf_example_string_tensor): + def decode(self, tf_example_string_tensor): """Decodes serialized tensorflow example and returns a tensor dictionary. Args: diff --git a/object_detection/data_decoders/tf_example_decoder_test.py b/object_detection/data_decoders/tf_example_decoder_test.py index 4a28419a7..de23bec15 100644 --- a/object_detection/data_decoders/tf_example_decoder_test.py +++ b/object_detection/data_decoders/tf_example_decoder_test.py @@ -64,7 +64,7 @@ class TfExampleDecoderTest(tf.test.TestCase): })).SerializeToString() example_decoder = tf_example_decoder.TfExampleDecoder() - tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + tensor_dict = example_decoder.decode(tf.convert_to_tensor(example)) self.assertAllEqual((tensor_dict[fields.InputDataFields.image]. get_shape().as_list()), [None, None, 3]) @@ -84,7 +84,7 @@ class TfExampleDecoderTest(tf.test.TestCase): })).SerializeToString() example_decoder = tf_example_decoder.TfExampleDecoder() - tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + tensor_dict = example_decoder.decode(tf.convert_to_tensor(example)) with self.test_session() as sess: tensor_dict = sess.run(tensor_dict) @@ -103,7 +103,7 @@ class TfExampleDecoderTest(tf.test.TestCase): })).SerializeToString() example_decoder = tf_example_decoder.TfExampleDecoder() - tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + tensor_dict = example_decoder.decode(tf.convert_to_tensor(example)) self.assertAllEqual((tensor_dict[fields.InputDataFields.image]. get_shape().as_list()), [None, None, 3]) @@ -130,7 +130,7 @@ class TfExampleDecoderTest(tf.test.TestCase): })).SerializeToString() example_decoder = tf_example_decoder.TfExampleDecoder() - tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + tensor_dict = example_decoder.decode(tf.convert_to_tensor(example)) self.assertAllEqual((tensor_dict[fields.InputDataFields.groundtruth_boxes]. get_shape().as_list()), [None, 4]) @@ -153,7 +153,7 @@ class TfExampleDecoderTest(tf.test.TestCase): })).SerializeToString() example_decoder = tf_example_decoder.TfExampleDecoder() - tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + tensor_dict = example_decoder.decode(tf.convert_to_tensor(example)) self.assertAllEqual((tensor_dict[ fields.InputDataFields.groundtruth_classes].get_shape().as_list()), @@ -176,7 +176,7 @@ class TfExampleDecoderTest(tf.test.TestCase): })).SerializeToString() example_decoder = tf_example_decoder.TfExampleDecoder() - tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + tensor_dict = example_decoder.decode(tf.convert_to_tensor(example)) self.assertAllEqual((tensor_dict[fields.InputDataFields.groundtruth_area]. get_shape().as_list()), [None]) @@ -197,7 +197,7 @@ class TfExampleDecoderTest(tf.test.TestCase): })).SerializeToString() example_decoder = tf_example_decoder.TfExampleDecoder() - tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + tensor_dict = example_decoder.decode(tf.convert_to_tensor(example)) self.assertAllEqual((tensor_dict[ fields.InputDataFields.groundtruth_is_crowd].get_shape().as_list()), @@ -220,7 +220,7 @@ class TfExampleDecoderTest(tf.test.TestCase): })).SerializeToString() example_decoder = tf_example_decoder.TfExampleDecoder() - tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + tensor_dict = example_decoder.decode(tf.convert_to_tensor(example)) self.assertAllEqual((tensor_dict[ fields.InputDataFields.groundtruth_difficult].get_shape().as_list()), @@ -263,7 +263,7 @@ class TfExampleDecoderTest(tf.test.TestCase): 'image/segmentation/object/class': self._Int64Feature( instance_segmentation_classes)})).SerializeToString() example_decoder = tf_example_decoder.TfExampleDecoder() - tensor_dict = example_decoder.Decode(tf.convert_to_tensor(example)) + tensor_dict = example_decoder.decode(tf.convert_to_tensor(example)) self.assertAllEqual(( tensor_dict[fields.InputDataFields.groundtruth_instance_masks]. diff --git a/object_detection/exporter.py b/object_detection/exporter.py index 3bc617b33..24b654a55 100644 --- a/object_detection/exporter.py +++ b/object_detection/exporter.py @@ -101,7 +101,7 @@ def freeze_graph_with_def_protos( def _tf_example_input_placeholder(): tf_example_placeholder = tf.placeholder( tf.string, shape=[], name='tf_example') - tensor_dict = tf_example_decoder.TfExampleDecoder().Decode( + tensor_dict = tf_example_decoder.TfExampleDecoder().decode( tf_example_placeholder) image = tensor_dict[fields.InputDataFields.image] return tf.expand_dims(image, axis=0) -- GitLab From d9d10fbbb938534af72f405983cabb85258ac5f3 Mon Sep 17 00:00:00 2001 From: Derek Chow Date: Tue, 27 Jun 2017 15:04:51 -0700 Subject: [PATCH 159/171] Add capability to export as SavedModel in exporter script. --- object_detection/export_inference_graph.py | 8 +- object_detection/exporter.py | 153 ++++++++++++++++----- object_detection/exporter_test.py | 46 ++++++- 3 files changed, 169 insertions(+), 38 deletions(-) diff --git a/object_detection/export_inference_graph.py b/object_detection/export_inference_graph.py index d7ffa4152..e9836e997 100644 --- a/object_detection/export_inference_graph.py +++ b/object_detection/export_inference_graph.py @@ -16,7 +16,8 @@ r"""Tool to export an object detection model for inference. Prepares an object detection tensorflow graph for inference using model -configuration and an optional trained checkpoint. +configuration and an optional trained checkpoint. Outputs either an inference +graph or a SavedModel (https://tensorflow.github.io/serving/serving_basic.html). The inference graph contains one of three input nodes depending on the user specified option. @@ -77,6 +78,8 @@ flags.DEFINE_string('checkpoint_path', '', 'Optional path to checkpoint file. ' 'the graph.') flags.DEFINE_string('inference_graph_path', '', 'Path to write the output ' 'inference graph.') +flags.DEFINE_bool('export_as_saved_model', False, 'Whether the exported graph ' + 'should be saved as a SavedModel') FLAGS = flags.FLAGS @@ -90,7 +93,8 @@ def main(_): text_format.Merge(f.read(), pipeline_config) exporter.export_inference_graph(FLAGS.input_type, pipeline_config, FLAGS.checkpoint_path, - FLAGS.inference_graph_path) + FLAGS.inference_graph_path, + FLAGS.export_as_saved_model) if __name__ == '__main__': diff --git a/object_detection/exporter.py b/object_detection/exporter.py index 24b654a55..24e84b339 100644 --- a/object_detection/exporter.py +++ b/object_detection/exporter.py @@ -22,6 +22,7 @@ from tensorflow.python.client import session from tensorflow.python.framework import graph_util from tensorflow.python.framework import importer from tensorflow.python.platform import gfile +from tensorflow.python.saved_model import signature_constants from tensorflow.python.training import saver as saver_lib from object_detection.builders import model_builder from object_detection.core import standard_fields as fields @@ -39,7 +40,6 @@ def freeze_graph_with_def_protos( output_node_names, restore_op_name, filename_tensor_name, - output_graph, clear_devices, initializer_nodes, variable_names_blacklist=''): @@ -92,9 +92,30 @@ def freeze_graph_with_def_protos( output_node_names.split(','), variable_names_blacklist=variable_names_blacklist) - with gfile.GFile(output_graph, 'wb') as f: - f.write(output_graph_def.SerializeToString()) - logging.info('%d ops in the final graph.', len(output_graph_def.node)) + return output_graph_def + + +def get_frozen_graph_def(inference_graph_def, use_moving_averages, + input_checkpoint, output_node_names): + """Freezes all variables in a graph definition.""" + saver = None + if use_moving_averages: + variable_averages = tf.train.ExponentialMovingAverage(0.0) + variables_to_restore = variable_averages.variables_to_restore() + saver = tf.train.Saver(variables_to_restore) + else: + saver = tf.train.Saver() + + frozen_graph_def = freeze_graph_with_def_protos( + input_graph_def=inference_graph_def, + input_saver_def=saver.as_saver_def(), + input_checkpoint=input_checkpoint, + output_node_names=output_node_names, + restore_op_name='save/restore_all', + filename_tensor_name='save/Const:0', + clear_devices=True, + initializer_nodes='') + return frozen_graph_def # TODO: Support batch tf example inputs. @@ -153,6 +174,9 @@ def _add_output_tensor_nodes(postprocessed_tensors): 'detection_masks': [batch, max_detections, mask_height, mask_width] (optional). 'num_detections': [batch] + + Returns: + A tensor dict containing the added output tensor nodes. """ label_id_offset = 1 boxes = postprocessed_tensors.get('detection_boxes') @@ -160,12 +184,14 @@ def _add_output_tensor_nodes(postprocessed_tensors): classes = postprocessed_tensors.get('detection_classes') + label_id_offset masks = postprocessed_tensors.get('detection_masks') num_detections = postprocessed_tensors.get('num_detections') - tf.identity(boxes, name='detection_boxes') - tf.identity(scores, name='detection_scores') - tf.identity(classes, name='detection_classes') - tf.identity(num_detections, name='num_detections') + outputs = {} + outputs['detection_boxes'] = tf.identity(boxes, name='detection_boxes') + outputs['detection_scores'] = tf.identity(scores, name='detection_scores') + outputs['detection_classes'] = tf.identity(classes, name='detection_classes') + outputs['num_detections'] = tf.identity(num_detections, name='num_detections') if masks is not None: - tf.identity(masks, name='detection_masks') + outputs['detection_masks'] = tf.identity(masks, name='detection_masks') + return outputs def _write_inference_graph(inference_graph_path, @@ -192,23 +218,17 @@ def _write_inference_graph(inference_graph_path, """ inference_graph_def = tf.get_default_graph().as_graph_def() if checkpoint_path: - saver = None - if use_moving_averages: - variable_averages = tf.train.ExponentialMovingAverage(0.0) - variables_to_restore = variable_averages.variables_to_restore() - saver = tf.train.Saver(variables_to_restore) - else: - saver = tf.train.Saver() - freeze_graph_with_def_protos( - input_graph_def=inference_graph_def, - input_saver_def=saver.as_saver_def(), + output_graph_def = get_frozen_graph_def( + inference_graph_def=inference_graph_def, + use_moving_averages=use_moving_averages, input_checkpoint=checkpoint_path, output_node_names=output_node_names, - restore_op_name='save/restore_all', - filename_tensor_name='save/Const:0', - output_graph=inference_graph_path, - clear_devices=True, - initializer_nodes='') + ) + + with gfile.GFile(inference_graph_path, 'wb') as f: + f.write(output_graph_def.SerializeToString()) + logging.info('%d ops in the final graph.', len(output_graph_def.node)) + return tf.train.write_graph(inference_graph_def, os.path.dirname(inference_graph_path), @@ -216,11 +236,70 @@ def _write_inference_graph(inference_graph_path, as_text=False) +def _write_saved_model(inference_graph_path, inputs, outputs, + checkpoint_path=None, use_moving_averages=False): + """Writes SavedModel to disk. + + If checkpoint_path is not None bakes the weights into the graph thereby + eliminating the need of checkpoint files during inference. If the model + was trained with moving averages, setting use_moving_averages to true + restores the moving averages, otherwise the original set of variables + is restored. + + Args: + inference_graph_path: Path to write inference graph. + inputs: The input image tensor to use for detection. + outputs: A tensor dictionary containing the outputs of a DetectionModel. + checkpoint_path: Optional path to the checkpoint file. + use_moving_averages: Whether to export the original or the moving averages + of the trainable variables from the checkpoint. + """ + inference_graph_def = tf.get_default_graph().as_graph_def() + checkpoint_graph_def = None + if checkpoint_path: + output_node_names = ','.join(outputs.keys()) + checkpoint_graph_def = get_frozen_graph_def( + inference_graph_def=inference_graph_def, + use_moving_averages=use_moving_averages, + input_checkpoint=checkpoint_path, + output_node_names=output_node_names + ) + + with tf.Graph().as_default(): + with session.Session() as sess: + + tf.import_graph_def(checkpoint_graph_def) + + builder = tf.saved_model.builder.SavedModelBuilder(inference_graph_path) + + tensor_info_inputs = { + 'inputs': tf.saved_model.utils.build_tensor_info(inputs)} + tensor_info_outputs = {} + for k, v in outputs.items(): + tensor_info_outputs[k] = tf.saved_model.utils.build_tensor_info(v) + + detection_signature = ( + tf.saved_model.signature_def_utils.build_signature_def( + inputs=tensor_info_inputs, + outputs=tensor_info_outputs, + method_name=signature_constants.PREDICT_METHOD_NAME)) + + builder.add_meta_graph_and_variables( + sess, [tf.saved_model.tag_constants.SERVING], + signature_def_map={ + 'signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY': + detection_signature, + }, + ) + builder.save() + + def _export_inference_graph(input_type, detection_model, use_moving_averages, checkpoint_path, - inference_graph_path): + inference_graph_path, + export_as_saved_model=False): """Export helper.""" if input_type not in input_placeholder_fn_map: raise ValueError('Unknown input type: {}'.format(input_type)) @@ -228,18 +307,19 @@ def _export_inference_graph(input_type, preprocessed_inputs = detection_model.preprocess(inputs) output_tensors = detection_model.predict(preprocessed_inputs) postprocessed_tensors = detection_model.postprocess(output_tensors) - _add_output_tensor_nodes(postprocessed_tensors) - out_node_names = ['num_detections', 'detection_scores,' - 'detection_boxes', 'detection_classes'] - if 'detection_masks' in postprocessed_tensors: - out_node_names.append('detection_masks') - _write_inference_graph(inference_graph_path, checkpoint_path, - use_moving_averages, - output_node_names=','.join(out_node_names)) + outputs = _add_output_tensor_nodes(postprocessed_tensors) + out_node_names = list(outputs.keys()) + if export_as_saved_model: + _write_saved_model(inference_graph_path, inputs, outputs, checkpoint_path, + use_moving_averages) + else: + _write_inference_graph(inference_graph_path, checkpoint_path, + use_moving_averages, + output_node_names=','.join(out_node_names)) def export_inference_graph(input_type, pipeline_config, checkpoint_path, - inference_graph_path): + inference_graph_path, export_as_saved_model=False): """Exports inference graph for the model specified in the pipeline config. Args: @@ -248,9 +328,12 @@ def export_inference_graph(input_type, pipeline_config, checkpoint_path, pipeline_config: pipeline_pb2.TrainAndEvalPipelineConfig proto. checkpoint_path: Path to the checkpoint file to freeze. inference_graph_path: Path to write inference graph to. + export_as_saved_model: If the model should be exported as a SavedModel. If + false, it is saved as an inference graph. """ detection_model = model_builder.build(pipeline_config.model, is_training=False) _export_inference_graph(input_type, detection_model, pipeline_config.eval_config.use_moving_averages, - checkpoint_path, inference_graph_path) + checkpoint_path, inference_graph_path, + export_as_saved_model) diff --git a/object_detection/exporter_test.py b/object_detection/exporter_test.py index eb7c742d8..d613a7f1c 100644 --- a/object_detection/exporter_test.py +++ b/object_detection/exporter_test.py @@ -15,14 +15,19 @@ """Tests for object_detection.export_inference_graph.""" import os -import mock import numpy as np +import six import tensorflow as tf from object_detection import exporter from object_detection.builders import model_builder from object_detection.core import model from object_detection.protos import pipeline_pb2 +if six.PY2: + import mock # pylint: disable=g-import-not-at-top +else: + from unittest import mock # pylint: disable=g-import-not-at-top + class FakeModel(model.DetectionModel): @@ -348,6 +353,45 @@ class ExportInferenceGraphTest(tf.test.TestCase): self.assertAllClose(masks, np.arange(32).reshape([2, 4, 4])) self.assertAllClose(num_detections, [2]) + def test_export_saved_model_and_run_inference(self): + checkpoint_path = os.path.join(self.get_temp_dir(), 'model-ckpt') + self._save_checkpoint_from_mock_model(checkpoint_path, + use_moving_averages=False) + inference_graph_path = os.path.join(self.get_temp_dir(), + 'saved_model') + + with mock.patch.object( + model_builder, 'build', autospec=True) as mock_builder: + mock_builder.return_value = FakeModel(add_detection_masks=True) + pipeline_config = pipeline_pb2.TrainEvalPipelineConfig() + pipeline_config.eval_config.use_moving_averages = False + exporter.export_inference_graph( + input_type='tf_example', + pipeline_config=pipeline_config, + checkpoint_path=checkpoint_path, + inference_graph_path=inference_graph_path, + export_as_saved_model=True) + + with tf.Graph().as_default() as od_graph: + with self.test_session(graph=od_graph) as sess: + tf.saved_model.loader.load( + sess, [tf.saved_model.tag_constants.SERVING], inference_graph_path) + tf_example = od_graph.get_tensor_by_name('import/tf_example:0') + boxes = od_graph.get_tensor_by_name('import/detection_boxes:0') + scores = od_graph.get_tensor_by_name('import/detection_scores:0') + classes = od_graph.get_tensor_by_name('import/detection_classes:0') + masks = od_graph.get_tensor_by_name('import/detection_masks:0') + num_detections = od_graph.get_tensor_by_name('import/num_detections:0') + (boxes, scores, classes, masks, num_detections) = sess.run( + [boxes, scores, classes, masks, num_detections], + feed_dict={tf_example: self._create_tf_example( + np.ones((4, 4, 3)).astype(np.uint8))}) + self.assertAllClose(boxes, [[0.0, 0.0, 0.5, 0.5], + [0.5, 0.5, 0.8, 0.8]]) + self.assertAllClose(scores, [[0.7, 0.6]]) + self.assertAllClose(classes, [[1, 2]]) + self.assertAllClose(masks, np.arange(32).reshape([2, 4, 4])) + self.assertAllClose(num_detections, [2]) if __name__ == '__main__': tf.test.main() -- GitLab From c9bb58f2c86375dce38a80853f55fcf282a8b6cd Mon Sep 17 00:00:00 2001 From: James Pruegsanusak Date: Wed, 28 Jun 2017 14:25:08 +0800 Subject: [PATCH 160/171] Fix typo in obj detection's running_pets.md --- object_detection/g3doc/running_pets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_detection/g3doc/running_pets.md b/object_detection/g3doc/running_pets.md index 23943c794..6975b1966 100644 --- a/object_detection/g3doc/running_pets.md +++ b/object_detection/g3doc/running_pets.md @@ -284,7 +284,7 @@ command from `tensorflow/models/object_detection`: ``` bash # From tensorflow/models gsutil cp gs://${YOUR_GCS_BUCKET}/train/model.ckpt-${CHECKPOINT_NUMBER}.* . -python object_detection/export_inference_graph \ +python object_detection/export_inference_graph.py \ --input_type image_tensor \ --pipeline_config_path object_detection/samples/configs/faster_rcnn_resnet101_pets.config \ --checkpoint_path model.ckpt-${CHECKPOINT_NUMBER} \ -- GitLab From 65f0fa2e597127a19f57c1a875f5138891daa359 Mon Sep 17 00:00:00 2001 From: Ben Mabey Date: Sat, 24 Jun 2017 23:14:46 -0600 Subject: [PATCH 161/171] updates object_detection/eval.py to be python3 compatible --- object_detection/evaluator.py | 2 +- object_detection/utils/metrics.py | 3 ++- object_detection/utils/np_box_list.py | 3 ++- object_detection/utils/visualization_utils.py | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/object_detection/evaluator.py b/object_detection/evaluator.py index 28ac1183d..45f03dc76 100644 --- a/object_detection/evaluator.py +++ b/object_detection/evaluator.py @@ -154,7 +154,7 @@ def evaluate(create_input_dict_fn, create_model_fn, eval_config, categories, """ if batch_index >= eval_config.num_visualizations: if 'original_image' in tensor_dict: - tensor_dict = {k: v for (k, v) in tensor_dict.iteritems() + tensor_dict = {k: v for (k, v) in tensor_dict.items() if k != 'original_image'} try: (result_dict, _) = sess.run([tensor_dict, update_op]) diff --git a/object_detection/utils/metrics.py b/object_detection/utils/metrics.py index 85f94efa8..cfce1e9ce 100644 --- a/object_detection/utils/metrics.py +++ b/object_detection/utils/metrics.py @@ -17,6 +17,7 @@ from __future__ import division import numpy as np +from six import moves def compute_precision_recall(scores, labels, num_gt): @@ -103,7 +104,7 @@ def compute_average_precision(precision, recall): raise ValueError("Precision must be in the range of [0, 1].") if np.amin(recall) < 0 or np.amax(recall) > 1: raise ValueError("recall must be in the range of [0, 1].") - if not all(recall[i] <= recall[i + 1] for i in xrange(len(recall) - 1)): + if not all(recall[i] <= recall[i + 1] for i in moves.range(len(recall) - 1)): raise ValueError("recall must be a non-decreasing array") recall = np.concatenate([[0], recall, [1]]) diff --git a/object_detection/utils/np_box_list.py b/object_detection/utils/np_box_list.py index 7df9f68f5..13a1fde90 100644 --- a/object_detection/utils/np_box_list.py +++ b/object_detection/utils/np_box_list.py @@ -16,6 +16,7 @@ """Numpy BoxList classes and functions.""" import numpy as np +from six import moves class BoxList(object): @@ -127,7 +128,7 @@ class BoxList(object): ymin, and all xmax of boxes are equal or greater than xmin. """ if data.shape[0] > 0: - for i in xrange(data.shape[0]): + for i in moves.range(data.shape[0]): if data[i, 0] > data[i, 2] or data[i, 1] > data[i, 3]: return False return True diff --git a/object_detection/utils/visualization_utils.py b/object_detection/utils/visualization_utils.py index 41d80db6a..1d0802c36 100644 --- a/object_detection/utils/visualization_utils.py +++ b/object_detection/utils/visualization_utils.py @@ -80,7 +80,7 @@ def encode_image_array_as_png_str(image): PNG encoded image string. """ image_pil = Image.fromarray(np.uint8(image)) - output = six.StringIO() + output = six.BytesIO() image_pil.save(output, format='PNG') png_string = output.getvalue() output.close() -- GitLab From 817bd396ffd3194d63a265ccd96c2d58a180f545 Mon Sep 17 00:00:00 2001 From: jiaphuan Date: Wed, 28 Jun 2017 15:35:03 -0700 Subject: [PATCH 162/171] Fix evaluation mistake 1 should not shuffle during evaluation; 2 num_readers should be one, or each sample would be evaluate for (num_reader) times and only (num_examples / num_reader) distinct samples are evaluted. --- object_detection/samples/configs/ssd_mobilenet_v1_pets.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/object_detection/samples/configs/ssd_mobilenet_v1_pets.config b/object_detection/samples/configs/ssd_mobilenet_v1_pets.config index 429075c64..8aeb73870 100644 --- a/object_detection/samples/configs/ssd_mobilenet_v1_pets.config +++ b/object_detection/samples/configs/ssd_mobilenet_v1_pets.config @@ -183,4 +183,6 @@ eval_input_reader: { input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" } label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" + shuffle: false + num_readers: 1 } -- GitLab From 4fddaada2f00a194d3f2d35eef1d0082a4d988da Mon Sep 17 00:00:00 2001 From: jiaphuan Date: Wed, 28 Jun 2017 15:57:10 -0700 Subject: [PATCH 163/171] Update faster_rcnn_inception_resnet_v2_atrous_pets.config --- .../configs/faster_rcnn_inception_resnet_v2_atrous_pets.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config b/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config index fc7e14e25..e27c58e7e 100644 --- a/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config +++ b/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config @@ -133,4 +133,6 @@ eval_input_reader: { input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" } label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" + shuffle: false + num_readers: 1 } -- GitLab From 95c8506589239cebf8ba23808c0c74ac5fdcc0d3 Mon Sep 17 00:00:00 2001 From: jiaphuan Date: Wed, 28 Jun 2017 15:57:32 -0700 Subject: [PATCH 164/171] Update faster_rcnn_resnet101_pets.config --- .../samples/configs/faster_rcnn_resnet101_pets.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/object_detection/samples/configs/faster_rcnn_resnet101_pets.config b/object_detection/samples/configs/faster_rcnn_resnet101_pets.config index cee6604a4..e61d5ff7a 100644 --- a/object_detection/samples/configs/faster_rcnn_resnet101_pets.config +++ b/object_detection/samples/configs/faster_rcnn_resnet101_pets.config @@ -131,4 +131,6 @@ eval_input_reader: { input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" } label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" + shuffle: false + num_readers: 1 } -- GitLab From 633f705c3dce50c571120f72db3a4b25f1ee38f3 Mon Sep 17 00:00:00 2001 From: jiaphuan Date: Wed, 28 Jun 2017 15:57:48 -0700 Subject: [PATCH 165/171] Update faster_rcnn_resnet101_voc07.config --- .../samples/configs/faster_rcnn_resnet101_voc07.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config b/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config index 461898faf..e23622418 100644 --- a/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config +++ b/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config @@ -132,4 +132,6 @@ eval_input_reader: { input_path: "PATH_TO_BE_CONFIGURED/pascal_val.record" } label_map_path: "PATH_TO_BE_CONFIGURED/pascal_label_map.pbtxt" + shuffle: false + num_readers: 1 } -- GitLab From 47585db72553e7d4f69a1df193594d6fe8647f9d Mon Sep 17 00:00:00 2001 From: jiaphuan Date: Wed, 28 Jun 2017 15:58:05 -0700 Subject: [PATCH 166/171] Update faster_rcnn_resnet152_pets.config --- .../samples/configs/faster_rcnn_resnet152_pets.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/object_detection/samples/configs/faster_rcnn_resnet152_pets.config b/object_detection/samples/configs/faster_rcnn_resnet152_pets.config index aae28489e..8a466ee6d 100644 --- a/object_detection/samples/configs/faster_rcnn_resnet152_pets.config +++ b/object_detection/samples/configs/faster_rcnn_resnet152_pets.config @@ -131,4 +131,6 @@ eval_input_reader: { input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" } label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" + shuffle: false + num_readers: 1 } -- GitLab From 92adbbfad16de3b725089548153558b106c31fe8 Mon Sep 17 00:00:00 2001 From: jiaphuan Date: Wed, 28 Jun 2017 15:58:31 -0700 Subject: [PATCH 167/171] Update faster_rcnn_resnet50_pets.config --- .../samples/configs/faster_rcnn_resnet50_pets.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/object_detection/samples/configs/faster_rcnn_resnet50_pets.config b/object_detection/samples/configs/faster_rcnn_resnet50_pets.config index 110c1b4bb..9764844d7 100644 --- a/object_detection/samples/configs/faster_rcnn_resnet50_pets.config +++ b/object_detection/samples/configs/faster_rcnn_resnet50_pets.config @@ -131,4 +131,6 @@ eval_input_reader: { input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" } label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" + shuffle: false + num_readers: 1 } -- GitLab From 314207c14eff3795e7e653b9f3c50c747f9b734e Mon Sep 17 00:00:00 2001 From: jiaphuan Date: Wed, 28 Jun 2017 15:58:52 -0700 Subject: [PATCH 168/171] Update rfcn_resnet101_pets.config --- object_detection/samples/configs/rfcn_resnet101_pets.config | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/object_detection/samples/configs/rfcn_resnet101_pets.config b/object_detection/samples/configs/rfcn_resnet101_pets.config index a2b88f9df..5750563ac 100644 --- a/object_detection/samples/configs/rfcn_resnet101_pets.config +++ b/object_detection/samples/configs/rfcn_resnet101_pets.config @@ -128,4 +128,6 @@ eval_input_reader: { input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" } label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" -} \ No newline at end of file + shuffle: false + num_readers: 1 +} -- GitLab From 3e71035cd6c9a0c2a33b2d9ae211655a283b189d Mon Sep 17 00:00:00 2001 From: jiaphuan Date: Wed, 28 Jun 2017 15:59:18 -0700 Subject: [PATCH 169/171] Update ssd_inception_v2_pets.config --- object_detection/samples/configs/ssd_inception_v2_pets.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/object_detection/samples/configs/ssd_inception_v2_pets.config b/object_detection/samples/configs/ssd_inception_v2_pets.config index b14fa480d..fd799b4ca 100644 --- a/object_detection/samples/configs/ssd_inception_v2_pets.config +++ b/object_detection/samples/configs/ssd_inception_v2_pets.config @@ -177,4 +177,6 @@ eval_input_reader: { input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" } label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" + shuffle: false + num_readers: 1 } -- GitLab From 6117a4e51559da3e36f256c7a349f0a587887c0c Mon Sep 17 00:00:00 2001 From: Nils Lattek Date: Thu, 29 Jun 2017 11:04:42 +0200 Subject: [PATCH 170/171] Fixed dictionary key for SavedModel --- object_detection/exporter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_detection/exporter.py b/object_detection/exporter.py index 24e84b339..b6dd46408 100644 --- a/object_detection/exporter.py +++ b/object_detection/exporter.py @@ -287,7 +287,7 @@ def _write_saved_model(inference_graph_path, inputs, outputs, builder.add_meta_graph_and_variables( sess, [tf.saved_model.tag_constants.SERVING], signature_def_map={ - 'signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY': + signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: detection_signature, }, ) -- GitLab From d7d87e3d2ed045602829365d9fd3e64a2fa15b65 Mon Sep 17 00:00:00 2001 From: Ryan Sepassi Date: Thu, 29 Jun 2017 13:40:51 -0700 Subject: [PATCH 171/171] Fix KL when num_classes != 2 (#1820) Fix to [issue 1724](https://github.com/tensorflow/models/issues/1724) --- adversarial_text/adversarial_losses.py | 1 + 1 file changed, 1 insertion(+) diff --git a/adversarial_text/adversarial_losses.py b/adversarial_text/adversarial_losses.py index 46a0b371b..7ca994666 100644 --- a/adversarial_text/adversarial_losses.py +++ b/adversarial_text/adversarial_losses.py @@ -212,6 +212,7 @@ def _kl_divergence_with_logits(q_logits, p_logits, weights): # For softmax regression else: + q = tf.nn.softmax(q_logits) kl = tf.reduce_sum( q * (tf.nn.log_softmax(q_logits) - tf.nn.log_softmax(p_logits)), 1) -- GitLab

        8exLvT{mT7ytfu+i@hRIR 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 Ybx)dZg~mh#5i=euYb)g|nE&~|02KBoO#lD@ literal 0 HcmV?d00001 diff --git a/object_detection/g3doc/installation.md b/object_detection/g3doc/installation.md new file mode 100644 index 000000000..833f5fc24 --- /dev/null +++ b/object_detection/g3doc/installation.md @@ -0,0 +1,79 @@ +# Installation + +## Dependencies + +Tensorflow Object Detection API depends on the following libraries: + +* Protobuf 2.6 +* Pillow 1.0 +* lxml +* tf Slim (which is included in the "tensorflow/models" checkout) +* Jupyter notebook +* Matplotlib +* Tensorflow + +For detailed steps to install Tensorflow, follow the +[Tensorflow installation instructions](https://www.tensorflow.org/install/). +A typically user can install Tensorflow using one of the following commands: + +``` bash +# For CPU +pip install tensorflow +# For GPU +pip install tensorflow-gpu +``` + +The remaining libraries can be installed on Ubuntu 16.04 using via apt-get: + +``` bash +sudo apt-get install protobuf-compiler python-pil python-lxml +sudo pip install jupyter +sudo pip install matplotlib +``` + +Alternatively, users can install dependencies using pip: + +``` bash +sudo pip install pillow +sudo pip install lxml +sudo pip install jupyter +sudo pip install matplotlib +``` + +## Protobuf Compilation + +The Tensorflow Object Detection API uses Protobufs to configure model and +training parameters. Before the framework can be used, the Protobuf libraries +must be compiled. This should be done by running the following command from +the tensorflow/models directory: + + +``` bash +# From tensorflow/models/ +protoc object_detection/protos/*.proto --python_out=. +``` + +## Add Libraries to PYTHONPATH + +When running locally, the tensorflow/models/ and slim directories should be +appended to PYTHONPATH. This can be done by running the following from +tensorflow/models/: + + +``` bash +# From tensorflow/models/ +export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim +``` + +Note: This command needs to run from every new terminal you start. If you wish +to avoid running this manually, you can add it as a new line to the end of your +~/.bashrc file. + +# Testing the Installation + +You can test that you have correctly installed the Tensorflow Object Detection\ +API by running the following command: + +``` bash +python object_detection/builders/model_builder_test.py +``` diff --git a/object_detection/g3doc/preparing_inputs.md b/object_detection/g3doc/preparing_inputs.md new file mode 100644 index 000000000..a1f8f17e1 --- /dev/null +++ b/object_detection/g3doc/preparing_inputs.md @@ -0,0 +1,45 @@ +# Preparing Inputs + +Tensorflow Object Detection API reads data using the TFRecord file format. Two +sample scripts (`create_pascal_tf_record.py` and `create_pet_tf_record.py`) are +provided to convert from the PASCAL VOC dataset and Oxford-IIT Pet dataset to +TFRecords. + +## Generating the PASCAL VOC TFRecord files. + +The raw 2012 PASCAL VOC data set can be downloaded +[here](http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar). +Extract the tar file and run the `create_pascal_tf_record` script: + +``` +# From tensorflow/models/object_detection +tar -xvf VOCtrainval_11-May-2012.tar +./create_pascal_tf_record --data_dir=VOCdevkit \ + --year=VOC2012 --set=train --output_path=pascal_train.record +./create_pascal_tf_record --data_dir=/home/user/VOCdevkit \ + --year=VOC2012 --set=val --output_path=pascal_val.record +``` + +You should end up with two TFRecord files named pascal_train.record and +pascal_val.record in the tensorflow/models/object_detection directory. + +The label map for the PASCAL VOC data set can be found at +data/pascal_label_map.pbtxt. + +## Generation the Oxford-IIT Pet TFRecord files. + +The Oxford-IIT Pet data set can be downloaded from +[their website](http://www.robots.ox.ac.uk/~vgg/data/pets/). Extract the tar +file and run the `create_pet_tf_record` script to generate TFRecords. + +``` +# From tensorflow/models/object_detection +tar -xvf annotations.tar.gz +tar -xvf images.tar.gz +./create_pet_tf_record --data_dir=`pwd` --output_dir=`pwd` +``` + +You should end up with two TFRecord files named pet_train.record and +pet_val.record in the tensorflow/models/object_detection directory. + +The label map for the Pet dataset can be found at data/pet_label_map.pbtxt. diff --git a/object_detection/g3doc/running_locally.md b/object_detection/g3doc/running_locally.md new file mode 100644 index 000000000..7143b6d85 --- /dev/null +++ b/object_detection/g3doc/running_locally.md @@ -0,0 +1,81 @@ +# Running Locally + +This page walks through the steps required to train an object detection model +on a local machine. It assumes the reader has completed the +following prerequisites: + +1. The Tensorflow Object Detection API has been installed as documented in the +[installation instructions](installation.md). This includes installing library +dependencies, compiling the configuration protobufs and setting up the Python +environment. +2. A valid data set has been created. See [this page](preparing_inputs.md) for +instructions on how to generate a dataset for the PASCAL VOC challenge or the +Oxford-IIT Pet dataset. +3. A Object Detection pipeline configuration has been written. See +[this page](configuring_jobs.md) for details on how to write a pipeline configuration. + +## Recommended Directory Structure for Training and Evaluation + +``` ++data + -label_map file + -train TFRecord file + -eval TFRecord file ++models + + model + -pipeline config file + +train + +eval +``` + +## Running the Training Job + +A local training job can be run with the following command: + +```bash +# From the tensorflow/models/ directory +python object_detection/train.py \ + --logtostderr \ + --pipeline_config_path=${PATH_TO_YOUR_PIPELINE_CONFIG} \ + --train_dir=${PATH_TO_TRAIN_DIR} +``` + +where `${PATH_TO_YOUR_PIPELINE_CONFIG}` points to the pipeline config and +`${PATH_TO_TRAIN_DIR}` points to the directory in which training checkpoints +and events will be written to. By default, the training job will +run indefinitely until the user kills it. + +## Running the Evaluation Job + +Evaluation is run as a separate job. The eval job will periodically poll the +train directory for new checkpoints and evaluate them on a test dataset. The +job can be run using the following command: + +```bash +# From the tensorflow/models/ directory +python object_detection/eval.py \ + --logtostderr \ + --pipeline_config_path=${PATH_TO_YOUR_PIPELINE_CONFIG} \ + --checkpoint_dir=${PATH_TO_TRAIN_DIR} \ + --eval_dir=${PATH_TO_EVAL_DIR} +``` + +where `${PATH_TO_YOUR_PIPELINE_CONFIG}` points to the pipeline config, +`${PATH_TO_TRAIN_DIR}` points to the directory in which training checkpoints +were saved (same as the training job) and `${PATH_TO_EVAL_DIR}` points to the +directory in which evaluation events will be saved. As with the training job, +the eval job run until terminated by default. + +## Running Tensorboard + +Progress for training and eval jobs can be inspected using Tensorboard. If +using the recommended directory structure, Tensorboard can be run using the +following command: + +```bash +tensorboard --logdir=${PATH_TO_MODEL_DIRECTORY} +``` + +where `${PATH_TO_MODEL_DIRECTORY}` points to the directory that contains the +train and eval directories. Please note it make take Tensorboard a couple +minutes to populate with data. diff --git a/object_detection/g3doc/running_notebook.md b/object_detection/g3doc/running_notebook.md new file mode 100644 index 000000000..8d7948d82 --- /dev/null +++ b/object_detection/g3doc/running_notebook.md @@ -0,0 +1,15 @@ +# Quick Start: Jupyter notebook for off-the-shelf inference + +If you'd like to hit the ground running and run detection on a few example +images right out of the box, we recommend trying out the Jupyter notebook demo. +To run the Jupyter notebook, run the following command from +`tensorflow/models/object_detection`: + +``` +# From tensorflow/models/object_detection +jupyter notebook +``` + +The notebook should open in your favorite web browser. Click the +[`object_detection_tutorial.ipynb`](../object_detection_tutorial.ipynb) link +to open the demo. diff --git a/object_detection/g3doc/running_on_cloud.md b/object_detection/g3doc/running_on_cloud.md new file mode 100644 index 000000000..0d74ac4e2 --- /dev/null +++ b/object_detection/g3doc/running_on_cloud.md @@ -0,0 +1,128 @@ +# Running on Google Cloud Platform + +The Tensorflow Object Detection API supports distributed training on Google +Cloud ML Engine. This section documents instructions on how to train and +evaluate your model using Cloud ML. The reader should complete the following +prerequistes: + +1. The reader has created and configured a project on Google Cloud Platform. +See [the Cloud ML quick start guide](https://cloud.google.com/ml-engine/docs/quickstarts/command-line). +2. The reader has installed the Tensorflow Object Detection API as documented +in the [installation instructions](installation.md). +3. The reader has a valid data set and stored it in a Google Cloud Storage +bucket. See [this page](preparing_inputs.md) for instructions on how to generate +a dataset for the PASCAL VOC challenge or the Oxford-IIT Pet dataset. +4. The reader has configured a valid Object Detection pipeline, and stored it +in a Google Cloud Storage bucket. See [this page](configuring_jobs.md) for +details on how to write a pipeline configuration. + +Additionally, it is recommended users test their job by running training and +evaluation jobs for a few iterations +[locally on their own machines](running_locally.md). + +## Packaging + +In order to run the Tensorflow Object Detection API on Cloud ML, it must be +packaged (along with it's TF-Slim dependency). The required packages can be +created with the following command + +``` bash +# From tensorflow/models/ +python setup.py sdist +(cd slim && python setup.py sdist) +``` + +This will create python packages in dist/object_detection-0.1.tar.gz and +slim/dist/slim-0.1.tar.gz. + +## Running a Multiworker Training Job + +Google Cloud ML requires a YAML configuration file for a multiworker training +job using GPUs. A sample YAML file is given below: + +``` +trainingInput: + runtimeVersion: "1.0" + scaleTier: CUSTOM + masterType: standard_gpu + workerCount: 9 + workerType: standard_gpu + parameterServerCount: 3 + parameterServerType: standard + + +``` + +Please keep the following guidelines in mind when writing the YAML +configuration: + +* A job with n workers will have n + 1 training machines (n workers + 1 master). +* The number of parameters servers used should be an odd number to prevent + a parameter server from storing only weight variables or only bias variables + (due to round robin parameter scheduling). +* The learning rate in the training config should be decreased when using a + larger number of workers. Some experimentation is required to find the + optimal learning rate. + +The YAML file should be saved on the local machine (not on GCP). Once it has +been written, a user can start a training job on Cloud ML Engine using the +following command: + +``` bash +# From tensorflow/models/ +gcloud ml-engine jobs submit training object_detection_`date +%s` \ + --job-dir=gs://${TRAIN_DIR} \ + --packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz \ + --module-name object_detection.train \ + --region us-central1 \ + --config ${PATH_TO_LOCAL_YAML_FILE} \ + -- \ + --train_dir=gs://${TRAIN_DIR} \ + --pipeline_config_path=gs://${PIPELINE_CONFIG_PATH} +``` + +Where `${PATH_TO_LOCAL_YAML_FILE}` is the local path to the YAML configuration, +`gs://${TRAIN_DIR}` specifies the directory on Google Cloud Storage where the +training checkpoints and events will be written to and +`gs://${PIPELINE_CONFIG_PATH}` points to the pipeline configuration stored on +Google Cloud Storage. + +Users can monitor the progress of their training job on the [ML Engine +Dasboard](https://pantheon.corp.google.com/mlengine/jobs). + +## Running an Evaluation Job on Cloud + +Evaluation jobs run on a single machine, so it is not necessary to write a YAML +configuration for evaluation. Run the following command to start the evaluation +job: + +``` bash +gcloud ml-engine jobs submit training object_detection_eval_`date +%s` \ + --job-dir=gs://${TRAIN_DIR} \ + --packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz \ + --module-name object_detection.eval \ + --region us-central1 \ + --scale-tier BASIC_GPU \ + -- \ + --checkpoint_dir=gs://${TRAIN_DIR} \ + --eval_dir=gs://${EVAL_DIR} \ + --pipeline_config_path=gs://${PIPELINE_CONFIG_PATH} +``` + +Where `gs://${TRAIN_DIR}` points to the directory on Google Cloud Storage where +training checkpoints are saved (same as the training job), `gs://${EVAL_DIR}` +points to where evaluation events will be saved on Google Cloud Storage and +`gs://${PIPELINE_CONFIG_PATH}` points to where the pipeline configuration is +stored on Google Cloud Storage. + +## Running Tensorboard + +You can run Tensorboard locally on your own machine to view progress of your +training and eval jobs on Google Cloud ML. Run the following command to start +Tensorboard: + +``` bash +tensorboard --logdir=gs://${YOUR_CLOUD_BUCKET} +``` + +Note it may Tensorboard a few minutes to populate with results. diff --git a/object_detection/g3doc/running_pets.md b/object_detection/g3doc/running_pets.md new file mode 100644 index 000000000..aadea479e --- /dev/null +++ b/object_detection/g3doc/running_pets.md @@ -0,0 +1,303 @@ +# Quick Start: Distributed Training on the Oxford-IIT Pets Dataset on Google Cloud + +This page is a walkthrough for training an object detector using the Tensorflow +Object Detection API. In this tutorial, we'll be training on the Oxford-IIT Pets +dataset to build a system to detect various breeds of cats and dogs. The output +of the detector will look like the following: + +![](img/oxford_pet.png) + +## Setting up a Project on Google Cloud + +To accelerate the process, we'll run training and evaluation on [Google Cloud +ML Engine](https://cloud.google.com/ml-engine/) to leverage multiple GPUs. To +begin, you will have to set up Google Cloud via the following steps (if you have +already done this, feel free to skip to the next section): + +1. [Create a GCP project](https://cloud.google.com/resource-manager/docs/creating-managing-projects). +2. [Install the Google Cloud SDK](https://cloud.google.com/sdk/downloads) on +your workstation or laptop. +This will provide the tools you need to upload files to Google Cloud Storage and +start ML training jobs. +3. [Enable the ML Engine +APIs](https://console.cloud.google.com/flows/enableapi?apiid=ml.googleapis.com,compute_component&_ga=1.73374291.1570145678.1496689256). +By default, a new GCP project does not enable APIs to start ML Engine training +jobs. Use the above link to explicitly enable them. +4. [Set up a Google Cloud Storage (GCS) +bucket](https://cloud.google.com/storage/docs/creating-buckets). ML Engine +training jobs can only access files on a Google Cloud Storage bucket. In this +tutorial, we'll be required to upload our dataset and configuration to GCS. + +Please remember the name of your GCS bucket, as we will reference it multiple +times in this document. Substitute `${YOUR_GCS_BUCKET}` with the name of +your bucket in this document. For your convenience, you should define the +environment variable below: + +``` bash +export YOUR_GCS_BUCKET=${YOUR_GCS_BUCKET} +``` + +## Installing Tensorflow and the Tensorflow Object Detection API + +Please run through the [installation instructions](installation.md) to install +Tensorflow and all it dependencies. Ensure the Protobuf libraries are +compiled and the library directories are added to `PYTHONPATH`. + +## Getting the Oxford-IIT Pets Dataset and Uploading it to Google Cloud Storage + +In order to train a detector, we require a dataset of images, bounding boxes and +classifications. For this demo, we'll use the Oxford-IIT Pets dataset. The raw +dataset for Oxford-IIT Pets lives +[here](http://www.robots.ox.ac.uk/~vgg/data/pets/). You will need to download +both the image dataset [`images.tar.gz`](http://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz) +and the groundtruth data [`annotations.tar.gz`](http://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gz) +to the tensorflow/models directory. This may take some time. After downloading +the tarballs, your object_detection directory should appear as follows: + +```lang-none ++ object_detection/ + + data/ + - images.tar.gz + - annotations.tar.gz + - create_pet_tf_record.py + ... other files and directories +``` + +The Tensorflow Object Detection API expects data to be in the TFRecord format, +so we'll now run the _create_pet_tf_record_ script to convert from the raw +Oxford-IIT Pet dataset into TFRecords. Run the following commands from the +object_detection directory: + +``` bash +# From tensorflow/models/ +wget http://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz +wget http://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gz +tar -xvf annotations.tar.gz +tar -xvf images.tar.gz +python object_detection/create_pet_tf_record.py \ + --label_map_path=object_detection/data/pet_label_map.pbtxt \ + --data_dir=`pwd` \ + --output_dir=`pwd` +``` + +Note: It is normal to see some warnings when running this script. You may ignore +them. + +Two TFRecord files named pet_train.record and pet_val.record should be generated +in the object_detection/ directory. + +Now that the data has been generated, we'll need to upload it to Google Cloud +Storage so the data can be accessed by ML Engine. Run the following command to +copy the files into your GCS bucket (substituting ${YOUR_GCS_BUCKET}): + +``` bash +# From tensorflow/models/ +gsutil cp pet_train.record gs://${YOUR_GCS_BUCKET}/data/pet_train.record +gsutil cp pet_val.record gs://${YOUR_GCS_BUCKET}/data/pet_val.record +gsutil cp object_detection/data/pet_label_map.pbtxt gs://${YOUR_GCS_BUCKET}/data/pet_label_map.pbtxt +``` + +Please remember the path where you upload the data to, as we will need this +information when configuring the pipeline in a following step. + +## Downloading a COCO-pretrained Model for Transfer Learning + +Training a state of the art object detector from scratch can take days, even +when using multiple GPUs! In order to speed up training, we'll take an object +detector trained on a different dataset (COCO), and reuse some of it's +parameters to initialize our new model. + +Download our [COCO-pretrained Faster R-CNN with Resnet-101 +model](http://storage.googleapis.com/download.tensorflow.org/models/object_detection/faster_rcnn_resnet101_coco_11_06_2017.tar.gz). +Unzip the contents of the folder and copy the model.ckpt* files into your GCS +Bucket. + +``` bash +wget http://storage.googleapis.com/download.tensorflow.org/models/object_detection/faster_rcnn_resnet101_coco_11_06_2017.tar.gz +tar -xvf faster_rcnn_resnet101_coco_11_06_2017.tar.gz +gsutil cp faster_rcnn_resnet101_coco_11_06_2017/model.ckpt.* gs://${YOUR_GCS_BUCKET}/data/ +``` + +Remember the path where you uploaded the model checkpoint to, as we will need it +in the following step. + +## Configuring the Object Detection Pipeline + +In the Tensorflow Object Detection API, the model parameters, training +parameters and eval parameters are all defined by a config file. More details +can be found [here](configuring_jobs.md). For this tutorial, we will use some +predefined templates provided with the source code. In the +object_detection/samples/configs folder, there are skeleton object_detection +configuration files. We will use `faster_rcnn_resnet101_pets.config` as a +starting point for configuring the pipeline. Open the file with your favourite +text editor. + +We'll need to configure some paths in order for the template to work. Search the +file for instances of `PATH_TO_BE_CONFIGURED` and replace them with the +appropriate value (typically "gs://${YOUR_GCS_BUCKET}/data/"). Afterwards +upload your edited file onto GCS, making note of the path it was uploaded to +(we'll need it when starting the training/eval jobs). + +``` bash +# From tensorflow/models/ + +# Edit the faster_rcnn_resnet101_pets.config template. Please note that there +# are multiple places where PATH_TO_BE_CONFIGURED needs to be set. +sed -i "s|PATH_TO_BE_CONFIGURED|"gs://${YOUR_GCS_BUCKET}"/data|g" \ + object_detection/samples/configs/faster_rcnn_resnet101_pets.config + +# Copy editted template to cloud. +gsutil cp object_detection/samples/configs/faster_rcnn_resnet101_pets.config \ + gs://${YOUR_GCS_BUCKET}/data/faster_rcnn_resnet101_pets.config +``` + +## Checking Your Google Cloud Storage Bucket + +At this point in the tutorial, you should have uploaded the training/validation +datasets (including label map), our COCO trained FasterRCNN finetune checkpoint and your job +configuration to your Google Cloud Storage Bucket. Your bucket should look like +the following: + +```lang-none ++ ${YOUR_GCS_BUCKET}/ + + data/ + - faster_rcnn_resnet101_pets.config + - model.ckpt.index + - model.ckpt.meta + - model.ckpt.data-00000-of-00001 + - pet_label_map.pbtxt + - pet_train.record + - pet_val.record +``` + +You can inspect your bucket using the [Google Cloud Storage +browser](pantheon.corp.google.com/storage). + +## Starting Training and Evaluation Jobs on Google Cloud ML Engine + +Before we can start a job on Google Cloud ML Engine, we must: + +1. Package the Tensorflow Object Detection code. +2. Write a cluster configuration for our Google Cloud ML job. + +To package the Tensorflow Object Detection code, run the following commands from +the tensorflow/models/ directory: + +``` bash +# From tensorflow/models/ +python setup.py sdist +(cd slim && python setup.py sdist) +``` + +You should see two tar.gz files created at `dist/object_detection-0.1.tar.gz` +and `slim/dist/slim-0.1.tar.gz`. + +For running the training Cloud ML job, we'll configure the cluster to use 10 +training jobs (1 master + 9 workers) and three parameters servers. The +configuration file can be found at object_detection/samples/cloud/cloud.yml. + +To start training, execute the following command from the tensorflow/models/ +directory: + +``` bash +# From tensorflow/models/ +gcloud ml-engine jobs submit training `whoami`_object_detection_`date +%s` \ + --job-dir=gs://${YOUR_GCS_BUCKET}/train \ + --packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz \ + --module-name object_detection.train \ + --region us-central1 \ + --config object_detection/samples/cloud/cloud.yml \ + -- \ + --train_dir=gs://${YOUR_GCS_BUCKET}/train \ + --pipeline_config_path=gs://${YOUR_GCS_BUCKET}/data/faster_rcnn_resnet101_pets.config +``` + +Once training has started, we can run an evaluation concurrently: + +``` bash +# From tensorflow/models/ +gcloud ml-engine jobs submit training `whoami`_object_detection_eval_`date +%s` \ + --job-dir=gs://${YOUR_GCS_BUCKET}/train \ + --packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz \ + --module-name object_detection.eval \ + --region us-central1 \ + --scale-tier BASIC_GPU \ + -- \ + --checkpoint_dir=gs://${YOUR_GCS_BUCKET}/train \ + --eval_dir=gs://${YOUR_GCS_BUCKET}/eval \ + --pipeline_config_path=gs://${YOUR_GCS_BUCKET}/data/faster_rcnn_resnet101_pets.config +``` + +Note: Even though we're running an evaluation job, the `gcloud ml-engine jobs +submit training` command is correct. ML Engine does not distinguish between +training and evaluation jobs. + +Users can monitor and stop training and evaluation jobs on the [ML Engine +Dasboard](https://pantheon.corp.google.com/mlengine/jobs). + +## Monitoring Progress with Tensorboard + +You can monitor progress of the training and eval jobs by running Tensorboard on +your local machine: + +``` bash +# This command needs to be run once to allow your local machine to access your +# GCS bucket. +gcloud auth application-default login + +tensorboard --logdir=gs://${YOUR_GCS_BUCKET} +``` + +Once Tensorboard is running, navigate to `localhost:6006` from your favourite +web browser. You should something similar see the following: + +![](img/tensorboard.png) + +You will also want to click on the images tab to see example detections made by +the model while it trains. After about an hour and a half of training, you can +expect to see something like this: + +![](img/tensorboard2.png) + +Note: It takes roughly 10 minutes for a job to get started on ML Engine, and +roughly an hour for the system to evaluate the validation dataset. It may take +some time to populate the dashboards. If you do not see any entries after half +an hour, check the logs from the [ML Engine +Dasboard](https://pantheon.corp.google.com/mlengine/jobs). + +## Exporting the Tensorflow Graph + +After your model has been trained, you should export it to a Tensorflow +graph proto. First, you need to identify a candidate checkpoint to export. You +can search your bucket using the [Google Cloud Storage +Browser](https://pantheon.corp.google.com/storage/browser). The file should be +stored under ${YOUR_GCS_BUCKET}/train. The checkpoint will typically consist of +three files: + +* model.ckpt-${CHECKPOINT_NUMBER}.data-00000-of-00001, +* model.ckpt-${CHECKPOINT_NUMBER}.index +* model.ckpt-${CHECKPOINT_NUMBER}.meta + +After you've identified a candidate checkpoint to export, run the following +command from tensorflow/models/object_detection: + +``` bash +# From tensorflow/models +gsutil cp gs://${YOUR_GCS_BUCKET}/train/model.ckpt-${CHECKPOINT_NUMBER}.* . +python object_detection/export_inference_graph \ + --input_type image_tensor \ + --pipeline_config_path object_detection/samples/configs/faster_rcnn_resnet101_pets.config \ + --checkpoint_path model.ckpt-${CHECKPOINT_NUMBER} \ + --inference_graph_path output_inference_graph.pb +``` + +Afterwards, you should see a graph named output_inference_graph.pb. + +## What's Next + +Congratulations, you have now trained an object detector for various cats and +dogs! There different things you can do now: + +1. [Test your exported model using the provided Jupyter notebook.](running_notebook.md) +2. [Experiment with different model configurations.](configuring_jobs.md) +3. Train an object detector using your own data. diff --git a/object_detection/matchers/BUILD b/object_detection/matchers/BUILD new file mode 100644 index 000000000..1bc5992f5 --- /dev/null +++ b/object_detection/matchers/BUILD @@ -0,0 +1,51 @@ +# Tensorflow Object Detection API: Matcher implementations. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) + +# Apache 2.0 +py_library( + name = "argmax_matcher", + srcs = [ + "argmax_matcher.py", + ], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/core:matcher", + ], +) + +py_test( + name = "argmax_matcher_test", + srcs = ["argmax_matcher_test.py"], + deps = [ + ":argmax_matcher", + "//tensorflow", + ], +) + +py_library( + name = "bipartite_matcher", + srcs = [ + "bipartite_matcher.py", + ], + deps = [ + "//tensorflow", + "//tensorflow/contrib/image:image_py", + "//tensorflow_models/object_detection/core:matcher", + ], +) + +py_test( + name = "bipartite_matcher_test", + srcs = [ + "bipartite_matcher_test.py", + ], + deps = [ + ":bipartite_matcher", + "//tensorflow", + ], +) diff --git a/object_detection/matchers/__init__.py b/object_detection/matchers/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/matchers/argmax_matcher.py b/object_detection/matchers/argmax_matcher.py new file mode 100644 index 000000000..97d851858 --- /dev/null +++ b/object_detection/matchers/argmax_matcher.py @@ -0,0 +1,189 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Argmax matcher implementation. + +This class takes a similarity matrix and matches columns to rows based on the +maximum value per column. One can specify matched_thresholds and +to prevent columns from matching to rows (generally resulting in a negative +training example) and unmatched_theshold to ignore the match (generally +resulting in neither a positive or negative training example). + +This matcher is used in Fast(er)-RCNN. + +Note: matchers are used in TargetAssigners. There is a create_target_assigner +factory function for popular implementations. +""" + +import tensorflow as tf + +from object_detection.core import matcher + + +class ArgMaxMatcher(matcher.Matcher): + """Matcher based on highest value. + + This class computes matches from a similarity matrix. Each column is matched + to a single row. + + To support object detection target assignment this class enables setting both + matched_threshold (upper threshold) and unmatched_threshold (lower thresholds) + defining three categories of similarity which define whether examples are + positive, negative, or ignored: + (1) similarity >= matched_threshold: Highest similarity. Matched/Positive! + (2) matched_threshold > similarity >= unmatched_threshold: Medium similarity. + Depending on negatives_lower_than_unmatched, this is either + Unmatched/Negative OR Ignore. + (3) unmatched_threshold > similarity: Lowest similarity. Depending on flag + negatives_lower_than_unmatched, either Unmatched/Negative OR Ignore. + For ignored matches this class sets the values in the Match object to -2. + """ + + def __init__(self, + matched_threshold, + unmatched_threshold=None, + negatives_lower_than_unmatched=True, + force_match_for_each_row=False): + """Construct ArgMaxMatcher. + + Args: + matched_threshold: Threshold for positive matches. Positive if + sim >= matched_threshold, where sim is the maximum value of the + similarity matrix for a given column. Set to None for no threshold. + unmatched_threshold: Threshold for negative matches. Negative if + sim < unmatched_threshold. Defaults to matched_threshold + when set to None. + negatives_lower_than_unmatched: Boolean which defaults to True. If True + then negative matches are the ones below the unmatched_threshold, + whereas ignored matches are in between the matched and umatched + threshold. If False, then negative matches are in between the matched + and unmatched threshold, and everything lower than unmatched is ignored. + force_match_for_each_row: If True, ensures that each row is matched to + at least one column (which is not guaranteed otherwise if the + matched_threshold is high). Defaults to False. See + argmax_matcher_test.testMatcherForceMatch() for an example. + + Raises: + ValueError: if unmatched_threshold is set but matched_threshold is not set + or if unmatched_threshold > matched_threshold. + """ + if (matched_threshold is None) and (unmatched_threshold is not None): + raise ValueError('Need to also define matched_threshold when' + 'unmatched_threshold is defined') + self._matched_threshold = matched_threshold + if unmatched_threshold is None: + self._unmatched_threshold = matched_threshold + else: + if unmatched_threshold > matched_threshold: + raise ValueError('unmatched_threshold needs to be smaller or equal' + 'to matched_threshold') + self._unmatched_threshold = unmatched_threshold + if not negatives_lower_than_unmatched: + if self._unmatched_threshold == self._matched_threshold: + raise ValueError('When negatives are in between matched and ' + 'unmatched thresholds, these cannot be of equal ' + 'value. matched: %s, unmatched: %s', + self._matched_threshold, self._unmatched_threshold) + self._force_match_for_each_row = force_match_for_each_row + self._negatives_lower_than_unmatched = negatives_lower_than_unmatched + + def _match(self, similarity_matrix): + """Tries to match each column of the similarity matrix to a row. + + Args: + similarity_matrix: tensor of shape [N, M] representing any similarity + metric. + + Returns: + Match object with corresponding matches for each of M columns. + """ + + def _match_when_rows_are_empty(): + """Performs matching when the rows of similarity matrix are empty. + + When the rows are empty, all detections are false positives. So we return + a tensor of -1's to indicate that the columns do not match to any rows. + + Returns: + matches: int32 tensor indicating the row each column matches to. + """ + return -1 * tf.ones([tf.shape(similarity_matrix)[1]], dtype=tf.int32) + + def _match_when_rows_are_non_empty(): + """Performs matching when the rows of similarity matrix are non empty. + + Returns: + matches: int32 tensor indicating the row each column matches to. + """ + # Matches for each column + matches = tf.argmax(similarity_matrix, 0) + + # Deal with matched and unmatched threshold + if self._matched_threshold is not None: + # Get logical indices of ignored and unmatched columns as tf.int64 + matched_vals = tf.reduce_max(similarity_matrix, 0) + below_unmatched_threshold = tf.greater(self._unmatched_threshold, + matched_vals) + between_thresholds = tf.logical_and( + tf.greater_equal(matched_vals, self._unmatched_threshold), + tf.greater(self._matched_threshold, matched_vals)) + + if self._negatives_lower_than_unmatched: + matches = self._set_values_using_indicator(matches, + below_unmatched_threshold, + -1) + matches = self._set_values_using_indicator(matches, + between_thresholds, + -2) + else: + matches = self._set_values_using_indicator(matches, + below_unmatched_threshold, + -2) + matches = self._set_values_using_indicator(matches, + between_thresholds, + -1) + + if self._force_match_for_each_row: + forced_matches_ids = tf.cast(tf.argmax(similarity_matrix, 1), tf.int32) + + # Set matches[forced_matches_ids] = [0, ..., R], R is number of rows. + row_range = tf.range(tf.shape(similarity_matrix)[0]) + col_range = tf.range(tf.shape(similarity_matrix)[1]) + forced_matches_values = tf.cast(row_range, matches.dtype) + keep_matches_ids, _ = tf.setdiff1d(col_range, forced_matches_ids) + keep_matches_values = tf.gather(matches, keep_matches_ids) + matches = tf.dynamic_stitch( + [forced_matches_ids, + keep_matches_ids], [forced_matches_values, keep_matches_values]) + + return tf.cast(matches, tf.int32) + + return tf.cond( + tf.greater(tf.shape(similarity_matrix)[0], 0), + _match_when_rows_are_non_empty, _match_when_rows_are_empty) + + def _set_values_using_indicator(self, x, indicator, val): + """Set the indicated fields of x to val. + + Args: + x: tensor. + indicator: boolean with same shape as x. + val: scalar with value to set. + + Returns: + modified tensor. + """ + indicator = tf.cast(indicator, x.dtype) + return tf.add(tf.multiply(x, 1 - indicator), val * indicator) diff --git a/object_detection/matchers/argmax_matcher_test.py b/object_detection/matchers/argmax_matcher_test.py new file mode 100644 index 000000000..36740f4b6 --- /dev/null +++ b/object_detection/matchers/argmax_matcher_test.py @@ -0,0 +1,237 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.matchers.argmax_matcher.""" + +import numpy as np +import tensorflow as tf + +from object_detection.matchers import argmax_matcher + + +class ArgMaxMatcherTest(tf.test.TestCase): + + def test_return_correct_matches_with_default_thresholds(self): + similarity = np.array([[1., 1, 1, 3, 1], + [2, -1, 2, 0, 4], + [3, 0, -1, 0, 0]]) + + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=None) + expected_matched_rows = np.array([2, 0, 1, 0, 1]) + + sim = tf.constant(similarity) + match = matcher.match(sim) + matched_cols = match.matched_column_indices() + matched_rows = match.matched_row_indices() + unmatched_cols = match.unmatched_column_indices() + + with self.test_session() as sess: + res_matched_cols = sess.run(matched_cols) + res_matched_rows = sess.run(matched_rows) + res_unmatched_cols = sess.run(unmatched_cols) + + self.assertAllEqual(res_matched_rows, expected_matched_rows) + self.assertAllEqual(res_matched_cols, np.arange(similarity.shape[1])) + self.assertEmpty(res_unmatched_cols) + + def test_return_correct_matches_with_empty_rows(self): + + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=None) + sim = 0.2*tf.ones([0, 5]) + match = matcher.match(sim) + unmatched_cols = match.unmatched_column_indices() + + with self.test_session() as sess: + res_unmatched_cols = sess.run(unmatched_cols) + self.assertAllEqual(res_unmatched_cols, np.arange(5)) + + def test_return_correct_matches_with_matched_threshold(self): + similarity = np.array([[1, 1, 1, 3, 1], + [2, -1, 2, 0, 4], + [3, 0, -1, 0, 0]], dtype=np.int32) + + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=3) + expected_matched_cols = np.array([0, 3, 4]) + expected_matched_rows = np.array([2, 0, 1]) + expected_unmatched_cols = np.array([1, 2]) + + sim = tf.constant(similarity) + match = matcher.match(sim) + matched_cols = match.matched_column_indices() + matched_rows = match.matched_row_indices() + unmatched_cols = match.unmatched_column_indices() + + init_op = tf.global_variables_initializer() + + with self.test_session() as sess: + sess.run(init_op) + res_matched_cols = sess.run(matched_cols) + res_matched_rows = sess.run(matched_rows) + res_unmatched_cols = sess.run(unmatched_cols) + + self.assertAllEqual(res_matched_rows, expected_matched_rows) + self.assertAllEqual(res_matched_cols, expected_matched_cols) + self.assertAllEqual(res_unmatched_cols, expected_unmatched_cols) + + def test_return_correct_matches_with_matched_and_unmatched_threshold(self): + similarity = np.array([[1, 1, 1, 3, 1], + [2, -1, 2, 0, 4], + [3, 0, -1, 0, 0]], dtype=np.int32) + + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=3, + unmatched_threshold=2) + expected_matched_cols = np.array([0, 3, 4]) + expected_matched_rows = np.array([2, 0, 1]) + expected_unmatched_cols = np.array([1]) # col 2 has too high maximum val + + sim = tf.constant(similarity) + match = matcher.match(sim) + matched_cols = match.matched_column_indices() + matched_rows = match.matched_row_indices() + unmatched_cols = match.unmatched_column_indices() + + with self.test_session() as sess: + res_matched_cols = sess.run(matched_cols) + res_matched_rows = sess.run(matched_rows) + res_unmatched_cols = sess.run(unmatched_cols) + + self.assertAllEqual(res_matched_rows, expected_matched_rows) + self.assertAllEqual(res_matched_cols, expected_matched_cols) + self.assertAllEqual(res_unmatched_cols, expected_unmatched_cols) + + def test_return_correct_matches_negatives_lower_than_unmatched_false(self): + similarity = np.array([[1, 1, 1, 3, 1], + [2, -1, 2, 0, 4], + [3, 0, -1, 0, 0]], dtype=np.int32) + + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=3, + unmatched_threshold=2, + negatives_lower_than_unmatched=False) + expected_matched_cols = np.array([0, 3, 4]) + expected_matched_rows = np.array([2, 0, 1]) + expected_unmatched_cols = np.array([2]) # col 1 has too low maximum val + + sim = tf.constant(similarity) + match = matcher.match(sim) + matched_cols = match.matched_column_indices() + matched_rows = match.matched_row_indices() + unmatched_cols = match.unmatched_column_indices() + + with self.test_session() as sess: + res_matched_cols = sess.run(matched_cols) + res_matched_rows = sess.run(matched_rows) + res_unmatched_cols = sess.run(unmatched_cols) + + self.assertAllEqual(res_matched_rows, expected_matched_rows) + self.assertAllEqual(res_matched_cols, expected_matched_cols) + self.assertAllEqual(res_unmatched_cols, expected_unmatched_cols) + + def test_return_correct_matches_unmatched_row_not_using_force_match(self): + similarity = np.array([[1, 1, 1, 3, 1], + [-1, 0, -2, -2, -1], + [3, 0, -1, 2, 0]], dtype=np.int32) + + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=3, + unmatched_threshold=2) + expected_matched_cols = np.array([0, 3]) + expected_matched_rows = np.array([2, 0]) + expected_unmatched_cols = np.array([1, 2, 4]) + + sim = tf.constant(similarity) + match = matcher.match(sim) + matched_cols = match.matched_column_indices() + matched_rows = match.matched_row_indices() + unmatched_cols = match.unmatched_column_indices() + + with self.test_session() as sess: + res_matched_cols = sess.run(matched_cols) + res_matched_rows = sess.run(matched_rows) + res_unmatched_cols = sess.run(unmatched_cols) + + self.assertAllEqual(res_matched_rows, expected_matched_rows) + self.assertAllEqual(res_matched_cols, expected_matched_cols) + self.assertAllEqual(res_unmatched_cols, expected_unmatched_cols) + + def test_return_correct_matches_unmatched_row_while_using_force_match(self): + similarity = np.array([[1, 1, 1, 3, 1], + [-1, 0, -2, -2, -1], + [3, 0, -1, 2, 0]], dtype=np.int32) + + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=3, + unmatched_threshold=2, + force_match_for_each_row=True) + expected_matched_cols = np.array([0, 1, 3]) + expected_matched_rows = np.array([2, 1, 0]) + expected_unmatched_cols = np.array([2, 4]) # col 2 has too high max val + + sim = tf.constant(similarity) + match = matcher.match(sim) + matched_cols = match.matched_column_indices() + matched_rows = match.matched_row_indices() + unmatched_cols = match.unmatched_column_indices() + + with self.test_session() as sess: + res_matched_cols = sess.run(matched_cols) + res_matched_rows = sess.run(matched_rows) + res_unmatched_cols = sess.run(unmatched_cols) + + self.assertAllEqual(res_matched_rows, expected_matched_rows) + self.assertAllEqual(res_matched_cols, expected_matched_cols) + self.assertAllEqual(res_unmatched_cols, expected_unmatched_cols) + + def test_valid_arguments_corner_case(self): + argmax_matcher.ArgMaxMatcher(matched_threshold=1, + unmatched_threshold=1) + + def test_invalid_arguments_corner_case_negatives_lower_than_thres_false(self): + with self.assertRaises(ValueError): + argmax_matcher.ArgMaxMatcher(matched_threshold=1, + unmatched_threshold=1, + negatives_lower_than_unmatched=False) + + def test_invalid_arguments_no_matched_threshold(self): + with self.assertRaises(ValueError): + argmax_matcher.ArgMaxMatcher(matched_threshold=None, + unmatched_threshold=4) + + def test_invalid_arguments_unmatched_thres_larger_than_matched_thres(self): + with self.assertRaises(ValueError): + argmax_matcher.ArgMaxMatcher(matched_threshold=1, + unmatched_threshold=2) + + def test_set_values_using_indicator(self): + input_a = np.array([3, 4, 5, 1, 4, 3, 2]) + expected_b = np.array([3, 0, 0, 1, 0, 3, 2]) # Set a>3 to 0 + expected_c = np.array( + [3., 4., 5., -1., 4., 3., -1.]) # Set a<3 to -1. Float32 + idxb_ = input_a > 3 + idxc_ = input_a < 3 + + matcher = argmax_matcher.ArgMaxMatcher(matched_threshold=None) + + a = tf.constant(input_a) + idxb = tf.constant(idxb_) + idxc = tf.constant(idxc_) + b = matcher._set_values_using_indicator(a, idxb, 0) + c = matcher._set_values_using_indicator(tf.cast(a, tf.float32), idxc, -1) + with self.test_session() as sess: + res_b = sess.run(b) + res_c = sess.run(c) + self.assertAllEqual(res_b, expected_b) + self.assertAllEqual(res_c, expected_c) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/matchers/bipartite_matcher.py b/object_detection/matchers/bipartite_matcher.py new file mode 100644 index 000000000..3d717d12f --- /dev/null +++ b/object_detection/matchers/bipartite_matcher.py @@ -0,0 +1,53 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Bipartite matcher implementation.""" + +import tensorflow as tf + +from tensorflow.contrib.image.python.ops import image_ops +from object_detection.core import matcher + + +class GreedyBipartiteMatcher(matcher.Matcher): + """Wraps a Tensorflow greedy bipartite matcher.""" + + def _match(self, similarity_matrix, num_valid_rows=-1): + """Bipartite matches a collection rows and columns. A greedy bi-partite. + + TODO: Add num_valid_columns options to match only that many columns with + all the rows. + + Args: + similarity_matrix: Float tensor of shape [N, M] with pairwise similarity + where higher values mean more similar. + num_valid_rows: A scalar or a 1-D tensor with one element describing the + number of valid rows of similarity_matrix to consider for the bipartite + matching. If set to be negative, then all rows from similarity_matrix + are used. + + Returns: + match_results: int32 tensor of shape [M] with match_results[i]=-1 + meaning that column i is not matched and otherwise that it is matched to + row match_results[i]. + """ + # Convert similarity matrix to distance matrix as tf.image.bipartite tries + # to find minimum distance matches. + distance_matrix = -1 * similarity_matrix + _, match_results = image_ops.bipartite_match( + distance_matrix, num_valid_rows) + match_results = tf.reshape(match_results, [-1]) + match_results = tf.cast(match_results, tf.int32) + return match_results diff --git a/object_detection/matchers/bipartite_matcher_test.py b/object_detection/matchers/bipartite_matcher_test.py new file mode 100644 index 000000000..2ee45a80d --- /dev/null +++ b/object_detection/matchers/bipartite_matcher_test.py @@ -0,0 +1,71 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.core.bipartite_matcher.""" + +import tensorflow as tf + +from object_detection.matchers import bipartite_matcher + + +class GreedyBipartiteMatcherTest(tf.test.TestCase): + + def test_get_expected_matches_when_all_rows_are_valid(self): + similarity_matrix = tf.constant([[0.50, 0.1, 0.8], [0.15, 0.2, 0.3]]) + num_valid_rows = 2 + expected_match_results = [-1, 1, 0] + + matcher = bipartite_matcher.GreedyBipartiteMatcher() + match = matcher.match(similarity_matrix, num_valid_rows=num_valid_rows) + with self.test_session() as sess: + match_results_out = sess.run(match._match_results) + self.assertAllEqual(match_results_out, expected_match_results) + + def test_get_expected_matches_with_valid_rows_set_to_minus_one(self): + similarity_matrix = tf.constant([[0.50, 0.1, 0.8], [0.15, 0.2, 0.3]]) + num_valid_rows = -1 + expected_match_results = [-1, 1, 0] + + matcher = bipartite_matcher.GreedyBipartiteMatcher() + match = matcher.match(similarity_matrix, num_valid_rows=num_valid_rows) + with self.test_session() as sess: + match_results_out = sess.run(match._match_results) + self.assertAllEqual(match_results_out, expected_match_results) + + def test_get_no_matches_with_zero_valid_rows(self): + similarity_matrix = tf.constant([[0.50, 0.1, 0.8], [0.15, 0.2, 0.3]]) + num_valid_rows = 0 + expected_match_results = [-1, -1, -1] + + matcher = bipartite_matcher.GreedyBipartiteMatcher() + match = matcher.match(similarity_matrix, num_valid_rows=num_valid_rows) + with self.test_session() as sess: + match_results_out = sess.run(match._match_results) + self.assertAllEqual(match_results_out, expected_match_results) + + def test_get_expected_matches_with_only_one_valid_row(self): + similarity_matrix = tf.constant([[0.50, 0.1, 0.8], [0.15, 0.2, 0.3]]) + num_valid_rows = 1 + expected_match_results = [-1, -1, 0] + + matcher = bipartite_matcher.GreedyBipartiteMatcher() + match = matcher.match(similarity_matrix, num_valid_rows=num_valid_rows) + with self.test_session() as sess: + match_results_out = sess.run(match._match_results) + self.assertAllEqual(match_results_out, expected_match_results) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/meta_architectures/BUILD b/object_detection/meta_architectures/BUILD new file mode 100644 index 000000000..5a9dcdc3e --- /dev/null +++ b/object_detection/meta_architectures/BUILD @@ -0,0 +1,109 @@ +# Tensorflow Object Detection API: Meta-architectures. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) + +# Apache 2.0 + +py_library( + name = "ssd_meta_arch", + srcs = ["ssd_meta_arch.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/core:box_coder", + "//tensorflow_models/object_detection/core:box_list", + "//tensorflow_models/object_detection/core:box_predictor", + "//tensorflow_models/object_detection/core:model", + "//tensorflow_models/object_detection/core:target_assigner", + "//tensorflow_models/object_detection/utils:variables_helper", + ], +) + +py_test( + name = "ssd_meta_arch_test", + srcs = ["ssd_meta_arch_test.py"], + deps = [ + ":ssd_meta_arch", + "//tensorflow", + "//tensorflow/python:training", + "//tensorflow_models/object_detection/core:anchor_generator", + "//tensorflow_models/object_detection/core:box_list", + "//tensorflow_models/object_detection/core:losses", + "//tensorflow_models/object_detection/core:post_processing", + "//tensorflow_models/object_detection/core:region_similarity_calculator", + "//tensorflow_models/object_detection/utils:test_utils", + ], +) + +py_library( + name = "faster_rcnn_meta_arch", + srcs = [ + "faster_rcnn_meta_arch.py", + ], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/anchor_generators:grid_anchor_generator", + "//tensorflow_models/object_detection/core:balanced_positive_negative_sampler", + "//tensorflow_models/object_detection/core:box_list", + "//tensorflow_models/object_detection/core:box_list_ops", + "//tensorflow_models/object_detection/core:box_predictor", + "//tensorflow_models/object_detection/core:losses", + "//tensorflow_models/object_detection/core:model", + "//tensorflow_models/object_detection/core:post_processing", + "//tensorflow_models/object_detection/core:standard_fields", + "//tensorflow_models/object_detection/core:target_assigner", + "//tensorflow_models/object_detection/utils:ops", + "//tensorflow_models/object_detection/utils:variables_helper", + ], +) + +py_library( + name = "faster_rcnn_meta_arch_test_lib", + srcs = [ + "faster_rcnn_meta_arch_test_lib.py", + ], + deps = [ + ":faster_rcnn_meta_arch", + "//tensorflow", + "//tensorflow_models/object_detection/anchor_generators:grid_anchor_generator", + "//tensorflow_models/object_detection/builders:box_predictor_builder", + "//tensorflow_models/object_detection/builders:hyperparams_builder", + "//tensorflow_models/object_detection/builders:post_processing_builder", + "//tensorflow_models/object_detection/core:losses", + "//tensorflow_models/object_detection/protos:box_predictor_py_pb2", + "//tensorflow_models/object_detection/protos:hyperparams_py_pb2", + "//tensorflow_models/object_detection/protos:post_processing_py_pb2", + ], +) + +py_test( + name = "faster_rcnn_meta_arch_test", + srcs = ["faster_rcnn_meta_arch_test.py"], + deps = [ + ":faster_rcnn_meta_arch_test_lib", + ], +) + +py_library( + name = "rfcn_meta_arch", + srcs = ["rfcn_meta_arch.py"], + deps = [ + ":faster_rcnn_meta_arch", + "//tensorflow", + "//tensorflow_models/object_detection/core:box_predictor", + "//tensorflow_models/object_detection/utils:ops", + ], +) + +py_test( + name = "rfcn_meta_arch_test", + srcs = ["rfcn_meta_arch_test.py"], + deps = [ + ":faster_rcnn_meta_arch_test_lib", + ":rfcn_meta_arch", + "//tensorflow", + ], +) diff --git a/object_detection/meta_architectures/__init__.py b/object_detection/meta_architectures/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/meta_architectures/faster_rcnn_meta_arch.py b/object_detection/meta_architectures/faster_rcnn_meta_arch.py new file mode 100644 index 000000000..baf6d38fa --- /dev/null +++ b/object_detection/meta_architectures/faster_rcnn_meta_arch.py @@ -0,0 +1,1451 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Faster R-CNN meta-architecture definition. + +General tensorflow implementation of Faster R-CNN detection models. + +See Faster R-CNN: Ren, Shaoqing, et al. +"Faster R-CNN: Towards real-time object detection with region proposal +networks." Advances in neural information processing systems. 2015. + +We allow for two modes: first_stage_only=True and first_stage_only=False. In +the former setting, all of the user facing methods (e.g., predict, postprocess, +loss) can be used as if the model consisted only of the RPN, returning class +agnostic proposals (these can be thought of as approximate detections with no +associated class information). In the latter setting, proposals are computed, +then passed through a second stage "box classifier" to yield (multi-class) +detections. + +Implementations of Faster R-CNN models must define a new +FasterRCNNFeatureExtractor and override three methods: `preprocess`, +`_extract_proposal_features` (the first stage of the model), and +`_extract_box_classifier_features` (the second stage of the model). Optionally, +the `restore_fn` method can be overridden. See tests for an example. + +A few important notes: ++ Batching conventions: We support batched inference and training where +all images within a batch have the same resolution. Batch sizes are determined +dynamically via the shape of the input tensors (rather than being specified +directly as, e.g., a model constructor). + +A complication is that due to non-max suppression, we are not guaranteed to get +the same number of proposals from the first stage RPN (region proposal network) +for each image (though in practice, we should often get the same number of +proposals). For this reason we pad to a max number of proposals per image +within a batch. This `self.max_num_proposals` property is set to the +`first_stage_max_proposals` parameter at inference time and the +`second_stage_batch_size` at training time since we subsample the batch to +be sent through the box classifier during training. + +For the second stage of the pipeline, we arrange the proposals for all images +within the batch along a single batch dimension. For example, the input to +_extract_box_classifier_features is a tensor of shape +`[total_num_proposals, crop_height, crop_width, depth]` where +total_num_proposals is batch_size * self.max_num_proposals. (And note that per +the above comment, a subset of these entries correspond to zero paddings.) + ++ Coordinate representations: +Following the API (see model.DetectionModel definition), our outputs after +postprocessing operations are always normalized boxes however, internally, we +sometimes convert to absolute --- e.g. for loss computation. In particular, +anchors and proposal_boxes are both represented as absolute coordinates. + +TODO: Support TPU implementations and sigmoid loss. +""" +from abc import abstractmethod +from functools import partial +import tensorflow as tf + +from object_detection.anchor_generators import grid_anchor_generator +from object_detection.core import balanced_positive_negative_sampler as sampler +from object_detection.core import box_list +from object_detection.core import box_list_ops +from object_detection.core import box_predictor +from object_detection.core import losses +from object_detection.core import model +from object_detection.core import post_processing +from object_detection.core import standard_fields as fields +from object_detection.core import target_assigner +from object_detection.utils import ops +from object_detection.utils import variables_helper + +slim = tf.contrib.slim + + +class FasterRCNNFeatureExtractor(object): + """Faster R-CNN Feature Extractor definition.""" + + def __init__(self, + is_training, + first_stage_features_stride, + reuse_weights=None, + weight_decay=0.0): + """Constructor. + + Args: + is_training: A boolean indicating whether the training version of the + computation graph should be constructed. + first_stage_features_stride: Output stride of extracted RPN feature map. + reuse_weights: Whether to reuse variables. Default is None. + weight_decay: float weight decay for feature extractor (default: 0.0). + """ + self._is_training = is_training + self._first_stage_features_stride = first_stage_features_stride + self._reuse_weights = reuse_weights + self._weight_decay = weight_decay + + @abstractmethod + def preprocess(self, resized_inputs): + """Feature-extractor specific preprocessing (minus image resizing).""" + pass + + def extract_proposal_features(self, preprocessed_inputs, scope): + """Extracts first stage RPN features. + + This function is responsible for extracting feature maps from preprocessed + images. These features are used by the region proposal network (RPN) to + predict proposals. + + Args: + preprocessed_inputs: A [batch, height, width, channels] float tensor + representing a batch of images. + scope: A scope name. + + Returns: + rpn_feature_map: A tensor with shape [batch, height, width, depth] + """ + with tf.variable_scope(scope, values=[preprocessed_inputs]): + return self._extract_proposal_features(preprocessed_inputs, scope) + + @abstractmethod + def _extract_proposal_features(self, preprocessed_inputs, scope): + """Extracts first stage RPN features, to be overridden.""" + pass + + def extract_box_classifier_features(self, proposal_feature_maps, scope): + """Extracts second stage box classifier features. + + Args: + proposal_feature_maps: A 4-D float tensor with shape + [batch_size * self.max_num_proposals, crop_height, crop_width, depth] + representing the feature map cropped to each proposal. + scope: A scope name. + + Returns: + proposal_classifier_features: A 4-D float tensor with shape + [batch_size * self.max_num_proposals, height, width, depth] + representing box classifier features for each proposal. + """ + with tf.variable_scope(scope, values=[proposal_feature_maps]): + return self._extract_box_classifier_features(proposal_feature_maps, scope) + + @abstractmethod + def _extract_box_classifier_features(self, proposal_feature_maps, scope): + """Extracts second stage box classifier features, to be overridden.""" + pass + + def restore_from_classification_checkpoint_fn( + self, + checkpoint_path, + first_stage_feature_extractor_scope, + second_stage_feature_extractor_scope): + """Returns callable for loading a checkpoint into the tensorflow graph. + + Args: + checkpoint_path: path to checkpoint to restore. + first_stage_feature_extractor_scope: A scope name for the first stage + feature extractor. + second_stage_feature_extractor_scope: A scope name for the second stage + feature extractor. + + Returns: + a callable which takes a tf.Session as input and loads a checkpoint when + run. + """ + variables_to_restore = {} + for variable in tf.global_variables(): + for scope_name in [first_stage_feature_extractor_scope, + second_stage_feature_extractor_scope]: + if variable.op.name.startswith(scope_name): + var_name = variable.op.name.replace(scope_name + '/', '') + variables_to_restore[var_name] = variable + variables_to_restore = ( + variables_helper.get_variables_available_in_checkpoint( + variables_to_restore, checkpoint_path)) + saver = tf.train.Saver(variables_to_restore) + def restore(sess): + saver.restore(sess, checkpoint_path) + return restore + + +class FasterRCNNMetaArch(model.DetectionModel): + """Faster R-CNN Meta-architecture definition.""" + + def __init__(self, + is_training, + num_classes, + image_resizer_fn, + feature_extractor, + first_stage_only, + first_stage_anchor_generator, + first_stage_atrous_rate, + first_stage_box_predictor_arg_scope, + first_stage_box_predictor_kernel_size, + first_stage_box_predictor_depth, + first_stage_minibatch_size, + first_stage_positive_balance_fraction, + first_stage_nms_score_threshold, + first_stage_nms_iou_threshold, + first_stage_max_proposals, + first_stage_localization_loss_weight, + first_stage_objectness_loss_weight, + initial_crop_size, + maxpool_kernel_size, + maxpool_stride, + second_stage_mask_rcnn_box_predictor, + second_stage_batch_size, + second_stage_balance_fraction, + second_stage_non_max_suppression_fn, + second_stage_score_conversion_fn, + second_stage_localization_loss_weight, + second_stage_classification_loss_weight, + hard_example_miner, + parallel_iterations=16): + """FasterRCNNMetaArch Constructor. + + Args: + is_training: A boolean indicating whether the training version of the + computation graph should be constructed. + num_classes: Number of classes. Note that num_classes *does not* + include the background category, so if groundtruth labels take values + in {0, 1, .., K-1}, num_classes=K (and not K+1, even though the + assigned classification targets can range from {0,... K}). + image_resizer_fn: A callable for image resizing. This callable always + takes a rank-3 image tensor (corresponding to a single image) and + returns a rank-3 image tensor, possibly with new spatial dimensions. + See builders/image_resizer_builder.py. + feature_extractor: A FasterRCNNFeatureExtractor object. + first_stage_only: Whether to construct only the Region Proposal Network + (RPN) part of the model. + first_stage_anchor_generator: An anchor_generator.AnchorGenerator object + (note that currently we only support + grid_anchor_generator.GridAnchorGenerator objects) + first_stage_atrous_rate: A single integer indicating the atrous rate for + the single convolution op which is applied to the `rpn_features_to_crop` + tensor to obtain a tensor to be used for box prediction. Some feature + extractors optionally allow for producing feature maps computed at + denser resolutions. The atrous rate is used to compensate for the + denser feature maps by using an effectively larger receptive field. + (This should typically be set to 1). + first_stage_box_predictor_arg_scope: Slim arg_scope for conv2d, + separable_conv2d and fully_connected ops for the RPN box predictor. + first_stage_box_predictor_kernel_size: Kernel size to use for the + convolution op just prior to RPN box predictions. + first_stage_box_predictor_depth: Output depth for the convolution op + just prior to RPN box predictions. + first_stage_minibatch_size: The "batch size" to use for computing the + objectness and location loss of the region proposal network. This + "batch size" refers to the number of anchors selected as contributing + to the loss function for any given image within the image batch and is + only called "batch_size" due to terminology from the Faster R-CNN paper. + first_stage_positive_balance_fraction: Fraction of positive examples + per image for the RPN. The recommended value for Faster RCNN is 0.5. + first_stage_nms_score_threshold: Score threshold for non max suppression + for the Region Proposal Network (RPN). This value is expected to be in + [0, 1] as it is applied directly after a softmax transformation. The + recommended value for Faster R-CNN is 0. + first_stage_nms_iou_threshold: The Intersection Over Union (IOU) threshold + for performing Non-Max Suppression (NMS) on the boxes predicted by the + Region Proposal Network (RPN). + first_stage_max_proposals: Maximum number of boxes to retain after + performing Non-Max Suppression (NMS) on the boxes predicted by the + Region Proposal Network (RPN). + first_stage_localization_loss_weight: A float + first_stage_objectness_loss_weight: A float + initial_crop_size: A single integer indicating the output size + (width and height are set to be the same) of the initial bilinear + interpolation based cropping during ROI pooling. + maxpool_kernel_size: A single integer indicating the kernel size of the + max pool op on the cropped feature map during ROI pooling. + maxpool_stride: A single integer indicating the stride of the max pool + op on the cropped feature map during ROI pooling. + second_stage_mask_rcnn_box_predictor: Mask R-CNN box predictor to use for + the second stage. + second_stage_batch_size: The batch size used for computing the + classification and refined location loss of the box classifier. This + "batch size" refers to the number of proposals selected as contributing + to the loss function for any given image within the image batch and is + only called "batch_size" due to terminology from the Faster R-CNN paper. + second_stage_balance_fraction: Fraction of positive examples to use + per image for the box classifier. The recommended value for Faster RCNN + is 0.25. + second_stage_non_max_suppression_fn: batch_multiclass_non_max_suppression + callable that takes `boxes`, `scores`, optional `clip_window` and + optional (kwarg) `mask` inputs (with all other inputs already set) + and returns a dictionary containing tensors with keys: + `detection_boxes`, `detection_scores`, `detection_classes`, + `num_detections`, and (optionally) `detection_masks`. See + `post_processing.batch_multiclass_non_max_suppression` for the type and + shape of these tensors. + second_stage_score_conversion_fn: Callable elementwise nonlinearity + (that takes tensors as inputs and returns tensors). This is usually + used to convert logits to probabilities. + second_stage_localization_loss_weight: A float + second_stage_classification_loss_weight: A float + hard_example_miner: A losses.HardExampleMiner object (can be None). + parallel_iterations: (Optional) The number of iterations allowed to run + in parallel for calls to tf.map_fn. + Raises: + ValueError: If `second_stage_batch_size` > `first_stage_max_proposals` + ValueError: If first_stage_anchor_generator is not of type + grid_anchor_generator.GridAnchorGenerator. + """ + super(FasterRCNNMetaArch, self).__init__(num_classes=num_classes) + + if second_stage_batch_size > first_stage_max_proposals: + raise ValueError('second_stage_batch_size should be no greater than ' + 'first_stage_max_proposals.') + if not isinstance(first_stage_anchor_generator, + grid_anchor_generator.GridAnchorGenerator): + raise ValueError('first_stage_anchor_generator must be of type ' + 'grid_anchor_generator.GridAnchorGenerator.') + + self._is_training = is_training + self._image_resizer_fn = image_resizer_fn + self._feature_extractor = feature_extractor + self._first_stage_only = first_stage_only + + # The first class is reserved as background. + unmatched_cls_target = tf.constant( + [1] + self._num_classes * [0], dtype=tf.float32) + self._proposal_target_assigner = target_assigner.create_target_assigner( + 'FasterRCNN', 'proposal') + self._detector_target_assigner = target_assigner.create_target_assigner( + 'FasterRCNN', 'detection', unmatched_cls_target=unmatched_cls_target) + # Both proposal and detector target assigners use the same box coder + self._box_coder = self._proposal_target_assigner.box_coder + + # (First stage) Region proposal network parameters + self._first_stage_anchor_generator = first_stage_anchor_generator + self._first_stage_atrous_rate = first_stage_atrous_rate + self._first_stage_box_predictor_arg_scope = ( + first_stage_box_predictor_arg_scope) + self._first_stage_box_predictor_kernel_size = ( + first_stage_box_predictor_kernel_size) + self._first_stage_box_predictor_depth = first_stage_box_predictor_depth + self._first_stage_minibatch_size = first_stage_minibatch_size + self._first_stage_sampler = sampler.BalancedPositiveNegativeSampler( + positive_fraction=first_stage_positive_balance_fraction) + self._first_stage_box_predictor = box_predictor.ConvolutionalBoxPredictor( + self._is_training, num_classes=1, + conv_hyperparams=self._first_stage_box_predictor_arg_scope, + min_depth=0, max_depth=0, num_layers_before_predictor=0, + use_dropout=False, dropout_keep_prob=1.0, kernel_size=1, + box_code_size=self._box_coder.code_size) + + self._first_stage_nms_score_threshold = first_stage_nms_score_threshold + self._first_stage_nms_iou_threshold = first_stage_nms_iou_threshold + self._first_stage_max_proposals = first_stage_max_proposals + + self._first_stage_localization_loss = ( + losses.WeightedSmoothL1LocalizationLoss(anchorwise_output=True)) + self._first_stage_objectness_loss = ( + losses.WeightedSoftmaxClassificationLoss(anchorwise_output=True)) + self._first_stage_loc_loss_weight = first_stage_localization_loss_weight + self._first_stage_obj_loss_weight = first_stage_objectness_loss_weight + + # Per-region cropping parameters + self._initial_crop_size = initial_crop_size + self._maxpool_kernel_size = maxpool_kernel_size + self._maxpool_stride = maxpool_stride + + self._mask_rcnn_box_predictor = second_stage_mask_rcnn_box_predictor + + self._second_stage_batch_size = second_stage_batch_size + self._second_stage_sampler = sampler.BalancedPositiveNegativeSampler( + positive_fraction=second_stage_balance_fraction) + + self._second_stage_nms_fn = second_stage_non_max_suppression_fn + self._second_stage_score_conversion_fn = second_stage_score_conversion_fn + + self._second_stage_localization_loss = ( + losses.WeightedSmoothL1LocalizationLoss(anchorwise_output=True)) + self._second_stage_classification_loss = ( + losses.WeightedSoftmaxClassificationLoss(anchorwise_output=True)) + self._second_stage_loc_loss_weight = second_stage_localization_loss_weight + self._second_stage_cls_loss_weight = second_stage_classification_loss_weight + self._hard_example_miner = hard_example_miner + self._parallel_iterations = parallel_iterations + + @property + def first_stage_feature_extractor_scope(self): + return 'FirstStageFeatureExtractor' + + @property + def second_stage_feature_extractor_scope(self): + return 'SecondStageFeatureExtractor' + + @property + def first_stage_box_predictor_scope(self): + return 'FirstStageBoxPredictor' + + @property + def second_stage_box_predictor_scope(self): + return 'SecondStageBoxPredictor' + + @property + def max_num_proposals(self): + """Max number of proposals (to pad to) for each image in the input batch. + + At training time, this is set to be the `second_stage_batch_size` if hard + example miner is not configured, else it is set to + `first_stage_max_proposals`. At inference time, this is always set to + `first_stage_max_proposals`. + + Returns: + A positive integer. + """ + if self._is_training and not self._hard_example_miner: + return self._second_stage_batch_size + return self._first_stage_max_proposals + + def preprocess(self, inputs): + """Feature-extractor specific preprocessing. + + See base class. + + For Faster R-CNN, we perform image resizing in the base class --- each + class subclassing FasterRCNNMetaArch is responsible for any additional + preprocessing (e.g., scaling pixel values to be in [-1, 1]). + + Args: + inputs: a [batch, height_in, width_in, channels] float tensor representing + a batch of images with values between 0 and 255.0. + + Returns: + preprocessed_inputs: a [batch, height_out, width_out, channels] float + tensor representing a batch of images. + Raises: + ValueError: if inputs tensor does not have type tf.float32 + """ + if inputs.dtype is not tf.float32: + raise ValueError('`preprocess` expects a tf.float32 tensor') + with tf.name_scope('Preprocessor'): + resized_inputs = tf.map_fn(self._image_resizer_fn, + elems=inputs, + dtype=tf.float32, + parallel_iterations=self._parallel_iterations) + return self._feature_extractor.preprocess(resized_inputs) + + def predict(self, preprocessed_inputs): + """Predicts unpostprocessed tensors from input tensor. + + This function takes an input batch of images and runs it through the + forward pass of the network to yield "raw" un-postprocessed predictions. + If `first_stage_only` is True, this function only returns first stage + RPN predictions (un-postprocessed). Otherwise it returns both + first stage RPN predictions as well as second stage box classifier + predictions. + + Other remarks: + + Anchor pruning vs. clipping: following the recommendation of the Faster + R-CNN paper, we prune anchors that venture outside the image window at + training time and clip anchors to the image window at inference time. + + Proposal padding: as described at the top of the file, proposals are + padded to self._max_num_proposals and flattened so that proposals from all + images within the input batch are arranged along the same batch dimension. + + Args: + preprocessed_inputs: a [batch, height, width, channels] float tensor + representing a batch of images. + + Returns: + prediction_dict: a dictionary holding "raw" prediction tensors: + 1) rpn_box_predictor_features: A 4-D float32 tensor with shape + [batch_size, height, width, depth] to be used for predicting proposal + boxes and corresponding objectness scores. + 2) rpn_features_to_crop: A 4-D float32 tensor with shape + [batch_size, height, width, depth] representing image features to crop + using the proposal boxes predicted by the RPN. + 3) image_shape: a 1-D tensor of shape [4] representing the input + image shape. + 4) rpn_box_encodings: 3-D float tensor of shape + [batch_size, num_anchors, self._box_coder.code_size] containing + predicted boxes. + 5) rpn_objectness_predictions_with_background: 3-D float tensor of shape + [batch_size, num_anchors, 2] containing class + predictions (logits) for each of the anchors. Note that this + tensor *includes* background class predictions (at class index 0). + 6) anchors: A 2-D tensor of shape [num_anchors, 4] representing anchors + for the first stage RPN (in absolute coordinates). Note that + `num_anchors` can differ depending on whether the model is created in + training or inference mode. + + (and if first_stage_only=False): + 7) refined_box_encodings: a 3-D tensor with shape + [total_num_proposals, num_classes, 4] representing predicted + (final) refined box encodings, where + total_num_proposals=batch_size*self._max_num_proposals + 8) class_predictions_with_background: a 3-D tensor with shape + [total_num_proposals, num_classes + 1] containing class + predictions (logits) for each of the anchors, where + total_num_proposals=batch_size*self._max_num_proposals. + Note that this tensor *includes* background class predictions + (at class index 0). + 9) num_proposals: An int32 tensor of shape [batch_size] representing the + number of proposals generated by the RPN. `num_proposals` allows us + to keep track of which entries are to be treated as zero paddings and + which are not since we always pad the number of proposals to be + `self.max_num_proposals` for each image. + 10) proposal_boxes: A float32 tensor of shape + [batch_size, self.max_num_proposals, 4] representing + decoded proposal bounding boxes (in absolute coordinates). + 11) mask_predictions: (optional) a 4-D tensor with shape + [total_num_padded_proposals, num_classes, mask_height, mask_width] + containing instance mask predictions. + """ + (rpn_box_predictor_features, rpn_features_to_crop, anchors_boxlist, + image_shape) = self._extract_rpn_feature_maps(preprocessed_inputs) + (rpn_box_encodings, rpn_objectness_predictions_with_background + ) = self._predict_rpn_proposals(rpn_box_predictor_features) + + # The Faster R-CNN paper recommends pruning anchors that venture outside + # the image window at training time and clipping at inference time. + clip_window = tf.to_float(tf.stack([0, 0, image_shape[1], image_shape[2]])) + if self._is_training: + (rpn_box_encodings, rpn_objectness_predictions_with_background, + anchors_boxlist) = self._remove_invalid_anchors_and_predictions( + rpn_box_encodings, rpn_objectness_predictions_with_background, + anchors_boxlist, clip_window) + else: + anchors_boxlist = box_list_ops.clip_to_window( + anchors_boxlist, clip_window) + + anchors = anchors_boxlist.get() + prediction_dict = { + 'rpn_box_predictor_features': rpn_box_predictor_features, + 'rpn_features_to_crop': rpn_features_to_crop, + 'image_shape': image_shape, + 'rpn_box_encodings': rpn_box_encodings, + 'rpn_objectness_predictions_with_background': + rpn_objectness_predictions_with_background, + 'anchors': anchors + } + + if not self._first_stage_only: + prediction_dict.update(self._predict_second_stage( + rpn_box_encodings, + rpn_objectness_predictions_with_background, + rpn_features_to_crop, + anchors, image_shape)) + return prediction_dict + + def _predict_second_stage(self, rpn_box_encodings, + rpn_objectness_predictions_with_background, + rpn_features_to_crop, + anchors, + image_shape): + """Predicts the output tensors from second stage of Faster R-CNN. + + Args: + rpn_box_encodings: 4-D float tensor of shape + [batch_size, num_valid_anchors, self._box_coder.code_size] containing + predicted boxes. + rpn_objectness_predictions_with_background: 2-D float tensor of shape + [batch_size, num_valid_anchors, 2] containing class + predictions (logits) for each of the anchors. Note that this + tensor *includes* background class predictions (at class index 0). + rpn_features_to_crop: A 4-D float32 tensor with shape + [batch_size, height, width, depth] representing image features to crop + using the proposal boxes predicted by the RPN. + anchors: 2-D float tensor of shape + [num_anchors, self._box_coder.code_size]. + image_shape: A 1D int32 tensors of size [4] containing the image shape. + + Returns: + prediction_dict: a dictionary holding "raw" prediction tensors: + 1) refined_box_encodings: a 3-D tensor with shape + [total_num_proposals, num_classes, 4] representing predicted + (final) refined box encodings, where + total_num_proposals=batch_size*self._max_num_proposals + 2) class_predictions_with_background: a 3-D tensor with shape + [total_num_proposals, num_classes + 1] containing class + predictions (logits) for each of the anchors, where + total_num_proposals=batch_size*self._max_num_proposals. + Note that this tensor *includes* background class predictions + (at class index 0). + 3) num_proposals: An int32 tensor of shape [batch_size] representing the + number of proposals generated by the RPN. `num_proposals` allows us + to keep track of which entries are to be treated as zero paddings and + which are not since we always pad the number of proposals to be + `self.max_num_proposals` for each image. + 4) proposal_boxes: A float32 tensor of shape + [batch_size, self.max_num_proposals, 4] representing + decoded proposal bounding boxes (in absolute coordinates). + 5) mask_predictions: (optional) a 4-D tensor with shape + [total_num_padded_proposals, num_classes, mask_height, mask_width] + containing instance mask predictions. + """ + proposal_boxes_normalized, _, num_proposals = self._postprocess_rpn( + rpn_box_encodings, rpn_objectness_predictions_with_background, + anchors, image_shape) + + flattened_proposal_feature_maps = ( + self._compute_second_stage_input_feature_maps( + rpn_features_to_crop, proposal_boxes_normalized)) + + box_classifier_features = ( + self._feature_extractor.extract_box_classifier_features( + flattened_proposal_feature_maps, + scope=self.second_stage_feature_extractor_scope)) + + box_predictions = self._mask_rcnn_box_predictor.predict( + box_classifier_features, + num_predictions_per_location=1, + scope=self.second_stage_box_predictor_scope) + refined_box_encodings = tf.squeeze( + box_predictions[box_predictor.BOX_ENCODINGS], axis=1) + class_predictions_with_background = tf.squeeze(box_predictions[ + box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND], axis=1) + + absolute_proposal_boxes = ops.normalized_to_image_coordinates( + proposal_boxes_normalized, image_shape, self._parallel_iterations) + + prediction_dict = { + 'refined_box_encodings': refined_box_encodings, + 'class_predictions_with_background': + class_predictions_with_background, + 'num_proposals': num_proposals, + 'proposal_boxes': absolute_proposal_boxes, + } + return prediction_dict + + def _extract_rpn_feature_maps(self, preprocessed_inputs): + """Extracts RPN features. + + This function extracts two feature maps: a feature map to be directly + fed to a box predictor (to predict location and objectness scores for + proposals) and a feature map from which to crop regions which will then + be sent to the second stage box classifier. + + Args: + preprocessed_inputs: a [batch, height, width, channels] image tensor. + + Returns: + rpn_box_predictor_features: A 4-D float32 tensor with shape + [batch, height, width, depth] to be used for predicting proposal boxes + and corresponding objectness scores. + rpn_features_to_crop: A 4-D float32 tensor with shape + [batch, height, width, depth] representing image features to crop using + the proposals boxes. + anchors: A BoxList representing anchors (for the RPN) in + absolute coordinates. + image_shape: A 1-D tensor representing the input image shape. + """ + image_shape = tf.shape(preprocessed_inputs) + rpn_features_to_crop = self._feature_extractor.extract_proposal_features( + preprocessed_inputs, scope=self.first_stage_feature_extractor_scope) + + feature_map_shape = tf.shape(rpn_features_to_crop) + anchors = self._first_stage_anchor_generator.generate( + [(feature_map_shape[1], feature_map_shape[2])]) + with slim.arg_scope(self._first_stage_box_predictor_arg_scope): + kernel_size = self._first_stage_box_predictor_kernel_size + rpn_box_predictor_features = slim.conv2d( + rpn_features_to_crop, + self._first_stage_box_predictor_depth, + kernel_size=[kernel_size, kernel_size], + rate=self._first_stage_atrous_rate, + activation_fn=tf.nn.relu6) + return (rpn_box_predictor_features, rpn_features_to_crop, + anchors, image_shape) + + def _predict_rpn_proposals(self, rpn_box_predictor_features): + """Adds box predictors to RPN feature map to predict proposals. + + Note resulting tensors will not have been postprocessed. + + Args: + rpn_box_predictor_features: A 4-D float32 tensor with shape + [batch, height, width, depth] to be used for predicting proposal boxes + and corresponding objectness scores. + + Returns: + box_encodings: 3-D float tensor of shape + [batch_size, num_anchors, self._box_coder.code_size] containing + predicted boxes. + objectness_predictions_with_background: 3-D float tensor of shape + [batch_size, num_anchors, 2] containing class + predictions (logits) for each of the anchors. Note that this + tensor *includes* background class predictions (at class index 0). + + Raises: + RuntimeError: if the anchor generator generates anchors corresponding to + multiple feature maps. We currently assume that a single feature map + is generated for the RPN. + """ + num_anchors_per_location = ( + self._first_stage_anchor_generator.num_anchors_per_location()) + if len(num_anchors_per_location) != 1: + raise RuntimeError('anchor_generator is expected to generate anchors ' + 'corresponding to a single feature map.') + box_predictions = self._first_stage_box_predictor.predict( + rpn_box_predictor_features, + num_anchors_per_location[0], + scope=self.first_stage_box_predictor_scope) + + box_encodings = box_predictions[box_predictor.BOX_ENCODINGS] + objectness_predictions_with_background = box_predictions[ + box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND] + return (tf.squeeze(box_encodings, axis=2), + objectness_predictions_with_background) + + def _remove_invalid_anchors_and_predictions( + self, + box_encodings, + objectness_predictions_with_background, + anchors_boxlist, + clip_window): + """Removes anchors that (partially) fall outside an image. + + Also removes associated box encodings and objectness predictions. + + Args: + box_encodings: 3-D float tensor of shape + [batch_size, num_anchors, self._box_coder.code_size] containing + predicted boxes. + objectness_predictions_with_background: 3-D float tensor of shape + [batch_size, num_anchors, 2] containing class + predictions (logits) for each of the anchors. Note that this + tensor *includes* background class predictions (at class index 0). + anchors_boxlist: A BoxList representing num_anchors anchors (for the RPN) + in absolute coordinates. + clip_window: a 1-D tensor representing the [ymin, xmin, ymax, xmax] + extent of the window to clip/prune to. + + Returns: + box_encodings: 4-D float tensor of shape + [batch_size, num_valid_anchors, self._box_coder.code_size] containing + predicted boxes, where num_valid_anchors <= num_anchors + objectness_predictions_with_background: 2-D float tensor of shape + [batch_size, num_valid_anchors, 2] containing class + predictions (logits) for each of the anchors, where + num_valid_anchors <= num_anchors. Note that this + tensor *includes* background class predictions (at class index 0). + anchors: A BoxList representing num_valid_anchors anchors (for the RPN) in + absolute coordinates. + """ + pruned_anchors_boxlist, keep_indices = box_list_ops.prune_outside_window( + anchors_boxlist, clip_window) + def _batch_gather_kept_indices(predictions_tensor): + return tf.map_fn( + partial(tf.gather, indices=keep_indices), + elems=predictions_tensor, + dtype=tf.float32, + parallel_iterations=self._parallel_iterations, + back_prop=True) + return (_batch_gather_kept_indices(box_encodings), + _batch_gather_kept_indices(objectness_predictions_with_background), + pruned_anchors_boxlist) + + def _flatten_first_two_dimensions(self, inputs): + """Flattens `K-d` tensor along batch dimension to be a `(K-1)-d` tensor. + + Converts `inputs` with shape [A, B, ..., depth] into a tensor of shape + [A * B, ..., depth]. + + Args: + inputs: A float tensor with shape [A, B, ..., depth]. Note that the first + two and last dimensions must be statically defined. + Returns: + A float tensor with shape [A * B, ..., depth] (where the first and last + dimension are statically defined. + """ + inputs_shape = inputs.get_shape().as_list() + flattened_shape = tf.concat([ + [inputs_shape[0]*inputs_shape[1]], tf.shape(inputs)[2:-1], + [inputs_shape[-1]]], 0) + return tf.reshape(inputs, flattened_shape) + + def postprocess(self, prediction_dict): + """Convert prediction tensors to final detections. + + This function converts raw predictions tensors to final detection results. + See base class for output format conventions. Note also that by default, + scores are to be interpreted as logits, but if a score_converter is used, + then scores are remapped (and may thus have a different interpretation). + + If first_stage_only=True, the returned results represent proposals from the + first stage RPN and are padded to have self.max_num_proposals for each + image; otherwise, the results can be interpreted as multiclass detections + from the full two-stage model and are padded to self._max_detections. + + Args: + prediction_dict: a dictionary holding prediction tensors (see the + documentation for the predict method. If first_stage_only=True, we + expect prediction_dict to contain `rpn_box_encodings`, + `rpn_objectness_predictions_with_background`, `rpn_features_to_crop`, + `image_shape`, and `anchors` fields. Otherwise we expect + prediction_dict to additionally contain `refined_box_encodings`, + `class_predictions_with_background`, `num_proposals`, + `proposal_boxes` and, optionally, `mask_predictions` fields. + + Returns: + detections: a dictionary containing the following fields + detection_boxes: [batch, max_detection, 4] + detection_scores: [batch, max_detections] + detection_classes: [batch, max_detections] + (this entry is only created if rpn_mode=False) + num_detections: [batch] + """ + with tf.name_scope('FirstStagePostprocessor'): + image_shape = prediction_dict['image_shape'] + if self._first_stage_only: + proposal_boxes, proposal_scores, num_proposals = self._postprocess_rpn( + prediction_dict['rpn_box_encodings'], + prediction_dict['rpn_objectness_predictions_with_background'], + prediction_dict['anchors'], + image_shape) + return { + 'detection_boxes': proposal_boxes, + 'detection_scores': proposal_scores, + 'num_detections': num_proposals + } + with tf.name_scope('SecondStagePostprocessor'): + mask_predictions = prediction_dict.get(box_predictor.MASK_PREDICTIONS) + detections_dict = self._postprocess_box_classifier( + prediction_dict['refined_box_encodings'], + prediction_dict['class_predictions_with_background'], + prediction_dict['proposal_boxes'], + prediction_dict['num_proposals'], + image_shape, + mask_predictions=mask_predictions) + return detections_dict + + def _postprocess_rpn(self, + rpn_box_encodings_batch, + rpn_objectness_predictions_with_background_batch, + anchors, + image_shape): + """Converts first stage prediction tensors from the RPN to proposals. + + This function decodes the raw RPN predictions, runs non-max suppression + on the result. + + Note that the behavior of this function is slightly modified during + training --- specifically, we stop the gradient from passing through the + proposal boxes and we only return a balanced sampled subset of proposals + with size `second_stage_batch_size`. + + Args: + rpn_box_encodings_batch: A 3-D float32 tensor of shape + [batch_size, num_anchors, self._box_coder.code_size] containing + predicted proposal box encodings. + rpn_objectness_predictions_with_background_batch: A 3-D float tensor of + shape [batch_size, num_anchors, 2] containing objectness predictions + (logits) for each of the anchors with 0 corresponding to background + and 1 corresponding to object. + anchors: A 2-D tensor of shape [num_anchors, 4] representing anchors + for the first stage RPN. Note that `num_anchors` can differ depending + on whether the model is created in training or inference mode. + image_shape: A 1-D tensor representing the input image shape. + + Returns: + proposal_boxes: A float tensor with shape + [batch_size, max_num_proposals, 4] representing the (potentially zero + padded) proposal boxes for all images in the batch. These boxes are + represented as normalized coordinates. + proposal_scores: A float tensor with shape + [batch_size, max_num_proposals] representing the (potentially zero + padded) proposal objectness scores for all images in the batch. + num_proposals: A Tensor of type `int32`. A 1-D tensor of shape [batch] + representing the number of proposals predicted for each image in + the batch. + """ + clip_window = tf.to_float(tf.stack([0, 0, image_shape[1], image_shape[2]])) + if self._is_training: + (groundtruth_boxlists, groundtruth_classes_with_background_list + ) = self._format_groundtruth_data(image_shape) + + proposal_boxes_list = [] + proposal_scores_list = [] + num_proposals_list = [] + for (batch_index, + (rpn_box_encodings, + rpn_objectness_predictions_with_background)) in enumerate(zip( + tf.unstack(rpn_box_encodings_batch), + tf.unstack(rpn_objectness_predictions_with_background_batch))): + decoded_boxes = self._box_coder.decode( + rpn_box_encodings, box_list.BoxList(anchors)) + objectness_scores = tf.unstack( + tf.nn.softmax(rpn_objectness_predictions_with_background), axis=1)[1] + proposal_boxlist = post_processing.multiclass_non_max_suppression( + tf.expand_dims(decoded_boxes.get(), 1), + tf.expand_dims(objectness_scores, 1), + self._first_stage_nms_score_threshold, + self._first_stage_nms_iou_threshold, self._first_stage_max_proposals, + clip_window=clip_window) + + if self._is_training: + proposal_boxlist.set(tf.stop_gradient(proposal_boxlist.get())) + if not self._hard_example_miner: + proposal_boxlist = self._sample_box_classifier_minibatch( + proposal_boxlist, groundtruth_boxlists[batch_index], + groundtruth_classes_with_background_list[batch_index]) + + normalized_proposals = box_list_ops.to_normalized_coordinates( + proposal_boxlist, image_shape[1], image_shape[2], + check_range=False) + + # pad proposals to max_num_proposals + padded_proposals = box_list_ops.pad_or_clip_box_list( + normalized_proposals, num_boxes=self.max_num_proposals) + proposal_boxes_list.append(padded_proposals.get()) + proposal_scores_list.append( + padded_proposals.get_field(fields.BoxListFields.scores)) + num_proposals_list.append(tf.minimum(normalized_proposals.num_boxes(), + self.max_num_proposals)) + + return (tf.stack(proposal_boxes_list), tf.stack(proposal_scores_list), + tf.stack(num_proposals_list)) + + def _format_groundtruth_data(self, image_shape): + """Helper function for preparing groundtruth data for target assignment. + + In order to be consistent with the model.DetectionModel interface, + groundtruth boxes are specified in normalized coordinates and classes are + specified as label indices with no assumed background category. To prepare + for target assignment, we: + 1) convert boxes to absolute coordinates, + 2) add a background class at class index 0 + + Args: + image_shape: A 1-D int32 tensor of shape [4] representing the shape of the + input image batch. + + Returns: + groundtruth_boxlists: A list of BoxLists containing (absolute) coordinates + of the groundtruth boxes. + groundtruth_classes_with_background_list: A list of 2-D one-hot + (or k-hot) tensors of shape [num_boxes, num_classes+1] containing the + class targets with the 0th index assumed to map to the background class. + """ + groundtruth_boxlists = [ + box_list_ops.to_absolute_coordinates( + box_list.BoxList(boxes), image_shape[1], image_shape[2]) + for boxes in self.groundtruth_lists(fields.BoxListFields.boxes)] + groundtruth_classes_with_background_list = [ + tf.to_float( + tf.pad(one_hot_encoding, [[0, 0], [1, 0]], mode='CONSTANT')) + for one_hot_encoding in self.groundtruth_lists( + fields.BoxListFields.classes)] + return groundtruth_boxlists, groundtruth_classes_with_background_list + + def _sample_box_classifier_minibatch(self, + proposal_boxlist, + groundtruth_boxlist, + groundtruth_classes_with_background): + """Samples a mini-batch of proposals to be sent to the box classifier. + + Helper function for self._postprocess_rpn. + + Args: + proposal_boxlist: A BoxList containing K proposal boxes in absolute + coordinates. + groundtruth_boxlist: A Boxlist containing N groundtruth object boxes in + absolute coordinates. + groundtruth_classes_with_background: A tensor with shape + `[N, self.num_classes + 1]` representing groundtruth classes. The + classes are assumed to be k-hot encoded, and include background as the + zero-th class. + + Returns: + a BoxList contained sampled proposals. + """ + (cls_targets, cls_weights, _, _, _) = self._detector_target_assigner.assign( + proposal_boxlist, groundtruth_boxlist, + groundtruth_classes_with_background) + # Selects all boxes as candidates if none of them is selected according + # to cls_weights. This could happen as boxes within certain IOU ranges + # are ignored. If triggered, the selected boxes will still be ignored + # during loss computation. + cls_weights += tf.to_float(tf.equal(tf.reduce_sum(cls_weights), 0)) + positive_indicator = tf.greater(tf.argmax(cls_targets, axis=1), 0) + sampled_indices = self._second_stage_sampler.subsample( + tf.cast(cls_weights, tf.bool), + self._second_stage_batch_size, + positive_indicator) + return box_list_ops.boolean_mask(proposal_boxlist, sampled_indices) + + def _compute_second_stage_input_feature_maps(self, features_to_crop, + proposal_boxes_normalized): + """Crops to a set of proposals from the feature map for a batch of images. + + Helper function for self._postprocess_rpn. This function calls + `tf.image.crop_and_resize` to create the feature map to be passed to the + second stage box classifier for each proposal. + + Args: + features_to_crop: A float32 tensor with shape + [batch_size, height, width, depth] + proposal_boxes_normalized: A float32 tensor with shape [batch_size, + num_proposals, box_code_size] containing proposal boxes in + normalized coordinates. + + Returns: + A float32 tensor with shape [K, new_height, new_width, depth]. + """ + def get_box_inds(proposals): + proposals_shape = proposals.get_shape().as_list() + if any(dim is None for dim in proposals_shape): + proposals_shape = tf.shape(proposals) + ones_mat = tf.ones(proposals_shape[:2], dtype=tf.int32) + multiplier = tf.expand_dims( + tf.range(start=0, limit=proposals_shape[0]), 1) + return tf.reshape(ones_mat * multiplier, [-1]) + + cropped_regions = tf.image.crop_and_resize( + features_to_crop, + self._flatten_first_two_dimensions(proposal_boxes_normalized), + get_box_inds(proposal_boxes_normalized), + (self._initial_crop_size, self._initial_crop_size)) + return slim.max_pool2d( + cropped_regions, + [self._maxpool_kernel_size, self._maxpool_kernel_size], + stride=self._maxpool_stride) + + def _postprocess_box_classifier(self, + refined_box_encodings, + class_predictions_with_background, + proposal_boxes, + num_proposals, + image_shape, + mask_predictions=None, + mask_threshold=0.5): + """Converts predictions from the second stage box classifier to detections. + + Args: + refined_box_encodings: a 3-D tensor with shape + [total_num_padded_proposals, num_classes, 4] representing predicted + (final) refined box encodings. + class_predictions_with_background: a 3-D tensor with shape + [total_num_padded_proposals, num_classes + 1] containing class + predictions (logits) for each of the proposals. Note that this tensor + *includes* background class predictions (at class index 0). + proposal_boxes: [batch_size, self.max_num_proposals, 4] representing + decoded proposal bounding boxes. + num_proposals: A Tensor of type `int32`. A 1-D tensor of shape [batch] + representing the number of proposals predicted for each image in + the batch. + image_shape: a 1-D tensor representing the input image shape. + mask_predictions: (optional) a 4-D tensor with shape + [total_num_padded_proposals, num_classes, mask_height, mask_width] + containing instance mask predictions. + mask_threshold: a scalar threshold determining which mask values are + rounded to 0 or 1. + + Returns: + A dictionary containing: + `detection_boxes`: [batch, max_detection, 4] + `detection_scores`: [batch, max_detections] + `detection_classes`: [batch, max_detections] + `num_detections`: [batch] + `detection_masks`: + (optional) [batch, max_detections, mask_height, mask_width] + """ + refined_box_encodings_batch = tf.reshape(refined_box_encodings, + [-1, self.max_num_proposals, + self.num_classes, + self._box_coder.code_size]) + class_predictions_with_background_batch = tf.reshape( + class_predictions_with_background, + [-1, self.max_num_proposals, self.num_classes + 1] + ) + refined_decoded_boxes_batch = self._batch_decode_refined_boxes( + refined_box_encodings_batch, proposal_boxes) + class_predictions_with_background_batch = ( + self._second_stage_score_conversion_fn( + class_predictions_with_background_batch)) + class_predictions_batch = tf.reshape( + tf.slice(class_predictions_with_background_batch, + [0, 0, 1], [-1, -1, -1]), + [-1, self.max_num_proposals, self.num_classes]) + clip_window = tf.to_float(tf.stack([0, 0, image_shape[1], image_shape[2]])) + + mask_predictions_batch = None + if mask_predictions is not None: + mask_height = mask_predictions.shape[2].value + mask_width = mask_predictions.shape[3].value + mask_predictions_batch = tf.reshape( + mask_predictions, [-1, self.max_num_proposals, + self.num_classes, mask_height, mask_width]) + detections = self._second_stage_nms_fn( + refined_decoded_boxes_batch, + class_predictions_batch, + clip_window=clip_window, + change_coordinate_frame=True, + num_valid_boxes=num_proposals, + masks=mask_predictions_batch) + if mask_predictions is not None: + detections['detection_masks'] = tf.to_float( + tf.greater_equal(detections['detection_masks'], mask_threshold)) + return detections + + def _batch_decode_refined_boxes(self, refined_box_encodings, proposal_boxes): + """Decode tensor of refined box encodings. + + Args: + refined_box_encodings: a 3-D tensor with shape + [batch_size, max_num_proposals, num_classes, self._box_coder.code_size] + representing predicted (final) refined box encodings. + proposal_boxes: [batch_size, self.max_num_proposals, 4] representing + decoded proposal bounding boxes. + + Returns: + refined_box_predictions: a [batch_size, max_num_proposals, num_classes, 4] + float tensor representing (padded) refined bounding box predictions + (for each image in batch, proposal and class). + """ + tiled_proposal_boxes = tf.tile( + tf.expand_dims(proposal_boxes, 2), [1, 1, self.num_classes, 1]) + tiled_proposals_boxlist = box_list.BoxList( + tf.reshape(tiled_proposal_boxes, [-1, 4])) + decoded_boxes = self._box_coder.decode( + tf.reshape(refined_box_encodings, [-1, self._box_coder.code_size]), + tiled_proposals_boxlist) + return tf.reshape(decoded_boxes.get(), + [-1, self.max_num_proposals, self.num_classes, 4]) + + def loss(self, prediction_dict, scope=None): + """Compute scalar loss tensors given prediction tensors. + + If first_stage_only=True, only RPN related losses are computed (i.e., + `rpn_localization_loss` and `rpn_objectness_loss`). Otherwise all + losses are computed. + + Args: + prediction_dict: a dictionary holding prediction tensors (see the + documentation for the predict method. If first_stage_only=True, we + expect prediction_dict to contain `rpn_box_encodings`, + `rpn_objectness_predictions_with_background`, `rpn_features_to_crop`, + `image_shape`, and `anchors` fields. Otherwise we expect + prediction_dict to additionally contain `refined_box_encodings`, + `class_predictions_with_background`, `num_proposals`, and + `proposal_boxes` fields. + scope: Optional scope name. + + Returns: + a dictionary mapping loss keys (`first_stage_localization_loss`, + `first_stage_objectness_loss`, 'second_stage_localization_loss', + 'second_stage_classification_loss') to scalar tensors representing + corresponding loss values. + """ + with tf.name_scope(scope, 'Loss', prediction_dict.values()): + (groundtruth_boxlists, groundtruth_classes_with_background_list + ) = self._format_groundtruth_data(prediction_dict['image_shape']) + loss_dict = self._loss_rpn( + prediction_dict['rpn_box_encodings'], + prediction_dict['rpn_objectness_predictions_with_background'], + prediction_dict['anchors'], + groundtruth_boxlists, + groundtruth_classes_with_background_list) + if not self._first_stage_only: + loss_dict.update( + self._loss_box_classifier( + prediction_dict['refined_box_encodings'], + prediction_dict['class_predictions_with_background'], + prediction_dict['proposal_boxes'], + prediction_dict['num_proposals'], + groundtruth_boxlists, + groundtruth_classes_with_background_list)) + return loss_dict + + def _loss_rpn(self, + rpn_box_encodings, + rpn_objectness_predictions_with_background, + anchors, + groundtruth_boxlists, + groundtruth_classes_with_background_list): + """Computes scalar RPN loss tensors. + + Uses self._proposal_target_assigner to obtain regression and classification + targets for the first stage RPN, samples a "minibatch" of anchors to + participate in the loss computation, and returns the RPN losses. + + Args: + rpn_box_encodings: A 4-D float tensor of shape + [batch_size, num_anchors, self._box_coder.code_size] containing + predicted proposal box encodings. + rpn_objectness_predictions_with_background: A 2-D float tensor of shape + [batch_size, num_anchors, 2] containing objectness predictions + (logits) for each of the anchors with 0 corresponding to background + and 1 corresponding to object. + anchors: A 2-D tensor of shape [num_anchors, 4] representing anchors + for the first stage RPN. Note that `num_anchors` can differ depending + on whether the model is created in training or inference mode. + groundtruth_boxlists: A list of BoxLists containing coordinates of the + groundtruth boxes. + groundtruth_classes_with_background_list: A list of 2-D one-hot + (or k-hot) tensors of shape [num_boxes, num_classes+1] containing the + class targets with the 0th index assumed to map to the background class. + + Returns: + a dictionary mapping loss keys (`first_stage_localization_loss`, + `first_stage_objectness_loss`) to scalar tensors representing + corresponding loss values. + """ + with tf.name_scope('RPNLoss'): + (batch_cls_targets, batch_cls_weights, batch_reg_targets, + batch_reg_weights, _) = target_assigner.batch_assign_targets( + self._proposal_target_assigner, box_list.BoxList(anchors), + groundtruth_boxlists, len(groundtruth_boxlists)*[None]) + batch_cls_targets = tf.squeeze(batch_cls_targets, axis=2) + + def _minibatch_subsample_fn(inputs): + cls_targets, cls_weights = inputs + return self._first_stage_sampler.subsample( + tf.cast(cls_weights, tf.bool), + self._first_stage_minibatch_size, tf.cast(cls_targets, tf.bool)) + batch_sampled_indices = tf.to_float(tf.map_fn( + _minibatch_subsample_fn, + [batch_cls_targets, batch_cls_weights], + dtype=tf.bool, + parallel_iterations=self._parallel_iterations, + back_prop=True)) + + # Normalize by number of examples in sampled minibatch + normalizer = tf.reduce_sum(batch_sampled_indices, axis=1) + batch_one_hot_targets = tf.one_hot( + tf.to_int32(batch_cls_targets), depth=2) + sampled_reg_indices = tf.multiply(batch_sampled_indices, + batch_reg_weights) + + localization_losses = self._first_stage_localization_loss( + rpn_box_encodings, batch_reg_targets, weights=sampled_reg_indices) + objectness_losses = self._first_stage_objectness_loss( + rpn_objectness_predictions_with_background, + batch_one_hot_targets, weights=batch_sampled_indices) + localization_loss = tf.reduce_mean( + tf.reduce_sum(localization_losses, axis=1) / normalizer) + objectness_loss = tf.reduce_mean( + tf.reduce_sum(objectness_losses, axis=1) / normalizer) + loss_dict = { + 'first_stage_localization_loss': + self._first_stage_loc_loss_weight * localization_loss, + 'first_stage_objectness_loss': + self._first_stage_obj_loss_weight * objectness_loss, + } + return loss_dict + + def _loss_box_classifier(self, + refined_box_encodings, + class_predictions_with_background, + proposal_boxes, + num_proposals, + groundtruth_boxlists, + groundtruth_classes_with_background_list): + """Computes scalar box classifier loss tensors. + + Uses self._detector_target_assigner to obtain regression and classification + targets for the second stage box classifier, optionally performs + hard mining, and returns losses. All losses are computed independently + for each image and then averaged across the batch. + + This function assumes that the proposal boxes in the "padded" regions are + actually zero (and thus should not be matched to). + + Args: + refined_box_encodings: a 3-D tensor with shape + [total_num_proposals, num_classes, box_coder.code_size] representing + predicted (final) refined box encodings. + class_predictions_with_background: a 3-D tensor with shape + [total_num_proposals, num_classes + 1] containing class + predictions (logits) for each of the anchors. Note that this tensor + *includes* background class predictions (at class index 0). + proposal_boxes: [batch_size, self.max_num_proposals, 4] representing + decoded proposal bounding boxes. + num_proposals: A Tensor of type `int32`. A 1-D tensor of shape [batch] + representing the number of proposals predicted for each image in + the batch. + groundtruth_boxlists: a list of BoxLists containing coordinates of the + groundtruth boxes. + groundtruth_classes_with_background_list: a list of 2-D one-hot + (or k-hot) tensors of shape [num_boxes, num_classes + 1] containing the + class targets with the 0th index assumed to map to the background class. + + Returns: + a dictionary mapping loss keys ('second_stage_localization_loss', + 'second_stage_classification_loss') to scalar tensors representing + corresponding loss values. + """ + with tf.name_scope('BoxClassifierLoss'): + paddings_indicator = self._padded_batched_proposals_indicator( + num_proposals, self.max_num_proposals) + proposal_boxlists = [ + box_list.BoxList(proposal_boxes_single_image) + for proposal_boxes_single_image in tf.unstack(proposal_boxes)] + batch_size = len(proposal_boxlists) + + num_proposals_or_one = tf.to_float(tf.expand_dims( + tf.maximum(num_proposals, tf.ones_like(num_proposals)), 1)) + normalizer = tf.tile(num_proposals_or_one, + [1, self.max_num_proposals]) * batch_size + + (batch_cls_targets_with_background, batch_cls_weights, batch_reg_targets, + batch_reg_weights, _) = target_assigner.batch_assign_targets( + self._detector_target_assigner, proposal_boxlists, + groundtruth_boxlists, groundtruth_classes_with_background_list) + + # We only predict refined location encodings for the non background + # classes, but we now pad it to make it compatible with the class + # predictions + flat_cls_targets_with_background = tf.reshape( + batch_cls_targets_with_background, + [batch_size * self.max_num_proposals, -1]) + refined_box_encodings_with_background = tf.pad( + refined_box_encodings, [[0, 0], [1, 0], [0, 0]]) + refined_box_encodings_masked_by_class_targets = tf.boolean_mask( + refined_box_encodings_with_background, + tf.greater(flat_cls_targets_with_background, 0)) + reshaped_refined_box_encodings = tf.reshape( + refined_box_encodings_masked_by_class_targets, + [batch_size, -1, 4]) + + second_stage_loc_losses = self._second_stage_localization_loss( + reshaped_refined_box_encodings, + batch_reg_targets, weights=batch_reg_weights) / normalizer + second_stage_cls_losses = self._second_stage_classification_loss( + class_predictions_with_background, + batch_cls_targets_with_background, + weights=batch_cls_weights) / normalizer + second_stage_loc_loss = tf.reduce_sum( + tf.boolean_mask(second_stage_loc_losses, paddings_indicator)) + second_stage_cls_loss = tf.reduce_sum( + tf.boolean_mask(second_stage_cls_losses, paddings_indicator)) + + if self._hard_example_miner: + (second_stage_loc_loss, second_stage_cls_loss + ) = self._unpad_proposals_and_apply_hard_mining( + proposal_boxlists, second_stage_loc_losses, + second_stage_cls_losses, num_proposals) + loss_dict = { + 'second_stage_localization_loss': + (self._second_stage_loc_loss_weight * second_stage_loc_loss), + 'second_stage_classification_loss': + (self._second_stage_cls_loss_weight * second_stage_cls_loss), + } + return loss_dict + + def _padded_batched_proposals_indicator(self, + num_proposals, + max_num_proposals): + """Creates indicator matrix of non-pad elements of padded batch proposals. + + Args: + num_proposals: Tensor of type tf.int32 with shape [batch_size]. + max_num_proposals: Maximum number of proposals per image (integer). + + Returns: + A Tensor of type tf.bool with shape [batch_size, max_num_proposals]. + """ + batch_size = tf.size(num_proposals) + tiled_num_proposals = tf.tile( + tf.expand_dims(num_proposals, 1), [1, max_num_proposals]) + tiled_proposal_index = tf.tile( + tf.expand_dims(tf.range(max_num_proposals), 0), [batch_size, 1]) + return tf.greater(tiled_num_proposals, tiled_proposal_index) + + def _unpad_proposals_and_apply_hard_mining(self, + proposal_boxlists, + second_stage_loc_losses, + second_stage_cls_losses, + num_proposals): + """Unpads proposals and applies hard mining. + + Args: + proposal_boxlists: A list of `batch_size` BoxLists each representing + `self.max_num_proposals` representing decoded proposal bounding boxes + for each image. + second_stage_loc_losses: A Tensor of type `float32`. A tensor of shape + `[batch_size, self.max_num_proposals]` representing per-anchor + second stage localization loss values. + second_stage_cls_losses: A Tensor of type `float32`. A tensor of shape + `[batch_size, self.max_num_proposals]` representing per-anchor + second stage classification loss values. + num_proposals: A Tensor of type `int32`. A 1-D tensor of shape [batch] + representing the number of proposals predicted for each image in + the batch. + + Returns: + second_stage_loc_loss: A scalar float32 tensor representing the second + stage localization loss. + second_stage_cls_loss: A scalar float32 tensor representing the second + stage classification loss. + """ + for (proposal_boxlist, single_image_loc_loss, single_image_cls_loss, + single_image_num_proposals) in zip( + proposal_boxlists, + tf.unstack(second_stage_loc_losses), + tf.unstack(second_stage_cls_losses), + tf.unstack(num_proposals)): + proposal_boxlist = box_list.BoxList( + tf.slice(proposal_boxlist.get(), + [0, 0], [single_image_num_proposals, -1])) + single_image_loc_loss = tf.slice(single_image_loc_loss, + [0], [single_image_num_proposals]) + single_image_cls_loss = tf.slice(single_image_cls_loss, + [0], [single_image_num_proposals]) + return self._hard_example_miner( + location_losses=tf.expand_dims(single_image_loc_loss, 0), + cls_losses=tf.expand_dims(single_image_cls_loss, 0), + decoded_boxlist_list=[proposal_boxlist]) + + def restore_fn(self, checkpoint_path, from_detection_checkpoint=True): + """Returns callable for loading a checkpoint into the tensorflow graph. + + Args: + checkpoint_path: path to checkpoint to restore. + from_detection_checkpoint: whether to restore from a detection checkpoint + (with compatible variable names) or to restore from a classification + checkpoint for initialization prior to training. Note that when + from_detection_checkpoint=True, the current implementation only + supports restoration from an (exactly) identical model (with exception + of the num_classes parameter). + + Returns: + a callable which takes a tf.Session as input and loads a checkpoint when + run. + """ + if not from_detection_checkpoint: + return self._feature_extractor.restore_from_classification_checkpoint_fn( + checkpoint_path, + self.first_stage_feature_extractor_scope, + self.second_stage_feature_extractor_scope) + + variables_to_restore = tf.global_variables() + variables_to_restore.append(slim.get_or_create_global_step()) + # Only load feature extractor variables to be consistent with loading from + # a classification checkpoint. + first_stage_variables = tf.contrib.framework.filter_variables( + variables_to_restore, + include_patterns=[self.first_stage_feature_extractor_scope, + self.second_stage_feature_extractor_scope]) + + saver = tf.train.Saver(first_stage_variables) + + def restore(sess): + saver.restore(sess, checkpoint_path) + return restore diff --git a/object_detection/meta_architectures/faster_rcnn_meta_arch_test.py b/object_detection/meta_architectures/faster_rcnn_meta_arch_test.py new file mode 100644 index 000000000..527e24b4e --- /dev/null +++ b/object_detection/meta_architectures/faster_rcnn_meta_arch_test.py @@ -0,0 +1,84 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.meta_architectures.faster_rcnn_meta_arch.""" + +import tensorflow as tf + +from object_detection.meta_architectures import faster_rcnn_meta_arch_test_lib + + +class FasterRCNNMetaArchTest( + faster_rcnn_meta_arch_test_lib.FasterRCNNMetaArchTestBase): + + def test_postprocess_second_stage_only_inference_mode_with_masks(self): + model = self._build_model( + is_training=False, first_stage_only=False, second_stage_batch_size=6) + + batch_size = 2 + total_num_padded_proposals = batch_size * model.max_num_proposals + proposal_boxes = tf.constant( + [[[1, 1, 2, 3], + [0, 0, 1, 1], + [.5, .5, .6, .6], + 4*[0], 4*[0], 4*[0], 4*[0], 4*[0]], + [[2, 3, 6, 8], + [1, 2, 5, 3], + 4*[0], 4*[0], 4*[0], 4*[0], 4*[0], 4*[0]]], dtype=tf.float32) + num_proposals = tf.constant([3, 2], dtype=tf.int32) + refined_box_encodings = tf.zeros( + [total_num_padded_proposals, model.num_classes, 4], dtype=tf.float32) + class_predictions_with_background = tf.ones( + [total_num_padded_proposals, model.num_classes+1], dtype=tf.float32) + image_shape = tf.constant([batch_size, 36, 48, 3], dtype=tf.int32) + + mask_height = 2 + mask_width = 2 + mask_predictions = .6 * tf.ones( + [total_num_padded_proposals, model.num_classes, + mask_height, mask_width], dtype=tf.float32) + exp_detection_masks = [[[[1, 1], [1, 1]], + [[1, 1], [1, 1]], + [[1, 1], [1, 1]], + [[1, 1], [1, 1]], + [[1, 1], [1, 1]]], + [[[1, 1], [1, 1]], + [[1, 1], [1, 1]], + [[1, 1], [1, 1]], + [[1, 1], [1, 1]], + [[0, 0], [0, 0]]]] + + detections = model.postprocess({ + 'refined_box_encodings': refined_box_encodings, + 'class_predictions_with_background': class_predictions_with_background, + 'num_proposals': num_proposals, + 'proposal_boxes': proposal_boxes, + 'image_shape': image_shape, + 'mask_predictions': mask_predictions + }) + with self.test_session() as sess: + detections_out = sess.run(detections) + self.assertAllEqual(detections_out['detection_boxes'].shape, [2, 5, 4]) + self.assertAllClose(detections_out['detection_scores'], + [[1, 1, 1, 1, 1], [1, 1, 1, 1, 0]]) + self.assertAllClose(detections_out['detection_classes'], + [[0, 0, 0, 1, 1], [0, 0, 1, 1, 0]]) + self.assertAllClose(detections_out['num_detections'], [5, 4]) + self.assertAllClose(detections_out['detection_masks'], + exp_detection_masks) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/meta_architectures/faster_rcnn_meta_arch_test_lib.py b/object_detection/meta_architectures/faster_rcnn_meta_arch_test_lib.py new file mode 100644 index 000000000..17e1f62b2 --- /dev/null +++ b/object_detection/meta_architectures/faster_rcnn_meta_arch_test_lib.py @@ -0,0 +1,1035 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.meta_architectures.faster_rcnn_meta_arch.""" +import numpy as np +import tensorflow as tf +from google.protobuf import text_format +from object_detection.anchor_generators import grid_anchor_generator +from object_detection.builders import box_predictor_builder +from object_detection.builders import hyperparams_builder +from object_detection.builders import post_processing_builder +from object_detection.core import losses +from object_detection.meta_architectures import faster_rcnn_meta_arch +from object_detection.protos import box_predictor_pb2 +from object_detection.protos import hyperparams_pb2 +from object_detection.protos import post_processing_pb2 + +slim = tf.contrib.slim +BOX_CODE_SIZE = 4 + + +class FakeFasterRCNNFeatureExtractor( + faster_rcnn_meta_arch.FasterRCNNFeatureExtractor): + """Fake feature extracture to use in tests.""" + + def __init__(self): + super(FakeFasterRCNNFeatureExtractor, self).__init__( + is_training=False, + first_stage_features_stride=32, + reuse_weights=None, + weight_decay=0.0) + + def preprocess(self, resized_inputs): + return tf.identity(resized_inputs) + + def _extract_proposal_features(self, preprocessed_inputs, scope): + with tf.variable_scope('mock_model'): + return 0 * slim.conv2d(preprocessed_inputs, + num_outputs=3, kernel_size=1, scope='layer1') + + def _extract_box_classifier_features(self, proposal_feature_maps, scope): + with tf.variable_scope('mock_model'): + return 0 * slim.conv2d(proposal_feature_maps, + num_outputs=3, kernel_size=1, scope='layer2') + + +class FasterRCNNMetaArchTestBase(tf.test.TestCase): + """Base class to test Faster R-CNN and R-FCN meta architectures.""" + + def _build_arg_scope_with_hyperparams(self, + hyperparams_text_proto, + is_training): + hyperparams = hyperparams_pb2.Hyperparams() + text_format.Merge(hyperparams_text_proto, hyperparams) + return hyperparams_builder.build(hyperparams, is_training=is_training) + + def _get_second_stage_box_predictor_text_proto(self): + box_predictor_text_proto = """ + mask_rcnn_box_predictor { + fc_hyperparams { + op: FC + activation: NONE + regularizer { + l2_regularizer { + weight: 0.0005 + } + } + initializer { + variance_scaling_initializer { + factor: 1.0 + uniform: true + mode: FAN_AVG + } + } + } + } + """ + return box_predictor_text_proto + + def _get_second_stage_box_predictor(self, num_classes, is_training): + box_predictor_proto = box_predictor_pb2.BoxPredictor() + text_format.Merge(self._get_second_stage_box_predictor_text_proto(), + box_predictor_proto) + return box_predictor_builder.build( + hyperparams_builder.build, + box_predictor_proto, + num_classes=num_classes, + is_training=is_training) + + def _get_model(self, box_predictor, **common_kwargs): + return faster_rcnn_meta_arch.FasterRCNNMetaArch( + initial_crop_size=3, + maxpool_kernel_size=1, + maxpool_stride=1, + second_stage_mask_rcnn_box_predictor=box_predictor, + **common_kwargs) + + def _build_model(self, + is_training, + first_stage_only, + second_stage_batch_size, + first_stage_max_proposals=8, + num_classes=2, + hard_mining=False): + + def image_resizer_fn(image): + return tf.identity(image) + + # anchors in this test are designed so that a subset of anchors are inside + # the image and a subset of anchors are outside. + first_stage_anchor_scales = (0.001, 0.005, 0.1) + first_stage_anchor_aspect_ratios = (0.5, 1.0, 2.0) + first_stage_anchor_strides = (1, 1) + first_stage_anchor_generator = grid_anchor_generator.GridAnchorGenerator( + first_stage_anchor_scales, + first_stage_anchor_aspect_ratios, + anchor_stride=first_stage_anchor_strides) + + fake_feature_extractor = FakeFasterRCNNFeatureExtractor() + + first_stage_box_predictor_hyperparams_text_proto = """ + op: CONV + activation: RELU + regularizer { + l2_regularizer { + weight: 0.00004 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.03 + } + } + """ + first_stage_box_predictor_arg_scope = ( + self._build_arg_scope_with_hyperparams( + first_stage_box_predictor_hyperparams_text_proto, is_training)) + + first_stage_box_predictor_kernel_size = 3 + first_stage_atrous_rate = 1 + first_stage_box_predictor_depth = 512 + first_stage_minibatch_size = 3 + first_stage_positive_balance_fraction = .5 + + first_stage_nms_score_threshold = -1.0 + first_stage_nms_iou_threshold = 1.0 + first_stage_max_proposals = first_stage_max_proposals + + first_stage_localization_loss_weight = 1.0 + first_stage_objectness_loss_weight = 1.0 + + post_processing_text_proto = """ + batch_non_max_suppression { + score_threshold: -20.0 + iou_threshold: 1.0 + max_detections_per_class: 5 + max_total_detections: 5 + } + """ + post_processing_config = post_processing_pb2.PostProcessing() + text_format.Merge(post_processing_text_proto, post_processing_config) + second_stage_non_max_suppression_fn, _ = post_processing_builder.build( + post_processing_config) + second_stage_balance_fraction = 1.0 + + second_stage_score_conversion_fn = tf.identity + second_stage_localization_loss_weight = 1.0 + second_stage_classification_loss_weight = 1.0 + + hard_example_miner = None + if hard_mining: + hard_example_miner = losses.HardExampleMiner( + num_hard_examples=1, + iou_threshold=0.99, + loss_type='both', + cls_loss_weight=second_stage_classification_loss_weight, + loc_loss_weight=second_stage_localization_loss_weight, + max_negatives_per_positive=None) + + common_kwargs = { + 'is_training': is_training, + 'num_classes': num_classes, + 'image_resizer_fn': image_resizer_fn, + 'feature_extractor': fake_feature_extractor, + 'first_stage_only': first_stage_only, + 'first_stage_anchor_generator': first_stage_anchor_generator, + 'first_stage_atrous_rate': first_stage_atrous_rate, + 'first_stage_box_predictor_arg_scope': + first_stage_box_predictor_arg_scope, + 'first_stage_box_predictor_kernel_size': + first_stage_box_predictor_kernel_size, + 'first_stage_box_predictor_depth': first_stage_box_predictor_depth, + 'first_stage_minibatch_size': first_stage_minibatch_size, + 'first_stage_positive_balance_fraction': + first_stage_positive_balance_fraction, + 'first_stage_nms_score_threshold': first_stage_nms_score_threshold, + 'first_stage_nms_iou_threshold': first_stage_nms_iou_threshold, + 'first_stage_max_proposals': first_stage_max_proposals, + 'first_stage_localization_loss_weight': + first_stage_localization_loss_weight, + 'first_stage_objectness_loss_weight': + first_stage_objectness_loss_weight, + 'second_stage_batch_size': second_stage_batch_size, + 'second_stage_balance_fraction': second_stage_balance_fraction, + 'second_stage_non_max_suppression_fn': + second_stage_non_max_suppression_fn, + 'second_stage_score_conversion_fn': second_stage_score_conversion_fn, + 'second_stage_localization_loss_weight': + second_stage_localization_loss_weight, + 'second_stage_classification_loss_weight': + second_stage_classification_loss_weight, + 'hard_example_miner': hard_example_miner} + + return self._get_model(self._get_second_stage_box_predictor( + num_classes=num_classes, is_training=is_training), **common_kwargs) + + def test_predict_gives_correct_shapes_in_inference_mode_first_stage_only( + self): + test_graph = tf.Graph() + with test_graph.as_default(): + model = self._build_model( + is_training=False, first_stage_only=True, second_stage_batch_size=2) + batch_size = 2 + height = 10 + width = 12 + input_image_shape = (batch_size, height, width, 3) + + preprocessed_inputs = tf.placeholder(dtype=tf.float32, + shape=(batch_size, None, None, 3)) + prediction_dict = model.predict(preprocessed_inputs) + + # In inference mode, anchors are clipped to the image window, but not + # pruned. Since MockFasterRCNN.extract_proposal_features returns a + # tensor with the same shape as its input, the expected number of anchors + # is height * width * the number of anchors per location (i.e. 3x3). + expected_num_anchors = height * width * 3 * 3 + expected_output_keys = set([ + 'rpn_box_predictor_features', 'rpn_features_to_crop', 'image_shape', + 'rpn_box_encodings', 'rpn_objectness_predictions_with_background', + 'anchors']) + expected_output_shapes = { + 'rpn_box_predictor_features': (batch_size, height, width, 512), + 'rpn_features_to_crop': (batch_size, height, width, 3), + 'rpn_box_encodings': (batch_size, expected_num_anchors, 4), + 'rpn_objectness_predictions_with_background': + (batch_size, expected_num_anchors, 2), + 'anchors': (expected_num_anchors, 4) + } + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + prediction_out = sess.run(prediction_dict, + feed_dict={ + preprocessed_inputs: + np.zeros(input_image_shape) + }) + + self.assertEqual(set(prediction_out.keys()), expected_output_keys) + + self.assertAllEqual(prediction_out['image_shape'], input_image_shape) + for output_key, expected_shape in expected_output_shapes.iteritems(): + self.assertAllEqual(prediction_out[output_key].shape, expected_shape) + + # Check that anchors are clipped to window. + anchors = prediction_out['anchors'] + self.assertTrue(np.all(np.greater_equal(anchors, 0))) + self.assertTrue(np.all(np.less_equal(anchors[:, 0], height))) + self.assertTrue(np.all(np.less_equal(anchors[:, 1], width))) + self.assertTrue(np.all(np.less_equal(anchors[:, 2], height))) + self.assertTrue(np.all(np.less_equal(anchors[:, 3], width))) + + def test_predict_gives_valid_anchors_in_training_mode_first_stage_only(self): + test_graph = tf.Graph() + with test_graph.as_default(): + model = self._build_model( + is_training=True, first_stage_only=True, second_stage_batch_size=2) + batch_size = 2 + height = 10 + width = 12 + input_image_shape = (batch_size, height, width, 3) + preprocessed_inputs = tf.placeholder(dtype=tf.float32, + shape=(batch_size, None, None, 3)) + prediction_dict = model.predict(preprocessed_inputs) + + expected_output_keys = set([ + 'rpn_box_predictor_features', 'rpn_features_to_crop', 'image_shape', + 'rpn_box_encodings', 'rpn_objectness_predictions_with_background', + 'anchors']) + # At training time, anchors that exceed image bounds are pruned. Thus + # the `expected_num_anchors` in the above inference mode test is now + # a strict upper bound on the number of anchors. + num_anchors_strict_upper_bound = height * width * 3 * 3 + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + prediction_out = sess.run(prediction_dict, + feed_dict={ + preprocessed_inputs: + np.zeros(input_image_shape) + }) + + self.assertEqual(set(prediction_out.keys()), expected_output_keys) + self.assertAllEqual(prediction_out['image_shape'], input_image_shape) + + # Check that anchors have less than the upper bound and + # are clipped to window. + anchors = prediction_out['anchors'] + self.assertTrue(len(anchors.shape) == 2 and anchors.shape[1] == 4) + num_anchors_out = anchors.shape[0] + self.assertTrue(num_anchors_out < num_anchors_strict_upper_bound) + + self.assertTrue(np.all(np.greater_equal(anchors, 0))) + self.assertTrue(np.all(np.less_equal(anchors[:, 0], height))) + self.assertTrue(np.all(np.less_equal(anchors[:, 1], width))) + self.assertTrue(np.all(np.less_equal(anchors[:, 2], height))) + self.assertTrue(np.all(np.less_equal(anchors[:, 3], width))) + + self.assertAllEqual(prediction_out['rpn_box_encodings'].shape, + (batch_size, num_anchors_out, 4)) + self.assertAllEqual( + prediction_out['rpn_objectness_predictions_with_background'].shape, + (batch_size, num_anchors_out, 2)) + + def test_predict_gives_correct_shapes_in_inference_mode_both_stages(self): + test_graph = tf.Graph() + with test_graph.as_default(): + model = self._build_model( + is_training=False, first_stage_only=False, second_stage_batch_size=2) + batch_size = 2 + image_size = 10 + image_shape = (batch_size, image_size, image_size, 3) + preprocessed_inputs = tf.zeros(image_shape, dtype=tf.float32) + result_tensor_dict = model.predict(preprocessed_inputs) + expected_num_anchors = image_size * image_size * 3 * 3 + + expected_shapes = { + 'rpn_box_predictor_features': + (2, image_size, image_size, 512), + 'rpn_features_to_crop': (2, image_size, image_size, 3), + 'image_shape': (4,), + 'rpn_box_encodings': (2, expected_num_anchors, 4), + 'rpn_objectness_predictions_with_background': + (2, expected_num_anchors, 2), + 'anchors': (expected_num_anchors, 4), + 'refined_box_encodings': (2 * 8, 2, 4), + 'class_predictions_with_background': (2 * 8, 2 + 1), + 'num_proposals': (2,), + 'proposal_boxes': (2, 8, 4), + } + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + tensor_dict_out = sess.run(result_tensor_dict) + self.assertEqual(set(tensor_dict_out.keys()), + set(expected_shapes.keys())) + for key in expected_shapes: + self.assertAllEqual(tensor_dict_out[key].shape, expected_shapes[key]) + + def test_predict_gives_correct_shapes_in_train_mode_both_stages(self): + test_graph = tf.Graph() + with test_graph.as_default(): + model = self._build_model( + is_training=True, first_stage_only=False, second_stage_batch_size=7) + batch_size = 2 + image_size = 10 + image_shape = (batch_size, image_size, image_size, 3) + preprocessed_inputs = tf.zeros(image_shape, dtype=tf.float32) + groundtruth_boxes_list = [ + tf.constant([[0, 0, .5, .5], [.5, .5, 1, 1]], dtype=tf.float32), + tf.constant([[0, .5, .5, 1], [.5, 0, 1, .5]], dtype=tf.float32)] + groundtruth_classes_list = [ + tf.constant([[1, 0], [0, 1]], dtype=tf.float32), + tf.constant([[1, 0], [1, 0]], dtype=tf.float32)] + + model.provide_groundtruth(groundtruth_boxes_list, + groundtruth_classes_list) + + result_tensor_dict = model.predict(preprocessed_inputs) + expected_shapes = { + 'rpn_box_predictor_features': + (2, image_size, image_size, 512), + 'rpn_features_to_crop': (2, image_size, image_size, 3), + 'image_shape': (4,), + 'refined_box_encodings': (2 * 7, 2, 4), + 'class_predictions_with_background': (2 * 7, 2 + 1), + 'num_proposals': (2,), + 'proposal_boxes': (2, 7, 4), + } + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + tensor_dict_out = sess.run(result_tensor_dict) + self.assertEqual(set(tensor_dict_out.keys()), + set(expected_shapes.keys()).union(set([ + 'rpn_box_encodings', + 'rpn_objectness_predictions_with_background', + 'anchors']))) + for key in expected_shapes: + self.assertAllEqual(tensor_dict_out[key].shape, expected_shapes[key]) + + anchors_shape_out = tensor_dict_out['anchors'].shape + self.assertEqual(2, len(anchors_shape_out)) + self.assertEqual(4, anchors_shape_out[1]) + num_anchors_out = anchors_shape_out[0] + self.assertAllEqual(tensor_dict_out['rpn_box_encodings'].shape, + (2, num_anchors_out, 4)) + self.assertAllEqual( + tensor_dict_out['rpn_objectness_predictions_with_background'].shape, + (2, num_anchors_out, 2)) + + def test_postprocess_first_stage_only_inference_mode(self): + model = self._build_model( + is_training=False, first_stage_only=True, second_stage_batch_size=6) + batch_size = 2 + anchors = tf.constant( + [[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [16, 16, 32, 32]], dtype=tf.float32) + rpn_box_encodings = tf.zeros( + [batch_size, anchors.get_shape().as_list()[0], + BOX_CODE_SIZE], dtype=tf.float32) + # use different numbers for the objectness category to break ties in + # order of boxes returned by NMS + rpn_objectness_predictions_with_background = tf.constant([ + [[-10, 13], + [10, -10], + [10, -11], + [-10, 12]], + [[10, -10], + [-10, 13], + [-10, 12], + [10, -11]]], dtype=tf.float32) + rpn_features_to_crop = tf.ones((batch_size, 8, 8, 10), dtype=tf.float32) + image_shape = tf.constant([batch_size, 32, 32, 3], dtype=tf.int32) + proposals = model.postprocess({ + 'rpn_box_encodings': rpn_box_encodings, + 'rpn_objectness_predictions_with_background': + rpn_objectness_predictions_with_background, + 'rpn_features_to_crop': rpn_features_to_crop, + 'anchors': anchors, + 'image_shape': image_shape}) + expected_proposal_boxes = [ + [[0, 0, .5, .5], [.5, .5, 1, 1], [0, .5, .5, 1], [.5, 0, 1.0, .5]] + + 4 * [4 * [0]], + [[0, .5, .5, 1], [.5, 0, 1.0, .5], [0, 0, .5, .5], [.5, .5, 1, 1]] + + 4 * [4 * [0]]] + expected_proposal_scores = [[1, 1, 0, 0, 0, 0, 0, 0], + [1, 1, 0, 0, 0, 0, 0, 0]] + expected_num_proposals = [4, 4] + + expected_output_keys = set(['detection_boxes', 'detection_scores', + 'num_detections']) + self.assertEqual(set(proposals.keys()), expected_output_keys) + with self.test_session() as sess: + proposals_out = sess.run(proposals) + self.assertAllClose(proposals_out['detection_boxes'], + expected_proposal_boxes) + self.assertAllClose(proposals_out['detection_scores'], + expected_proposal_scores) + self.assertAllEqual(proposals_out['num_detections'], + expected_num_proposals) + + def test_postprocess_first_stage_only_train_mode(self): + model = self._build_model( + is_training=True, first_stage_only=True, second_stage_batch_size=2) + batch_size = 2 + anchors = tf.constant( + [[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [16, 16, 32, 32]], dtype=tf.float32) + rpn_box_encodings = tf.zeros( + [batch_size, anchors.get_shape().as_list()[0], + BOX_CODE_SIZE], dtype=tf.float32) + # use different numbers for the objectness category to break ties in + # order of boxes returned by NMS + rpn_objectness_predictions_with_background = tf.constant([ + [[-10, 13], + [-10, 12], + [-10, 11], + [-10, 10]], + [[-10, 13], + [-10, 12], + [-10, 11], + [-10, 10]]], dtype=tf.float32) + rpn_features_to_crop = tf.ones((batch_size, 8, 8, 10), dtype=tf.float32) + image_shape = tf.constant([batch_size, 32, 32, 3], dtype=tf.int32) + groundtruth_boxes_list = [ + tf.constant([[0, 0, .5, .5], [.5, .5, 1, 1]], dtype=tf.float32), + tf.constant([[0, .5, .5, 1], [.5, 0, 1, .5]], dtype=tf.float32)] + groundtruth_classes_list = [tf.constant([[1, 0], [0, 1]], dtype=tf.float32), + tf.constant([[1, 0], [1, 0]], dtype=tf.float32)] + + model.provide_groundtruth(groundtruth_boxes_list, + groundtruth_classes_list) + proposals = model.postprocess({ + 'rpn_box_encodings': rpn_box_encodings, + 'rpn_objectness_predictions_with_background': + rpn_objectness_predictions_with_background, + 'rpn_features_to_crop': rpn_features_to_crop, + 'anchors': anchors, + 'image_shape': image_shape}) + expected_proposal_boxes = [ + [[0, 0, .5, .5], [.5, .5, 1, 1]], [[0, .5, .5, 1], [.5, 0, 1, .5]]] + expected_proposal_scores = [[1, 1], + [1, 1]] + expected_num_proposals = [2, 2] + + expected_output_keys = set(['detection_boxes', 'detection_scores', + 'num_detections']) + self.assertEqual(set(proposals.keys()), expected_output_keys) + + with self.test_session() as sess: + proposals_out = sess.run(proposals) + self.assertAllClose(proposals_out['detection_boxes'], + expected_proposal_boxes) + self.assertAllClose(proposals_out['detection_scores'], + expected_proposal_scores) + self.assertAllEqual(proposals_out['num_detections'], + expected_num_proposals) + + def test_postprocess_second_stage_only_inference_mode(self): + model = self._build_model( + is_training=False, first_stage_only=False, second_stage_batch_size=6) + + batch_size = 2 + total_num_padded_proposals = batch_size * model.max_num_proposals + proposal_boxes = tf.constant( + [[[1, 1, 2, 3], + [0, 0, 1, 1], + [.5, .5, .6, .6], + 4*[0], 4*[0], 4*[0], 4*[0], 4*[0]], + [[2, 3, 6, 8], + [1, 2, 5, 3], + 4*[0], 4*[0], 4*[0], 4*[0], 4*[0], 4*[0]]], dtype=tf.float32) + num_proposals = tf.constant([3, 2], dtype=tf.int32) + refined_box_encodings = tf.zeros( + [total_num_padded_proposals, model.num_classes, 4], dtype=tf.float32) + class_predictions_with_background = tf.ones( + [total_num_padded_proposals, model.num_classes+1], dtype=tf.float32) + image_shape = tf.constant([batch_size, 36, 48, 3], dtype=tf.int32) + + detections = model.postprocess({ + 'refined_box_encodings': refined_box_encodings, + 'class_predictions_with_background': class_predictions_with_background, + 'num_proposals': num_proposals, + 'proposal_boxes': proposal_boxes, + 'image_shape': image_shape + }) + with self.test_session() as sess: + detections_out = sess.run(detections) + self.assertAllEqual(detections_out['detection_boxes'].shape, [2, 5, 4]) + self.assertAllClose(detections_out['detection_scores'], + [[1, 1, 1, 1, 1], [1, 1, 1, 1, 0]]) + self.assertAllClose(detections_out['detection_classes'], + [[0, 0, 0, 1, 1], [0, 0, 1, 1, 0]]) + self.assertAllClose(detections_out['num_detections'], [5, 4]) + + def test_loss_first_stage_only_mode(self): + model = self._build_model( + is_training=True, first_stage_only=True, second_stage_batch_size=6) + batch_size = 2 + anchors = tf.constant( + [[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [16, 16, 32, 32]], dtype=tf.float32) + + rpn_box_encodings = tf.zeros( + [batch_size, + anchors.get_shape().as_list()[0], + BOX_CODE_SIZE], dtype=tf.float32) + # use different numbers for the objectness category to break ties in + # order of boxes returned by NMS + rpn_objectness_predictions_with_background = tf.constant([ + [[-10, 13], + [10, -10], + [10, -11], + [-10, 12]], + [[10, -10], + [-10, 13], + [-10, 12], + [10, -11]]], dtype=tf.float32) + image_shape = tf.constant([batch_size, 32, 32, 3], dtype=tf.int32) + + groundtruth_boxes_list = [ + tf.constant([[0, 0, .5, .5], [.5, .5, 1, 1]], dtype=tf.float32), + tf.constant([[0, .5, .5, 1], [.5, 0, 1, .5]], dtype=tf.float32)] + groundtruth_classes_list = [tf.constant([[1, 0], [0, 1]], dtype=tf.float32), + tf.constant([[1, 0], [1, 0]], dtype=tf.float32)] + + prediction_dict = { + 'rpn_box_encodings': rpn_box_encodings, + 'rpn_objectness_predictions_with_background': + rpn_objectness_predictions_with_background, + 'image_shape': image_shape, + 'anchors': anchors + } + model.provide_groundtruth(groundtruth_boxes_list, + groundtruth_classes_list) + loss_dict = model.loss(prediction_dict) + with self.test_session() as sess: + loss_dict_out = sess.run(loss_dict) + self.assertAllClose(loss_dict_out['first_stage_localization_loss'], 0) + self.assertAllClose(loss_dict_out['first_stage_objectness_loss'], 0) + self.assertTrue('second_stage_localization_loss' not in loss_dict_out) + self.assertTrue('second_stage_classification_loss' not in loss_dict_out) + + def test_loss_full(self): + model = self._build_model( + is_training=True, first_stage_only=False, second_stage_batch_size=6) + batch_size = 2 + anchors = tf.constant( + [[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [16, 16, 32, 32]], dtype=tf.float32) + rpn_box_encodings = tf.zeros( + [batch_size, + anchors.get_shape().as_list()[0], + BOX_CODE_SIZE], dtype=tf.float32) + # use different numbers for the objectness category to break ties in + # order of boxes returned by NMS + rpn_objectness_predictions_with_background = tf.constant([ + [[-10, 13], + [10, -10], + [10, -11], + [-10, 12]], + [[10, -10], + [-10, 13], + [-10, 12], + [10, -11]]], dtype=tf.float32) + image_shape = tf.constant([batch_size, 32, 32, 3], dtype=tf.int32) + + num_proposals = tf.constant([6, 6], dtype=tf.int32) + proposal_boxes = tf.constant( + 2 * [[[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [16, 16, 32, 32], + [0, 0, 16, 16], + [0, 16, 16, 32]]], dtype=tf.float32) + refined_box_encodings = tf.zeros( + (batch_size * model.max_num_proposals, + model.num_classes, + BOX_CODE_SIZE), dtype=tf.float32) + class_predictions_with_background = tf.constant( + [[-10, 10, -10], # first image + [10, -10, -10], + [10, -10, -10], + [-10, -10, 10], + [-10, 10, -10], + [10, -10, -10], + [10, -10, -10], # second image + [-10, 10, -10], + [-10, 10, -10], + [10, -10, -10], + [10, -10, -10], + [-10, 10, -10]], dtype=tf.float32) + + groundtruth_boxes_list = [ + tf.constant([[0, 0, .5, .5], [.5, .5, 1, 1]], dtype=tf.float32), + tf.constant([[0, .5, .5, 1], [.5, 0, 1, .5]], dtype=tf.float32)] + groundtruth_classes_list = [tf.constant([[1, 0], [0, 1]], dtype=tf.float32), + tf.constant([[1, 0], [1, 0]], dtype=tf.float32)] + + prediction_dict = { + 'rpn_box_encodings': rpn_box_encodings, + 'rpn_objectness_predictions_with_background': + rpn_objectness_predictions_with_background, + 'image_shape': image_shape, + 'anchors': anchors, + 'refined_box_encodings': refined_box_encodings, + 'class_predictions_with_background': class_predictions_with_background, + 'proposal_boxes': proposal_boxes, + 'num_proposals': num_proposals + } + model.provide_groundtruth(groundtruth_boxes_list, + groundtruth_classes_list) + loss_dict = model.loss(prediction_dict) + + with self.test_session() as sess: + loss_dict_out = sess.run(loss_dict) + self.assertAllClose(loss_dict_out['first_stage_localization_loss'], 0) + self.assertAllClose(loss_dict_out['first_stage_objectness_loss'], 0) + self.assertAllClose(loss_dict_out['second_stage_localization_loss'], 0) + self.assertAllClose(loss_dict_out['second_stage_classification_loss'], 0) + + def test_loss_full_zero_padded_proposals(self): + model = self._build_model( + is_training=True, first_stage_only=False, second_stage_batch_size=6) + batch_size = 1 + anchors = tf.constant( + [[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [16, 16, 32, 32]], dtype=tf.float32) + rpn_box_encodings = tf.zeros( + [batch_size, + anchors.get_shape().as_list()[0], + BOX_CODE_SIZE], dtype=tf.float32) + # use different numbers for the objectness category to break ties in + # order of boxes returned by NMS + rpn_objectness_predictions_with_background = tf.constant([ + [[-10, 13], + [10, -10], + [10, -11], + [10, -12]],], dtype=tf.float32) + image_shape = tf.constant([batch_size, 32, 32, 3], dtype=tf.int32) + + # box_classifier_batch_size is 6, but here we assume that the number of + # actual proposals (not counting zero paddings) is fewer (3). + num_proposals = tf.constant([3], dtype=tf.int32) + proposal_boxes = tf.constant( + [[[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [0, 0, 0, 0], # begin paddings + [0, 0, 0, 0], + [0, 0, 0, 0]]], dtype=tf.float32) + + refined_box_encodings = tf.zeros( + (batch_size * model.max_num_proposals, + model.num_classes, + BOX_CODE_SIZE), dtype=tf.float32) + class_predictions_with_background = tf.constant( + [[-10, 10, -10], + [10, -10, -10], + [10, -10, -10], + [0, 0, 0], # begin paddings + [0, 0, 0], + [0, 0, 0]], dtype=tf.float32) + + groundtruth_boxes_list = [ + tf.constant([[0, 0, .5, .5]], dtype=tf.float32)] + groundtruth_classes_list = [tf.constant([[1, 0]], dtype=tf.float32)] + + prediction_dict = { + 'rpn_box_encodings': rpn_box_encodings, + 'rpn_objectness_predictions_with_background': + rpn_objectness_predictions_with_background, + 'image_shape': image_shape, + 'anchors': anchors, + 'refined_box_encodings': refined_box_encodings, + 'class_predictions_with_background': class_predictions_with_background, + 'proposal_boxes': proposal_boxes, + 'num_proposals': num_proposals + } + model.provide_groundtruth(groundtruth_boxes_list, + groundtruth_classes_list) + loss_dict = model.loss(prediction_dict) + + with self.test_session() as sess: + loss_dict_out = sess.run(loss_dict) + self.assertAllClose(loss_dict_out['first_stage_localization_loss'], 0) + self.assertAllClose(loss_dict_out['first_stage_objectness_loss'], 0) + self.assertAllClose(loss_dict_out['second_stage_localization_loss'], 0) + self.assertAllClose(loss_dict_out['second_stage_classification_loss'], 0) + + def test_loss_full_zero_padded_proposals_nonzero_loss_with_two_images(self): + model = self._build_model( + is_training=True, first_stage_only=False, second_stage_batch_size=6) + batch_size = 2 + anchors = tf.constant( + [[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [16, 16, 32, 32]], dtype=tf.float32) + rpn_box_encodings = tf.zeros( + [batch_size, + anchors.get_shape().as_list()[0], + BOX_CODE_SIZE], dtype=tf.float32) + # use different numbers for the objectness category to break ties in + # order of boxes returned by NMS + rpn_objectness_predictions_with_background = tf.constant( + [[[-10, 13], + [10, -10], + [10, -11], + [10, -12]], + [[-10, 13], + [10, -10], + [10, -11], + [10, -12]]], dtype=tf.float32) + image_shape = tf.constant([batch_size, 32, 32, 3], dtype=tf.int32) + + # box_classifier_batch_size is 6, but here we assume that the number of + # actual proposals (not counting zero paddings) is fewer (3). + num_proposals = tf.constant([3, 2], dtype=tf.int32) + proposal_boxes = tf.constant( + [[[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [0, 0, 0, 0], # begin paddings + [0, 0, 0, 0], + [0, 0, 0, 0]], + [[0, 0, 16, 16], + [0, 16, 16, 32], + [0, 0, 0, 0], + [0, 0, 0, 0], # begin paddings + [0, 0, 0, 0], + [0, 0, 0, 0]]], dtype=tf.float32) + + refined_box_encodings = tf.zeros( + (batch_size * model.max_num_proposals, + model.num_classes, + BOX_CODE_SIZE), dtype=tf.float32) + class_predictions_with_background = tf.constant( + [[-10, 10, -10], # first image + [10, -10, -10], + [10, -10, -10], + [0, 0, 0], # begin paddings + [0, 0, 0], + [0, 0, 0], + [-10, -10, 10], # second image + [10, -10, -10], + [0, 0, 0], # begin paddings + [0, 0, 0], + [0, 0, 0], + [0, 0, 0],], dtype=tf.float32) + + # The first groundtruth box is 4/5 of the anchor size in both directions + # experiencing a loss of: + # 2 * SmoothL1(5 * log(4/5)) / num_proposals + # = 2 * (abs(5 * log(1/2)) - .5) / 3 + # The second groundtruth box is identical to the prediction and thus + # experiences zero loss. + # Total average loss is (abs(5 * log(1/2)) - .5) / 3. + groundtruth_boxes_list = [ + tf.constant([[0.05, 0.05, 0.45, 0.45]], dtype=tf.float32), + tf.constant([[0.0, 0.0, 0.5, 0.5]], dtype=tf.float32)] + groundtruth_classes_list = [tf.constant([[1, 0]], dtype=tf.float32), + tf.constant([[0, 1]], dtype=tf.float32)] + exp_loc_loss = (-5 * np.log(.8) - 0.5) / 3.0 + + prediction_dict = { + 'rpn_box_encodings': rpn_box_encodings, + 'rpn_objectness_predictions_with_background': + rpn_objectness_predictions_with_background, + 'image_shape': image_shape, + 'anchors': anchors, + 'refined_box_encodings': refined_box_encodings, + 'class_predictions_with_background': class_predictions_with_background, + 'proposal_boxes': proposal_boxes, + 'num_proposals': num_proposals + } + model.provide_groundtruth(groundtruth_boxes_list, + groundtruth_classes_list) + loss_dict = model.loss(prediction_dict) + + with self.test_session() as sess: + loss_dict_out = sess.run(loss_dict) + self.assertAllClose(loss_dict_out['first_stage_localization_loss'], + exp_loc_loss) + self.assertAllClose(loss_dict_out['first_stage_objectness_loss'], 0) + self.assertAllClose(loss_dict_out['second_stage_localization_loss'], + exp_loc_loss) + self.assertAllClose(loss_dict_out['second_stage_classification_loss'], 0) + + def test_loss_with_hard_mining(self): + model = self._build_model(is_training=True, + first_stage_only=False, + second_stage_batch_size=None, + first_stage_max_proposals=6, + hard_mining=True) + batch_size = 1 + anchors = tf.constant( + [[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [16, 16, 32, 32]], dtype=tf.float32) + rpn_box_encodings = tf.zeros( + [batch_size, + anchors.get_shape().as_list()[0], + BOX_CODE_SIZE], dtype=tf.float32) + # use different numbers for the objectness category to break ties in + # order of boxes returned by NMS + rpn_objectness_predictions_with_background = tf.constant( + [[[-10, 13], + [-10, 12], + [10, -11], + [10, -12]]], dtype=tf.float32) + image_shape = tf.constant([batch_size, 32, 32, 3], dtype=tf.int32) + + # box_classifier_batch_size is 6, but here we assume that the number of + # actual proposals (not counting zero paddings) is fewer (3). + num_proposals = tf.constant([3], dtype=tf.int32) + proposal_boxes = tf.constant( + [[[0, 0, 16, 16], + [0, 16, 16, 32], + [16, 0, 32, 16], + [0, 0, 0, 0], # begin paddings + [0, 0, 0, 0], + [0, 0, 0, 0]]], dtype=tf.float32) + + refined_box_encodings = tf.zeros( + (batch_size * model.max_num_proposals, + model.num_classes, + BOX_CODE_SIZE), dtype=tf.float32) + class_predictions_with_background = tf.constant( + [[-10, 10, -10], # first image + [-10, -10, 10], + [10, -10, -10], + [0, 0, 0], # begin paddings + [0, 0, 0], + [0, 0, 0]], dtype=tf.float32) + + # The first groundtruth box is 4/5 of the anchor size in both directions + # experiencing a loss of: + # 2 * SmoothL1(5 * log(4/5)) / num_proposals + # = 2 * (abs(5 * log(1/2)) - .5) / 3 + # The second groundtruth box is 46/50 of the anchor size in both directions + # experiencing a loss of: + # 2 * SmoothL1(5 * log(42/50)) / num_proposals + # = 2 * (.5(5 * log(.92))^2 - .5) / 3. + # Since the first groundtruth box experiences greater loss, and we have + # set num_hard_examples=1 in the HardMiner, the final localization loss + # corresponds to that of the first groundtruth box. + groundtruth_boxes_list = [ + tf.constant([[0.05, 0.05, 0.45, 0.45], + [0.02, 0.52, 0.48, 0.98],], dtype=tf.float32)] + groundtruth_classes_list = [tf.constant([[1, 0], [0, 1]], dtype=tf.float32)] + exp_loc_loss = 2 * (-5 * np.log(.8) - 0.5) / 3.0 + + prediction_dict = { + 'rpn_box_encodings': rpn_box_encodings, + 'rpn_objectness_predictions_with_background': + rpn_objectness_predictions_with_background, + 'image_shape': image_shape, + 'anchors': anchors, + 'refined_box_encodings': refined_box_encodings, + 'class_predictions_with_background': class_predictions_with_background, + 'proposal_boxes': proposal_boxes, + 'num_proposals': num_proposals + } + model.provide_groundtruth(groundtruth_boxes_list, + groundtruth_classes_list) + loss_dict = model.loss(prediction_dict) + + with self.test_session() as sess: + loss_dict_out = sess.run(loss_dict) + self.assertAllClose(loss_dict_out['second_stage_localization_loss'], + exp_loc_loss) + self.assertAllClose(loss_dict_out['second_stage_classification_loss'], 0) + + def test_restore_fn_classification(self): + # Define mock tensorflow classification graph and save variables. + test_graph_classification = tf.Graph() + with test_graph_classification.as_default(): + image = tf.placeholder(dtype=tf.float32, shape=[1, 20, 20, 3]) + with tf.variable_scope('mock_model'): + net = slim.conv2d(image, num_outputs=3, kernel_size=1, scope='layer1') + slim.conv2d(net, num_outputs=3, kernel_size=1, scope='layer2') + + init_op = tf.global_variables_initializer() + saver = tf.train.Saver() + save_path = self.get_temp_dir() + with self.test_session() as sess: + sess.run(init_op) + saved_model_path = saver.save(sess, save_path) + + # Create tensorflow detection graph and load variables from + # classification checkpoint. + test_graph_detection = tf.Graph() + with test_graph_detection.as_default(): + model = self._build_model( + is_training=False, first_stage_only=False, second_stage_batch_size=6) + + inputs_shape = (2, 20, 20, 3) + inputs = tf.to_float(tf.random_uniform( + inputs_shape, minval=0, maxval=255, dtype=tf.int32)) + preprocessed_inputs = model.preprocess(inputs) + prediction_dict = model.predict(preprocessed_inputs) + model.postprocess(prediction_dict) + restore_fn = model.restore_fn(saved_model_path, + from_detection_checkpoint=False) + with self.test_session() as sess: + restore_fn(sess) + + def test_restore_fn_detection(self): + # Define first detection graph and save variables. + test_graph_detection1 = tf.Graph() + with test_graph_detection1.as_default(): + model = self._build_model( + is_training=False, first_stage_only=False, second_stage_batch_size=6) + inputs_shape = (2, 20, 20, 3) + inputs = tf.to_float(tf.random_uniform( + inputs_shape, minval=0, maxval=255, dtype=tf.int32)) + preprocessed_inputs = model.preprocess(inputs) + prediction_dict = model.predict(preprocessed_inputs) + model.postprocess(prediction_dict) + init_op = tf.global_variables_initializer() + saver = tf.train.Saver() + save_path = self.get_temp_dir() + with self.test_session() as sess: + sess.run(init_op) + saved_model_path = saver.save(sess, save_path) + + # Define second detection graph and restore variables. + test_graph_detection2 = tf.Graph() + with test_graph_detection2.as_default(): + model2 = self._build_model(is_training=False, first_stage_only=False, + second_stage_batch_size=6, num_classes=42) + + inputs_shape2 = (2, 20, 20, 3) + inputs2 = tf.to_float(tf.random_uniform( + inputs_shape2, minval=0, maxval=255, dtype=tf.int32)) + preprocessed_inputs2 = model2.preprocess(inputs2) + prediction_dict2 = model2.predict(preprocessed_inputs2) + model2.postprocess(prediction_dict2) + restore_fn = model2.restore_fn(saved_model_path, + from_detection_checkpoint=True) + with self.test_session() as sess: + restore_fn(sess) + for var in sess.run(tf.report_uninitialized_variables()): + self.assertNotIn(model2.first_stage_feature_extractor_scope, var.name) + self.assertNotIn(model2.second_stage_feature_extractor_scope, + var.name) + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/meta_architectures/rfcn_meta_arch.py b/object_detection/meta_architectures/rfcn_meta_arch.py new file mode 100644 index 000000000..7f712ba4d --- /dev/null +++ b/object_detection/meta_architectures/rfcn_meta_arch.py @@ -0,0 +1,267 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""R-FCN meta-architecture definition. + +R-FCN: Dai, Jifeng, et al. "R-FCN: Object Detection via Region-based +Fully Convolutional Networks." arXiv preprint arXiv:1605.06409 (2016). + +The R-FCN meta architecture is similar to Faster R-CNN and only differs in the +second stage. Hence this class inherits FasterRCNNMetaArch and overrides only +the `_predict_second_stage` method. + +Similar to Faster R-CNN we allow for two modes: first_stage_only=True and +first_stage_only=False. In the former setting, all of the user facing methods +(e.g., predict, postprocess, loss) can be used as if the model consisted +only of the RPN, returning class agnostic proposals (these can be thought of as +approximate detections with no associated class information). In the latter +setting, proposals are computed, then passed through a second stage +"box classifier" to yield (multi-class) detections. + +Implementations of R-FCN models must define a new FasterRCNNFeatureExtractor and +override three methods: `preprocess`, `_extract_proposal_features` (the first +stage of the model), and `_extract_box_classifier_features` (the second stage of +the model). Optionally, the `restore_fn` method can be overridden. See tests +for an example. + +See notes in the documentation of Faster R-CNN meta-architecture as they all +apply here. +""" +import tensorflow as tf + +from object_detection.core import box_predictor +from object_detection.meta_architectures import faster_rcnn_meta_arch +from object_detection.utils import ops + + +class RFCNMetaArch(faster_rcnn_meta_arch.FasterRCNNMetaArch): + """R-FCN Meta-architecture definition.""" + + def __init__(self, + is_training, + num_classes, + image_resizer_fn, + feature_extractor, + first_stage_only, + first_stage_anchor_generator, + first_stage_atrous_rate, + first_stage_box_predictor_arg_scope, + first_stage_box_predictor_kernel_size, + first_stage_box_predictor_depth, + first_stage_minibatch_size, + first_stage_positive_balance_fraction, + first_stage_nms_score_threshold, + first_stage_nms_iou_threshold, + first_stage_max_proposals, + first_stage_localization_loss_weight, + first_stage_objectness_loss_weight, + second_stage_rfcn_box_predictor, + second_stage_batch_size, + second_stage_balance_fraction, + second_stage_non_max_suppression_fn, + second_stage_score_conversion_fn, + second_stage_localization_loss_weight, + second_stage_classification_loss_weight, + hard_example_miner, + parallel_iterations=16): + """RFCNMetaArch Constructor. + + Args: + is_training: A boolean indicating whether the training version of the + computation graph should be constructed. + num_classes: Number of classes. Note that num_classes *does not* + include the background category, so if groundtruth labels take values + in {0, 1, .., K-1}, num_classes=K (and not K+1, even though the + assigned classification targets can range from {0,... K}). + image_resizer_fn: A callable for image resizing. This callable always + takes a rank-3 image tensor (corresponding to a single image) and + returns a rank-3 image tensor, possibly with new spatial dimensions. + See builders/image_resizer_builder.py. + feature_extractor: A FasterRCNNFeatureExtractor object. + first_stage_only: Whether to construct only the Region Proposal Network + (RPN) part of the model. + first_stage_anchor_generator: An anchor_generator.AnchorGenerator object + (note that currently we only support + grid_anchor_generator.GridAnchorGenerator objects) + first_stage_atrous_rate: A single integer indicating the atrous rate for + the single convolution op which is applied to the `rpn_features_to_crop` + tensor to obtain a tensor to be used for box prediction. Some feature + extractors optionally allow for producing feature maps computed at + denser resolutions. The atrous rate is used to compensate for the + denser feature maps by using an effectively larger receptive field. + (This should typically be set to 1). + first_stage_box_predictor_arg_scope: Slim arg_scope for conv2d, + separable_conv2d and fully_connected ops for the RPN box predictor. + first_stage_box_predictor_kernel_size: Kernel size to use for the + convolution op just prior to RPN box predictions. + first_stage_box_predictor_depth: Output depth for the convolution op + just prior to RPN box predictions. + first_stage_minibatch_size: The "batch size" to use for computing the + objectness and location loss of the region proposal network. This + "batch size" refers to the number of anchors selected as contributing + to the loss function for any given image within the image batch and is + only called "batch_size" due to terminology from the Faster R-CNN paper. + first_stage_positive_balance_fraction: Fraction of positive examples + per image for the RPN. The recommended value for Faster RCNN is 0.5. + first_stage_nms_score_threshold: Score threshold for non max suppression + for the Region Proposal Network (RPN). This value is expected to be in + [0, 1] as it is applied directly after a softmax transformation. The + recommended value for Faster R-CNN is 0. + first_stage_nms_iou_threshold: The Intersection Over Union (IOU) threshold + for performing Non-Max Suppression (NMS) on the boxes predicted by the + Region Proposal Network (RPN). + first_stage_max_proposals: Maximum number of boxes to retain after + performing Non-Max Suppression (NMS) on the boxes predicted by the + Region Proposal Network (RPN). + first_stage_localization_loss_weight: A float + first_stage_objectness_loss_weight: A float + second_stage_rfcn_box_predictor: RFCN box predictor to use for + second stage. + second_stage_batch_size: The batch size used for computing the + classification and refined location loss of the box classifier. This + "batch size" refers to the number of proposals selected as contributing + to the loss function for any given image within the image batch and is + only called "batch_size" due to terminology from the Faster R-CNN paper. + second_stage_balance_fraction: Fraction of positive examples to use + per image for the box classifier. The recommended value for Faster RCNN + is 0.25. + second_stage_non_max_suppression_fn: batch_multiclass_non_max_suppression + callable that takes `boxes`, `scores`, optional `clip_window` and + optional (kwarg) `mask` inputs (with all other inputs already set) + and returns a dictionary containing tensors with keys: + `detection_boxes`, `detection_scores`, `detection_classes`, + `num_detections`, and (optionally) `detection_masks`. See + `post_processing.batch_multiclass_non_max_suppression` for the type and + shape of these tensors. + second_stage_score_conversion_fn: Callable elementwise nonlinearity + (that takes tensors as inputs and returns tensors). This is usually + used to convert logits to probabilities. + second_stage_localization_loss_weight: A float + second_stage_classification_loss_weight: A float + hard_example_miner: A losses.HardExampleMiner object (can be None). + parallel_iterations: (Optional) The number of iterations allowed to run + in parallel for calls to tf.map_fn. + Raises: + ValueError: If `second_stage_batch_size` > `first_stage_max_proposals` + ValueError: If first_stage_anchor_generator is not of type + grid_anchor_generator.GridAnchorGenerator. + """ + super(RFCNMetaArch, self).__init__( + is_training, + num_classes, + image_resizer_fn, + feature_extractor, + first_stage_only, + first_stage_anchor_generator, + first_stage_atrous_rate, + first_stage_box_predictor_arg_scope, + first_stage_box_predictor_kernel_size, + first_stage_box_predictor_depth, + first_stage_minibatch_size, + first_stage_positive_balance_fraction, + first_stage_nms_score_threshold, + first_stage_nms_iou_threshold, + first_stage_max_proposals, + first_stage_localization_loss_weight, + first_stage_objectness_loss_weight, + None, # initial_crop_size is not used in R-FCN + None, # maxpool_kernel_size is not use in R-FCN + None, # maxpool_stride is not use in R-FCN + None, # fully_connected_box_predictor is not used in R-FCN. + second_stage_batch_size, + second_stage_balance_fraction, + second_stage_non_max_suppression_fn, + second_stage_score_conversion_fn, + second_stage_localization_loss_weight, + second_stage_classification_loss_weight, + hard_example_miner, + parallel_iterations) + + self._rfcn_box_predictor = second_stage_rfcn_box_predictor + + def _predict_second_stage(self, rpn_box_encodings, + rpn_objectness_predictions_with_background, + rpn_features, + anchors, + image_shape): + """Predicts the output tensors from 2nd stage of FasterRCNN. + + Args: + rpn_box_encodings: 4-D float tensor of shape + [batch_size, num_valid_anchors, self._box_coder.code_size] containing + predicted boxes. + rpn_objectness_predictions_with_background: 2-D float tensor of shape + [batch_size, num_valid_anchors, 2] containing class + predictions (logits) for each of the anchors. Note that this + tensor *includes* background class predictions (at class index 0). + rpn_features: A 4-D float32 tensor with shape + [batch_size, height, width, depth] representing image features from the + RPN. + anchors: 2-D float tensor of shape + [num_anchors, self._box_coder.code_size]. + image_shape: A 1D int32 tensors of size [4] containing the image shape. + + Returns: + prediction_dict: a dictionary holding "raw" prediction tensors: + 1) refined_box_encodings: a 3-D tensor with shape + [total_num_proposals, num_classes, 4] representing predicted + (final) refined box encodings, where + total_num_proposals=batch_size*self._max_num_proposals + 2) class_predictions_with_background: a 3-D tensor with shape + [total_num_proposals, num_classes + 1] containing class + predictions (logits) for each of the anchors, where + total_num_proposals=batch_size*self._max_num_proposals. + Note that this tensor *includes* background class predictions + (at class index 0). + 3) num_proposals: An int32 tensor of shape [batch_size] representing the + number of proposals generated by the RPN. `num_proposals` allows us + to keep track of which entries are to be treated as zero paddings and + which are not since we always pad the number of proposals to be + `self.max_num_proposals` for each image. + 4) proposal_boxes: A float32 tensor of shape + [batch_size, self.max_num_proposals, 4] representing + decoded proposal bounding boxes (in absolute coordinates). + """ + proposal_boxes_normalized, _, num_proposals = self._postprocess_rpn( + rpn_box_encodings, rpn_objectness_predictions_with_background, + anchors, image_shape) + + box_classifier_features = ( + self._feature_extractor.extract_box_classifier_features( + rpn_features, + scope=self.second_stage_feature_extractor_scope)) + + box_predictions = self._rfcn_box_predictor.predict( + box_classifier_features, + num_predictions_per_location=1, + scope=self.second_stage_box_predictor_scope, + proposal_boxes=proposal_boxes_normalized) + refined_box_encodings = tf.squeeze( + box_predictions[box_predictor.BOX_ENCODINGS], axis=1) + class_predictions_with_background = tf.squeeze( + box_predictions[box_predictor.CLASS_PREDICTIONS_WITH_BACKGROUND], + axis=1) + + absolute_proposal_boxes = ops.normalized_to_image_coordinates( + proposal_boxes_normalized, image_shape, + parallel_iterations=self._parallel_iterations) + + prediction_dict = { + 'refined_box_encodings': refined_box_encodings, + 'class_predictions_with_background': + class_predictions_with_background, + 'num_proposals': num_proposals, + 'proposal_boxes': absolute_proposal_boxes, + } + return prediction_dict diff --git a/object_detection/meta_architectures/rfcn_meta_arch_test.py b/object_detection/meta_architectures/rfcn_meta_arch_test.py new file mode 100644 index 000000000..5a7ad8baa --- /dev/null +++ b/object_detection/meta_architectures/rfcn_meta_arch_test.py @@ -0,0 +1,56 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.meta_architectures.rfcn_meta_arch.""" + +import tensorflow as tf + +from object_detection.meta_architectures import faster_rcnn_meta_arch_test_lib +from object_detection.meta_architectures import rfcn_meta_arch + + +class RFCNMetaArchTest( + faster_rcnn_meta_arch_test_lib.FasterRCNNMetaArchTestBase): + + def _get_second_stage_box_predictor_text_proto(self): + box_predictor_text_proto = """ + rfcn_box_predictor { + conv_hyperparams { + op: CONV + activation: NONE + regularizer { + l2_regularizer { + weight: 0.0005 + } + } + initializer { + variance_scaling_initializer { + factor: 1.0 + uniform: true + mode: FAN_AVG + } + } + } + } + """ + return box_predictor_text_proto + + def _get_model(self, box_predictor, **common_kwargs): + return rfcn_meta_arch.RFCNMetaArch( + second_stage_rfcn_box_predictor=box_predictor, **common_kwargs) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/meta_architectures/ssd_meta_arch.py b/object_detection/meta_architectures/ssd_meta_arch.py new file mode 100644 index 000000000..c23bd3a24 --- /dev/null +++ b/object_detection/meta_architectures/ssd_meta_arch.py @@ -0,0 +1,594 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""SSD Meta-architecture definition. + +General tensorflow implementation of convolutional Multibox/SSD detection +models. +""" +from abc import abstractmethod + +import re +import tensorflow as tf + +from object_detection.core import box_coder as bcoder +from object_detection.core import box_list +from object_detection.core import box_predictor as bpredictor +from object_detection.core import model +from object_detection.core import standard_fields as fields +from object_detection.core import target_assigner +from object_detection.utils import variables_helper + +slim = tf.contrib.slim + + +class SSDFeatureExtractor(object): + """SSD Feature Extractor definition.""" + + def __init__(self, + depth_multiplier, + min_depth, + conv_hyperparams, + reuse_weights=None): + self._depth_multiplier = depth_multiplier + self._min_depth = min_depth + self._conv_hyperparams = conv_hyperparams + self._reuse_weights = reuse_weights + + @abstractmethod + def preprocess(self, resized_inputs): + """Preprocesses images for feature extraction (minus image resizing). + + Args: + resized_inputs: a [batch, height, width, channels] float tensor + representing a batch of images. + + Returns: + preprocessed_inputs: a [batch, height, width, channels] float tensor + representing a batch of images. + """ + pass + + @abstractmethod + def extract_features(self, preprocessed_inputs): + """Extracts features from preprocessed inputs. + + This function is responsible for extracting feature maps from preprocessed + images. + + Args: + preprocessed_inputs: a [batch, height, width, channels] float tensor + representing a batch of images. + + Returns: + feature_maps: a list of tensors where the ith tensor has shape + [batch, height_i, width_i, depth_i] + """ + pass + + +class SSDMetaArch(model.DetectionModel): + """SSD Meta-architecture definition.""" + + def __init__(self, + is_training, + anchor_generator, + box_predictor, + box_coder, + feature_extractor, + matcher, + region_similarity_calculator, + image_resizer_fn, + non_max_suppression_fn, + score_conversion_fn, + classification_loss, + localization_loss, + classification_loss_weight, + localization_loss_weight, + normalize_loss_by_num_matches, + hard_example_miner, + add_summaries=True): + """SSDMetaArch Constructor. + + TODO: group NMS parameters + score converter into + a class and loss parameters into a class and write config protos for + postprocessing and losses. + + Args: + is_training: A boolean indicating whether the training version of the + computation graph should be constructed. + anchor_generator: an anchor_generator.AnchorGenerator object. + box_predictor: a box_predictor.BoxPredictor object. + box_coder: a box_coder.BoxCoder object. + feature_extractor: a SSDFeatureExtractor object. + matcher: a matcher.Matcher object. + region_similarity_calculator: a + region_similarity_calculator.RegionSimilarityCalculator object. + image_resizer_fn: a callable for image resizing. This callable always + takes a rank-3 image tensor (corresponding to a single image) and + returns a rank-3 image tensor, possibly with new spatial dimensions. + See builders/image_resizer_builder.py. + non_max_suppression_fn: batch_multiclass_non_max_suppression + callable that takes `boxes`, `scores` and optional `clip_window` + inputs (with all other inputs already set) and returns a dictionary + hold tensors with keys: `detection_boxes`, `detection_scores`, + `detection_classes` and `num_detections`. See `post_processing. + batch_multiclass_non_max_suppression` for the type and shape of these + tensors. + score_conversion_fn: callable elementwise nonlinearity (that takes tensors + as inputs and returns tensors). This is usually used to convert logits + to probabilities. + classification_loss: an object_detection.core.losses.Loss object. + localization_loss: a object_detection.core.losses.Loss object. + classification_loss_weight: float + localization_loss_weight: float + normalize_loss_by_num_matches: boolean + hard_example_miner: a losses.HardExampleMiner object (can be None) + add_summaries: boolean (default: True) controlling whether summary ops + should be added to tensorflow graph. + """ + super(SSDMetaArch, self).__init__(num_classes=box_predictor.num_classes) + self._is_training = is_training + + # Needed for fine-tuning from classification checkpoints whose + # variables do not have the feature extractor scope. + self._extract_features_scope = 'FeatureExtractor' + + self._anchor_generator = anchor_generator + self._box_predictor = box_predictor + + self._box_coder = box_coder + self._feature_extractor = feature_extractor + self._matcher = matcher + self._region_similarity_calculator = region_similarity_calculator + + # TODO: handle agnostic mode and positive/negative class weights + unmatched_cls_target = None + unmatched_cls_target = tf.constant([1] + self.num_classes * [0], tf.float32) + self._target_assigner = target_assigner.TargetAssigner( + self._region_similarity_calculator, + self._matcher, + self._box_coder, + positive_class_weight=1.0, + negative_class_weight=1.0, + unmatched_cls_target=unmatched_cls_target) + + self._classification_loss = classification_loss + self._localization_loss = localization_loss + self._classification_loss_weight = classification_loss_weight + self._localization_loss_weight = localization_loss_weight + self._normalize_loss_by_num_matches = normalize_loss_by_num_matches + self._hard_example_miner = hard_example_miner + + self._image_resizer_fn = image_resizer_fn + self._non_max_suppression_fn = non_max_suppression_fn + self._score_conversion_fn = score_conversion_fn + + self._anchors = None + self._add_summaries = add_summaries + + @property + def anchors(self): + if not self._anchors: + raise RuntimeError('anchors have not been constructed yet!') + if not isinstance(self._anchors, box_list.BoxList): + raise RuntimeError('anchors should be a BoxList object, but is not.') + return self._anchors + + def preprocess(self, inputs): + """Feature-extractor specific preprocessing. + + See base class. + + Args: + inputs: a [batch, height_in, width_in, channels] float tensor representing + a batch of images with values between 0 and 255.0. + + Returns: + preprocessed_inputs: a [batch, height_out, width_out, channels] float + tensor representing a batch of images. + Raises: + ValueError: if inputs tensor does not have type tf.float32 + """ + if inputs.dtype is not tf.float32: + raise ValueError('`preprocess` expects a tf.float32 tensor') + with tf.name_scope('Preprocessor'): + # TODO: revisit whether to always use batch size as the number of + # parallel iterations vs allow for dynamic batching. + resized_inputs = tf.map_fn(self._image_resizer_fn, + elems=inputs, + dtype=tf.float32) + return self._feature_extractor.preprocess(resized_inputs) + + def predict(self, preprocessed_inputs): + """Predicts unpostprocessed tensors from input tensor. + + This function takes an input batch of images and runs it through the forward + pass of the network to yield unpostprocessesed predictions. + + A side effect of calling the predict method is that self._anchors is + populated with a box_list.BoxList of anchors. These anchors must be + constructed before the postprocess or loss functions can be called. + + Args: + preprocessed_inputs: a [batch, height, width, channels] image tensor. + + Returns: + prediction_dict: a dictionary holding "raw" prediction tensors: + 1) box_encodings: 4-D float tensor of shape [batch_size, num_anchors, + box_code_dimension] containing predicted boxes. + 2) class_predictions_with_background: 3-D float tensor of shape + [batch_size, num_anchors, num_classes+1] containing class predictions + (logits) for each of the anchors. Note that this tensor *includes* + background class predictions (at class index 0). + 3) feature_maps: a list of tensors where the ith tensor has shape + [batch, height_i, width_i, depth_i]. + """ + with tf.variable_scope(None, self._extract_features_scope, + [preprocessed_inputs]): + feature_maps = self._feature_extractor.extract_features( + preprocessed_inputs) + feature_map_spatial_dims = self._get_feature_map_spatial_dims(feature_maps) + self._anchors = self._anchor_generator.generate(feature_map_spatial_dims) + (box_encodings, class_predictions_with_background + ) = self._add_box_predictions_to_feature_maps(feature_maps) + predictions_dict = { + 'box_encodings': box_encodings, + 'class_predictions_with_background': class_predictions_with_background, + 'feature_maps': feature_maps + } + return predictions_dict + + def _add_box_predictions_to_feature_maps(self, feature_maps): + """Adds box predictors to each feature map and returns concatenated results. + + Args: + feature_maps: a list of tensors where the ith tensor has shape + [batch, height_i, width_i, depth_i] + + Returns: + box_encodings: 4-D float tensor of shape [batch_size, num_anchors, + box_code_dimension] containing predicted boxes. + class_predictions_with_background: 2-D float tensor of shape + [batch_size, num_anchors, num_classes+1] containing class predictions + (logits) for each of the anchors. Note that this tensor *includes* + background class predictions (at class index 0). + + Raises: + RuntimeError: if the number of feature maps extracted via the + extract_features method does not match the length of the + num_anchors_per_locations list that was passed to the constructor. + RuntimeError: if box_encodings from the box_predictor does not have + shape of the form [batch_size, num_anchors, 1, code_size]. + """ + num_anchors_per_location_list = ( + self._anchor_generator.num_anchors_per_location()) + if len(feature_maps) != len(num_anchors_per_location_list): + raise RuntimeError('the number of feature maps must match the ' + 'length of self.anchors.NumAnchorsPerLocation().') + box_encodings_list = [] + cls_predictions_with_background_list = [] + for idx, (feature_map, num_anchors_per_location + ) in enumerate(zip(feature_maps, num_anchors_per_location_list)): + box_predictor_scope = 'BoxPredictor_{}'.format(idx) + box_predictions = self._box_predictor.predict(feature_map, + num_anchors_per_location, + box_predictor_scope) + box_encodings = box_predictions[bpredictor.BOX_ENCODINGS] + cls_predictions_with_background = box_predictions[ + bpredictor.CLASS_PREDICTIONS_WITH_BACKGROUND] + + box_encodings_shape = box_encodings.get_shape().as_list() + if len(box_encodings_shape) != 4 or box_encodings_shape[2] != 1: + raise RuntimeError('box_encodings from the box_predictor must be of ' + 'shape `[batch_size, num_anchors, 1, code_size]`; ' + 'actual shape', box_encodings_shape) + box_encodings = tf.squeeze(box_encodings, axis=2) + box_encodings_list.append(box_encodings) + cls_predictions_with_background_list.append( + cls_predictions_with_background) + + num_predictions = sum( + [tf.shape(box_encodings)[1] for box_encodings in box_encodings_list]) + num_anchors = self.anchors.num_boxes() + anchors_assert = tf.assert_equal(num_anchors, num_predictions, [ + 'Mismatch: number of anchors vs number of predictions', num_anchors, + num_predictions + ]) + with tf.control_dependencies([anchors_assert]): + box_encodings = tf.concat(box_encodings_list, 1) + class_predictions_with_background = tf.concat( + cls_predictions_with_background_list, 1) + return box_encodings, class_predictions_with_background + + def _get_feature_map_spatial_dims(self, feature_maps): + """Return list of spatial dimensions for each feature map in a list. + + Args: + feature_maps: a list of tensors where the ith tensor has shape + [batch, height_i, width_i, depth_i]. + + Returns: + a list of pairs (height, width) for each feature map in feature_maps + """ + feature_map_shapes = [ + feature_map.get_shape().as_list() for feature_map in feature_maps + ] + return [(shape[1], shape[2]) for shape in feature_map_shapes] + + def postprocess(self, prediction_dict): + """Converts prediction tensors to final detections. + + This function converts raw predictions tensors to final detection results by + slicing off the background class, decoding box predictions and applying + non max suppression and clipping to the image window. + + See base class for output format conventions. Note also that by default, + scores are to be interpreted as logits, but if a score_conversion_fn is + used, then scores are remapped (and may thus have a different + interpretation). + + Args: + prediction_dict: a dictionary holding prediction tensors with + 1) box_encodings: 4-D float tensor of shape [batch_size, num_anchors, + box_code_dimension] containing predicted boxes. + 2) class_predictions_with_background: 2-D float tensor of shape + [batch_size, num_anchors, num_classes+1] containing class predictions + (logits) for each of the anchors. Note that this tensor *includes* + background class predictions. + + Returns: + detections: a dictionary containing the following fields + detection_boxes: [batch, max_detection, 4] + detection_scores: [batch, max_detections] + detection_classes: [batch, max_detections] + num_detections: [batch] + Raises: + ValueError: if prediction_dict does not contain `box_encodings` or + `class_predictions_with_background` fields. + """ + if ('box_encodings' not in prediction_dict or + 'class_predictions_with_background' not in prediction_dict): + raise ValueError('prediction_dict does not contain expected entries.') + with tf.name_scope('Postprocessor'): + box_encodings = prediction_dict['box_encodings'] + class_predictions = prediction_dict['class_predictions_with_background'] + detection_boxes = bcoder.batch_decode(box_encodings, self._box_coder, + self.anchors) + detection_boxes = tf.expand_dims(detection_boxes, axis=2) + + class_predictions_without_background = tf.slice(class_predictions, + [0, 0, 1], + [-1, -1, -1]) + detection_scores = self._score_conversion_fn( + class_predictions_without_background) + clip_window = tf.constant([0, 0, 1, 1], tf.float32) + detections = self._non_max_suppression_fn(detection_boxes, + detection_scores, + clip_window=clip_window) + return detections + + def loss(self, prediction_dict, scope=None): + """Compute scalar loss tensors with respect to provided groundtruth. + + Calling this function requires that groundtruth tensors have been + provided via the provide_groundtruth function. + + Args: + prediction_dict: a dictionary holding prediction tensors with + 1) box_encodings: 4-D float tensor of shape [batch_size, num_anchors, + box_code_dimension] containing predicted boxes. + 2) class_predictions_with_background: 2-D float tensor of shape + [batch_size, num_anchors, num_classes+1] containing class predictions + (logits) for each of the anchors. Note that this tensor *includes* + background class predictions. + scope: Optional scope name. + + Returns: + a dictionary mapping loss keys (`localization_loss` and + `classification_loss`) to scalar tensors representing corresponding loss + values. + """ + with tf.name_scope(scope, 'Loss', prediction_dict.values()): + (batch_cls_targets, batch_cls_weights, batch_reg_targets, + batch_reg_weights, match_list) = self._assign_targets( + self.groundtruth_lists(fields.BoxListFields.boxes), + self.groundtruth_lists(fields.BoxListFields.classes)) + if self._add_summaries: + self._summarize_input( + self.groundtruth_lists(fields.BoxListFields.boxes), match_list) + num_matches = tf.stack( + [match.num_matched_columns() for match in match_list]) + location_losses = self._localization_loss( + prediction_dict['box_encodings'], + batch_reg_targets, + weights=batch_reg_weights) + cls_losses = self._classification_loss( + prediction_dict['class_predictions_with_background'], + batch_cls_targets, + weights=batch_cls_weights) + + # Optionally apply hard mining on top of loss values + localization_loss = tf.reduce_sum(location_losses) + classification_loss = tf.reduce_sum(cls_losses) + if self._hard_example_miner: + (localization_loss, classification_loss) = self._apply_hard_mining( + location_losses, cls_losses, prediction_dict, match_list) + if self._add_summaries: + self._hard_example_miner.summarize() + + # Optionally normalize by number of positive matches + normalizer = tf.constant(1.0, dtype=tf.float32) + if self._normalize_loss_by_num_matches: + normalizer = tf.maximum(tf.to_float(tf.reduce_sum(num_matches)), 1.0) + + loss_dict = { + 'localization_loss': (self._localization_loss_weight / normalizer) * + localization_loss, + 'classification_loss': (self._classification_loss_weight / + normalizer) * classification_loss + } + return loss_dict + + def _assign_targets(self, groundtruth_boxes_list, groundtruth_classes_list): + """Assign groundtruth targets. + + Adds a background class to each one-hot encoding of groundtruth classes + and uses target assigner to obtain regression and classification targets. + + Args: + groundtruth_boxes_list: a list of 2-D tensors of shape [num_boxes, 4] + containing coordinates of the groundtruth boxes. + Groundtruth boxes are provided in [y_min, x_min, y_max, x_max] + format and assumed to be normalized and clipped + relative to the image window with y_min <= y_max and x_min <= x_max. + groundtruth_classes_list: a list of 2-D one-hot (or k-hot) tensors of + shape [num_boxes, num_classes] containing the class targets with the 0th + index assumed to map to the first non-background class. + + Returns: + batch_cls_targets: a tensor with shape [batch_size, num_anchors, + num_classes], + batch_cls_weights: a tensor with shape [batch_size, num_anchors], + batch_reg_targets: a tensor with shape [batch_size, num_anchors, + box_code_dimension] + batch_reg_weights: a tensor with shape [batch_size, num_anchors], + match_list: a list of matcher.Match objects encoding the match between + anchors and groundtruth boxes for each image of the batch, + with rows of the Match objects corresponding to groundtruth boxes + and columns corresponding to anchors. + """ + groundtruth_boxlists = [ + box_list.BoxList(boxes) for boxes in groundtruth_boxes_list + ] + groundtruth_classes_with_background_list = [ + tf.pad(one_hot_encoding, [[0, 0], [1, 0]], mode='CONSTANT') + for one_hot_encoding in groundtruth_classes_list + ] + return target_assigner.batch_assign_targets( + self._target_assigner, self.anchors, groundtruth_boxlists, + groundtruth_classes_with_background_list) + + def _summarize_input(self, groundtruth_boxes_list, match_list): + """Creates tensorflow summaries for the input boxes and anchors. + + This function creates four summaries corresponding to the average + number (over images in a batch) of (1) groundtruth boxes, (2) anchors + marked as positive, (3) anchors marked as negative, and (4) anchors marked + as ignored. + + Args: + groundtruth_boxes_list: a list of 2-D tensors of shape [num_boxes, 4] + containing corners of the groundtruth boxes. + match_list: a list of matcher.Match objects encoding the match between + anchors and groundtruth boxes for each image of the batch, + with rows of the Match objects corresponding to groundtruth boxes + and columns corresponding to anchors. + """ + num_boxes_per_image = tf.stack( + [tf.shape(x)[0] for x in groundtruth_boxes_list]) + pos_anchors_per_image = tf.stack( + [match.num_matched_columns() for match in match_list]) + neg_anchors_per_image = tf.stack( + [match.num_unmatched_columns() for match in match_list]) + ignored_anchors_per_image = tf.stack( + [match.num_ignored_columns() for match in match_list]) + tf.summary.scalar('Input/AvgNumGroundtruthBoxesPerImage', + tf.reduce_mean(tf.to_float(num_boxes_per_image))) + tf.summary.scalar('Input/AvgNumPositiveAnchorsPerImage', + tf.reduce_mean(tf.to_float(pos_anchors_per_image))) + tf.summary.scalar('Input/AvgNumNegativeAnchorsPerImage', + tf.reduce_mean(tf.to_float(neg_anchors_per_image))) + tf.summary.scalar('Input/AvgNumIgnoredAnchorsPerImage', + tf.reduce_mean(tf.to_float(ignored_anchors_per_image))) + + def _apply_hard_mining(self, location_losses, cls_losses, prediction_dict, + match_list): + """Applies hard mining to anchorwise losses. + + Args: + location_losses: Float tensor of shape [batch_size, num_anchors] + representing anchorwise location losses. + cls_losses: Float tensor of shape [batch_size, num_anchors] + representing anchorwise classification losses. + prediction_dict: p a dictionary holding prediction tensors with + 1) box_encodings: 4-D float tensor of shape [batch_size, num_anchors, + box_code_dimension] containing predicted boxes. + 2) class_predictions_with_background: 2-D float tensor of shape + [batch_size, num_anchors, num_classes+1] containing class predictions + (logits) for each of the anchors. Note that this tensor *includes* + background class predictions. + match_list: a list of matcher.Match objects encoding the match between + anchors and groundtruth boxes for each image of the batch, + with rows of the Match objects corresponding to groundtruth boxes + and columns corresponding to anchors. + + Returns: + mined_location_loss: a float scalar with sum of localization losses from + selected hard examples. + mined_cls_loss: a float scalar with sum of classification losses from + selected hard examples. + """ + class_pred_shape = [-1, self.anchors.num_boxes_static(), self.num_classes] + class_predictions = tf.reshape( + tf.slice(prediction_dict['class_predictions_with_background'], + [0, 0, 1], class_pred_shape), class_pred_shape) + + decoded_boxes = bcoder.batch_decode(prediction_dict['box_encodings'], + self._box_coder, self.anchors) + decoded_box_tensors_list = tf.unstack(decoded_boxes) + class_prediction_list = tf.unstack(class_predictions) + decoded_boxlist_list = [] + for box_location, box_score in zip(decoded_box_tensors_list, + class_prediction_list): + decoded_boxlist = box_list.BoxList(box_location) + decoded_boxlist.add_field('scores', box_score) + decoded_boxlist_list.append(decoded_boxlist) + return self._hard_example_miner( + location_losses=location_losses, + cls_losses=cls_losses, + decoded_boxlist_list=decoded_boxlist_list, + match_list=match_list) + + def restore_fn(self, checkpoint_path, from_detection_checkpoint=True): + """Return callable for loading a checkpoint into the tensorflow graph. + + Args: + checkpoint_path: path to checkpoint to restore. + from_detection_checkpoint: whether to restore from a full detection + checkpoint (with compatible variable names) or to restore from a + classification checkpoint for initialization prior to training. + + Returns: + a callable which takes a tf.Session as input and loads a checkpoint when + run. + """ + variables_to_restore = {} + for variable in tf.all_variables(): + if variable.op.name.startswith(self._extract_features_scope): + var_name = variable.op.name + if not from_detection_checkpoint: + var_name = ( + re.split('^' + self._extract_features_scope + '/', var_name)[-1]) + variables_to_restore[var_name] = variable + # TODO: Load variables selectively using scopes. + variables_to_restore = ( + variables_helper.get_variables_available_in_checkpoint( + variables_to_restore, checkpoint_path)) + saver = tf.train.Saver(variables_to_restore) + + def restore(sess): + saver.restore(sess, checkpoint_path) + return restore diff --git a/object_detection/meta_architectures/ssd_meta_arch_test.py b/object_detection/meta_architectures/ssd_meta_arch_test.py new file mode 100644 index 000000000..8096da9a6 --- /dev/null +++ b/object_detection/meta_architectures/ssd_meta_arch_test.py @@ -0,0 +1,258 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.meta_architectures.ssd_meta_arch.""" +import functools +import numpy as np +import tensorflow as tf + +from tensorflow.python.training import saver as tf_saver +from object_detection.core import anchor_generator +from object_detection.core import box_list +from object_detection.core import losses +from object_detection.core import post_processing +from object_detection.core import region_similarity_calculator as sim_calc +from object_detection.meta_architectures import ssd_meta_arch +from object_detection.utils import test_utils + +slim = tf.contrib.slim + + +class FakeSSDFeatureExtractor(ssd_meta_arch.SSDFeatureExtractor): + + def __init__(self): + super(FakeSSDFeatureExtractor, self).__init__( + depth_multiplier=0, min_depth=0, conv_hyperparams=None) + + def preprocess(self, resized_inputs): + return tf.identity(resized_inputs) + + def extract_features(self, preprocessed_inputs): + with tf.variable_scope('mock_model'): + features = slim.conv2d(inputs=preprocessed_inputs, num_outputs=32, + kernel_size=[1, 1], scope='layer1') + return [features] + + +class MockAnchorGenerator2x2(anchor_generator.AnchorGenerator): + """Sets up a simple 2x2 anchor grid on the unit square.""" + + def name_scope(self): + return 'MockAnchorGenerator' + + def num_anchors_per_location(self): + return [1] + + def _generate(self, feature_map_shape_list): + return box_list.BoxList( + tf.constant([[0, 0, .5, .5], + [0, .5, .5, 1], + [.5, 0, 1, .5], + [.5, .5, 1, 1]], tf.float32)) + + +class SsdMetaArchTest(tf.test.TestCase): + + def setUp(self): + """Set up mock SSD model. + + Here we set up a simple mock SSD model that will always predict 4 + detections that happen to always be exactly the anchors that are set up + in the above MockAnchorGenerator. Because we let max_detections=5, + we will also always end up with an extra padded row in the detection + results. + """ + is_training = False + self._num_classes = 1 + mock_anchor_generator = MockAnchorGenerator2x2() + mock_box_predictor = test_utils.MockBoxPredictor( + is_training, self._num_classes) + mock_box_coder = test_utils.MockBoxCoder() + fake_feature_extractor = FakeSSDFeatureExtractor() + mock_matcher = test_utils.MockMatcher() + region_similarity_calculator = sim_calc.IouSimilarity() + + def image_resizer_fn(image): + return tf.identity(image) + + classification_loss = losses.WeightedSigmoidClassificationLoss( + anchorwise_output=True) + localization_loss = losses.WeightedSmoothL1LocalizationLoss( + anchorwise_output=True) + non_max_suppression_fn = functools.partial( + post_processing.batch_multiclass_non_max_suppression, + score_thresh=-20.0, + iou_thresh=1.0, + max_size_per_class=5, + max_total_size=5) + classification_loss_weight = 1.0 + localization_loss_weight = 1.0 + normalize_loss_by_num_matches = False + + # This hard example miner is expected to be a no-op. + hard_example_miner = losses.HardExampleMiner( + num_hard_examples=None, + iou_threshold=1.0) + + self._num_anchors = 4 + self._code_size = 4 + self._model = ssd_meta_arch.SSDMetaArch( + is_training, mock_anchor_generator, mock_box_predictor, mock_box_coder, + fake_feature_extractor, mock_matcher, region_similarity_calculator, + image_resizer_fn, non_max_suppression_fn, tf.identity, + classification_loss, localization_loss, classification_loss_weight, + localization_loss_weight, normalize_loss_by_num_matches, + hard_example_miner) + + def test_predict_results_have_correct_keys_and_shapes(self): + batch_size = 3 + preprocessed_input = tf.random_uniform((batch_size, 2, 2, 3), + dtype=tf.float32) + prediction_dict = self._model.predict(preprocessed_input) + + self.assertTrue('box_encodings' in prediction_dict) + self.assertTrue('class_predictions_with_background' in prediction_dict) + self.assertTrue('feature_maps' in prediction_dict) + + expected_box_encodings_shape_out = ( + batch_size, self._num_anchors, self._code_size) + expected_class_predictions_with_background_shape_out = ( + batch_size, self._num_anchors, self._num_classes+1) + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + prediction_out = sess.run(prediction_dict) + self.assertAllEqual(prediction_out['box_encodings'].shape, + expected_box_encodings_shape_out) + self.assertAllEqual( + prediction_out['class_predictions_with_background'].shape, + expected_class_predictions_with_background_shape_out) + + def test_postprocess_results_are_correct(self): + batch_size = 2 + preprocessed_input = tf.random_uniform((batch_size, 2, 2, 3), + dtype=tf.float32) + prediction_dict = self._model.predict(preprocessed_input) + detections = self._model.postprocess(prediction_dict) + + expected_boxes = np.array([[[0, 0, .5, .5], + [0, .5, .5, 1], + [.5, 0, 1, .5], + [.5, .5, 1, 1], + [0, 0, 0, 0]], + [[0, 0, .5, .5], + [0, .5, .5, 1], + [.5, 0, 1, .5], + [.5, .5, 1, 1], + [0, 0, 0, 0]]]) + expected_scores = np.array([[0, 0, 0, 0, 0], + [0, 0, 0, 0, 0]]) + expected_classes = np.array([[0, 0, 0, 0, 0], + [0, 0, 0, 0, 0]]) + expected_num_detections = np.array([4, 4]) + + self.assertTrue('detection_boxes' in detections) + self.assertTrue('detection_scores' in detections) + self.assertTrue('detection_classes' in detections) + self.assertTrue('num_detections' in detections) + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + detections_out = sess.run(detections) + self.assertAllClose(detections_out['detection_boxes'], expected_boxes) + self.assertAllClose(detections_out['detection_scores'], expected_scores) + self.assertAllClose(detections_out['detection_classes'], expected_classes) + self.assertAllClose(detections_out['num_detections'], + expected_num_detections) + + def test_loss_results_are_correct(self): + batch_size = 2 + preprocessed_input = tf.random_uniform((batch_size, 2, 2, 3), + dtype=tf.float32) + groundtruth_boxes_list = [tf.constant([[0, 0, .5, .5]], dtype=tf.float32), + tf.constant([[0, 0, .5, .5]], dtype=tf.float32)] + groundtruth_classes_list = [tf.constant([[1]], dtype=tf.float32), + tf.constant([[1]], dtype=tf.float32)] + self._model.provide_groundtruth(groundtruth_boxes_list, + groundtruth_classes_list) + prediction_dict = self._model.predict(preprocessed_input) + loss_dict = self._model.loss(prediction_dict) + + self.assertTrue('localization_loss' in loss_dict) + self.assertTrue('classification_loss' in loss_dict) + + expected_localization_loss = 0.0 + expected_classification_loss = (batch_size * self._num_anchors + * (self._num_classes+1) * np.log(2.0)) + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + losses_out = sess.run(loss_dict) + + self.assertAllClose(losses_out['localization_loss'], + expected_localization_loss) + self.assertAllClose(losses_out['classification_loss'], + expected_classification_loss) + + def test_restore_fn_detection(self): + init_op = tf.global_variables_initializer() + saver = tf_saver.Saver() + save_path = self.get_temp_dir() + with self.test_session() as sess: + sess.run(init_op) + saved_model_path = saver.save(sess, save_path) + restore_fn = self._model.restore_fn(saved_model_path, + from_detection_checkpoint=True) + restore_fn(sess) + for var in sess.run(tf.report_uninitialized_variables()): + self.assertNotIn('FeatureExtractor', var.name) + + def test_restore_fn_classification(self): + # Define mock tensorflow classification graph and save variables. + test_graph_classification = tf.Graph() + with test_graph_classification.as_default(): + image = tf.placeholder(dtype=tf.float32, shape=[1, 20, 20, 3]) + with tf.variable_scope('mock_model'): + net = slim.conv2d(image, num_outputs=32, kernel_size=1, scope='layer1') + slim.conv2d(net, num_outputs=3, kernel_size=1, scope='layer2') + + init_op = tf.global_variables_initializer() + saver = tf.train.Saver() + save_path = self.get_temp_dir() + with self.test_session() as sess: + sess.run(init_op) + saved_model_path = saver.save(sess, save_path) + + # Create tensorflow detection graph and load variables from + # classification checkpoint. + test_graph_detection = tf.Graph() + with test_graph_detection.as_default(): + inputs_shape = [2, 2, 2, 3] + inputs = tf.to_float(tf.random_uniform( + inputs_shape, minval=0, maxval=255, dtype=tf.int32)) + preprocessed_inputs = self._model.preprocess(inputs) + prediction_dict = self._model.predict(preprocessed_inputs) + self._model.postprocess(prediction_dict) + restore_fn = self._model.restore_fn(saved_model_path, + from_detection_checkpoint=False) + with self.test_session() as sess: + restore_fn(sess) + for var in sess.run(tf.report_uninitialized_variables()): + self.assertNotIn('FeatureExtractor', var.name) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/models/BUILD b/object_detection/models/BUILD new file mode 100644 index 000000000..f4af73682 --- /dev/null +++ b/object_detection/models/BUILD @@ -0,0 +1,135 @@ +# Tensorflow Object Detection API: Models. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) + +# Apache 2.0 + +py_library( + name = "feature_map_generators", + srcs = [ + "feature_map_generators.py", + ], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/utils:ops", + ], +) + +py_test( + name = "feature_map_generators_test", + srcs = [ + "feature_map_generators_test.py", + ], + deps = [ + ":feature_map_generators", + "//tensorflow", + ], +) + +py_library( + name = "ssd_feature_extractor_test", + srcs = [ + "ssd_feature_extractor_test.py", + ], + deps = [ + "//tensorflow", + ], +) + +py_library( + name = "ssd_inception_v2_feature_extractor", + srcs = [ + "ssd_inception_v2_feature_extractor.py", + ], + deps = [ + ":feature_map_generators", + "//tensorflow", + "//tensorflow_models/object_detection/meta_architectures:ssd_meta_arch", + "//tensorflow_models/slim:inception_v2", + ], +) + +py_library( + name = "ssd_mobilenet_v1_feature_extractor", + srcs = ["ssd_mobilenet_v1_feature_extractor.py"], + deps = [ + ":feature_map_generators", + "//tensorflow", + "//tensorflow_models/object_detection/meta_architectures:ssd_meta_arch", + "//tensorflow_models/slim:mobilenet_v1", + ], +) + +py_test( + name = "ssd_inception_v2_feature_extractor_test", + srcs = [ + "ssd_inception_v2_feature_extractor_test.py", + ], + deps = [ + ":ssd_feature_extractor_test", + ":ssd_inception_v2_feature_extractor", + "//tensorflow", + ], +) + +py_test( + name = "ssd_mobilenet_v1_feature_extractor_test", + srcs = ["ssd_mobilenet_v1_feature_extractor_test.py"], + deps = [ + ":ssd_feature_extractor_test", + ":ssd_mobilenet_v1_feature_extractor", + "//tensorflow", + ], +) + +py_library( + name = "faster_rcnn_inception_resnet_v2_feature_extractor", + srcs = [ + "faster_rcnn_inception_resnet_v2_feature_extractor.py", + ], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/meta_architectures:faster_rcnn_meta_arch", + "//tensorflow_models/object_detection/utils:variables_helper", + "//tensorflow_models/slim:inception_resnet_v2", + ], +) + +py_test( + name = "faster_rcnn_inception_resnet_v2_feature_extractor_test", + srcs = [ + "faster_rcnn_inception_resnet_v2_feature_extractor_test.py", + ], + deps = [ + ":faster_rcnn_inception_resnet_v2_feature_extractor", + "//tensorflow", + ], +) + +py_library( + name = "faster_rcnn_resnet_v1_feature_extractor", + srcs = [ + "faster_rcnn_resnet_v1_feature_extractor.py", + ], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/meta_architectures:faster_rcnn_meta_arch", + "//tensorflow_models/slim:resnet_utils", + "//tensorflow_models/slim:resnet_v1", + ], +) + +py_test( + name = "faster_rcnn_resnet_v1_feature_extractor_test", + srcs = [ + "faster_rcnn_resnet_v1_feature_extractor_test.py", + ], + deps = [ + ":faster_rcnn_resnet_v1_feature_extractor", + "//tensorflow", + ], +) diff --git a/object_detection/models/__init__.py b/object_detection/models/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py b/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py new file mode 100644 index 000000000..f8c86e0c0 --- /dev/null +++ b/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py @@ -0,0 +1,216 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Inception Resnet v2 Faster R-CNN implementation. + +See "Inception-v4, Inception-ResNet and the Impact of Residual Connections on +Learning" by Szegedy et al. (https://arxiv.org/abs/1602.07261) +as well as +"Speed/accuracy trade-offs for modern convolutional object detectors" by +Huang et al. (https://arxiv.org/abs/1611.10012) +""" + +import tensorflow as tf + +from object_detection.meta_architectures import faster_rcnn_meta_arch +from object_detection.utils import variables_helper +from nets import inception_resnet_v2 + +slim = tf.contrib.slim + + +class FasterRCNNInceptionResnetV2FeatureExtractor( + faster_rcnn_meta_arch.FasterRCNNFeatureExtractor): + """Faster R-CNN with Inception Resnet v2 feature extractor implementation.""" + + def __init__(self, + is_training, + first_stage_features_stride, + reuse_weights=None, + weight_decay=0.0): + """Constructor. + + Args: + is_training: See base class. + first_stage_features_stride: See base class. + reuse_weights: See base class. + weight_decay: See base class. + + Raises: + ValueError: If `first_stage_features_stride` is not 8 or 16. + """ + if first_stage_features_stride != 8 and first_stage_features_stride != 16: + raise ValueError('`first_stage_features_stride` must be 8 or 16.') + super(FasterRCNNInceptionResnetV2FeatureExtractor, self).__init__( + is_training, first_stage_features_stride, reuse_weights, weight_decay) + + def preprocess(self, resized_inputs): + """Faster R-CNN with Inception Resnet v2 preprocessing. + + Maps pixel values to the range [-1, 1]. + + Args: + resized_inputs: A [batch, height_in, width_in, channels] float32 tensor + representing a batch of images with values between 0 and 255.0. + + Returns: + preprocessed_inputs: A [batch, height_out, width_out, channels] float32 + tensor representing a batch of images. + + """ + return (2.0 / 255.0) * resized_inputs - 1.0 + + def _extract_proposal_features(self, preprocessed_inputs, scope): + """Extracts first stage RPN features. + + Extracts features using the first half of the Inception Resnet v2 network. + We construct the network in `align_feature_maps=True` mode, which means + that all VALID paddings in the network are changed to SAME padding so that + the feature maps are aligned. + + Args: + preprocessed_inputs: A [batch, height, width, channels] float32 tensor + representing a batch of images. + scope: A scope name. + + Returns: + rpn_feature_map: A tensor with shape [batch, height, width, depth] + Raises: + InvalidArgumentError: If the spatial size of `preprocessed_inputs` + (height or width) is less than 33. + ValueError: If the created network is missing the required activation. + """ + if len(preprocessed_inputs.get_shape().as_list()) != 4: + raise ValueError('`preprocessed_inputs` must be 4 dimensional, got a ' + 'tensor of shape %s' % preprocessed_inputs.get_shape()) + + with slim.arg_scope(inception_resnet_v2.inception_resnet_v2_arg_scope( + weight_decay=self._weight_decay)): + # Forces is_training to False to disable batch norm update. + with slim.arg_scope([slim.batch_norm], is_training=False): + with tf.variable_scope('InceptionResnetV2', + reuse=self._reuse_weights) as scope: + rpn_feature_map, _ = ( + inception_resnet_v2.inception_resnet_v2_base( + preprocessed_inputs, final_endpoint='PreAuxLogits', + scope=scope, output_stride=self._first_stage_features_stride, + align_feature_maps=True)) + return rpn_feature_map + + def _extract_box_classifier_features(self, proposal_feature_maps, scope): + """Extracts second stage box classifier features. + + This function reconstructs the "second half" of the Inception ResNet v2 + network after the part defined in `_extract_proposal_features`. + + Args: + proposal_feature_maps: A 4-D float tensor with shape + [batch_size * self.max_num_proposals, crop_height, crop_width, depth] + representing the feature map cropped to each proposal. + scope: A scope name. + + Returns: + proposal_classifier_features: A 4-D float tensor with shape + [batch_size * self.max_num_proposals, height, width, depth] + representing box classifier features for each proposal. + """ + with tf.variable_scope('InceptionResnetV2', reuse=self._reuse_weights): + with slim.arg_scope(inception_resnet_v2.inception_resnet_v2_arg_scope( + weight_decay=self._weight_decay)): + # Forces is_training to False to disable batch norm update. + with slim.arg_scope([slim.batch_norm], is_training=False): + with slim.arg_scope([slim.conv2d, slim.max_pool2d, slim.avg_pool2d], + stride=1, padding='SAME'): + with tf.variable_scope('Mixed_7a'): + with tf.variable_scope('Branch_0'): + tower_conv = slim.conv2d(proposal_feature_maps, + 256, 1, scope='Conv2d_0a_1x1') + tower_conv_1 = slim.conv2d( + tower_conv, 384, 3, stride=2, + padding='VALID', scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_1'): + tower_conv1 = slim.conv2d( + proposal_feature_maps, 256, 1, scope='Conv2d_0a_1x1') + tower_conv1_1 = slim.conv2d( + tower_conv1, 288, 3, stride=2, + padding='VALID', scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_2'): + tower_conv2 = slim.conv2d( + proposal_feature_maps, 256, 1, scope='Conv2d_0a_1x1') + tower_conv2_1 = slim.conv2d(tower_conv2, 288, 3, + scope='Conv2d_0b_3x3') + tower_conv2_2 = slim.conv2d( + tower_conv2_1, 320, 3, stride=2, + padding='VALID', scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_3'): + tower_pool = slim.max_pool2d( + proposal_feature_maps, 3, stride=2, padding='VALID', + scope='MaxPool_1a_3x3') + net = tf.concat( + [tower_conv_1, tower_conv1_1, tower_conv2_2, tower_pool], 3) + net = slim.repeat(net, 9, inception_resnet_v2.block8, scale=0.20) + net = inception_resnet_v2.block8(net, activation_fn=None) + proposal_classifier_features = slim.conv2d( + net, 1536, 1, scope='Conv2d_7b_1x1') + return proposal_classifier_features + + def restore_from_classification_checkpoint_fn( + self, + checkpoint_path, + first_stage_feature_extractor_scope, + second_stage_feature_extractor_scope): + """Returns callable for loading a checkpoint into the tensorflow graph. + + Note that this overrides the default implementation in + faster_rcnn_meta_arch.FasterRCNNFeatureExtractor which does not work for + InceptionResnetV2 checkpoints. + + TODO: revisit whether it's possible to force the `Repeat` namescope as + created in `_extract_box_classifier_features` to start counting at 2 (e.g. + `Repeat_2`) so that the default restore_fn can be used. + + Args: + checkpoint_path: Path to checkpoint to restore. + first_stage_feature_extractor_scope: A scope name for the first stage + feature extractor. + second_stage_feature_extractor_scope: A scope name for the second stage + feature extractor. + + Returns: + a callable which takes a tf.Session as input and loads a checkpoint when + run. + """ + variables_to_restore = {} + for variable in tf.global_variables(): + if variable.op.name.startswith( + first_stage_feature_extractor_scope): + var_name = variable.op.name.replace( + first_stage_feature_extractor_scope + '/', '') + variables_to_restore[var_name] = variable + if variable.op.name.startswith( + second_stage_feature_extractor_scope): + var_name = variable.op.name.replace( + second_stage_feature_extractor_scope + + '/InceptionResnetV2/Repeat', 'InceptionResnetV2/Repeat_2') + var_name = var_name.replace( + second_stage_feature_extractor_scope + '/', '') + variables_to_restore[var_name] = variable + variables_to_restore = ( + variables_helper.get_variables_available_in_checkpoint( + variables_to_restore, checkpoint_path)) + saver = tf.train.Saver(variables_to_restore) + def restore(sess): + saver.restore(sess, checkpoint_path) + return restore diff --git a/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor_test.py b/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor_test.py new file mode 100644 index 000000000..cdb70187c --- /dev/null +++ b/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor_test.py @@ -0,0 +1,108 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for models.faster_rcnn_inception_resnet_v2_feature_extractor.""" + +import tensorflow as tf + +from object_detection.models import faster_rcnn_inception_resnet_v2_feature_extractor as frcnn_inc_res + + +class FasterRcnnInceptionResnetV2FeatureExtractorTest(tf.test.TestCase): + + def _build_feature_extractor(self, first_stage_features_stride): + return frcnn_inc_res.FasterRCNNInceptionResnetV2FeatureExtractor( + is_training=False, + first_stage_features_stride=first_stage_features_stride, + reuse_weights=None, + weight_decay=0.0) + + def test_extract_proposal_features_returns_expected_size(self): + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=16) + preprocessed_inputs = tf.random_uniform( + [1, 299, 299, 3], maxval=255, dtype=tf.float32) + rpn_feature_map = feature_extractor.extract_proposal_features( + preprocessed_inputs, scope='TestScope') + features_shape = tf.shape(rpn_feature_map) + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + features_shape_out = sess.run(features_shape) + self.assertAllEqual(features_shape_out, [1, 19, 19, 1088]) + + def test_extract_proposal_features_stride_eight(self): + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=8) + preprocessed_inputs = tf.random_uniform( + [1, 224, 224, 3], maxval=255, dtype=tf.float32) + rpn_feature_map = feature_extractor.extract_proposal_features( + preprocessed_inputs, scope='TestScope') + features_shape = tf.shape(rpn_feature_map) + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + features_shape_out = sess.run(features_shape) + self.assertAllEqual(features_shape_out, [1, 28, 28, 1088]) + + def test_extract_proposal_features_half_size_input(self): + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=16) + preprocessed_inputs = tf.random_uniform( + [1, 112, 112, 3], maxval=255, dtype=tf.float32) + rpn_feature_map = feature_extractor.extract_proposal_features( + preprocessed_inputs, scope='TestScope') + features_shape = tf.shape(rpn_feature_map) + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + features_shape_out = sess.run(features_shape) + self.assertAllEqual(features_shape_out, [1, 7, 7, 1088]) + + def test_extract_proposal_features_dies_on_invalid_stride(self): + with self.assertRaises(ValueError): + self._build_feature_extractor(first_stage_features_stride=99) + + def test_extract_proposal_features_dies_with_incorrect_rank_inputs(self): + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=16) + preprocessed_inputs = tf.random_uniform( + [224, 224, 3], maxval=255, dtype=tf.float32) + with self.assertRaises(ValueError): + feature_extractor.extract_proposal_features( + preprocessed_inputs, scope='TestScope') + + def test_extract_box_classifier_features_returns_expected_size(self): + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=16) + proposal_feature_maps = tf.random_uniform( + [2, 17, 17, 1088], maxval=255, dtype=tf.float32) + proposal_classifier_features = ( + feature_extractor.extract_box_classifier_features( + proposal_feature_maps, scope='TestScope')) + features_shape = tf.shape(proposal_classifier_features) + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + features_shape_out = sess.run(features_shape) + self.assertAllEqual(features_shape_out, [2, 8, 8, 1536]) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py b/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py new file mode 100644 index 000000000..d71c62453 --- /dev/null +++ b/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py @@ -0,0 +1,235 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Resnet V1 Faster R-CNN implementation. + +See "Deep Residual Learning for Image Recognition" by He et al., 2015. +https://arxiv.org/abs/1512.03385 + +Note: this implementation assumes that the classification checkpoint used +to finetune this model is trained using the same configuration as that of +the MSRA provided checkpoints +(see https://github.com/KaimingHe/deep-residual-networks), e.g., with +same preprocessing, batch norm scaling, etc. +""" +import tensorflow as tf + +from object_detection.meta_architectures import faster_rcnn_meta_arch +from nets import resnet_utils +from nets import resnet_v1 + +slim = tf.contrib.slim + + +class FasterRCNNResnetV1FeatureExtractor( + faster_rcnn_meta_arch.FasterRCNNFeatureExtractor): + """Faster R-CNN Resnet V1 feature extractor implementation.""" + + def __init__(self, + architecture, + resnet_model, + is_training, + first_stage_features_stride, + reuse_weights=None, + weight_decay=0.0): + """Constructor. + + Args: + architecture: Architecture name of the Resnet V1 model. + resnet_model: Definition of the Resnet V1 model. + is_training: See base class. + first_stage_features_stride: See base class. + reuse_weights: See base class. + weight_decay: See base class. + + Raises: + ValueError: If `first_stage_features_stride` is not 8 or 16. + """ + if first_stage_features_stride != 8 and first_stage_features_stride != 16: + raise ValueError('`first_stage_features_stride` must be 8 or 16.') + self._architecture = architecture + self._resnet_model = resnet_model + super(FasterRCNNResnetV1FeatureExtractor, self).__init__( + is_training, first_stage_features_stride, reuse_weights, weight_decay) + + def preprocess(self, resized_inputs): + """Faster R-CNN Resnet V1 preprocessing. + + VGG style channel mean subtraction as described here: + https://gist.github.com/ksimonyan/211839e770f7b538e2d8#file-readme-md + + Args: + resized_inputs: A [batch, height_in, width_in, channels] float32 tensor + representing a batch of images with values between 0 and 255.0. + + Returns: + preprocessed_inputs: A [batch, height_out, width_out, channels] float32 + tensor representing a batch of images. + + """ + channel_means = [123.68, 116.779, 103.939] + return resized_inputs - [[channel_means]] + + def _extract_proposal_features(self, preprocessed_inputs, scope): + """Extracts first stage RPN features. + + Args: + preprocessed_inputs: A [batch, height, width, channels] float32 tensor + representing a batch of images. + scope: A scope name. + + Returns: + rpn_feature_map: A tensor with shape [batch, height, width, depth] + Raises: + InvalidArgumentError: If the spatial size of `preprocessed_inputs` + (height or width) is less than 33. + ValueError: If the created network is missing the required activation. + """ + if len(preprocessed_inputs.get_shape().as_list()) != 4: + raise ValueError('`preprocessed_inputs` must be 4 dimensional, got a ' + 'tensor of shape %s' % preprocessed_inputs.get_shape()) + shape_assert = tf.Assert( + tf.logical_and( + tf.greater_equal(tf.shape(preprocessed_inputs)[1], 33), + tf.greater_equal(tf.shape(preprocessed_inputs)[2], 33)), + ['image size must at least be 33 in both height and width.']) + + with tf.control_dependencies([shape_assert]): + # Disables batchnorm for fine-tuning with smaller batch sizes. + # TODO: Figure out if it is needed when image batch size is bigger. + with slim.arg_scope( + resnet_utils.resnet_arg_scope( + batch_norm_epsilon=1e-5, + batch_norm_scale=True, + weight_decay=self._weight_decay)): + with tf.variable_scope( + self._architecture, reuse=self._reuse_weights) as var_scope: + _, activations = self._resnet_model( + preprocessed_inputs, + num_classes=None, + is_training=False, + global_pool=False, + output_stride=self._first_stage_features_stride, + scope=var_scope) + + handle = scope + '/%s/block3' % self._architecture + return activations[handle] + + def _extract_box_classifier_features(self, proposal_feature_maps, scope): + """Extracts second stage box classifier features. + + Args: + proposal_feature_maps: A 4-D float tensor with shape + [batch_size * self.max_num_proposals, crop_height, crop_width, depth] + representing the feature map cropped to each proposal. + scope: A scope name (unused). + + Returns: + proposal_classifier_features: A 4-D float tensor with shape + [batch_size * self.max_num_proposals, height, width, depth] + representing box classifier features for each proposal. + """ + with tf.variable_scope(self._architecture, reuse=self._reuse_weights): + with slim.arg_scope( + resnet_utils.resnet_arg_scope( + batch_norm_epsilon=1e-5, + batch_norm_scale=True, + weight_decay=self._weight_decay)): + with slim.arg_scope([slim.batch_norm], is_training=False): + blocks = [ + resnet_utils.Block('block4', resnet_v1.bottleneck, [{ + 'depth': 2048, + 'depth_bottleneck': 512, + 'stride': 1 + }] * 3) + ] + proposal_classifier_features = resnet_utils.stack_blocks_dense( + proposal_feature_maps, blocks) + return proposal_classifier_features + + +class FasterRCNNResnet50FeatureExtractor(FasterRCNNResnetV1FeatureExtractor): + """Faster R-CNN Resnet 50 feature extractor implementation.""" + + def __init__(self, + is_training, + first_stage_features_stride, + reuse_weights=None, + weight_decay=0.0): + """Constructor. + + Args: + is_training: See base class. + first_stage_features_stride: See base class. + reuse_weights: See base class. + weight_decay: See base class. + + Raises: + ValueError: If `first_stage_features_stride` is not 8 or 16, + or if `architecture` is not supported. + """ + super(FasterRCNNResnet50FeatureExtractor, self).__init__( + 'resnet_v1_50', resnet_v1.resnet_v1_50, is_training, + first_stage_features_stride, reuse_weights, weight_decay) + + +class FasterRCNNResnet101FeatureExtractor(FasterRCNNResnetV1FeatureExtractor): + """Faster R-CNN Resnet 101 feature extractor implementation.""" + + def __init__(self, + is_training, + first_stage_features_stride, + reuse_weights=None, + weight_decay=0.0): + """Constructor. + + Args: + is_training: See base class. + first_stage_features_stride: See base class. + reuse_weights: See base class. + weight_decay: See base class. + + Raises: + ValueError: If `first_stage_features_stride` is not 8 or 16, + or if `architecture` is not supported. + """ + super(FasterRCNNResnet101FeatureExtractor, self).__init__( + 'resnet_v1_101', resnet_v1.resnet_v1_101, is_training, + first_stage_features_stride, reuse_weights, weight_decay) + + +class FasterRCNNResnet152FeatureExtractor(FasterRCNNResnetV1FeatureExtractor): + """Faster R-CNN Resnet 152 feature extractor implementation.""" + + def __init__(self, + is_training, + first_stage_features_stride, + reuse_weights=None, + weight_decay=0.0): + """Constructor. + + Args: + is_training: See base class. + first_stage_features_stride: See base class. + reuse_weights: See base class. + weight_decay: See base class. + + Raises: + ValueError: If `first_stage_features_stride` is not 8 or 16, + or if `architecture` is not supported. + """ + super(FasterRCNNResnet152FeatureExtractor, self).__init__( + 'resnet_v1_152', resnet_v1.resnet_v1_152, is_training, + first_stage_features_stride, reuse_weights, weight_decay) diff --git a/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_test.py b/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_test.py new file mode 100644 index 000000000..57ec5793a --- /dev/null +++ b/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_test.py @@ -0,0 +1,136 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.models.faster_rcnn_resnet_v1_feature_extractor.""" + +import numpy as np +import tensorflow as tf + +from object_detection.models import faster_rcnn_resnet_v1_feature_extractor as faster_rcnn_resnet_v1 + + +class FasterRcnnResnetV1FeatureExtractorTest(tf.test.TestCase): + + def _build_feature_extractor(self, + first_stage_features_stride, + architecture='resnet_v1_101'): + feature_extractor_map = { + 'resnet_v1_50': + faster_rcnn_resnet_v1.FasterRCNNResnet50FeatureExtractor, + 'resnet_v1_101': + faster_rcnn_resnet_v1.FasterRCNNResnet101FeatureExtractor, + 'resnet_v1_152': + faster_rcnn_resnet_v1.FasterRCNNResnet152FeatureExtractor + } + return feature_extractor_map[architecture]( + is_training=False, + first_stage_features_stride=first_stage_features_stride, + reuse_weights=None, + weight_decay=0.0) + + def test_extract_proposal_features_returns_expected_size(self): + for architecture in ['resnet_v1_50', 'resnet_v1_101', 'resnet_v1_152']: + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=16, architecture=architecture) + preprocessed_inputs = tf.random_uniform( + [4, 224, 224, 3], maxval=255, dtype=tf.float32) + rpn_feature_map = feature_extractor.extract_proposal_features( + preprocessed_inputs, scope='TestScope') + features_shape = tf.shape(rpn_feature_map) + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + features_shape_out = sess.run(features_shape) + self.assertAllEqual(features_shape_out, [4, 14, 14, 1024]) + + def test_extract_proposal_features_stride_eight(self): + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=8) + preprocessed_inputs = tf.random_uniform( + [4, 224, 224, 3], maxval=255, dtype=tf.float32) + rpn_feature_map = feature_extractor.extract_proposal_features( + preprocessed_inputs, scope='TestScope') + features_shape = tf.shape(rpn_feature_map) + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + features_shape_out = sess.run(features_shape) + self.assertAllEqual(features_shape_out, [4, 28, 28, 1024]) + + def test_extract_proposal_features_half_size_input(self): + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=16) + preprocessed_inputs = tf.random_uniform( + [1, 112, 112, 3], maxval=255, dtype=tf.float32) + rpn_feature_map = feature_extractor.extract_proposal_features( + preprocessed_inputs, scope='TestScope') + features_shape = tf.shape(rpn_feature_map) + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + features_shape_out = sess.run(features_shape) + self.assertAllEqual(features_shape_out, [1, 7, 7, 1024]) + + def test_extract_proposal_features_dies_on_invalid_stride(self): + with self.assertRaises(ValueError): + self._build_feature_extractor(first_stage_features_stride=99) + + def test_extract_proposal_features_dies_on_very_small_images(self): + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=16) + preprocessed_inputs = tf.placeholder(tf.float32, (4, None, None, 3)) + rpn_feature_map = feature_extractor.extract_proposal_features( + preprocessed_inputs, scope='TestScope') + features_shape = tf.shape(rpn_feature_map) + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + with self.assertRaises(tf.errors.InvalidArgumentError): + sess.run( + features_shape, + feed_dict={preprocessed_inputs: np.random.rand(4, 32, 32, 3)}) + + def test_extract_proposal_features_dies_with_incorrect_rank_inputs(self): + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=16) + preprocessed_inputs = tf.random_uniform( + [224, 224, 3], maxval=255, dtype=tf.float32) + with self.assertRaises(ValueError): + feature_extractor.extract_proposal_features( + preprocessed_inputs, scope='TestScope') + + def test_extract_box_classifier_features_returns_expected_size(self): + feature_extractor = self._build_feature_extractor( + first_stage_features_stride=16) + proposal_feature_maps = tf.random_uniform( + [3, 7, 7, 1024], maxval=255, dtype=tf.float32) + proposal_classifier_features = ( + feature_extractor.extract_box_classifier_features( + proposal_feature_maps, scope='TestScope')) + features_shape = tf.shape(proposal_classifier_features) + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + features_shape_out = sess.run(features_shape) + self.assertAllEqual(features_shape_out, [3, 7, 7, 2048]) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/models/feature_map_generators.py b/object_detection/models/feature_map_generators.py new file mode 100644 index 000000000..44e7dd0a3 --- /dev/null +++ b/object_detection/models/feature_map_generators.py @@ -0,0 +1,179 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Functions to generate a list of feature maps based on image features. + +Provides several feature map generators that can be used to build object +detection feature extractors. + +Object detection feature extractors usually are built by stacking two components +- A base feature extractor such as Inception V3 and a feature map generator. +Feature map generators build on the base feature extractors and produce a list +of final feature maps. +""" +import collections +import tensorflow as tf +from object_detection.utils import ops +slim = tf.contrib.slim + + +def get_depth_fn(depth_multiplier, min_depth): + """Builds a callable to compute depth (output channels) of conv filters. + + Args: + depth_multiplier: a multiplier for the nominal depth. + min_depth: a lower bound on the depth of filters. + + Returns: + A callable that takes in a nominal depth and returns the depth to use. + """ + def multiply_depth(depth): + new_depth = int(depth * depth_multiplier) + return max(new_depth, min_depth) + return multiply_depth + + +def multi_resolution_feature_maps(feature_map_layout, depth_multiplier, + min_depth, insert_1x1_conv, image_features): + """Generates multi resolution feature maps from input image features. + + Generates multi-scale feature maps for detection as in the SSD papers by + Liu et al: https://arxiv.org/pdf/1512.02325v2.pdf, See Sec 2.1. + + More specifically, it performs the following two tasks: + 1) If a layer name is provided in the configuration, returns that layer as a + feature map. + 2) If a layer name is left as an empty string, constructs a new feature map + based on the spatial shape and depth configuration. Note that the current + implementation only supports generating new layers using convolution of + stride 2 resulting in a spatial resolution reduction by a factor of 2. + + An example of the configuration for Inception V3: + { + 'from_layer': ['Mixed_5d', 'Mixed_6e', 'Mixed_7c', '', '', ''], + 'layer_depth': [-1, -1, -1, 512, 256, 128], + 'anchor_strides': [16, 32, 64, -1, -1, -1] + } + + Args: + feature_map_layout: Dictionary of specifications for the feature map + layouts in the following format (Inception V2/V3 respectively): + { + 'from_layer': ['Mixed_3c', 'Mixed_4c', 'Mixed_5c', '', '', ''], + 'layer_depth': [-1, -1, -1, 512, 256, 128], + 'anchor_strides': [16, 32, 64, -1, -1, -1] + } + or + { + 'from_layer': ['Mixed_5d', 'Mixed_6e', 'Mixed_7c', '', '', '', ''], + 'layer_depth': [-1, -1, -1, 512, 256, 128], + 'anchor_strides': [16, 32, 64, -1, -1, -1] + } + If 'from_layer' is specified, the specified feature map is directly used + as a box predictor layer, and the layer_depth is directly infered from the + feature map (instead of using the provided 'layer_depth' parameter). In + this case, our convention is to set 'layer_depth' to -1 for clarity. + Otherwise, if 'from_layer' is an empty string, then the box predictor + layer will be built from the previous layer using convolution operations. + Note that the current implementation only supports generating new layers + using convolutions of stride 2 (resulting in a spatial resolution + reduction by a factor of 2), and will be extended to a more flexible + design. Finally, the optional 'anchor_strides' can be used to specify the + anchor stride at each layer where 'from_layer' is specified. Our + convention is to set 'anchor_strides' to -1 whenever at the positions that + 'from_layer' is an empty string, and anchor strides at these layers will + be inferred from the previous layer's anchor strides and the current + layer's stride length. In the case where 'anchor_strides' is not + specified, the anchor strides will default to the image width and height + divided by the number of anchors. + depth_multiplier: Depth multiplier for convolutional layers. + min_depth: Minimum depth for convolutional layers. + insert_1x1_conv: A boolean indicating whether an additional 1x1 convolution + should be inserted before shrinking the feature map. + image_features: A dictionary of handles to activation tensors from the + base feature extractor. + + Returns: + feature_maps: an OrderedDict mapping keys (feature map names) to + tensors where each tensor has shape [batch, height_i, width_i, depth_i]. + + Raises: + ValueError: if the number entries in 'from_layer' and + 'layer_depth' do not match. + ValueError: if the generated layer does not have the same resolution + as specified. + """ + depth_fn = get_depth_fn(depth_multiplier, min_depth) + + feature_map_keys = [] + feature_maps = [] + base_from_layer = '' + feature_map_strides = None + use_depthwise = False + if 'anchor_strides' in feature_map_layout: + feature_map_strides = (feature_map_layout['anchor_strides']) + if 'use_depthwise' in feature_map_layout: + use_depthwise = feature_map_layout['use_depthwise'] + for index, (from_layer, layer_depth) in enumerate( + zip(feature_map_layout['from_layer'], feature_map_layout['layer_depth'])): + if from_layer: + feature_map = image_features[from_layer] + base_from_layer = from_layer + feature_map_keys.append(from_layer) + else: + pre_layer = feature_maps[-1] + intermediate_layer = pre_layer + if insert_1x1_conv: + layer_name = '{}_1_Conv2d_{}_1x1_{}'.format( + base_from_layer, index, depth_fn(layer_depth / 2)) + intermediate_layer = slim.conv2d( + pre_layer, + depth_fn(layer_depth / 2), [1, 1], + padding='SAME', + stride=1, + scope=layer_name) + stride = 2 + layer_name = '{}_2_Conv2d_{}_3x3_s2_{}'.format( + base_from_layer, index, depth_fn(layer_depth)) + if use_depthwise: + feature_map = slim.separable_conv2d( + ops.pad_to_multiple(intermediate_layer, stride), + None, [3, 3], + depth_multiplier=1, + padding='SAME', + stride=stride, + scope=layer_name + '_depthwise') + feature_map = slim.conv2d( + feature_map, + depth_fn(layer_depth), [1, 1], + padding='SAME', + stride=1, + scope=layer_name) + else: + feature_map = slim.conv2d( + ops.pad_to_multiple(intermediate_layer, stride), + depth_fn(layer_depth), [3, 3], + padding='SAME', + stride=stride, + scope=layer_name) + + if (index > 0 and feature_map_strides and + feature_map_strides[index - 1] > 0): + feature_map_strides[index] = ( + stride * feature_map_strides[index - 1]) + feature_map_keys.append(layer_name) + feature_maps.append(feature_map) + return collections.OrderedDict( + [(x, y) for (x, y) in zip(feature_map_keys, feature_maps)]) diff --git a/object_detection/models/feature_map_generators_test.py b/object_detection/models/feature_map_generators_test.py new file mode 100644 index 000000000..690723db1 --- /dev/null +++ b/object_detection/models/feature_map_generators_test.py @@ -0,0 +1,114 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for feature map generators.""" + +import tensorflow as tf + +from object_detection.models import feature_map_generators + +INCEPTION_V2_LAYOUT = { + 'from_layer': ['Mixed_3c', 'Mixed_4c', 'Mixed_5c', '', '', ''], + 'layer_depth': [-1, -1, -1, 512, 256, 256], + 'anchor_strides': [16, 32, 64, -1, -1, -1], + 'layer_target_norm': [20.0, -1, -1, -1, -1, -1], +} + +INCEPTION_V3_LAYOUT = { + 'from_layer': ['Mixed_5d', 'Mixed_6e', 'Mixed_7c', '', '', ''], + 'layer_depth': [-1, -1, -1, 512, 256, 128], + 'anchor_strides': [16, 32, 64, -1, -1, -1], + 'aspect_ratios': [1.0, 2.0, 1.0/2, 3.0, 1.0/3] +} + + +# TODO: add tests with different anchor strides. +class MultiResolutionFeatureMapGeneratorTest(tf.test.TestCase): + + def test_get_expected_feature_map_shapes_with_inception_v2(self): + image_features = { + 'Mixed_3c': tf.random_uniform([4, 28, 28, 256], dtype=tf.float32), + 'Mixed_4c': tf.random_uniform([4, 14, 14, 576], dtype=tf.float32), + 'Mixed_5c': tf.random_uniform([4, 7, 7, 1024], dtype=tf.float32) + } + feature_maps = feature_map_generators.multi_resolution_feature_maps( + feature_map_layout=INCEPTION_V2_LAYOUT, + depth_multiplier=1, + min_depth=32, + insert_1x1_conv=True, + image_features=image_features) + + expected_feature_map_shapes = { + 'Mixed_3c': (4, 28, 28, 256), + 'Mixed_4c': (4, 14, 14, 576), + 'Mixed_5c': (4, 7, 7, 1024), + 'Mixed_5c_2_Conv2d_3_3x3_s2_512': (4, 4, 4, 512), + 'Mixed_5c_2_Conv2d_4_3x3_s2_256': (4, 2, 2, 256), + 'Mixed_5c_2_Conv2d_5_3x3_s2_256': (4, 1, 1, 256)} + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + out_feature_maps = sess.run(feature_maps) + out_feature_map_shapes = dict( + (key, value.shape) for key, value in out_feature_maps.iteritems()) + self.assertDictEqual(out_feature_map_shapes, expected_feature_map_shapes) + + def test_get_expected_feature_map_shapes_with_inception_v3(self): + image_features = { + 'Mixed_5d': tf.random_uniform([4, 35, 35, 256], dtype=tf.float32), + 'Mixed_6e': tf.random_uniform([4, 17, 17, 576], dtype=tf.float32), + 'Mixed_7c': tf.random_uniform([4, 8, 8, 1024], dtype=tf.float32) + } + + feature_maps = feature_map_generators.multi_resolution_feature_maps( + feature_map_layout=INCEPTION_V3_LAYOUT, + depth_multiplier=1, + min_depth=32, + insert_1x1_conv=True, + image_features=image_features) + + expected_feature_map_shapes = { + 'Mixed_5d': (4, 35, 35, 256), + 'Mixed_6e': (4, 17, 17, 576), + 'Mixed_7c': (4, 8, 8, 1024), + 'Mixed_7c_2_Conv2d_3_3x3_s2_512': (4, 4, 4, 512), + 'Mixed_7c_2_Conv2d_4_3x3_s2_256': (4, 2, 2, 256), + 'Mixed_7c_2_Conv2d_5_3x3_s2_128': (4, 1, 1, 128)} + + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + out_feature_maps = sess.run(feature_maps) + out_feature_map_shapes = dict( + (key, value.shape) for key, value in out_feature_maps.iteritems()) + self.assertDictEqual(out_feature_map_shapes, expected_feature_map_shapes) + + +class GetDepthFunctionTest(tf.test.TestCase): + + def test_return_min_depth_when_multiplier_is_small(self): + depth_fn = feature_map_generators.get_depth_fn(depth_multiplier=0.5, + min_depth=16) + self.assertEqual(depth_fn(16), 16) + + def test_return_correct_depth_with_multiplier(self): + depth_fn = feature_map_generators.get_depth_fn(depth_multiplier=0.5, + min_depth=16) + self.assertEqual(depth_fn(64), 32) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/models/ssd_feature_extractor_test.py b/object_detection/models/ssd_feature_extractor_test.py new file mode 100644 index 000000000..434a4978f --- /dev/null +++ b/object_detection/models/ssd_feature_extractor_test.py @@ -0,0 +1,96 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Base test class SSDFeatureExtractors.""" + +from abc import abstractmethod + +import numpy as np +import tensorflow as tf + + +class SsdFeatureExtractorTestBase(object): + + def _validate_features_shape(self, + feature_extractor, + preprocessed_inputs, + expected_feature_map_shapes): + """Checks the extracted features are of correct shape. + + Args: + feature_extractor: The feature extractor to test. + preprocessed_inputs: A [batch, height, width, 3] tensor to extract + features with. + expected_feature_map_shapes: The expected shape of the extracted features. + """ + feature_maps = feature_extractor.extract_features(preprocessed_inputs) + feature_map_shapes = [tf.shape(feature_map) for feature_map in feature_maps] + init_op = tf.global_variables_initializer() + with self.test_session() as sess: + sess.run(init_op) + feature_map_shapes_out = sess.run(feature_map_shapes) + for shape_out, exp_shape_out in zip( + feature_map_shapes_out, expected_feature_map_shapes): + self.assertAllEqual(shape_out, exp_shape_out) + + @abstractmethod + def _create_feature_extractor(self, depth_multiplier): + """Constructs a new feature extractor. + + Args: + depth_multiplier: float depth multiplier for feature extractor + Returns: + an ssd_meta_arch.SSDFeatureExtractor object. + """ + pass + + def check_extract_features_returns_correct_shape( + self, + image_height, + image_width, + depth_multiplier, + expected_feature_map_shapes_out): + feature_extractor = self._create_feature_extractor(depth_multiplier) + preprocessed_inputs = tf.random_uniform( + [4, image_height, image_width, 3], dtype=tf.float32) + self._validate_features_shape( + feature_extractor, preprocessed_inputs, expected_feature_map_shapes_out) + + def check_extract_features_raises_error_with_invalid_image_size( + self, + image_height, + image_width, + depth_multiplier): + feature_extractor = self._create_feature_extractor(depth_multiplier) + preprocessed_inputs = tf.placeholder(tf.float32, (4, None, None, 3)) + feature_maps = feature_extractor.extract_features(preprocessed_inputs) + test_preprocessed_image = np.random.rand(4, image_height, image_width, 3) + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + with self.assertRaises(tf.errors.InvalidArgumentError): + sess.run(feature_maps, + feed_dict={preprocessed_inputs: test_preprocessed_image}) + + def check_feature_extractor_variables_under_scope(self, + depth_multiplier, + scope_name): + g = tf.Graph() + with g.as_default(): + feature_extractor = self._create_feature_extractor(depth_multiplier) + preprocessed_inputs = tf.placeholder(tf.float32, (4, None, None, 3)) + feature_extractor.extract_features(preprocessed_inputs) + variables = g.get_collection(tf.GraphKeys.GLOBAL_VARIABLES) + for variable in variables: + self.assertTrue(variable.name.startswith(scope_name)) diff --git a/object_detection/models/ssd_inception_v2_feature_extractor.py b/object_detection/models/ssd_inception_v2_feature_extractor.py new file mode 100644 index 000000000..2791f4aa0 --- /dev/null +++ b/object_detection/models/ssd_inception_v2_feature_extractor.py @@ -0,0 +1,99 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""SSDFeatureExtractor for InceptionV2 features.""" +import tensorflow as tf + +from object_detection.meta_architectures import ssd_meta_arch +from object_detection.models import feature_map_generators +from nets import inception_v2 + +slim = tf.contrib.slim + + +class SSDInceptionV2FeatureExtractor(ssd_meta_arch.SSDFeatureExtractor): + """SSD Feature Extractor using InceptionV2 features.""" + + def __init__(self, + depth_multiplier, + min_depth, + conv_hyperparams, + reuse_weights=None): + """InceptionV2 Feature Extractor for SSD Models. + + Args: + depth_multiplier: float depth multiplier for feature extractor. + min_depth: minimum feature extractor depth. + conv_hyperparams: tf slim arg_scope for conv2d and separable_conv2d ops. + reuse_weights: Whether to reuse variables. Default is None. + """ + super(SSDInceptionV2FeatureExtractor, self).__init__( + depth_multiplier, min_depth, conv_hyperparams, reuse_weights) + + def preprocess(self, resized_inputs): + """SSD preprocessing. + + Maps pixel values to the range [-1, 1]. + + Args: + resized_inputs: a [batch, height, width, channels] float tensor + representing a batch of images. + + Returns: + preprocessed_inputs: a [batch, height, width, channels] float tensor + representing a batch of images. + """ + return (2.0 / 255.0) * resized_inputs - 1.0 + + def extract_features(self, preprocessed_inputs): + """Extract features from preprocessed inputs. + + Args: + preprocessed_inputs: a [batch, height, width, channels] float tensor + representing a batch of images. + + Returns: + feature_maps: a list of tensors where the ith tensor has shape + [batch, height_i, width_i, depth_i] + """ + preprocessed_inputs.get_shape().assert_has_rank(4) + shape_assert = tf.Assert( + tf.logical_and(tf.greater_equal(tf.shape(preprocessed_inputs)[1], 33), + tf.greater_equal(tf.shape(preprocessed_inputs)[2], 33)), + ['image size must at least be 33 in both height and width.']) + + feature_map_layout = { + 'from_layer': ['Mixed_4c', 'Mixed_5c', '', '', '', ''], + 'layer_depth': [-1, -1, 512, 256, 256, 128], + } + + with tf.control_dependencies([shape_assert]): + with slim.arg_scope(self._conv_hyperparams): + with tf.variable_scope('InceptionV2', + reuse=self._reuse_weights) as scope: + _, image_features = inception_v2.inception_v2_base( + preprocessed_inputs, + final_endpoint='Mixed_5c', + min_depth=self._min_depth, + depth_multiplier=self._depth_multiplier, + scope=scope) + feature_maps = feature_map_generators.multi_resolution_feature_maps( + feature_map_layout=feature_map_layout, + depth_multiplier=self._depth_multiplier, + min_depth=self._min_depth, + insert_1x1_conv=True, + image_features=image_features) + + return feature_maps.values() diff --git a/object_detection/models/ssd_inception_v2_feature_extractor_test.py b/object_detection/models/ssd_inception_v2_feature_extractor_test.py new file mode 100644 index 000000000..9be9ded6d --- /dev/null +++ b/object_detection/models/ssd_inception_v2_feature_extractor_test.py @@ -0,0 +1,95 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for object_detection.models.ssd_inception_v2_feature_extractor.""" +import numpy as np +import tensorflow as tf + +from object_detection.models import ssd_feature_extractor_test +from object_detection.models import ssd_inception_v2_feature_extractor + + +class SsdInceptionV2FeatureExtractorTest( + ssd_feature_extractor_test.SsdFeatureExtractorTestBase, + tf.test.TestCase): + + def _create_feature_extractor(self, depth_multiplier): + """Constructs a SsdInceptionV2FeatureExtractor. + + Args: + depth_multiplier: float depth multiplier for feature extractor + Returns: + an ssd_inception_v2_feature_extractor.SsdInceptionV2FeatureExtractor. + """ + min_depth = 32 + conv_hyperparams = {} + return ssd_inception_v2_feature_extractor.SSDInceptionV2FeatureExtractor( + depth_multiplier, min_depth, conv_hyperparams) + + def test_extract_features_returns_correct_shapes_128(self): + image_height = 128 + image_width = 128 + depth_multiplier = 1.0 + expected_feature_map_shape = [(4, 8, 8, 576), (4, 4, 4, 1024), + (4, 2, 2, 512), (4, 1, 1, 256), + (4, 1, 1, 256), (4, 1, 1, 128)] + self.check_extract_features_returns_correct_shape( + image_height, image_width, depth_multiplier, expected_feature_map_shape) + + def test_extract_features_returns_correct_shapes_299(self): + image_height = 299 + image_width = 299 + depth_multiplier = 1.0 + expected_feature_map_shape = [(4, 19, 19, 576), (4, 10, 10, 1024), + (4, 5, 5, 512), (4, 3, 3, 256), + (4, 2, 2, 256), (4, 1, 1, 128)] + self.check_extract_features_returns_correct_shape( + image_height, image_width, depth_multiplier, expected_feature_map_shape) + + def test_extract_features_returns_correct_shapes_enforcing_min_depth(self): + image_height = 299 + image_width = 299 + depth_multiplier = 0.5**12 + expected_feature_map_shape = [(4, 19, 19, 128), (4, 10, 10, 128), + (4, 5, 5, 32), (4, 3, 3, 32), + (4, 2, 2, 32), (4, 1, 1, 32)] + self.check_extract_features_returns_correct_shape( + image_height, image_width, depth_multiplier, expected_feature_map_shape) + + def test_extract_features_raises_error_with_invalid_image_size(self): + image_height = 32 + image_width = 32 + depth_multiplier = 1.0 + self.check_extract_features_raises_error_with_invalid_image_size( + image_height, image_width, depth_multiplier) + + def test_preprocess_returns_correct_value_range(self): + image_height = 128 + image_width = 128 + depth_multiplier = 1 + test_image = np.random.rand(4, image_height, image_width, 3) + feature_extractor = self._create_feature_extractor(depth_multiplier) + preprocessed_image = feature_extractor.preprocess(test_image) + self.assertTrue(np.all(np.less_equal(np.abs(preprocessed_image), 1.0))) + + def test_variables_only_created_in_scope(self): + depth_multiplier = 1 + scope_name = 'InceptionV2' + self.check_feature_extractor_variables_under_scope(depth_multiplier, + scope_name) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/models/ssd_mobilenet_v1_feature_extractor.py b/object_detection/models/ssd_mobilenet_v1_feature_extractor.py new file mode 100644 index 000000000..fa4360c44 --- /dev/null +++ b/object_detection/models/ssd_mobilenet_v1_feature_extractor.py @@ -0,0 +1,101 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""SSDFeatureExtractor for MobilenetV1 features.""" + +import tensorflow as tf + +from object_detection.meta_architectures import ssd_meta_arch +from object_detection.models import feature_map_generators +from nets import mobilenet_v1 + +slim = tf.contrib.slim + + +class SSDMobileNetV1FeatureExtractor(ssd_meta_arch.SSDFeatureExtractor): + """SSD Feature Extractor using MobilenetV1 features.""" + + def __init__(self, + depth_multiplier, + min_depth, + conv_hyperparams, + reuse_weights=None): + """MobileNetV1 Feature Extractor for SSD Models. + + Args: + depth_multiplier: float depth multiplier for feature extractor. + min_depth: minimum feature extractor depth. + conv_hyperparams: tf slim arg_scope for conv2d and separable_conv2d ops. + reuse_weights: Whether to reuse variables. Default is None. + """ + super(SSDMobileNetV1FeatureExtractor, self).__init__( + depth_multiplier, min_depth, conv_hyperparams, reuse_weights) + + def preprocess(self, resized_inputs): + """SSD preprocessing. + + Maps pixel values to the range [-1, 1]. + + Args: + resized_inputs: a [batch, height, width, channels] float tensor + representing a batch of images. + + Returns: + preprocessed_inputs: a [batch, height, width, channels] float tensor + representing a batch of images. + """ + return (2.0 / 255.0) * resized_inputs - 1.0 + + def extract_features(self, preprocessed_inputs): + """Extract features from preprocessed inputs. + + Args: + preprocessed_inputs: a [batch, height, width, channels] float tensor + representing a batch of images. + + Returns: + feature_maps: a list of tensors where the ith tensor has shape + [batch, height_i, width_i, depth_i] + """ + preprocessed_inputs.get_shape().assert_has_rank(4) + shape_assert = tf.Assert( + tf.logical_and(tf.greater_equal(tf.shape(preprocessed_inputs)[1], 33), + tf.greater_equal(tf.shape(preprocessed_inputs)[2], 33)), + ['image size must at least be 33 in both height and width.']) + + feature_map_layout = { + 'from_layer': ['Conv2d_11_pointwise', 'Conv2d_13_pointwise', '', '', + '', ''], + 'layer_depth': [-1, -1, 512, 256, 256, 128], + } + + with tf.control_dependencies([shape_assert]): + with slim.arg_scope(self._conv_hyperparams): + with tf.variable_scope('MobilenetV1', + reuse=self._reuse_weights) as scope: + _, image_features = mobilenet_v1.mobilenet_v1_base( + preprocessed_inputs, + final_endpoint='Conv2d_13_pointwise', + min_depth=self._min_depth, + depth_multiplier=self._depth_multiplier, + scope=scope) + feature_maps = feature_map_generators.multi_resolution_feature_maps( + feature_map_layout=feature_map_layout, + depth_multiplier=self._depth_multiplier, + min_depth=self._min_depth, + insert_1x1_conv=True, + image_features=image_features) + + return feature_maps.values() diff --git a/object_detection/models/ssd_mobilenet_v1_feature_extractor_test.py b/object_detection/models/ssd_mobilenet_v1_feature_extractor_test.py new file mode 100644 index 000000000..49cd734ab --- /dev/null +++ b/object_detection/models/ssd_mobilenet_v1_feature_extractor_test.py @@ -0,0 +1,94 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for ssd_mobilenet_v1_feature_extractor.""" +import numpy as np +import tensorflow as tf + +from object_detection.models import ssd_feature_extractor_test +from object_detection.models import ssd_mobilenet_v1_feature_extractor + + +class SsdMobilenetV1FeatureExtractorTest( + ssd_feature_extractor_test.SsdFeatureExtractorTestBase, tf.test.TestCase): + + def _create_feature_extractor(self, depth_multiplier): + """Constructs a new feature extractor. + + Args: + depth_multiplier: float depth multiplier for feature extractor + Returns: + an ssd_meta_arch.SSDFeatureExtractor object. + """ + min_depth = 32 + conv_hyperparams = {} + return ssd_mobilenet_v1_feature_extractor.SSDMobileNetV1FeatureExtractor( + depth_multiplier, min_depth, conv_hyperparams) + + def test_extract_features_returns_correct_shapes_128(self): + image_height = 128 + image_width = 128 + depth_multiplier = 1.0 + expected_feature_map_shape = [(4, 8, 8, 512), (4, 4, 4, 1024), + (4, 2, 2, 512), (4, 1, 1, 256), + (4, 1, 1, 256), (4, 1, 1, 128)] + self.check_extract_features_returns_correct_shape( + image_height, image_width, depth_multiplier, expected_feature_map_shape) + + def test_extract_features_returns_correct_shapes_299(self): + image_height = 299 + image_width = 299 + depth_multiplier = 1.0 + expected_feature_map_shape = [(4, 19, 19, 512), (4, 10, 10, 1024), + (4, 5, 5, 512), (4, 3, 3, 256), + (4, 2, 2, 256), (4, 1, 1, 128)] + self.check_extract_features_returns_correct_shape( + image_height, image_width, depth_multiplier, expected_feature_map_shape) + + def test_extract_features_returns_correct_shapes_enforcing_min_depth(self): + image_height = 299 + image_width = 299 + depth_multiplier = 0.5**12 + expected_feature_map_shape = [(4, 19, 19, 32), (4, 10, 10, 32), + (4, 5, 5, 32), (4, 3, 3, 32), + (4, 2, 2, 32), (4, 1, 1, 32)] + self.check_extract_features_returns_correct_shape( + image_height, image_width, depth_multiplier, expected_feature_map_shape) + + def test_extract_features_raises_error_with_invalid_image_size(self): + image_height = 32 + image_width = 32 + depth_multiplier = 1.0 + self.check_extract_features_raises_error_with_invalid_image_size( + image_height, image_width, depth_multiplier) + + def test_preprocess_returns_correct_value_range(self): + image_height = 128 + image_width = 128 + depth_multiplier = 1 + test_image = np.random.rand(4, image_height, image_width, 3) + feature_extractor = self._create_feature_extractor(depth_multiplier) + preprocessed_image = feature_extractor.preprocess(test_image) + self.assertTrue(np.all(np.less_equal(np.abs(preprocessed_image), 1.0))) + + def test_variables_only_created_in_scope(self): + depth_multiplier = 1 + scope_name = 'MobilenetV1' + self.check_feature_extractor_variables_under_scope(depth_multiplier, + scope_name) + + +if __name__ == '__main__': + tf.test.main() diff --git a/object_detection/object_detection.blueprint b/object_detection/object_detection.blueprint new file mode 100644 index 000000000..9d6bbffea --- /dev/null +++ b/object_detection/object_detection.blueprint @@ -0,0 +1,56 @@ +include "devtools/blueprint/ncl/blueprint_file.ncl"; +include "releasetools/rapid/ncl/rapid_config.ncl"; + +blueprint_file = ::blueprint::BlueprintFile( + project_name = "open_tf_object_detection", + project_grouping = ["Search", "Search Features", "Image Search", "Visual Search"], + mdb_groups = ["vale-project"], + + tech_lead = ["jonathanhuang", "kpmurphy"], + + dev_mailing_list = "object-detection-reviews@google.com", + + buganizer_component_ids = [163596], + + owned_code_depotpaths = [ + "//depot/google3/third_party/tensorflow_models/object_detection/...", + ], + buildable_units = [ + ::blueprint::BuildableUnit( + name = "open_tf_object_detection.fastbuild", + enable_continuous_build = true, + enable_release = false, + continuous_build_email = ::blueprint::ContinuousBuildEmailInfo( + build_cop_email_addrs = ["vale-project+tap@google.com"]), + build_patterns = [ + "third_party/tensorflow_models/object_detection/...", + ], + build_flags = [ + "--compilation_mode=fastbuild", + ], + test_patterns = [ + "third_party/tensorflow_models/object_detection/...", + ], + enable_coverage = true, + + ), + ::blueprint::BuildableUnit( + name = "open_tf_object_detection.opt", + enable_continuous_build = true, + enable_release = false, + continuous_build_email = ::blueprint::ContinuousBuildEmailInfo( + build_cop_email_addrs = ["vale-project+tap@google.com"]), + build_patterns = [ + "third_party/tensorflow_models/object_detection/...", + "image/understanding/object_detection/...", + ], + build_flags = [ + "--compilation_mode=opt", + ], + test_patterns = [ + "third_party/tensorflow_models/object_detection/...", + "image/understanding/object_detection/...", + ], + ), + ], +); diff --git a/object_detection/object_detection_tutorial.ipynb b/object_detection/object_detection_tutorial.ipynb new file mode 100644 index 000000000..331e210cf --- /dev/null +++ b/object_detection/object_detection_tutorial.ipynb @@ -0,0 +1,263 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Object Detection Demo\n", + "Welcome to the object detection inference walkthrough! This notebook will walk you step by step through the process of using a pre-trained model to detect objects in an image." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Imports" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true, + "scrolled": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import os\n", + "import sys\n", + "import tensorflow as tf\n", + "\n", + "from collections import defaultdict\n", + "from io import StringIO\n", + "from matplotlib import pyplot as plt\n", + "from PIL import Image" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Env setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# This is needed to display the images.\n", + "%matplotlib inline\n", + "\n", + "# This is needed since the notebook is stored in the object_detection folder.\n", + "sys.path.append(\"..\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Object detection imports\n", + "Here are the imports from the object detection module." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from utils import label_map_util\n", + "\n", + "from utils import visualization_utils as vis_util" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Model preparation " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Variables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Path to frozen detection graph. This is the actual model that is used for the object detection.\n", + "PATH_TO_CKPT = os.path.join('test_ckpt', 'ssd_inception_v2.pb')\n", + "\n", + "# List of the strings that is used to add correct label for each box.\n", + "PATH_TO_LABELS = os.path.join('data', 'mscoco_label_map.pbtxt')\n", + "\n", + "NUM_CLASSES = 90" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load a (frozen) Tensorflow model into memory." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "detection_graph = tf.Graph()\n", + "with detection_graph.as_default():\n", + " od_graph_def = tf.GraphDef()\n", + " with tf.gfile.GFile(PATH_TO_CKPT, 'rb') as fid:\n", + " serialized_graph = fid.read()\n", + " od_graph_def.ParseFromString(serialized_graph)\n", + " tf.import_graph_def(od_graph_def, name='')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Loading label map\n", + "Label maps map indices to category names, so that when our convolution network predicts `5`, we know that this corresponds to `airplane`. Here we use internal utility functions, but anything that returns a dictionary mapping integers to appropriate string labels would be fine" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "label_map = label_map_util.load_labelmap(PATH_TO_LABELS)\n", + "categories = label_map_util.convert_label_map_to_categories(label_map, max_num_classes=NUM_CLASSES, use_display_name=True)\n", + "category_index = label_map_util.create_category_index(categories)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Helper code" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def load_image_into_numpy_array(image):\n", + " (im_width, im_height) = image.size\n", + " return np.array(image.getdata()).reshape(\n", + " (im_height, im_width, 3)).astype(np.uint8)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Detection" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# For the sake of simplicity we will use only 2 images:\n", + "# image1.jpg\n", + "# image2.jpg\n", + "# If you want to test the code with your images, just add path to the images to the TEST_IMAGE_PATHS.\n", + "PATH_TO_TEST_IMAGES_DIR = 'test_images'\n", + "TEST_IMAGE_PATHS = [ os.path.join(PATH_TO_TEST_IMAGES_DIR, 'image{}.jpg'.format(i)) for i in range(1, 3) ]\n", + "\n", + "# Size, in inches, of the output images.\n", + "IMAGE_SIZE = (12, 8)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "with detection_graph.as_default():\n", + " with tf.Session(graph=detection_graph) as sess:\n", + " for image_path in TEST_IMAGE_PATHS:\n", + " image = Image.open(image_path)\n", + " # the array based representation of the image will be used later in order to prepare the\n", + " # result image with boxes and labels on it.\n", + " image_np = load_image_into_numpy_array(image)\n", + " # Expand dimensions since the model expects images to have shape: [1, None, None, 3]\n", + " image_np_expanded = np.expand_dims(image_np, axis=0)\n", + " image_tensor = detection_graph.get_tensor_by_name('image_tensor:0')\n", + " # Each box represents a part of the image where a particular object was detected.\n", + " boxes = detection_graph.get_tensor_by_name('detection_boxes:0')\n", + " # Each score represent how level of confidence for each of the objects.\n", + " # Score is shown on the result image, together with the class label.\n", + " scores = detection_graph.get_tensor_by_name('detection_scores:0')\n", + " classes = detection_graph.get_tensor_by_name('detection_classes:0')\n", + " num_detections = detection_graph.get_tensor_by_name('num_detections:0')\n", + " # Actual detection.\n", + " (boxes, scores, classes, num_detections) = sess.run(\n", + " [boxes, scores, classes, num_detections],\n", + " feed_dict={image_tensor: image_np_expanded})\n", + " # Visualization of the results of a detection.\n", + " vis_util.visualize_boxes_and_labels_on_image_array(\n", + " image_np,\n", + " np.squeeze(boxes),\n", + " np.squeeze(classes).astype(np.int32),\n", + " np.squeeze(scores),\n", + " category_index,\n", + " use_normalized_coordinates=True)\n", + " plt.figure(figsize=IMAGE_SIZE)\n", + " plt.imshow(image_np)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.4.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/object_detection/protos/BUILD b/object_detection/protos/BUILD new file mode 100644 index 000000000..7ab70ca0f --- /dev/null +++ b/object_detection/protos/BUILD @@ -0,0 +1,329 @@ +# Tensorflow Object Detection API: Configuration protos. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) + +proto_library( + name = "argmax_matcher_proto", + srcs = ["argmax_matcher.proto"], +) + +py_proto_library( + name = "argmax_matcher_py_pb2", + api_version = 2, + deps = [":argmax_matcher_proto"], +) + +proto_library( + name = "bipartite_matcher_proto", + srcs = ["bipartite_matcher.proto"], +) + +py_proto_library( + name = "bipartite_matcher_py_pb2", + api_version = 2, + deps = [":bipartite_matcher_proto"], +) + +proto_library( + name = "matcher_proto", + srcs = ["matcher.proto"], + deps = [ + ":argmax_matcher_proto", + ":bipartite_matcher_proto", + ], +) + +py_proto_library( + name = "matcher_py_pb2", + api_version = 2, + deps = [":matcher_proto"], +) + +proto_library( + name = "faster_rcnn_box_coder_proto", + srcs = ["faster_rcnn_box_coder.proto"], +) + +py_proto_library( + name = "faster_rcnn_box_coder_py_pb2", + api_version = 2, + deps = [":faster_rcnn_box_coder_proto"], +) + +proto_library( + name = "mean_stddev_box_coder_proto", + srcs = ["mean_stddev_box_coder.proto"], +) + +py_proto_library( + name = "mean_stddev_box_coder_py_pb2", + api_version = 2, + deps = [":mean_stddev_box_coder_proto"], +) + +proto_library( + name = "square_box_coder_proto", + srcs = ["square_box_coder.proto"], +) + +py_proto_library( + name = "square_box_coder_py_pb2", + api_version = 2, + deps = [":square_box_coder_proto"], +) + +proto_library( + name = "box_coder_proto", + srcs = ["box_coder.proto"], + deps = [ + ":faster_rcnn_box_coder_proto", + ":mean_stddev_box_coder_proto", + ":square_box_coder_proto", + ], +) + +py_proto_library( + name = "box_coder_py_pb2", + api_version = 2, + deps = [":box_coder_proto"], +) + +proto_library( + name = "grid_anchor_generator_proto", + srcs = ["grid_anchor_generator.proto"], +) + +py_proto_library( + name = "grid_anchor_generator_py_pb2", + api_version = 2, + deps = [":grid_anchor_generator_proto"], +) + +proto_library( + name = "ssd_anchor_generator_proto", + srcs = ["ssd_anchor_generator.proto"], +) + +py_proto_library( + name = "ssd_anchor_generator_py_pb2", + api_version = 2, + deps = [":ssd_anchor_generator_proto"], +) + +proto_library( + name = "anchor_generator_proto", + srcs = ["anchor_generator.proto"], + deps = [ + ":grid_anchor_generator_proto", + ":ssd_anchor_generator_proto", + ], +) + +py_proto_library( + name = "anchor_generator_py_pb2", + api_version = 2, + deps = [":anchor_generator_proto"], +) + +proto_library( + name = "input_reader_proto", + srcs = ["input_reader.proto"], +) + +py_proto_library( + name = "input_reader_py_pb2", + api_version = 2, + deps = [":input_reader_proto"], +) + +proto_library( + name = "losses_proto", + srcs = ["losses.proto"], +) + +py_proto_library( + name = "losses_py_pb2", + api_version = 2, + deps = [":losses_proto"], +) + +proto_library( + name = "optimizer_proto", + srcs = ["optimizer.proto"], +) + +py_proto_library( + name = "optimizer_py_pb2", + api_version = 2, + deps = [":optimizer_proto"], +) + +proto_library( + name = "post_processing_proto", + srcs = ["post_processing.proto"], +) + +py_proto_library( + name = "post_processing_py_pb2", + api_version = 2, + deps = [":post_processing_proto"], +) + +proto_library( + name = "hyperparams_proto", + srcs = ["hyperparams.proto"], +) + +py_proto_library( + name = "hyperparams_py_pb2", + api_version = 2, + deps = [":hyperparams_proto"], +) + +proto_library( + name = "box_predictor_proto", + srcs = ["box_predictor.proto"], + deps = [":hyperparams_proto"], +) + +py_proto_library( + name = "box_predictor_py_pb2", + api_version = 2, + deps = [":box_predictor_proto"], +) + +proto_library( + name = "region_similarity_calculator_proto", + srcs = ["region_similarity_calculator.proto"], + deps = [], +) + +py_proto_library( + name = "region_similarity_calculator_py_pb2", + api_version = 2, + deps = [":region_similarity_calculator_proto"], +) + +proto_library( + name = "preprocessor_proto", + srcs = ["preprocessor.proto"], +) + +py_proto_library( + name = "preprocessor_py_pb2", + api_version = 2, + deps = [":preprocessor_proto"], +) + +proto_library( + name = "train_proto", + srcs = ["train.proto"], + deps = [ + ":optimizer_proto", + ":preprocessor_proto", + ], +) + +py_proto_library( + name = "train_py_pb2", + api_version = 2, + deps = [":train_proto"], +) + +proto_library( + name = "eval_proto", + srcs = ["eval.proto"], +) + +py_proto_library( + name = "eval_py_pb2", + api_version = 2, + deps = [":eval_proto"], +) + +proto_library( + name = "image_resizer_proto", + srcs = ["image_resizer.proto"], +) + +py_proto_library( + name = "image_resizer_py_pb2", + api_version = 2, + deps = [":image_resizer_proto"], +) + +proto_library( + name = "faster_rcnn_proto", + srcs = ["faster_rcnn.proto"], + deps = [ + ":box_predictor_proto", + "//object_detection/protos:anchor_generator_proto", + "//object_detection/protos:hyperparams_proto", + "//object_detection/protos:image_resizer_proto", + "//object_detection/protos:losses_proto", + "//object_detection/protos:post_processing_proto", + ], +) + +proto_library( + name = "ssd_proto", + srcs = ["ssd.proto"], + deps = [ + ":anchor_generator_proto", + ":box_coder_proto", + ":box_predictor_proto", + ":hyperparams_proto", + ":image_resizer_proto", + ":losses_proto", + ":matcher_proto", + ":post_processing_proto", + ":region_similarity_calculator_proto", + ], +) + +proto_library( + name = "model_proto", + srcs = ["model.proto"], + deps = [ + ":faster_rcnn_proto", + ":ssd_proto", + ], +) + +py_proto_library( + name = "model_py_pb2", + api_version = 2, + deps = [":model_proto"], +) + +proto_library( + name = "pipeline_proto", + srcs = ["pipeline.proto"], + deps = [ + ":eval_proto", + ":input_reader_proto", + ":model_proto", + ":train_proto", + ], +) + +py_proto_library( + name = "pipeline_py_pb2", + api_version = 2, + deps = [":pipeline_proto"], +) + +proto_library( + name = "string_int_label_map_proto", + srcs = ["string_int_label_map.proto"], +) + +py_proto_library( + name = "string_int_label_map_py_pb2", + api_version = 2, + deps = [":string_int_label_map_proto"], +) diff --git a/object_detection/protos/__init__.py b/object_detection/protos/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/object_detection/protos/anchor_generator.proto b/object_detection/protos/anchor_generator.proto new file mode 100644 index 000000000..4b7b1d62e --- /dev/null +++ b/object_detection/protos/anchor_generator.proto @@ -0,0 +1,15 @@ +syntax = "proto2"; + +package object_detection.protos; + +import "object_detection/protos/grid_anchor_generator.proto"; +import "object_detection/protos/ssd_anchor_generator.proto"; + +// Configuration proto for the anchor generator to use in the object detection +// pipeline. See core/anchor_generator.py for details. +message AnchorGenerator { + oneof anchor_generator_oneof { + GridAnchorGenerator grid_anchor_generator = 1; + SsdAnchorGenerator ssd_anchor_generator = 2; + } +} diff --git a/object_detection/protos/argmax_matcher.proto b/object_detection/protos/argmax_matcher.proto new file mode 100644 index 000000000..88c503182 --- /dev/null +++ b/object_detection/protos/argmax_matcher.proto @@ -0,0 +1,25 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for ArgMaxMatcher. See +// matchers/argmax_matcher.py for details. +message ArgMaxMatcher { + // Threshold for positive matches. + optional float matched_threshold = 1 [default = 0.5]; + + // Threshold for negative matches. + optional float unmatched_threshold = 2 [default = 0.5]; + + // Whether to construct ArgMaxMatcher without thresholds. + optional bool ignore_thresholds = 3 [default = false]; + + // If True then negative matches are the ones below the unmatched_threshold, + // whereas ignored matches are in between the matched and umatched + // threshold. If False, then negative matches are in between the matched + // and unmatched threshold, and everything lower than unmatched is ignored. + optional bool negatives_lower_than_unmatched = 4 [default = true]; + + // Whether to ensure each row is matched to at least one column. + optional bool force_match_for_each_row = 5 [default = false]; +} diff --git a/object_detection/protos/bipartite_matcher.proto b/object_detection/protos/bipartite_matcher.proto new file mode 100644 index 000000000..7e5a9e5c1 --- /dev/null +++ b/object_detection/protos/bipartite_matcher.proto @@ -0,0 +1,8 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for bipartite matcher. See +// matchers/bipartite_matcher.py for details. +message BipartiteMatcher { +} diff --git a/object_detection/protos/box_coder.proto b/object_detection/protos/box_coder.proto new file mode 100644 index 000000000..6b37e8f19 --- /dev/null +++ b/object_detection/protos/box_coder.proto @@ -0,0 +1,17 @@ +syntax = "proto2"; + +package object_detection.protos; + +import "object_detection/protos/faster_rcnn_box_coder.proto"; +import "object_detection/protos/mean_stddev_box_coder.proto"; +import "object_detection/protos/square_box_coder.proto"; + +// Configuration proto for the box coder to be used in the object detection +// pipeline. See core/box_coder.py for details. +message BoxCoder { + oneof box_coder_oneof { + FasterRcnnBoxCoder faster_rcnn_box_coder = 1; + MeanStddevBoxCoder mean_stddev_box_coder = 2; + SquareBoxCoder square_box_coder = 3; + } +} diff --git a/object_detection/protos/box_predictor.proto b/object_detection/protos/box_predictor.proto new file mode 100644 index 000000000..96c501c0d --- /dev/null +++ b/object_detection/protos/box_predictor.proto @@ -0,0 +1,99 @@ +syntax = "proto2"; + +package object_detection.protos; + +import "object_detection/protos/hyperparams.proto"; + + +// Configuration proto for box predictor. See core/box_predictor.py for details. +message BoxPredictor { + oneof box_predictor_oneof { + ConvolutionalBoxPredictor convolutional_box_predictor = 1; + MaskRCNNBoxPredictor mask_rcnn_box_predictor = 2; + RfcnBoxPredictor rfcn_box_predictor = 3; + } +} + +// Configuration proto for Convolutional box predictor. +message ConvolutionalBoxPredictor { + // Hyperparameters for convolution ops used in the box predictor. + optional Hyperparams conv_hyperparams = 1; + + // Minumum feature depth prior to predicting box encodings and class + // predictions. + optional int32 min_depth = 2 [default = 0]; + + // Maximum feature depth prior to predicting box encodings and class + // predictions. If max_depth is set to 0, no additional feature map will be + // inserted before location and class predictions. + optional int32 max_depth = 3 [default = 0]; + + // Number of the additional conv layers before the predictor. + optional int32 num_layers_before_predictor = 4 [default = 0]; + + // Whether to use dropout for class prediction. + optional bool use_dropout = 5 [default = true]; + + // Keep probability for dropout + optional float dropout_keep_probability = 6 [default = 0.8]; + + // Size of final convolution kernel. If the spatial resolution of the feature + // map is smaller than the kernel size, then the kernel size is set to + // min(feature_width, feature_height). + optional int32 kernel_size = 7 [default = 1]; + + // Size of the encoding for boxes. + optional int32 box_code_size = 8 [default = 4]; + + // Whether to apply sigmoid to the output of class predictions. + // TODO: Do we need this since we have a post processing module.? + optional bool apply_sigmoid_to_scores = 9 [default = false]; +} + +message MaskRCNNBoxPredictor { + // Hyperparameters for fully connected ops used in the box predictor. + optional Hyperparams fc_hyperparams = 1; + + // Whether to use dropout op prior to the both box and class predictions. + optional bool use_dropout = 2 [default= false]; + + // Keep probability for dropout. This is only used if use_dropout is true. + optional float dropout_keep_probability = 3 [default = 0.5]; + + // Size of the encoding for the boxes. + optional int32 box_code_size = 4 [default = 4]; + + // Hyperparameters for convolution ops used in the box predictor. + optional Hyperparams conv_hyperparams = 5; + + // Whether to predict instance masks inside detection boxes. + optional bool predict_instance_masks = 6 [default = false]; + + // The depth for the first conv2d_transpose op applied to the + // image_features in the mask prediciton branch + optional int32 mask_prediction_conv_depth = 7 [default = 256]; + + // Whether to predict keypoints inside detection boxes. + optional bool predict_keypoints = 8 [default = false]; +} + +message RfcnBoxPredictor { + // Hyperparameters for convolution ops used in the box predictor. + optional Hyperparams conv_hyperparams = 1; + + // Bin sizes for RFCN crops. + optional int32 num_spatial_bins_height = 2 [default = 3]; + + optional int32 num_spatial_bins_width = 3 [default = 3]; + + // Target depth to reduce the input image features to. + optional int32 depth = 4 [default=1024]; + + // Size of the encoding for the boxes. + optional int32 box_code_size = 5 [default = 4]; + + // Size to resize the rfcn crops to. + optional int32 crop_height = 6 [default= 12]; + + optional int32 crop_width = 7 [default=12]; +} diff --git a/object_detection/protos/eval.proto b/object_detection/protos/eval.proto new file mode 100644 index 000000000..081b60de1 --- /dev/null +++ b/object_detection/protos/eval.proto @@ -0,0 +1,47 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Message for configuring DetectionModel evaluation jobs (eval.py). +message EvalConfig { + // Number of visualization images to generate. + optional uint32 num_visualizations = 1 [default=10]; + + // Number of examples to process of evaluation. + optional uint32 num_examples = 2 [default=5000]; + + // How often to run evaluation. + optional uint32 eval_interval_secs = 3 [default=300]; + + // Maximum number of times to run evaluation. If set to 0, will run forever. + optional uint32 max_evals = 4 [default=0]; + + // Whether the TensorFlow graph used for evaluation should be saved to disk. + optional bool save_graph = 5 [default=false]; + + // Path to directory to store visualizations in. If empty, visualization + // images are not exported (only shown on Tensorboard). + optional string visualization_export_dir = 6 [default=""]; + + // BNS name of the TensorFlow master. + optional string eval_master = 7 [default=""]; + + // Type of metrics to use for evaluation. Currently supports only Pascal VOC + // detection metrics. + optional string metrics_set = 8 [default="pascal_voc_metrics"]; + + // Path to export detections to COCO compatible JSON format. + optional string export_path = 9 [default='']; + + // Option to not read groundtruth labels and only export detections to + // COCO-compatible JSON file. + optional bool ignore_groundtruth = 10 [default=false]; + + // Use exponential moving averages of variables for evaluation. + // TODO: When this is false make sure the model is constructed + // without moving averages in restore_fn. + optional bool use_moving_averages = 11 [default=false]; + + // Whether to evaluate instance masks. + optional bool eval_instance_masks = 12 [default=false]; +} diff --git a/object_detection/protos/faster_rcnn.proto b/object_detection/protos/faster_rcnn.proto new file mode 100644 index 000000000..e2fd5d666 --- /dev/null +++ b/object_detection/protos/faster_rcnn.proto @@ -0,0 +1,131 @@ +syntax = "proto2"; + +package object_detection.protos; + +import "object_detection/protos/anchor_generator.proto"; +import "object_detection/protos/box_predictor.proto"; +import "object_detection/protos/hyperparams.proto"; +import "object_detection/protos/image_resizer.proto"; +import "object_detection/protos/losses.proto"; +import "object_detection/protos/post_processing.proto"; + +// Configuration for Faster R-CNN models. +// See meta_architectures/faster_rcnn_meta_arch.py and models/model_builder.py +// +// Naming conventions: +// Faster R-CNN models have two stages: a first stage region proposal network +// (or RPN) and a second stage box classifier. We thus use the prefixes +// `first_stage_` and `second_stage_` to indicate the stage to which each +// parameter pertains when relevant. +message FasterRcnn { + + // Whether to construct only the Region Proposal Network (RPN). + optional bool first_stage_only = 1 [default=false]; + + // Number of classes to predict. + optional int32 num_classes = 3; + + // Image resizer for preprocessing the input image. + optional ImageResizer image_resizer = 4; + + // Feature extractor config. + optional FasterRcnnFeatureExtractor feature_extractor = 5; + + + // (First stage) region proposal network (RPN) parameters. + + // Anchor generator to compute RPN anchors. + optional AnchorGenerator first_stage_anchor_generator = 6; + + // Atrous rate for the convolution op applied to the + // `first_stage_features_to_crop` tensor to obtain box predictions. + optional int32 first_stage_atrous_rate = 7 [default=1]; + + // Hyperparameters for the convolutional RPN box predictor. + optional Hyperparams first_stage_box_predictor_conv_hyperparams = 8; + + // Kernel size to use for the convolution op just prior to RPN box + // predictions. + optional int32 first_stage_box_predictor_kernel_size = 9 [default=3]; + + // Output depth for the convolution op just prior to RPN box predictions. + optional int32 first_stage_box_predictor_depth = 10 [default=512]; + + // The batch size to use for computing the first stage objectness and + // location losses. + optional int32 first_stage_minibatch_size = 11 [default=256]; + + // Fraction of positive examples per image for the RPN. + optional float first_stage_positive_balance_fraction = 12 [default=0.5]; + + // Non max suppression score threshold applied to first stage RPN proposals. + optional float first_stage_nms_score_threshold = 13 [default=0.0]; + + // Non max suppression IOU threshold applied to first stage RPN proposals. + optional float first_stage_nms_iou_threshold = 14 [default=0.7]; + + // Maximum number of RPN proposals retained after first stage postprocessing. + optional int32 first_stage_max_proposals = 15 [default=300]; + + // First stage RPN localization loss weight. + optional float first_stage_localization_loss_weight = 16 [default=1.0]; + + // First stage RPN objectness loss weight. + optional float first_stage_objectness_loss_weight = 17 [default=1.0]; + + + // Per-region cropping parameters. + // Note that if a R-FCN model is constructed the per region cropping + // parameters below are ignored. + + // Output size (width and height are set to be the same) of the initial + // bilinear interpolation based cropping during ROI pooling. + optional int32 initial_crop_size = 18; + + // Kernel size of the max pool op on the cropped feature map during + // ROI pooling. + optional int32 maxpool_kernel_size = 19; + + // Stride of the max pool op on the cropped feature map during ROI pooling. + optional int32 maxpool_stride = 20; + + + // (Second stage) box classifier parameters + + // Hyperparameters for the second stage box predictor. If box predictor type + // is set to rfcn_box_predictor, a R-FCN model is constructed, otherwise a + // Faster R-CNN model is constructed. + optional BoxPredictor second_stage_box_predictor = 21; + + // The batch size per image used for computing the classification and refined + // location loss of the box classifier. + // Note that this field is ignored if `hard_example_miner` is configured. + optional int32 second_stage_batch_size = 22 [default=64]; + + // Fraction of positive examples to use per image for the box classifier. + optional float second_stage_balance_fraction = 23 [default=0.25]; + + // Post processing to apply on the second stage box classifier predictions. + // Note: the `score_converter` provided to the FasterRCNNMetaArch constructor + // is taken from this `second_stage_post_processing` proto. + optional PostProcessing second_stage_post_processing = 24; + + // Second stage refined localization loss weight. + optional float second_stage_localization_loss_weight = 25 [default=1.0]; + + // Second stage classification loss weight + optional float second_stage_classification_loss_weight = 26 [default=1.0]; + + // If not left to default, applies hard example mining. + optional HardExampleMiner hard_example_miner = 27; +} + + +message FasterRcnnFeatureExtractor { + // Type of Faster R-CNN model (e.g., 'faster_rcnn_resnet101'; + // See models/model_builder.py for expected types). + optional string type = 1; + + // Output stride of extracted RPN feature map. + optional int32 first_stage_features_stride = 2 [default=16]; +} diff --git a/object_detection/protos/faster_rcnn_box_coder.proto b/object_detection/protos/faster_rcnn_box_coder.proto new file mode 100644 index 000000000..512a20a15 --- /dev/null +++ b/object_detection/protos/faster_rcnn_box_coder.proto @@ -0,0 +1,17 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for FasterRCNNBoxCoder. See +// box_coders/faster_rcnn_box_coder.py for details. +message FasterRcnnBoxCoder { + // Scale factor for anchor encoded box center. + optional float y_scale = 1 [default = 10.0]; + optional float x_scale = 2 [default = 10.0]; + + // Scale factor for anchor encoded box height. + optional float height_scale = 3 [default = 5.0]; + + // Scale factor for anchor encoded box width. + optional float width_scale = 4 [default = 5.0]; +} diff --git a/object_detection/protos/grid_anchor_generator.proto b/object_detection/protos/grid_anchor_generator.proto new file mode 100644 index 000000000..85168f8f5 --- /dev/null +++ b/object_detection/protos/grid_anchor_generator.proto @@ -0,0 +1,34 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for GridAnchorGenerator. See +// anchor_generators/grid_anchor_generator.py for details. +message GridAnchorGenerator { + // Anchor height in pixels. + optional int32 height = 1 [default = 256]; + + // Anchor width in pixels. + optional int32 width = 2 [default = 256]; + + // Anchor stride in height dimension in pixels. + optional int32 height_stride = 3 [default = 16]; + + // Anchor stride in width dimension in pixels. + optional int32 width_stride = 4 [default = 16]; + + // Anchor height offset in pixels. + optional int32 height_offset = 5 [default = 0]; + + // Anchor width offset in pixels. + optional int32 width_offset = 6 [default = 0]; + + // At any given location, len(scales) * len(aspect_ratios) anchors are + // generated with all possible combinations of scales and aspect ratios. + + // List of scales for the anchors. + repeated float scales = 7; + + // List of aspect ratios for the anchors. + repeated float aspect_ratios = 8; +} diff --git a/object_detection/protos/hyperparams.proto b/object_detection/protos/hyperparams.proto new file mode 100644 index 000000000..b8b9972e6 --- /dev/null +++ b/object_detection/protos/hyperparams.proto @@ -0,0 +1,103 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for the convolution op hyperparameters to use in the +// object detection pipeline. +message Hyperparams { + + // Operations affected by hyperparameters. + enum Op { + // Convolution, Separable Convolution, Convolution transpose. + CONV = 1; + + // Fully connected + FC = 2; + } + optional Op op = 1 [default = CONV]; + + // Regularizer for the weights of the convolution op. + optional Regularizer regularizer = 2; + + // Initializer for the weights of the convolution op. + optional Initializer initializer = 3; + + // Type of activation to apply after convolution. + enum Activation { + // Use None (no activation) + NONE = 0; + + // Use tf.nn.relu + RELU = 1; + + // Use tf.nn.relu6 + RELU_6 = 2; + } + optional Activation activation = 4 [default = RELU]; + + // BatchNorm hyperparameters. If this parameter is NOT set then BatchNorm is + // not applied! + optional BatchNorm batch_norm = 5; +} + +// Proto with one-of field for regularizers. +message Regularizer { + oneof regularizer_oneof { + L1Regularizer l1_regularizer = 1; + L2Regularizer l2_regularizer = 2; + } +} + +// Configuration proto for L1 Regularizer. +// See https://www.tensorflow.org/api_docs/python/tf/contrib/layers/l1_regularizer +message L1Regularizer { + optional float weight = 1 [default = 1.0]; +} + +// Configuration proto for L2 Regularizer. +// See https://www.tensorflow.org/api_docs/python/tf/contrib/layers/l2_regularizer +message L2Regularizer { + optional float weight = 1 [default = 1.0]; +} + +// Proto with one-of field for initializers. +message Initializer { + oneof initializer_oneof { + TruncatedNormalInitializer truncated_normal_initializer = 1; + VarianceScalingInitializer variance_scaling_initializer = 2; + } +} + +// Configuration proto for truncated normal initializer. See +// https://www.tensorflow.org/api_docs/python/tf/truncated_normal_initializer +message TruncatedNormalInitializer { + optional float mean = 1 [default = 0.0]; + optional float stddev = 2 [default = 1.0]; +} + +// Configuration proto for variance scaling initializer. See +// https://www.tensorflow.org/api_docs/python/tf/contrib/layers/ +// variance_scaling_initializer +message VarianceScalingInitializer { + optional float factor = 1 [default = 2.0]; + optional bool uniform = 2 [default = false]; + enum Mode { + FAN_IN = 0; + FAN_OUT = 1; + FAN_AVG = 2; + } + optional Mode mode = 3 [default = FAN_IN]; +} + +// Configuration proto for batch norm to apply after convolution op. See +// https://www.tensorflow.org/api_docs/python/tf/contrib/layers/batch_norm +message BatchNorm { + optional float decay = 1 [default = 0.999]; + optional bool center = 2 [default = true]; + optional bool scale = 3 [default = false]; + optional float epsilon = 4 [default = 0.001]; + // Whether to train the batch norm variables. If this is set to false during + // training, the current value of the batch_norm variables are used for + // forward pass but they are never updated. + optional bool train = 5 [default = true]; +} diff --git a/object_detection/protos/image_resizer.proto b/object_detection/protos/image_resizer.proto new file mode 100644 index 000000000..4618add72 --- /dev/null +++ b/object_detection/protos/image_resizer.proto @@ -0,0 +1,32 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for image resizing operations. +// See builders/image_resizer_builder.py for details. +message ImageResizer { + oneof image_resizer_oneof { + KeepAspectRatioResizer keep_aspect_ratio_resizer = 1; + FixedShapeResizer fixed_shape_resizer = 2; + } +} + + +// Configuration proto for image resizer that keeps aspect ratio. +message KeepAspectRatioResizer { + // Desired size of the smaller image dimension in pixels. + optional int32 min_dimension = 1 [default = 600]; + + // Desired size of the larger image dimension in pixels. + optional int32 max_dimension = 2 [default = 1024]; +} + + +// Configuration proto for image resizer that resizes to a fixed shape. +message FixedShapeResizer { + // Desired height of image in pixels. + optional int32 height = 1 [default = 300]; + + // Desired width of image in pixels. + optional int32 width = 2 [default = 300]; +} diff --git a/object_detection/protos/input_reader.proto b/object_detection/protos/input_reader.proto new file mode 100644 index 000000000..8956b009e --- /dev/null +++ b/object_detection/protos/input_reader.proto @@ -0,0 +1,60 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for defining input readers that generate Object Detection +// Examples from input sources. Input readers are expected to generate a +// dictionary of tensors, with the following fields populated: +// +// 'image': an [image_height, image_width, channels] image tensor that detection +// will be run on. +// 'groundtruth_classes': a [num_boxes] int32 tensor storing the class +// labels of detected boxes in the image. +// 'groundtruth_boxes': a [num_boxes, 4] float tensor storing the coordinates of +// detected boxes in the image. +// 'groundtruth_instance_masks': (Optional), a [num_boxes, image_height, +// image_width] float tensor storing binary mask of the objects in boxes. + +message InputReader { + // Path to StringIntLabelMap pbtxt file specifying the mapping from string + // labels to integer ids. + optional string label_map_path = 1 [default=""]; + + // Whether data should be processed in the order they are read in, or + // shuffled randomly. + optional bool shuffle = 2 [default=true]; + + // Maximum number of records to keep in reader queue. + optional uint32 queue_capacity = 3 [default=2000]; + + // Minimum number of records to keep in reader queue. A large value is needed + // to generate a good random shuffle. + optional uint32 min_after_dequeue = 4 [default=1000]; + + // The number of times a data source is read. If set to zero, the data source + // will be reused indefinitely. + optional uint32 num_epochs = 5 [default=0]; + + // Number of reader instances to create. + optional uint32 num_readers = 6 [default=8]; + + // Whether to load groundtruth instance masks. + optional bool load_instance_masks = 7 [default = false]; + + oneof input_reader { + TFRecordInputReader tf_record_input_reader = 8; + ExternalInputReader external_input_reader = 9; + } +} + +// An input reader that reads TF Example protos from local TFRecord files. +message TFRecordInputReader { + // Path to TFRecordFile. + optional string input_path = 1 [default=""]; +} + +// An externally defined input reader. Users may define an extension to this +// proto to interface their own input readers. +message ExternalInputReader { + extensions 1 to 999; +} diff --git a/object_detection/protos/losses.proto b/object_detection/protos/losses.proto new file mode 100644 index 000000000..acd32b1fc --- /dev/null +++ b/object_detection/protos/losses.proto @@ -0,0 +1,116 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Message for configuring the localization loss, classification loss and hard +// example miner used for training object detection models. See core/losses.py +// for details +message Loss { + // Localization loss to use. + optional LocalizationLoss localization_loss = 1; + + // Classification loss to use. + optional ClassificationLoss classification_loss = 2; + + // If not left to default, applies hard example mining. + optional HardExampleMiner hard_example_miner = 3; + + // Classification loss weight. + optional float classification_weight = 4 [default=1.0]; + + // Localization loss weight. + optional float localization_weight = 5 [default=1.0]; +} + +// Configuration for bounding box localization loss function. +message LocalizationLoss { + oneof localization_loss { + WeightedL2LocalizationLoss weighted_l2 = 1; + WeightedSmoothL1LocalizationLoss weighted_smooth_l1 = 2; + WeightedIOULocalizationLoss weighted_iou = 3; + } +} + +// L2 location loss: 0.5 * ||weight * (a - b)|| ^ 2 +message WeightedL2LocalizationLoss { + // Output loss per anchor. + optional bool anchorwise_output = 1 [default=false]; +} + +// SmoothL1 (Huber) location loss: .5 * x ^ 2 if |x| < 1 else |x| - .5 +message WeightedSmoothL1LocalizationLoss { + // Output loss per anchor. + optional bool anchorwise_output = 1 [default=false]; +} + +// Intersection over union location loss: 1 - IOU +message WeightedIOULocalizationLoss { +} + +// Configuration for class prediction loss function. +message ClassificationLoss { + oneof classification_loss { + WeightedSigmoidClassificationLoss weighted_sigmoid = 1; + WeightedSoftmaxClassificationLoss weighted_softmax = 2; + BootstrappedSigmoidClassificationLoss bootstrapped_sigmoid = 3; + } +} + +// Classification loss using a sigmoid function over class predictions. +message WeightedSigmoidClassificationLoss { + // Output loss per anchor. + optional bool anchorwise_output = 1 [default=false]; +} + +// Classification loss using a softmax function over class predictions. +message WeightedSoftmaxClassificationLoss { + // Output loss per anchor. + optional bool anchorwise_output = 1 [default=false]; +} + +// Classification loss using a sigmoid function over the class prediction with +// the highest prediction score. +message BootstrappedSigmoidClassificationLoss { + // Interpolation weight between 0 and 1. + optional float alpha = 1; + + // Whether hard boot strapping should be used or not. If true, will only use + // one class favored by model. Othewise, will use all predicted class + // probabilities. + optional bool hard_bootstrap = 2 [default=false]; + + // Output loss per anchor. + optional bool anchorwise_output = 3 [default=false]; +} + +// Configuation for hard example miner. +message HardExampleMiner { + // Maximum number of hard examples to be selected per image (prior to + // enforcing max negative to positive ratio constraint). If set to 0, + // all examples obtained after NMS are considered. + optional int32 num_hard_examples = 1 [default=64]; + + // Minimum intersection over union for an example to be discarded during NMS. + optional float iou_threshold = 2 [default=0.7]; + + // Whether to use classification losses ('cls', default), localization losses + // ('loc') or both losses ('both'). In the case of 'both', cls_loss_weight and + // loc_loss_weight are used to compute weighted sum of the two losses. + enum LossType { + BOTH = 0; + CLASSIFICATION = 1; + LOCALIZATION = 2; + } + optional LossType loss_type = 3 [default=BOTH]; + + // Maximum number of negatives to retain for each positive anchor. If + // num_negatives_per_positive is 0 no prespecified negative:positive ratio is + // enforced. + optional int32 max_negatives_per_positive = 4 [default=0]; + + // Minimum number of negative anchors to sample for a given image. Setting + // this to a positive number samples negatives in an image without any + // positive anchors and thus not bias the model towards having at least one + // detection per image. + optional int32 min_negatives_per_image = 5 [default=0]; +} diff --git a/object_detection/protos/matcher.proto b/object_detection/protos/matcher.proto new file mode 100644 index 000000000..b47de56c0 --- /dev/null +++ b/object_detection/protos/matcher.proto @@ -0,0 +1,15 @@ +syntax = "proto2"; + +package object_detection.protos; + +import "object_detection/protos/argmax_matcher.proto"; +import "object_detection/protos/bipartite_matcher.proto"; + +// Configuration proto for the matcher to be used in the object detection +// pipeline. See core/matcher.py for details. +message Matcher { + oneof matcher_oneof { + ArgMaxMatcher argmax_matcher = 1; + BipartiteMatcher bipartite_matcher = 2; + } +} diff --git a/object_detection/protos/mean_stddev_box_coder.proto b/object_detection/protos/mean_stddev_box_coder.proto new file mode 100644 index 000000000..597c70cdb --- /dev/null +++ b/object_detection/protos/mean_stddev_box_coder.proto @@ -0,0 +1,8 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for MeanStddevBoxCoder. See +// box_coders/mean_stddev_box_coder.py for details. +message MeanStddevBoxCoder { +} diff --git a/object_detection/protos/model.proto b/object_detection/protos/model.proto new file mode 100644 index 000000000..b699c17b5 --- /dev/null +++ b/object_detection/protos/model.proto @@ -0,0 +1,14 @@ +syntax = "proto2"; + +package object_detection.protos; + +import "object_detection/protos/faster_rcnn.proto"; +import "object_detection/protos/ssd.proto"; + +// Top level configuration for DetectionModels. +message DetectionModel { + oneof model { + FasterRcnn faster_rcnn = 1; + Ssd ssd = 2; + } +} diff --git a/object_detection/protos/optimizer.proto b/object_detection/protos/optimizer.proto new file mode 100644 index 000000000..6ea9f1935 --- /dev/null +++ b/object_detection/protos/optimizer.proto @@ -0,0 +1,73 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Messages for configuring the optimizing strategy for training object +// detection models. + +// Top level optimizer message. +message Optimizer { + oneof optimizer { + RMSPropOptimizer rms_prop_optimizer = 1; + MomentumOptimizer momentum_optimizer = 2; + AdamOptimizer adam_optimizer = 3; + } + optional bool use_moving_average = 4 [default=true]; + optional float moving_average_decay = 5 [default=0.9999]; +} + +// Configuration message for the RMSPropOptimizer +// See: https://www.tensorflow.org/api_docs/python/tf/train/RMSPropOptimizer +message RMSPropOptimizer { + optional LearningRate learning_rate = 1; + optional float momentum_optimizer_value = 2 [default=0.9]; + optional float decay = 3 [default=0.9]; + optional float epsilon = 4 [default=1.0]; +} + +// Configuration message for the MomentumOptimizer +// See: https://www.tensorflow.org/api_docs/python/tf/train/MomentumOptimizer +message MomentumOptimizer { + optional LearningRate learning_rate = 1; + optional float momentum_optimizer_value = 2 [default=0.9]; +} + +// Configuration message for the AdamOptimizer +// See: https://www.tensorflow.org/api_docs/python/tf/train/AdamOptimizer +message AdamOptimizer { + optional LearningRate learning_rate = 1; +} + +// Configuration message for optimizer learning rate. +message LearningRate { + oneof learning_rate { + ConstantLearningRate constant_learning_rate = 1; + ExponentialDecayLearningRate exponential_decay_learning_rate = 2; + ManualStepLearningRate manual_step_learning_rate = 3; + } +} + +// Configuration message for a constant learning rate. +message ConstantLearningRate { + optional float learning_rate = 1 [default=0.002]; +} + +// Configuration message for an exponentially decaying learning rate. +// See https://www.tensorflow.org/versions/master/api_docs/python/train/ \ +// decaying_the_learning_rate#exponential_decay +message ExponentialDecayLearningRate { + optional float initial_learning_rate = 1 [default=0.002]; + optional uint32 decay_steps = 2 [default=4000000]; + optional float decay_factor = 3 [default=0.95]; + optional bool staircase = 4 [default=true]; +} + +// Configuration message for a manually defined learning rate schedule. +message ManualStepLearningRate { + optional float initial_learning_rate = 1 [default=0.002]; + message LearningRateSchedule { + optional uint32 step = 1; + optional float learning_rate = 2 [default=0.002]; + } + repeated LearningRateSchedule schedule = 2; +} diff --git a/object_detection/protos/pipeline.proto b/object_detection/protos/pipeline.proto new file mode 100644 index 000000000..67f4e5449 --- /dev/null +++ b/object_detection/protos/pipeline.proto @@ -0,0 +1,18 @@ +syntax = "proto2"; + +package object_detection.protos; + +import "object_detection/protos/eval.proto"; +import "object_detection/protos/input_reader.proto"; +import "object_detection/protos/model.proto"; +import "object_detection/protos/train.proto"; + +// Convenience message for configuring a training and eval pipeline. Allows all +// of the pipeline parameters to be configured from one file. +message TrainEvalPipelineConfig { + optional DetectionModel model = 1; + optional TrainConfig train_config = 2; + optional InputReader train_input_reader = 3; + optional EvalConfig eval_config = 4; + optional InputReader eval_input_reader = 5; +} diff --git a/object_detection/protos/post_processing.proto b/object_detection/protos/post_processing.proto new file mode 100644 index 000000000..736ac579d --- /dev/null +++ b/object_detection/protos/post_processing.proto @@ -0,0 +1,42 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for non-max-suppression operation on a batch of +// detections. +message BatchNonMaxSuppression { + // Scalar threshold for score (low scoring boxes are removed). + optional float score_threshold = 1 [default = 0.0]; + + // Scalar threshold for IOU (boxes that have high IOU overlap + // with previously selected boxes are removed). + optional float iou_threshold = 2 [default = 0.6]; + + // Maximum number of detections to retain per class. + optional int32 max_detections_per_class = 3 [default = 100]; + + // Maximum number of detections to retain across all classes. + optional int32 max_total_detections = 5 [default = 100]; +} + +// Configuration proto for post-processing predicted boxes and +// scores. +message PostProcessing { + // Non max suppression parameters. + optional BatchNonMaxSuppression batch_non_max_suppression = 1; + + // Enum to specify how to convert the detection scores. + enum ScoreConverter { + // Input scores equals output scores. + IDENTITY = 0; + + // Applies a sigmoid on input scores. + SIGMOID = 1; + + // Applies a softmax on input scores + SOFTMAX = 2; + } + + // Score converter to use. + optional ScoreConverter score_converter = 2 [default = IDENTITY]; +} diff --git a/object_detection/protos/preprocessor.proto b/object_detection/protos/preprocessor.proto new file mode 100644 index 000000000..0cb338c8d --- /dev/null +++ b/object_detection/protos/preprocessor.proto @@ -0,0 +1,326 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Message for defining a preprocessing operation on input data. +// See: //object_detection/core/preprocessor.py +message PreprocessingStep { + oneof preprocessing_step { + NormalizeImage normalize_image = 1; + RandomHorizontalFlip random_horizontal_flip = 2; + RandomPixelValueScale random_pixel_value_scale = 3; + RandomImageScale random_image_scale = 4; + RandomRGBtoGray random_rgb_to_gray = 5; + RandomAdjustBrightness random_adjust_brightness = 6; + RandomAdjustContrast random_adjust_contrast = 7; + RandomAdjustHue random_adjust_hue = 8; + RandomAdjustSaturation random_adjust_saturation = 9; + RandomDistortColor random_distort_color = 10; + RandomJitterBoxes random_jitter_boxes = 11; + RandomCropImage random_crop_image = 12; + RandomPadImage random_pad_image = 13; + RandomCropPadImage random_crop_pad_image = 14; + RandomCropToAspectRatio random_crop_to_aspect_ratio = 15; + RandomBlackPatches random_black_patches = 16; + RandomResizeMethod random_resize_method = 17; + ScaleBoxesToPixelCoordinates scale_boxes_to_pixel_coordinates = 18; + ResizeImage resize_image = 19; + SubtractChannelMean subtract_channel_mean = 20; + SSDRandomCrop ssd_random_crop = 21; + SSDRandomCropPad ssd_random_crop_pad = 22; + SSDRandomCropFixedAspectRatio ssd_random_crop_fixed_aspect_ratio = 23; + } +} + +// Normalizes pixel values in an image. +// For every channel in the image, moves the pixel values from the range +// [original_minval, original_maxval] to [target_minval, target_maxval]. +message NormalizeImage { + optional float original_minval = 1; + optional float original_maxval = 2; + optional float target_minval = 3 [default=0]; + optional float target_maxval = 4 [default=1]; +} + +// Randomly horizontally mirrors the image and detections 50% of the time. +message RandomHorizontalFlip { +} + +// Randomly scales the values of all pixels in the image by some constant value +// between [minval, maxval], then clip the value to a range between [0, 1.0]. +message RandomPixelValueScale { + optional float minval = 1 [default=0.9]; + optional float maxval = 2 [default=1.1]; +} + +// Randomly enlarges or shrinks image (keeping aspect ratio). +message RandomImageScale { + optional float min_scale_ratio = 1 [default=0.5]; + optional float max_scale_ratio = 2 [default=2.0]; +} + +// Randomly convert entire image to grey scale. +message RandomRGBtoGray { + optional float probability = 1 [default=0.1]; +} + +// Randomly changes image brightness by up to max_delta. Image outputs will be +// saturated between 0 and 1. +message RandomAdjustBrightness { + optional float max_delta=1 [default=0.2]; +} + +// Randomly scales contract by a value between [min_delta, max_delta]. +message RandomAdjustContrast { + optional float min_delta = 1 [default=0.8]; + optional float max_delta = 2 [default=1.25]; +} + +// Randomly alters hue by a value of up to max_delta. +message RandomAdjustHue { + optional float max_delta = 1 [default=0.02]; +} + +// Randomly changes saturation by a value between [min_delta, max_delta]. +message RandomAdjustSaturation { + optional float min_delta = 1 [default=0.8]; + optional float max_delta = 2 [default=1.25]; +} + +// Performs a random color distortion. color_orderings should either be 0 or 1. +message RandomDistortColor { + optional int32 color_ordering = 1; +} + +// Randomly jitters corners of boxes in the image determined by ratio. +// ie. If a box is [100, 200] and ratio is 0.02, the corners can move by [1, 4]. +message RandomJitterBoxes { + optional float ratio = 1 [default=0.05]; +} + +// Randomly crops the image and bounding boxes. +message RandomCropImage { + // Cropped image must cover at least one box by this fraction. + optional float min_object_covered = 1 [default=1.0]; + + // Aspect ratio bounds of cropped image. + optional float min_aspect_ratio = 2 [default=0.75]; + optional float max_aspect_ratio = 3 [default=1.33]; + + // Allowed area ratio of cropped image to original image. + optional float min_area = 4 [default=0.1]; + optional float max_area = 5 [default=1.0]; + + // Minimum overlap threshold of cropped boxes to keep in new image. If the + // ratio between a cropped bounding box and the original is less than this + // value, it is removed from the new image. + optional float overlap_thresh = 6 [default=0.3]; + + // Probability of keeping the original image. + optional float random_coef = 7 [default=0.0]; +} + +// Randomly adds padding to the image. +message RandomPadImage { + // Minimum dimensions for padded image. If unset, will use original image + // dimension as a lower bound. + optional float min_image_height = 1; + optional float min_image_width = 2; + + // Maximum dimensions for padded image. If unset, will use double the original + // image dimension as a lower bound. + optional float max_image_height = 3; + optional float max_image_width = 4; + + // Color of the padding. If unset, will pad using average color of the input + // image. + repeated float pad_color = 5; +} + +// Randomly crops an image followed by a random pad. +message RandomCropPadImage { + // Cropping operation must cover at least one box by this fraction. + optional float min_object_covered = 1 [default=1.0]; + + // Aspect ratio bounds of image after cropping operation. + optional float min_aspect_ratio = 2 [default=0.75]; + optional float max_aspect_ratio = 3 [default=1.33]; + + // Allowed area ratio of image after cropping operation. + optional float min_area = 4 [default=0.1]; + optional float max_area = 5 [default=1.0]; + + // Minimum overlap threshold of cropped boxes to keep in new image. If the + // ratio between a cropped bounding box and the original is less than this + // value, it is removed from the new image. + optional float overlap_thresh = 6 [default=0.3]; + + // Probability of keeping the original image during the crop operation. + optional float random_coef = 7 [default=0.0]; + + // Maximum dimensions for padded image. If unset, will use double the original + // image dimension as a lower bound. Both of the following fields should be + // length 2. + repeated float min_padded_size_ratio = 8; + repeated float max_padded_size_ratio = 9; + + // Color of the padding. If unset, will pad using average color of the input + // image. + repeated float pad_color = 10; +} + +// Randomly crops an iamge to a given aspect ratio. +message RandomCropToAspectRatio { + // Aspect ratio. + optional float aspect_ratio = 1 [default=1.0]; + + // Minimum overlap threshold of cropped boxes to keep in new image. If the + // ratio between a cropped bounding box and the original is less than this + // value, it is removed from the new image. + optional float overlap_thresh = 2 [default=0.3]; +} + +// Randomly adds black square patches to an image. +message RandomBlackPatches { + // The maximum number of black patches to add. + optional int32 max_black_patches = 1 [default=10]; + + // The probability of a black patch being added to an image. + optional float probability = 2 [default=0.5]; + + // Ratio between the dimension of the black patch to the minimum dimension of + // the image (patch_width = patch_height = min(image_height, image_width)). + optional float size_to_image_ratio = 3 [default=0.1]; +} + +// Randomly resizes the image up to [target_height, target_width]. +message RandomResizeMethod { + optional float target_height = 1; + optional float target_width = 2; +} + +// Scales boxes from normalized coordinates to pixel coordinates. +message ScaleBoxesToPixelCoordinates { +} + +// Resizes images to [new_height, new_width]. +message ResizeImage { + optional int32 new_height = 1; + optional int32 new_width = 2; + enum Method { + AREA=1; + BICUBIC=2; + BILINEAR=3; + NEAREST_NEIGHBOR=4; + } + optional Method method = 3 [default=BILINEAR]; +} + +// Normalizes an image by subtracting a mean from each channel. +message SubtractChannelMean { + // The mean to subtract from each channel. Should be of same dimension of + // channels in the input image. + repeated float means = 1; +} + +message SSDRandomCropOperation { + // Cropped image must cover at least this fraction of one original bounding + // box. + optional float min_object_covered = 1; + + // The aspect ratio of the cropped image must be within the range of + // [min_aspect_ratio, max_aspect_ratio]. + optional float min_aspect_ratio = 2; + optional float max_aspect_ratio = 3; + + // The area of the cropped image must be within the range of + // [min_area, max_area]. + optional float min_area = 4; + optional float max_area = 5; + + // Cropped box area ratio must be above this threhold to be kept. + optional float overlap_thresh = 6; + + // Probability a crop operation is skipped. + optional float random_coef = 7; +} + +// Randomly crops a image according to: +// Liu et al., SSD: Single shot multibox detector. +// This preprocessing step defines multiple SSDRandomCropOperations. Only one +// operation (chosen at random) is actually performed on an image. +message SSDRandomCrop { + repeated SSDRandomCropOperation operations = 1; +} + +message SSDRandomCropPadOperation { + // Cropped image must cover at least this fraction of one original bounding + // box. + optional float min_object_covered = 1; + + // The aspect ratio of the cropped image must be within the range of + // [min_aspect_ratio, max_aspect_ratio]. + optional float min_aspect_ratio = 2; + optional float max_aspect_ratio = 3; + + // The area of the cropped image must be within the range of + // [min_area, max_area]. + optional float min_area = 4; + optional float max_area = 5; + + // Cropped box area ratio must be above this threhold to be kept. + optional float overlap_thresh = 6; + + // Probability a crop operation is skipped. + optional float random_coef = 7; + + // Min ratio of padded image height and width to the input image's height and + // width. Two entries per operation. + repeated float min_padded_size_ratio = 8; + + // Max ratio of padded image height and width to the input image's height and + // width. Two entries per operation. + repeated float max_padded_size_ratio = 9; + + // Padding color. + optional float pad_color_r = 10; + optional float pad_color_g = 11; + optional float pad_color_b = 12; +} + +// Randomly crops and pads an image according to: +// Liu et al., SSD: Single shot multibox detector. +// This preprocessing step defines multiple SSDRandomCropPadOperations. Only one +// operation (chosen at random) is actually performed on an image. +message SSDRandomCropPad { + repeated SSDRandomCropPadOperation operations = 1; +} + +message SSDRandomCropFixedAspectRatioOperation { + // Cropped image must cover at least this fraction of one original bounding + // box. + optional float min_object_covered = 1; + + // The area of the cropped image must be within the range of + // [min_area, max_area]. + optional float min_area = 4; + optional float max_area = 5; + + // Cropped box area ratio must be above this threhold to be kept. + optional float overlap_thresh = 6; + + // Probability a crop operation is skipped. + optional float random_coef = 7; +} + +// Randomly crops a image to a fixed aspect ratio according to: +// Liu et al., SSD: Single shot multibox detector. +// Multiple SSDRandomCropFixedAspectRatioOperations are defined by this +// preprocessing step. Only one operation (chosen at random) is actually +// performed on an image. +message SSDRandomCropFixedAspectRatio { + repeated SSDRandomCropFixedAspectRatioOperation operations = 1; + + // Aspect ratio to crop to. This value is used for all crop operations. + optional float aspect_ratio = 2 [default=1.0]; +} diff --git a/object_detection/protos/region_similarity_calculator.proto b/object_detection/protos/region_similarity_calculator.proto new file mode 100644 index 000000000..e82424e2e --- /dev/null +++ b/object_detection/protos/region_similarity_calculator.proto @@ -0,0 +1,25 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for region similarity calculators. See +// core/region_similarity_calculator.py for details. +message RegionSimilarityCalculator { + oneof region_similarity { + NegSqDistSimilarity neg_sq_dist_similarity = 1; + IouSimilarity iou_similarity = 2; + IoaSimilarity ioa_similarity = 3; + } +} + +// Configuration for negative squared distance similarity calculator. +message NegSqDistSimilarity { +} + +// Configuration for intersection-over-union (IOU) similarity calculator. +message IouSimilarity { +} + +// Configuration for intersection-over-area (IOA) similarity calculator. +message IoaSimilarity { +} diff --git a/object_detection/protos/square_box_coder.proto b/object_detection/protos/square_box_coder.proto new file mode 100644 index 000000000..41575eb42 --- /dev/null +++ b/object_detection/protos/square_box_coder.proto @@ -0,0 +1,14 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for SquareBoxCoder. See +// box_coders/square_box_coder.py for details. +message SquareBoxCoder { + // Scale factor for anchor encoded box center. + optional float y_scale = 1 [default = 10.0]; + optional float x_scale = 2 [default = 10.0]; + + // Scale factor for anchor encoded box length. + optional float length_scale = 3 [default = 5.0]; +} diff --git a/object_detection/protos/ssd.proto b/object_detection/protos/ssd.proto new file mode 100644 index 000000000..9eb78c662 --- /dev/null +++ b/object_detection/protos/ssd.proto @@ -0,0 +1,65 @@ +syntax = "proto2"; +package object_detection.protos; + +import "object_detection/protos/anchor_generator.proto"; +import "object_detection/protos/box_coder.proto"; +import "object_detection/protos/box_predictor.proto"; +import "object_detection/protos/hyperparams.proto"; +import "object_detection/protos/image_resizer.proto"; +import "object_detection/protos/matcher.proto"; +import "object_detection/protos/losses.proto"; +import "object_detection/protos/post_processing.proto"; +import "object_detection/protos/region_similarity_calculator.proto"; + +// Configuration for Single Shot Detection (SSD) models. +message Ssd { + + // Number of classes to predict. + optional int32 num_classes = 1; + + // Image resizer for preprocessing the input image. + optional ImageResizer image_resizer = 2; + + // Feature extractor config. + optional SsdFeatureExtractor feature_extractor = 3; + + // Box coder to encode the boxes. + optional BoxCoder box_coder = 4; + + // Matcher to match groundtruth with anchors. + optional Matcher matcher = 5; + + // Region similarity calculator to compute similarity of boxes. + optional RegionSimilarityCalculator similarity_calculator = 6; + + // Box predictor to attach to the features. + optional BoxPredictor box_predictor = 7; + + // Anchor generator to compute anchors. + optional AnchorGenerator anchor_generator = 8; + + // Post processing to apply on the predictions. + optional PostProcessing post_processing = 9; + + // Whether to normalize the loss by number of groundtruth boxes that match to + // the anchors. + optional bool normalize_loss_by_num_matches = 10 [default=true]; + + // Loss configuration for training. + optional Loss loss = 11; +} + + +message SsdFeatureExtractor { + // Type of ssd feature extractor. + optional string type = 1; + + // The factor to alter the depth of the channels in the feature extractor. + optional float depth_multiplier = 2 [default=1.0]; + + // Minimum number of the channels in the feature extractor. + optional int32 min_depth = 3 [default=16]; + + // Hyperparameters for the feature extractor. + optional Hyperparams conv_hyperparams = 4; +} diff --git a/object_detection/protos/ssd_anchor_generator.proto b/object_detection/protos/ssd_anchor_generator.proto new file mode 100644 index 000000000..15654ace4 --- /dev/null +++ b/object_detection/protos/ssd_anchor_generator.proto @@ -0,0 +1,25 @@ +syntax = "proto2"; + +package object_detection.protos; + +// Configuration proto for SSD anchor generator described in +// https://arxiv.org/abs/1512.02325. See +// anchor_generators/multiple_grid_anchor_generator.py for details. +message SsdAnchorGenerator { + // Number of grid layers to create anchors for. + optional int32 num_layers = 1 [default = 6]; + + // Scale of anchors corresponding to finest resolution. + optional float min_scale = 2 [default = 0.2]; + + // Scale of anchors corresponding to coarsest resolution + optional float max_scale = 3 [default = 0.95]; + + // Aspect ratios for anchors at each grid point. + repeated float aspect_ratios = 4; + + // Whether to use the following aspect ratio and scale combination for the + // layer with the finest resolution : (scale=0.1, aspect_ratio=1.0), + // (scale=min_scale, aspect_ration=2.0), (scale=min_scale, aspect_ratio=0.5). + optional bool reduce_boxes_in_lowest_layer = 5 [default = true]; +} diff --git a/object_detection/protos/string_int_label_map.proto b/object_detection/protos/string_int_label_map.proto new file mode 100644 index 000000000..0894183bb --- /dev/null +++ b/object_detection/protos/string_int_label_map.proto @@ -0,0 +1,24 @@ +// Message to store the mapping from class label strings to class id. Datasets +// use string labels to represent classes while the object detection framework +// works with class ids. This message maps them so they can be converted back +// and forth as needed. +syntax = "proto2"; + +package object_detection.protos; + +message StringIntLabelMapItem { + // String name. The most common practice is to set this to a MID or synsets + // id. + optional string name = 1; + + // Integer id that maps to the string name above. Label ids should start from + // 1. + optional int32 id = 2; + + // Human readable string label. + optional string display_name = 3; +}; + +message StringIntLabelMap { + repeated StringIntLabelMapItem item = 1; +}; diff --git a/object_detection/protos/train.proto b/object_detection/protos/train.proto new file mode 100644 index 000000000..4f070082a --- /dev/null +++ b/object_detection/protos/train.proto @@ -0,0 +1,64 @@ +syntax = "proto2"; + +package object_detection.protos; + +import "object_detection/protos/optimizer.proto"; +import "object_detection/protos/preprocessor.proto"; + +// Message for configuring DetectionModel training jobs (train.py). +message TrainConfig { + // Input queue batch size. + optional uint32 batch_size = 1 [default=32]; + + // Data augmentation options. + repeated PreprocessingStep data_augmentation_options = 2; + + // Whether to synchronize replicas during training. + optional bool sync_replicas = 3 [default=false]; + + // How frequently to keep checkpoints. + optional uint32 keep_checkpoint_every_n_hours = 4 [default=1000]; + + // Optimizer used to train the DetectionModel. + optional Optimizer optimizer = 5; + + // If greater than 0, clips gradients by this value. + optional float gradient_clipping_by_norm = 6 [default=0.0]; + + // Checkpoint to restore variables from. Typically used to load feature + // extractor variables trained outside of object detection. + optional string fine_tune_checkpoint = 7 [default=""]; + + // Specifies if the finetune checkpoint is from an object detection model. + // If from an object detection model, the model being trained should have + // the same parameters with the exception of the num_classes parameter. + // If false, it assumes the checkpoint was a object classification model. + optional bool from_detection_checkpoint = 8 [default=false]; + + // Number of steps to train the DetectionModel for. If 0, will train the model + // indefinitely. + optional uint32 num_steps = 9 [default=0]; + + // Number of training steps between replica startup. + // This flag must be set to 0 if sync_replicas is set to true. + optional float startup_delay_steps = 10 [default=15]; + + // If greater than 0, multiplies the gradient of bias variables by this + // amount. + optional float bias_grad_multiplier = 11 [default=0]; + + // Variables that should not be updated during training. + repeated string freeze_variables = 12; + + // Number of replicas to aggregate before making parameter updates. + optional int32 replicas_to_aggregate = 13 [default=1]; + + // Maximum number of elements to store within a queue. + optional int32 batch_queue_capacity = 14 [default=600]; + + // Number of threads to use for batching. + optional int32 num_batch_queue_threads = 15 [default=8]; + + // Maximum capacity of the queue used to prefetch assembled batches. + optional int32 prefetch_queue_capacity = 16 [default=10]; +} diff --git a/object_detection/samples/cloud/cloud.yml b/object_detection/samples/cloud/cloud.yml new file mode 100644 index 000000000..495876a12 --- /dev/null +++ b/object_detection/samples/cloud/cloud.yml @@ -0,0 +1,11 @@ +trainingInput: + runtimeVersion: "1.0" + scaleTier: CUSTOM + masterType: standard_gpu + workerCount: 5 + workerType: standard_gpu + parameterServerCount: 3 + parameterServerType: standard + + + diff --git a/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config b/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config new file mode 100644 index 000000000..a09133374 --- /dev/null +++ b/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config @@ -0,0 +1,136 @@ +# Faster R-CNN with Inception Resnet v2, Atrous version; +# Configured for Oxford-IIT Pets Dataset. +# Users should configure the fine_tune_checkpoint field in the train config as +# well as the label_map_path and input_path fields in the train_input_reader and +# eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that +# should be configured. + +model { + faster_rcnn { + num_classes: 37 + image_resizer { + keep_aspect_ratio_resizer { + min_dimension: 600 + max_dimension: 1024 + } + } + feature_extractor { + type: 'faster_rcnn_inception_resnet_v2' + first_stage_features_stride: 8 + } + first_stage_anchor_generator { + grid_anchor_generator { + scales: [0.25, 0.5, 1.0, 2.0] + aspect_ratios: [0.5, 1.0, 2.0] + height_stride: 8 + width_stride: 8 + } + } + first_stage_atrous_rate: 2 + first_stage_box_predictor_conv_hyperparams { + op: CONV + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.01 + } + } + } + first_stage_nms_score_threshold: 0.0 + first_stage_nms_iou_threshold: 0.7 + first_stage_max_proposals: 300 + first_stage_localization_loss_weight: 2.0 + first_stage_objectness_loss_weight: 1.0 + initial_crop_size: 17 + maxpool_kernel_size: 1 + maxpool_stride: 1 + second_stage_box_predictor { + mask_rcnn_box_predictor { + use_dropout: false + dropout_keep_probability: 1.0 + fc_hyperparams { + op: FC + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + variance_scaling_initializer { + factor: 1.0 + uniform: true + mode: FAN_AVG + } + } + } + } + } + second_stage_post_processing { + batch_non_max_suppression { + score_threshold: 0.0 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 100 + } + score_converter: SOFTMAX + } + second_stage_localization_loss_weight: 2.0 + second_stage_classification_loss_weight: 1.0 + } +} + +train_config: { + batch_size: 1 + optimizer { + momentum_optimizer: { + learning_rate: { + manual_step_learning_rate { + initial_learning_rate: 0.0003 + schedule { + step: 0 + learning_rate: .0003 + } + schedule { + step: 900000 + learning_rate: .00003 + } + schedule { + step: 1200000 + learning_rate: .000003 + } + } + } + momentum_optimizer_value: 0.9 + } + use_moving_average: false + } + gradient_clipping_by_norm: 10.0 + fine_tune_checkpoint: "PATH_TO_BE_CONFIGURED/model.ckpt" + from_detection_checkpoint: true + data_augmentation_options { + random_horizontal_flip { + } + } +} + +train_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_train.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} + +eval_config: { + num_examples: 2000 +} + +eval_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} diff --git a/object_detection/samples/configs/faster_rcnn_resnet101_pets.config b/object_detection/samples/configs/faster_rcnn_resnet101_pets.config new file mode 100644 index 000000000..b90304c2e --- /dev/null +++ b/object_detection/samples/configs/faster_rcnn_resnet101_pets.config @@ -0,0 +1,134 @@ +# Faster R-CNN with Resnet-101 (v1) configured for the Oxford-IIT Pet Dataset. +# Users should configure the fine_tune_checkpoint field in the train config as +# well as the label_map_path and input_path fields in the train_input_reader and +# eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that +# should be configured. + +model { + faster_rcnn { + num_classes: 37 + image_resizer { + keep_aspect_ratio_resizer { + min_dimension: 600 + max_dimension: 1024 + } + } + feature_extractor { + type: 'faster_rcnn_resnet101' + first_stage_features_stride: 16 + } + first_stage_anchor_generator { + grid_anchor_generator { + scales: [0.25, 0.5, 1.0, 2.0] + aspect_ratios: [0.5, 1.0, 2.0] + height_stride: 16 + width_stride: 16 + } + } + first_stage_box_predictor_conv_hyperparams { + op: CONV + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.01 + } + } + } + first_stage_nms_score_threshold: 0.0 + first_stage_nms_iou_threshold: 0.7 + first_stage_max_proposals: 300 + first_stage_localization_loss_weight: 2.0 + first_stage_objectness_loss_weight: 1.0 + initial_crop_size: 14 + maxpool_kernel_size: 2 + maxpool_stride: 2 + second_stage_box_predictor { + mask_rcnn_box_predictor { + use_dropout: false + dropout_keep_probability: 1.0 + fc_hyperparams { + op: FC + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + variance_scaling_initializer { + factor: 1.0 + uniform: true + mode: FAN_AVG + } + } + } + } + } + second_stage_post_processing { + batch_non_max_suppression { + score_threshold: 0.0 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 300 + } + score_converter: SOFTMAX + } + second_stage_localization_loss_weight: 2.0 + second_stage_classification_loss_weight: 1.0 + } +} + +train_config: { + batch_size: 1 + optimizer { + momentum_optimizer: { + learning_rate: { + manual_step_learning_rate { + initial_learning_rate: 0.0003 + schedule { + step: 0 + learning_rate: .0003 + } + schedule { + step: 900000 + learning_rate: .00003 + } + schedule { + step: 1200000 + learning_rate: .000003 + } + } + } + momentum_optimizer_value: 0.9 + } + use_moving_average: false + } + gradient_clipping_by_norm: 10.0 + fine_tune_checkpoint: "PATH_TO_BE_CONFIGURED/model.ckpt" + from_detection_checkpoint: true + data_augmentation_options { + random_horizontal_flip { + } + } +} + +train_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_train.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} + +eval_config: { + num_examples: 2000 +} + +eval_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} diff --git a/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config b/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config new file mode 100644 index 000000000..622194b8e --- /dev/null +++ b/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config @@ -0,0 +1,135 @@ +# Faster R-CNN with Resnet-101 (v1), configured for Pascal VOC Dataset. +# Users should configure the fine_tune_checkpoint field in the train config as +# well as the label_map_path and input_path fields in the train_input_reader and +# eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that +# should be configured. + +model { + faster_rcnn { + num_classes: 20 + image_resizer { + keep_aspect_ratio_resizer { + min_dimension: 600 + max_dimension: 1024 + } + } + feature_extractor { + type: 'faster_rcnn_resnet101' + first_stage_features_stride: 16 + } + first_stage_anchor_generator { + grid_anchor_generator { + scales: [0.25, 0.5, 1.0, 2.0] + aspect_ratios: [0.5, 1.0, 2.0] + height_stride: 16 + width_stride: 16 + } + } + first_stage_box_predictor_conv_hyperparams { + op: CONV + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.01 + } + } + } + first_stage_nms_score_threshold: 0.0 + first_stage_nms_iou_threshold: 0.7 + first_stage_max_proposals: 300 + first_stage_localization_loss_weight: 2.0 + first_stage_objectness_loss_weight: 1.0 + initial_crop_size: 14 + maxpool_kernel_size: 2 + maxpool_stride: 2 + second_stage_box_predictor { + mask_rcnn_box_predictor { + use_dropout: false + dropout_keep_probability: 1.0 + fc_hyperparams { + op: FC + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + variance_scaling_initializer { + factor: 1.0 + uniform: true + mode: FAN_AVG + } + } + } + } + } + second_stage_post_processing { + batch_non_max_suppression { + score_threshold: 0.0 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 300 + } + score_converter: SOFTMAX + } + second_stage_localization_loss_weight: 2.0 + second_stage_classification_loss_weight: 1.0 + } +} + +train_config: { + batch_size: 1 + optimizer { + momentum_optimizer: { + learning_rate: { + manual_step_learning_rate { + initial_learning_rate: 0.0001 + schedule { + step: 0 + learning_rate: .0001 + } + schedule { + step: 500000 + learning_rate: .00001 + } + schedule { + step: 700000 + learning_rate: .000001 + } + } + } + momentum_optimizer_value: 0.9 + } + use_moving_average: false + } + gradient_clipping_by_norm: 10.0 + fine_tune_checkpoint: "PATH_TO_BE_CONFIGURED/model.ckpt" + from_detection_checkpoint: true + num_steps: 800000 + data_augmentation_options { + random_horizontal_flip { + } + } +} + +train_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pascal_voc_train.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pascal_voc_label_map.pbtxt" +} + +eval_config: { + num_examples: 4952 +} + +eval_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pascal_voc_val.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pascal_voc_label_map.pbtxt" +} diff --git a/object_detection/samples/configs/faster_rcnn_resnet152_pets.config b/object_detection/samples/configs/faster_rcnn_resnet152_pets.config new file mode 100644 index 000000000..128380b9c --- /dev/null +++ b/object_detection/samples/configs/faster_rcnn_resnet152_pets.config @@ -0,0 +1,134 @@ +# Faster R-CNN with Resnet-152 (v1), configured for Oxford-IIT Pets Dataset. +# Users should configure the fine_tune_checkpoint field in the train config as +# well as the label_map_path and input_path fields in the train_input_reader and +# eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that +# should be configured. + +model { + faster_rcnn { + num_classes: 37 + image_resizer { + keep_aspect_ratio_resizer { + min_dimension: 600 + max_dimension: 1024 + } + } + feature_extractor { + type: 'faster_rcnn_resnet152' + first_stage_features_stride: 16 + } + first_stage_anchor_generator { + grid_anchor_generator { + scales: [0.25, 0.5, 1.0, 2.0] + aspect_ratios: [0.5, 1.0, 2.0] + height_stride: 16 + width_stride: 16 + } + } + first_stage_box_predictor_conv_hyperparams { + op: CONV + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.01 + } + } + } + first_stage_nms_score_threshold: 0.0 + first_stage_nms_iou_threshold: 0.7 + first_stage_max_proposals: 300 + first_stage_localization_loss_weight: 2.0 + first_stage_objectness_loss_weight: 1.0 + initial_crop_size: 14 + maxpool_kernel_size: 2 + maxpool_stride: 2 + second_stage_box_predictor { + mask_rcnn_box_predictor { + use_dropout: false + dropout_keep_probability: 1.0 + fc_hyperparams { + op: FC + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + variance_scaling_initializer { + factor: 1.0 + uniform: true + mode: FAN_AVG + } + } + } + } + } + second_stage_post_processing { + batch_non_max_suppression { + score_threshold: 0.0 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 300 + } + score_converter: SOFTMAX + } + second_stage_localization_loss_weight: 2.0 + second_stage_classification_loss_weight: 1.0 + } +} + +train_config: { + batch_size: 1 + optimizer { + momentum_optimizer: { + learning_rate: { + manual_step_learning_rate { + initial_learning_rate: 0.0003 + schedule { + step: 0 + learning_rate: .0003 + } + schedule { + step: 900000 + learning_rate: .00003 + } + schedule { + step: 1200000 + learning_rate: .000003 + } + } + } + momentum_optimizer_value: 0.9 + } + use_moving_average: false + } + gradient_clipping_by_norm: 10.0 + fine_tune_checkpoint: "PATH_TO_BE_CONFIGURED/model.ckpt" + from_detection_checkpoint: true + data_augmentation_options { + random_horizontal_flip { + } + } +} + +train_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_train.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} + +eval_config: { + num_examples: 2000 +} + +eval_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} diff --git a/object_detection/samples/configs/faster_rcnn_resnet50_pets.config b/object_detection/samples/configs/faster_rcnn_resnet50_pets.config new file mode 100644 index 000000000..5e929301a --- /dev/null +++ b/object_detection/samples/configs/faster_rcnn_resnet50_pets.config @@ -0,0 +1,134 @@ +# Faster R-CNN with Resnet-50 (v1), configured for Oxford-IIT Pets Dataset. +# Users should configure the fine_tune_checkpoint field in the train config as +# well as the label_map_path and input_path fields in the train_input_reader and +# eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that +# should be configured. + +model { + faster_rcnn { + num_classes: 37 + image_resizer { + keep_aspect_ratio_resizer { + min_dimension: 600 + max_dimension: 1024 + } + } + feature_extractor { + type: 'faster_rcnn_resnet50' + first_stage_features_stride: 16 + } + first_stage_anchor_generator { + grid_anchor_generator { + scales: [0.25, 0.5, 1.0, 2.0] + aspect_ratios: [0.5, 1.0, 2.0] + height_stride: 16 + width_stride: 16 + } + } + first_stage_box_predictor_conv_hyperparams { + op: CONV + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.01 + } + } + } + first_stage_nms_score_threshold: 0.0 + first_stage_nms_iou_threshold: 0.7 + first_stage_max_proposals: 300 + first_stage_localization_loss_weight: 2.0 + first_stage_objectness_loss_weight: 1.0 + initial_crop_size: 14 + maxpool_kernel_size: 2 + maxpool_stride: 2 + second_stage_box_predictor { + mask_rcnn_box_predictor { + use_dropout: false + dropout_keep_probability: 1.0 + fc_hyperparams { + op: FC + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + variance_scaling_initializer { + factor: 1.0 + uniform: true + mode: FAN_AVG + } + } + } + } + } + second_stage_post_processing { + batch_non_max_suppression { + score_threshold: 0.0 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 300 + } + score_converter: SOFTMAX + } + second_stage_localization_loss_weight: 2.0 + second_stage_classification_loss_weight: 1.0 + } +} + +train_config: { + batch_size: 1 + optimizer { + momentum_optimizer: { + learning_rate: { + manual_step_learning_rate { + initial_learning_rate: 0.0003 + schedule { + step: 0 + learning_rate: .0003 + } + schedule { + step: 900000 + learning_rate: .00003 + } + schedule { + step: 1200000 + learning_rate: .000003 + } + } + } + momentum_optimizer_value: 0.9 + } + use_moving_average: false + } + gradient_clipping_by_norm: 10.0 + fine_tune_checkpoint: "PATH_TO_BE_CONFIGURED/model.ckpt" + from_detection_checkpoint: true + data_augmentation_options { + random_horizontal_flip { + } + } +} + +train_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_train.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} + +eval_config: { + num_examples: 2000 +} + +eval_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} diff --git a/object_detection/samples/configs/rfcn_resnet101_pets.config b/object_detection/samples/configs/rfcn_resnet101_pets.config new file mode 100644 index 000000000..2b9df17ef --- /dev/null +++ b/object_detection/samples/configs/rfcn_resnet101_pets.config @@ -0,0 +1,131 @@ +# R-FCN with Resnet-101 (v1), configured for Oxford-IIT Pets Dataset. +# Users should configure the fine_tune_checkpoint field in the train config as +# well as the label_map_path and input_path fields in the train_input_reader and +# eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that +# should be configured. + +model { + faster_rcnn { + num_classes: 37 + image_resizer { + keep_aspect_ratio_resizer { + min_dimension: 600 + max_dimension: 1024 + } + } + feature_extractor { + type: 'faster_rcnn_resnet101' + first_stage_features_stride: 16 + } + first_stage_anchor_generator { + grid_anchor_generator { + scales: [0.25, 0.5, 1.0, 2.0] + aspect_ratios: [0.5, 1.0, 2.0] + height_stride: 16 + width_stride: 16 + } + } + first_stage_box_predictor_conv_hyperparams { + op: CONV + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.01 + } + } + } + first_stage_nms_score_threshold: 0.0 + first_stage_nms_iou_threshold: 0.7 + first_stage_max_proposals: 300 + first_stage_localization_loss_weight: 2.0 + first_stage_objectness_loss_weight: 1.0 + second_stage_box_predictor { + rfcn_box_predictor { + conv_hyperparams { + op: CONV + regularizer { + l2_regularizer { + weight: 0.0 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.01 + } + } + } + crop_height: 18 + crop_width: 18 + num_spatial_bins_height: 3 + num_spatial_bins_width: 3 + } + } + second_stage_post_processing { + batch_non_max_suppression { + score_threshold: 0.0 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 300 + } + score_converter: SOFTMAX + } + second_stage_localization_loss_weight: 2.0 + second_stage_classification_loss_weight: 1.0 + } +} + +train_config: { + batch_size: 1 + optimizer { + momentum_optimizer: { + learning_rate: { + manual_step_learning_rate { + initial_learning_rate: 0.0003 + schedule { + step: 0 + learning_rate: .0003 + } + schedule { + step: 900000 + learning_rate: .00003 + } + schedule { + step: 1200000 + learning_rate: .000003 + } + } + } + momentum_optimizer_value: 0.9 + } + use_moving_average: false + } + gradient_clipping_by_norm: 10.0 + fine_tune_checkpoint: "PATH_TO_BE_CONFIGURED/model.ckpt" + from_detection_checkpoint: true + data_augmentation_options { + random_horizontal_flip { + } + } +} + +train_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_train.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} + +eval_config: { + num_examples: 2000 +} + +eval_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} \ No newline at end of file diff --git a/object_detection/samples/configs/ssd_inception_v2_pets.config b/object_detection/samples/configs/ssd_inception_v2_pets.config new file mode 100644 index 000000000..801701ed5 --- /dev/null +++ b/object_detection/samples/configs/ssd_inception_v2_pets.config @@ -0,0 +1,180 @@ +# SSD with Inception v2 configured for Oxford-IIT Pets Dataset. +# Users should configure the fine_tune_checkpoint field in the train config as +# well as the label_map_path and input_path fields in the train_input_reader and +# eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that +# should be configured. + +model { + ssd { + num_classes: 37 + box_coder { + faster_rcnn_box_coder { + y_scale: 10.0 + x_scale: 10.0 + height_scale: 5.0 + width_scale: 5.0 + } + } + matcher { + argmax_matcher { + matched_threshold: 0.5 + unmatched_threshold: 0.5 + ignore_thresholds: false + negatives_lower_than_unmatched: true + force_match_for_each_row: true + } + } + similarity_calculator { + iou_similarity { + } + } + anchor_generator { + ssd_anchor_generator { + num_layers: 6 + min_scale: 0.2 + max_scale: 0.95 + aspect_ratios: 1.0 + aspect_ratios: 2.0 + aspect_ratios: 0.5 + aspect_ratios: 3.0 + aspect_ratios: 0.3333 + reduce_boxes_in_lowest_layer: true + } + } + image_resizer { + fixed_shape_resizer { + height: 300 + width: 300 + } + } + box_predictor { + convolutional_box_predictor { + min_depth: 0 + max_depth: 0 + num_layers_before_predictor: 0 + use_dropout: false + dropout_keep_probability: 0.8 + kernel_size: 3 + box_code_size: 4 + apply_sigmoid_to_scores: false + conv_hyperparams { + activation: RELU_6, + regularizer { + l2_regularizer { + weight: 0.00004 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.03 + mean: 0.0 + } + } + } + } + } + feature_extractor { + type: 'ssd_inception_v2' + min_depth: 16 + depth_multiplier: 1.0 + conv_hyperparams { + activation: RELU_6, + regularizer { + l2_regularizer { + weight: 0.00004 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.03 + mean: 0.0 + } + } + batch_norm { + train: true, + scale: true, + center: true, + decay: 0.9997, + epsilon: 0.001, + } + } + } + loss { + classification_loss { + weighted_sigmoid { + anchorwise_output: true + } + } + localization_loss { + weighted_smooth_l1 { + anchorwise_output: true + } + } + hard_example_miner { + num_hard_examples: 3000 + iou_threshold: 0.99 + loss_type: CLASSIFICATION + max_negatives_per_positive: 3 + min_negatives_per_image: 0 + } + classification_weight: 1.0 + localization_weight: 1.0 + } + normalize_loss_by_num_matches: true + post_processing { + batch_non_max_suppression { + score_threshold: 1e-8 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 100 + } + score_converter: SIGMOID + } + } +} + +train_config: { + batch_size: 32 + optimizer { + rms_prop_optimizer: { + learning_rate: { + exponential_decay_learning_rate { + initial_learning_rate: 0.004 + decay_steps: 800720 + decay_factor: 0.95 + } + } + momentum_optimizer_value: 0.9 + decay: 0.9 + epsilon: 1.0 + } + } + fine_tune_checkpoint: "PATH_TO_BE_CONFIGURED/model.ckpt" + from_detection_checkpoint: true + data_augmentation_options { + random_horizontal_flip { + } + } + data_augmentation_options { + ssd_random_crop { + } + } +} + +train_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_train.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} + +eval_config: { + num_examples: 2000 +} + +eval_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} diff --git a/object_detection/samples/configs/ssd_mobilenet_v1_pets.config b/object_detection/samples/configs/ssd_mobilenet_v1_pets.config new file mode 100644 index 000000000..e8b0516f2 --- /dev/null +++ b/object_detection/samples/configs/ssd_mobilenet_v1_pets.config @@ -0,0 +1,186 @@ +# SSD with Mobilenet v1, configured for Oxford-IIT Pets Dataset. +# Users should configure the fine_tune_checkpoint field in the train config as +# well as the label_map_path and input_path fields in the train_input_reader and +# eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that +# should be configured. + +model { + ssd { + num_classes: 37 + box_coder { + faster_rcnn_box_coder { + y_scale: 10.0 + x_scale: 10.0 + height_scale: 5.0 + width_scale: 5.0 + } + } + matcher { + argmax_matcher { + matched_threshold: 0.5 + unmatched_threshold: 0.5 + ignore_thresholds: false + negatives_lower_than_unmatched: true + force_match_for_each_row: true + } + } + similarity_calculator { + iou_similarity { + } + } + anchor_generator { + ssd_anchor_generator { + num_layers: 6 + min_scale: 0.2 + max_scale: 0.95 + aspect_ratios: 1.0 + aspect_ratios: 2.0 + aspect_ratios: 0.5 + aspect_ratios: 3.0 + aspect_ratios: 0.3333 + } + } + image_resizer { + fixed_shape_resizer { + height: 300 + width: 300 + } + } + box_predictor { + convolutional_box_predictor { + min_depth: 0 + max_depth: 0 + num_layers_before_predictor: 0 + use_dropout: false + dropout_keep_probability: 0.8 + kernel_size: 1 + box_code_size: 4 + apply_sigmoid_to_scores: false + conv_hyperparams { + activation: RELU_6, + regularizer { + l2_regularizer { + weight: 0.00004 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.03 + mean: 0.0 + } + } + batch_norm { + train: true, + scale: true, + center: true, + decay: 0.9997, + epsilon: 0.001, + } + } + } + } + feature_extractor { + type: 'ssd_mobilenet_v1' + min_depth: 16 + depth_multiplier: 1.0 + conv_hyperparams { + activation: RELU_6, + regularizer { + l2_regularizer { + weight: 0.00004 + } + } + initializer { + truncated_normal_initializer { + stddev: 0.03 + mean: 0.0 + } + } + batch_norm { + train: true, + scale: true, + center: true, + decay: 0.9997, + epsilon: 0.001, + } + } + } + loss { + classification_loss { + weighted_sigmoid { + anchorwise_output: true + } + } + localization_loss { + weighted_smooth_l1 { + anchorwise_output: true + } + } + hard_example_miner { + num_hard_examples: 3000 + iou_threshold: 0.99 + loss_type: CLASSIFICATION + max_negatives_per_positive: 3 + min_negatives_per_image: 0 + } + classification_weight: 1.0 + localization_weight: 1.0 + } + normalize_loss_by_num_matches: true + post_processing { + batch_non_max_suppression { + score_threshold: 1e-8 + iou_threshold: 0.6 + max_detections_per_class: 100 + max_total_detections: 100 + } + score_converter: SIGMOID + } + } +} + +train_config: { + batch_size: 32 + optimizer { + rms_prop_optimizer: { + learning_rate: { + exponential_decay_learning_rate { + initial_learning_rate: 0.004 + decay_steps: 800720 + decay_factor: 0.95 + } + } + momentum_optimizer_value: 0.9 + decay: 0.9 + epsilon: 1.0 + } + } + fine_tune_checkpoint: "PATH_TO_BE_CONFIGURED/model.ckpt" + from_detection_checkpoint: true + data_augmentation_options { + random_horizontal_flip { + } + } + data_augmentation_options { + ssd_random_crop { + } + } +} + +train_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_train.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} + +eval_config: { + num_examples: 2000 +} + +eval_input_reader: { + tf_record_input_reader { + input_path: "PATH_TO_BE_CONFIGURED/pet_val.record" + } + label_map_path: "PATH_TO_BE_CONFIGURED/pet_label_map.pbtxt" +} diff --git a/object_detection/test_images/image1.jpg b/object_detection/test_images/image1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8b20d8af3e195be7f4c212e31102cada9248dcde GIT binary patch literal 129862 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

        8rW|*Bt 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%0Dc_u$+g$b=*Z>EDuQ&9cQRQfrS>R{lV!T>n+{B~ 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 -Ua|+z6UTJIdeuwN>X}WkCZ9lUg$ocEz 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 Y0Q%Mbh=G$*_{W8bSq27 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 1. + depth_multiplier: Float multiplier for the depth (number of channels) + for all convolution ops. The value must be greater than zero. Typical + usage will be to set this value in (0, 1) to reduce the number of + parameters or computation cost of the model. + conv_defs: A list of ConvDef namedtuples specifying the net architecture. + output_stride: An integer that specifies the requested ratio of input to + output spatial resolution. If not None, then we invoke atrous convolution + if necessary to prevent the network from reducing the spatial resolution + of the activation maps. Allowed values are 8 (accurate fully convolutional + mode), 16 (fast fully convolutional mode), 32 (classification mode). + scope: Optional variable_scope. + + Returns: + tensor_out: output tensor corresponding to the final_endpoint. + end_points: a set of activations for external use, for example summaries or + losses. + + Raises: + ValueError: if final_endpoint is not set to one of the predefined values, + or depth_multiplier <= 0, or the target output_stride is not + allowed. + """ + depth = lambda d: max(int(d * depth_multiplier), min_depth) + end_points = {} + + # Used to find thinned depths for each layer. + if depth_multiplier <= 0: + raise ValueError('depth_multiplier is not greater than zero.') + + if conv_defs is None: + conv_defs = _CONV_DEFS + + if output_stride is not None and output_stride not in [8, 16, 32]: + raise ValueError('Only allowed output_stride values are 8, 16, 32.') + + with tf.variable_scope(scope, 'MobilenetV1', [inputs]): + with slim.arg_scope([slim.conv2d, slim.separable_conv2d], padding='SAME'): + # The current_stride variable keeps track of the output stride of the + # activations, i.e., the running product of convolution strides up to the + # current network layer. This allows us to invoke atrous convolution + # whenever applying the next convolution would result in the activations + # having output stride larger than the target output_stride. + current_stride = 1 + + # The atrous convolution rate parameter. + rate = 1 + + net = inputs + for i, conv_def in enumerate(conv_defs): + end_point_base = 'Conv2d_%d' % i + + if output_stride is not None and current_stride == output_stride: + # If we have reached the target output_stride, then we need to employ + # atrous convolution with stride=1 and multiply the atrous rate by the + # current unit's stride for use in subsequent layers. + layer_stride = 1 + layer_rate = rate + rate *= conv_def.stride + else: + layer_stride = conv_def.stride + layer_rate = 1 + current_stride *= conv_def.stride + + if isinstance(conv_def, Conv): + end_point = end_point_base + net = slim.conv2d(net, depth(conv_def.depth), conv_def.kernel, + stride=conv_def.stride, + normalizer_fn=slim.batch_norm, + scope=end_point) + end_points[end_point] = net + if end_point == final_endpoint: + return net, end_points + + elif isinstance(conv_def, DepthSepConv): + end_point = end_point_base + '_depthwise' + + # By passing filters=None + # separable_conv2d produces only a depthwise convolution layer + net = slim.separable_conv2d(net, None, conv_def.kernel, + depth_multiplier=1, + stride=layer_stride, + rate=layer_rate, + normalizer_fn=slim.batch_norm, + scope=end_point) + + end_points[end_point] = net + if end_point == final_endpoint: + return net, end_points + + end_point = end_point_base + '_pointwise' + + net = slim.conv2d(net, depth(conv_def.depth), [1, 1], + stride=1, + normalizer_fn=slim.batch_norm, + scope=end_point) + + end_points[end_point] = net + if end_point == final_endpoint: + return net, end_points + else: + raise ValueError('Unknown convolution type %s for layer %d' + % (conv_def.ltype, i)) + raise ValueError('Unknown final endpoint %s' % final_endpoint) + + +def mobilenet_v1(inputs, + num_classes=1000, + dropout_keep_prob=0.999, + is_training=True, + min_depth=8, + depth_multiplier=1.0, + conv_defs=None, + prediction_fn=tf.contrib.layers.softmax, + spatial_squeeze=True, + reuse=None, + scope='MobilenetV1'): + """Mobilenet v1 model for classification. + + Args: + inputs: a tensor of shape [batch_size, height, width, channels]. + num_classes: number of predicted classes. + dropout_keep_prob: the percentage of activation values that are retained. + is_training: whether is training or not. + min_depth: Minimum depth value (number of channels) for all convolution ops. + Enforced when depth_multiplier < 1, and not an active constraint when + depth_multiplier >= 1. + depth_multiplier: Float multiplier for the depth (number of channels) + for all convolution ops. The value must be greater than zero. Typical + usage will be to set this value in (0, 1) to reduce the number of + parameters or computation cost of the model. + conv_defs: A list of ConvDef namedtuples specifying the net architecture. + prediction_fn: a function to get predictions out of logits. + spatial_squeeze: if True, logits is of shape is [B, C], if false logits is + of shape [B, 1, 1, C], where B is batch_size and C is number of classes. + reuse: whether or not the network and its variables should be reused. To be + able to reuse 'scope' must be given. + scope: Optional variable_scope. + + Returns: + logits: the pre-softmax activations, a tensor of size + [batch_size, num_classes] + end_points: a dictionary from components of the network to the corresponding + activation. + + Raises: + ValueError: Input rank is invalid. + """ + input_shape = inputs.get_shape().as_list() + if len(input_shape) != 4: + raise ValueError('Invalid input tensor rank, expected 4, was: %d' % + len(input_shape)) + + with tf.variable_scope(scope, 'MobilenetV1', [inputs, num_classes], + reuse=reuse) as scope: + with slim.arg_scope([slim.batch_norm, slim.dropout], + is_training=is_training): + net, end_points = mobilenet_v1_base(inputs, scope=scope, + min_depth=min_depth, + depth_multiplier=depth_multiplier, + conv_defs=conv_defs) + with tf.variable_scope('Logits'): + kernel_size = _reduced_kernel_size_for_small_input(net, [7, 7]) + net = slim.avg_pool2d(net, kernel_size, padding='VALID', + scope='AvgPool_1a') + end_points['AvgPool_1a'] = net + # 1 x 1 x 1024 + net = slim.dropout(net, keep_prob=dropout_keep_prob, scope='Dropout_1b') + logits = slim.conv2d(net, num_classes, [1, 1], activation_fn=None, + normalizer_fn=None, scope='Conv2d_1c_1x1') + if spatial_squeeze: + logits = tf.squeeze(logits, [1, 2], name='SpatialSqueeze') + end_points['Logits'] = logits + if prediction_fn: + end_points['Predictions'] = prediction_fn(logits, scope='Predictions') + return logits, end_points + +mobilenet_v1.default_image_size = 224 + + +def _reduced_kernel_size_for_small_input(input_tensor, kernel_size): + """Define kernel size which is automatically reduced for small input. + + If the shape of the input images is unknown at graph construction time this + function assumes that the input images are large enough. + + Args: + input_tensor: input tensor of size [batch_size, height, width, channels]. + kernel_size: desired kernel size of length 2: [kernel_height, kernel_width] + + Returns: + a tensor with the kernel size. + """ + shape = input_tensor.get_shape().as_list() + if shape[1] is None or shape[2] is None: + kernel_size_out = kernel_size + else: + kernel_size_out = [min(shape[1], kernel_size[0]), + min(shape[2], kernel_size[1])] + return kernel_size_out + + +def mobilenet_v1_arg_scope(is_training=True, + weight_decay=0.00004, + stddev=0.09, + regularize_depthwise=False): + """Defines the default MobilenetV1 arg scope. + + Args: + is_training: Whether or not we're training the model. + weight_decay: The weight decay to use for regularizing the model. + stddev: The standard deviation of the trunctated normal weight initializer. + regularize_depthwise: Whether or not apply regularization on depthwise. + + Returns: + An `arg_scope` to use for the mobilenet v1 model. + """ + batch_norm_params = { + 'is_training': is_training, + 'center': True, + 'scale': True, + 'decay': 0.9997, + 'epsilon': 0.001, + } + + # Set weight_decay for weights in Conv and DepthSepConv layers. + weights_init = tf.truncated_normal_initializer(stddev=stddev) + regularizer = tf.contrib.layers.l2_regularizer(weight_decay) + if regularize_depthwise: + depthwise_regularizer = regularizer + else: + depthwise_regularizer = None + with slim.arg_scope([slim.conv2d, slim.separable_conv2d], + weights_initializer=weights_init, + activation_fn=tf.nn.relu6, normalizer_fn=slim.batch_norm): + with slim.arg_scope([slim.batch_norm], **batch_norm_params): + with slim.arg_scope([slim.conv2d], weights_regularizer=regularizer): + with slim.arg_scope([slim.separable_conv2d], + weights_regularizer=depthwise_regularizer) as sc: + return sc diff --git a/slim/nets/mobilenet_v1_test.py b/slim/nets/mobilenet_v1_test.py new file mode 100644 index 000000000..44e66446b --- /dev/null +++ b/slim/nets/mobilenet_v1_test.py @@ -0,0 +1,450 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +"""Tests for MobileNet v1.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import numpy as np +import tensorflow as tf + +from nets import mobilenet_v1 + +slim = tf.contrib.slim + + +class MobilenetV1Test(tf.test.TestCase): + + def testBuildClassificationNetwork(self): + batch_size = 5 + height, width = 224, 224 + num_classes = 1000 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + logits, end_points = mobilenet_v1.mobilenet_v1(inputs, num_classes) + self.assertTrue(logits.op.name.startswith('MobilenetV1/Logits')) + self.assertListEqual(logits.get_shape().as_list(), + [batch_size, num_classes]) + self.assertTrue('Predictions' in end_points) + self.assertListEqual(end_points['Predictions'].get_shape().as_list(), + [batch_size, num_classes]) + + def testBuildBaseNetwork(self): + batch_size = 5 + height, width = 224, 224 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + net, end_points = mobilenet_v1.mobilenet_v1_base(inputs) + self.assertTrue(net.op.name.startswith('MobilenetV1/Conv2d_13')) + self.assertListEqual(net.get_shape().as_list(), + [batch_size, 7, 7, 1024]) + expected_endpoints = ['Conv2d_0', + 'Conv2d_1_depthwise', 'Conv2d_1_pointwise', + 'Conv2d_2_depthwise', 'Conv2d_2_pointwise', + 'Conv2d_3_depthwise', 'Conv2d_3_pointwise', + 'Conv2d_4_depthwise', 'Conv2d_4_pointwise', + 'Conv2d_5_depthwise', 'Conv2d_5_pointwise', + 'Conv2d_6_depthwise', 'Conv2d_6_pointwise', + 'Conv2d_7_depthwise', 'Conv2d_7_pointwise', + 'Conv2d_8_depthwise', 'Conv2d_8_pointwise', + 'Conv2d_9_depthwise', 'Conv2d_9_pointwise', + 'Conv2d_10_depthwise', 'Conv2d_10_pointwise', + 'Conv2d_11_depthwise', 'Conv2d_11_pointwise', + 'Conv2d_12_depthwise', 'Conv2d_12_pointwise', + 'Conv2d_13_depthwise', 'Conv2d_13_pointwise'] + self.assertItemsEqual(end_points.keys(), expected_endpoints) + + def testBuildOnlyUptoFinalEndpoint(self): + batch_size = 5 + height, width = 224, 224 + endpoints = ['Conv2d_0', + 'Conv2d_1_depthwise', 'Conv2d_1_pointwise', + 'Conv2d_2_depthwise', 'Conv2d_2_pointwise', + 'Conv2d_3_depthwise', 'Conv2d_3_pointwise', + 'Conv2d_4_depthwise', 'Conv2d_4_pointwise', + 'Conv2d_5_depthwise', 'Conv2d_5_pointwise', + 'Conv2d_6_depthwise', 'Conv2d_6_pointwise', + 'Conv2d_7_depthwise', 'Conv2d_7_pointwise', + 'Conv2d_8_depthwise', 'Conv2d_8_pointwise', + 'Conv2d_9_depthwise', 'Conv2d_9_pointwise', + 'Conv2d_10_depthwise', 'Conv2d_10_pointwise', + 'Conv2d_11_depthwise', 'Conv2d_11_pointwise', + 'Conv2d_12_depthwise', 'Conv2d_12_pointwise', + 'Conv2d_13_depthwise', 'Conv2d_13_pointwise'] + for index, endpoint in enumerate(endpoints): + with tf.Graph().as_default(): + inputs = tf.random_uniform((batch_size, height, width, 3)) + out_tensor, end_points = mobilenet_v1.mobilenet_v1_base( + inputs, final_endpoint=endpoint) + self.assertTrue(out_tensor.op.name.startswith( + 'MobilenetV1/' + endpoint)) + self.assertItemsEqual(endpoints[:index+1], end_points) + + def testBuildCustomNetworkUsingConvDefs(self): + batch_size = 5 + height, width = 224, 224 + conv_defs = [ + mobilenet_v1.Conv(kernel=[3, 3], stride=2, depth=32), + mobilenet_v1.DepthSepConv(kernel=[3, 3], stride=1, depth=64), + mobilenet_v1.DepthSepConv(kernel=[3, 3], stride=2, depth=128), + mobilenet_v1.DepthSepConv(kernel=[3, 3], stride=1, depth=512) + ] + + inputs = tf.random_uniform((batch_size, height, width, 3)) + net, end_points = mobilenet_v1.mobilenet_v1_base( + inputs, final_endpoint='Conv2d_3_pointwise', conv_defs=conv_defs) + self.assertTrue(net.op.name.startswith('MobilenetV1/Conv2d_3')) + self.assertListEqual(net.get_shape().as_list(), + [batch_size, 56, 56, 512]) + expected_endpoints = ['Conv2d_0', + 'Conv2d_1_depthwise', 'Conv2d_1_pointwise', + 'Conv2d_2_depthwise', 'Conv2d_2_pointwise', + 'Conv2d_3_depthwise', 'Conv2d_3_pointwise'] + self.assertItemsEqual(end_points.keys(), expected_endpoints) + + def testBuildAndCheckAllEndPointsUptoConv2d_13(self): + batch_size = 5 + height, width = 224, 224 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + with slim.arg_scope([slim.conv2d, slim.separable_conv2d], + normalizer_fn=slim.batch_norm): + _, end_points = mobilenet_v1.mobilenet_v1_base( + inputs, final_endpoint='Conv2d_13_pointwise') + endpoints_shapes = {'Conv2d_0': [batch_size, 112, 112, 32], + 'Conv2d_1_depthwise': [batch_size, 112, 112, 32], + 'Conv2d_1_pointwise': [batch_size, 112, 112, 64], + 'Conv2d_2_depthwise': [batch_size, 56, 56, 64], + 'Conv2d_2_pointwise': [batch_size, 56, 56, 128], + 'Conv2d_3_depthwise': [batch_size, 56, 56, 128], + 'Conv2d_3_pointwise': [batch_size, 56, 56, 128], + 'Conv2d_4_depthwise': [batch_size, 28, 28, 128], + 'Conv2d_4_pointwise': [batch_size, 28, 28, 256], + 'Conv2d_5_depthwise': [batch_size, 28, 28, 256], + 'Conv2d_5_pointwise': [batch_size, 28, 28, 256], + 'Conv2d_6_depthwise': [batch_size, 14, 14, 256], + 'Conv2d_6_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_7_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_7_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_8_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_8_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_9_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_9_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_10_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_10_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_11_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_11_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_12_depthwise': [batch_size, 7, 7, 512], + 'Conv2d_12_pointwise': [batch_size, 7, 7, 1024], + 'Conv2d_13_depthwise': [batch_size, 7, 7, 1024], + 'Conv2d_13_pointwise': [batch_size, 7, 7, 1024]} + self.assertItemsEqual(endpoints_shapes.keys(), end_points.keys()) + for endpoint_name, expected_shape in endpoints_shapes.iteritems(): + self.assertTrue(endpoint_name in end_points) + self.assertListEqual(end_points[endpoint_name].get_shape().as_list(), + expected_shape) + + def testOutputStride16BuildAndCheckAllEndPointsUptoConv2d_13(self): + batch_size = 5 + height, width = 224, 224 + output_stride = 16 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + with slim.arg_scope([slim.conv2d, slim.separable_conv2d], + normalizer_fn=slim.batch_norm): + _, end_points = mobilenet_v1.mobilenet_v1_base( + inputs, output_stride=output_stride, + final_endpoint='Conv2d_13_pointwise') + endpoints_shapes = {'Conv2d_0': [batch_size, 112, 112, 32], + 'Conv2d_1_depthwise': [batch_size, 112, 112, 32], + 'Conv2d_1_pointwise': [batch_size, 112, 112, 64], + 'Conv2d_2_depthwise': [batch_size, 56, 56, 64], + 'Conv2d_2_pointwise': [batch_size, 56, 56, 128], + 'Conv2d_3_depthwise': [batch_size, 56, 56, 128], + 'Conv2d_3_pointwise': [batch_size, 56, 56, 128], + 'Conv2d_4_depthwise': [batch_size, 28, 28, 128], + 'Conv2d_4_pointwise': [batch_size, 28, 28, 256], + 'Conv2d_5_depthwise': [batch_size, 28, 28, 256], + 'Conv2d_5_pointwise': [batch_size, 28, 28, 256], + 'Conv2d_6_depthwise': [batch_size, 14, 14, 256], + 'Conv2d_6_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_7_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_7_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_8_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_8_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_9_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_9_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_10_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_10_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_11_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_11_pointwise': [batch_size, 14, 14, 512], + 'Conv2d_12_depthwise': [batch_size, 14, 14, 512], + 'Conv2d_12_pointwise': [batch_size, 14, 14, 1024], + 'Conv2d_13_depthwise': [batch_size, 14, 14, 1024], + 'Conv2d_13_pointwise': [batch_size, 14, 14, 1024]} + self.assertItemsEqual(endpoints_shapes.keys(), end_points.keys()) + for endpoint_name, expected_shape in endpoints_shapes.iteritems(): + self.assertTrue(endpoint_name in end_points) + self.assertListEqual(end_points[endpoint_name].get_shape().as_list(), + expected_shape) + + def testOutputStride8BuildAndCheckAllEndPointsUptoConv2d_13(self): + batch_size = 5 + height, width = 224, 224 + output_stride = 8 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + with slim.arg_scope([slim.conv2d, slim.separable_conv2d], + normalizer_fn=slim.batch_norm): + _, end_points = mobilenet_v1.mobilenet_v1_base( + inputs, output_stride=output_stride, + final_endpoint='Conv2d_13_pointwise') + endpoints_shapes = {'Conv2d_0': [batch_size, 112, 112, 32], + 'Conv2d_1_depthwise': [batch_size, 112, 112, 32], + 'Conv2d_1_pointwise': [batch_size, 112, 112, 64], + 'Conv2d_2_depthwise': [batch_size, 56, 56, 64], + 'Conv2d_2_pointwise': [batch_size, 56, 56, 128], + 'Conv2d_3_depthwise': [batch_size, 56, 56, 128], + 'Conv2d_3_pointwise': [batch_size, 56, 56, 128], + 'Conv2d_4_depthwise': [batch_size, 28, 28, 128], + 'Conv2d_4_pointwise': [batch_size, 28, 28, 256], + 'Conv2d_5_depthwise': [batch_size, 28, 28, 256], + 'Conv2d_5_pointwise': [batch_size, 28, 28, 256], + 'Conv2d_6_depthwise': [batch_size, 28, 28, 256], + 'Conv2d_6_pointwise': [batch_size, 28, 28, 512], + 'Conv2d_7_depthwise': [batch_size, 28, 28, 512], + 'Conv2d_7_pointwise': [batch_size, 28, 28, 512], + 'Conv2d_8_depthwise': [batch_size, 28, 28, 512], + 'Conv2d_8_pointwise': [batch_size, 28, 28, 512], + 'Conv2d_9_depthwise': [batch_size, 28, 28, 512], + 'Conv2d_9_pointwise': [batch_size, 28, 28, 512], + 'Conv2d_10_depthwise': [batch_size, 28, 28, 512], + 'Conv2d_10_pointwise': [batch_size, 28, 28, 512], + 'Conv2d_11_depthwise': [batch_size, 28, 28, 512], + 'Conv2d_11_pointwise': [batch_size, 28, 28, 512], + 'Conv2d_12_depthwise': [batch_size, 28, 28, 512], + 'Conv2d_12_pointwise': [batch_size, 28, 28, 1024], + 'Conv2d_13_depthwise': [batch_size, 28, 28, 1024], + 'Conv2d_13_pointwise': [batch_size, 28, 28, 1024]} + self.assertItemsEqual(endpoints_shapes.keys(), end_points.keys()) + for endpoint_name, expected_shape in endpoints_shapes.iteritems(): + self.assertTrue(endpoint_name in end_points) + self.assertListEqual(end_points[endpoint_name].get_shape().as_list(), + expected_shape) + + def testBuildAndCheckAllEndPointsApproximateFaceNet(self): + batch_size = 5 + height, width = 128, 128 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + with slim.arg_scope([slim.conv2d, slim.separable_conv2d], + normalizer_fn=slim.batch_norm): + _, end_points = mobilenet_v1.mobilenet_v1_base( + inputs, final_endpoint='Conv2d_13_pointwise', depth_multiplier=0.75) + # For the Conv2d_0 layer FaceNet has depth=16 + endpoints_shapes = {'Conv2d_0': [batch_size, 64, 64, 24], + 'Conv2d_1_depthwise': [batch_size, 64, 64, 24], + 'Conv2d_1_pointwise': [batch_size, 64, 64, 48], + 'Conv2d_2_depthwise': [batch_size, 32, 32, 48], + 'Conv2d_2_pointwise': [batch_size, 32, 32, 96], + 'Conv2d_3_depthwise': [batch_size, 32, 32, 96], + 'Conv2d_3_pointwise': [batch_size, 32, 32, 96], + 'Conv2d_4_depthwise': [batch_size, 16, 16, 96], + 'Conv2d_4_pointwise': [batch_size, 16, 16, 192], + 'Conv2d_5_depthwise': [batch_size, 16, 16, 192], + 'Conv2d_5_pointwise': [batch_size, 16, 16, 192], + 'Conv2d_6_depthwise': [batch_size, 8, 8, 192], + 'Conv2d_6_pointwise': [batch_size, 8, 8, 384], + 'Conv2d_7_depthwise': [batch_size, 8, 8, 384], + 'Conv2d_7_pointwise': [batch_size, 8, 8, 384], + 'Conv2d_8_depthwise': [batch_size, 8, 8, 384], + 'Conv2d_8_pointwise': [batch_size, 8, 8, 384], + 'Conv2d_9_depthwise': [batch_size, 8, 8, 384], + 'Conv2d_9_pointwise': [batch_size, 8, 8, 384], + 'Conv2d_10_depthwise': [batch_size, 8, 8, 384], + 'Conv2d_10_pointwise': [batch_size, 8, 8, 384], + 'Conv2d_11_depthwise': [batch_size, 8, 8, 384], + 'Conv2d_11_pointwise': [batch_size, 8, 8, 384], + 'Conv2d_12_depthwise': [batch_size, 4, 4, 384], + 'Conv2d_12_pointwise': [batch_size, 4, 4, 768], + 'Conv2d_13_depthwise': [batch_size, 4, 4, 768], + 'Conv2d_13_pointwise': [batch_size, 4, 4, 768]} + self.assertItemsEqual(endpoints_shapes.keys(), end_points.keys()) + for endpoint_name, expected_shape in endpoints_shapes.iteritems(): + self.assertTrue(endpoint_name in end_points) + self.assertListEqual(end_points[endpoint_name].get_shape().as_list(), + expected_shape) + + def testModelHasExpectedNumberOfParameters(self): + batch_size = 5 + height, width = 224, 224 + inputs = tf.random_uniform((batch_size, height, width, 3)) + with slim.arg_scope([slim.conv2d, slim.separable_conv2d], + normalizer_fn=slim.batch_norm): + mobilenet_v1.mobilenet_v1_base(inputs) + total_params, _ = slim.model_analyzer.analyze_vars( + slim.get_model_variables()) + self.assertAlmostEqual(3217920L, total_params) + + def testBuildEndPointsWithDepthMultiplierLessThanOne(self): + batch_size = 5 + height, width = 224, 224 + num_classes = 1000 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + _, end_points = mobilenet_v1.mobilenet_v1(inputs, num_classes) + + endpoint_keys = [key for key in end_points.keys() if key.startswith('Conv')] + + _, end_points_with_multiplier = mobilenet_v1.mobilenet_v1( + inputs, num_classes, scope='depth_multiplied_net', + depth_multiplier=0.5) + + for key in endpoint_keys: + original_depth = end_points[key].get_shape().as_list()[3] + new_depth = end_points_with_multiplier[key].get_shape().as_list()[3] + self.assertEqual(0.5 * original_depth, new_depth) + + def testBuildEndPointsWithDepthMultiplierGreaterThanOne(self): + batch_size = 5 + height, width = 224, 224 + num_classes = 1000 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + _, end_points = mobilenet_v1.mobilenet_v1(inputs, num_classes) + + endpoint_keys = [key for key in end_points.keys() + if key.startswith('Mixed') or key.startswith('Conv')] + + _, end_points_with_multiplier = mobilenet_v1.mobilenet_v1( + inputs, num_classes, scope='depth_multiplied_net', + depth_multiplier=2.0) + + for key in endpoint_keys: + original_depth = end_points[key].get_shape().as_list()[3] + new_depth = end_points_with_multiplier[key].get_shape().as_list()[3] + self.assertEqual(2.0 * original_depth, new_depth) + + def testRaiseValueErrorWithInvalidDepthMultiplier(self): + batch_size = 5 + height, width = 224, 224 + num_classes = 1000 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + with self.assertRaises(ValueError): + _ = mobilenet_v1.mobilenet_v1( + inputs, num_classes, depth_multiplier=-0.1) + with self.assertRaises(ValueError): + _ = mobilenet_v1.mobilenet_v1( + inputs, num_classes, depth_multiplier=0.0) + + def testHalfSizeImages(self): + batch_size = 5 + height, width = 112, 112 + num_classes = 1000 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + logits, end_points = mobilenet_v1.mobilenet_v1(inputs, num_classes) + self.assertTrue(logits.op.name.startswith('MobilenetV1/Logits')) + self.assertListEqual(logits.get_shape().as_list(), + [batch_size, num_classes]) + pre_pool = end_points['Conv2d_13_pointwise'] + self.assertListEqual(pre_pool.get_shape().as_list(), + [batch_size, 4, 4, 1024]) + + def testUnknownImageShape(self): + tf.reset_default_graph() + batch_size = 2 + height, width = 224, 224 + num_classes = 1000 + input_np = np.random.uniform(0, 1, (batch_size, height, width, 3)) + with self.test_session() as sess: + inputs = tf.placeholder(tf.float32, shape=(batch_size, None, None, 3)) + logits, end_points = mobilenet_v1.mobilenet_v1(inputs, num_classes) + self.assertTrue(logits.op.name.startswith('MobilenetV1/Logits')) + self.assertListEqual(logits.get_shape().as_list(), + [batch_size, num_classes]) + pre_pool = end_points['Conv2d_13_pointwise'] + feed_dict = {inputs: input_np} + tf.global_variables_initializer().run() + pre_pool_out = sess.run(pre_pool, feed_dict=feed_dict) + self.assertListEqual(list(pre_pool_out.shape), [batch_size, 7, 7, 1024]) + + def testUnknowBatchSize(self): + batch_size = 1 + height, width = 224, 224 + num_classes = 1000 + + inputs = tf.placeholder(tf.float32, (None, height, width, 3)) + logits, _ = mobilenet_v1.mobilenet_v1(inputs, num_classes) + self.assertTrue(logits.op.name.startswith('MobilenetV1/Logits')) + self.assertListEqual(logits.get_shape().as_list(), + [None, num_classes]) + images = tf.random_uniform((batch_size, height, width, 3)) + + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + output = sess.run(logits, {inputs: images.eval()}) + self.assertEquals(output.shape, (batch_size, num_classes)) + + def testEvaluation(self): + batch_size = 2 + height, width = 224, 224 + num_classes = 1000 + + eval_inputs = tf.random_uniform((batch_size, height, width, 3)) + logits, _ = mobilenet_v1.mobilenet_v1(eval_inputs, num_classes, + is_training=False) + predictions = tf.argmax(logits, 1) + + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + output = sess.run(predictions) + self.assertEquals(output.shape, (batch_size,)) + + def testTrainEvalWithReuse(self): + train_batch_size = 5 + eval_batch_size = 2 + height, width = 150, 150 + num_classes = 1000 + + train_inputs = tf.random_uniform((train_batch_size, height, width, 3)) + mobilenet_v1.mobilenet_v1(train_inputs, num_classes) + eval_inputs = tf.random_uniform((eval_batch_size, height, width, 3)) + logits, _ = mobilenet_v1.mobilenet_v1(eval_inputs, num_classes, + reuse=True) + predictions = tf.argmax(logits, 1) + + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + output = sess.run(predictions) + self.assertEquals(output.shape, (eval_batch_size,)) + + def testLogitsNotSqueezed(self): + num_classes = 25 + images = tf.random_uniform([1, 224, 224, 3]) + logits, _ = mobilenet_v1.mobilenet_v1(images, + num_classes=num_classes, + spatial_squeeze=False) + + with self.test_session() as sess: + tf.global_variables_initializer().run() + logits_out = sess.run(logits) + self.assertListEqual(list(logits_out.shape), [1, 1, 1, num_classes]) + + +if __name__ == '__main__': + tf.test.main() diff --git a/slim/nets/nets_factory.py b/slim/nets/nets_factory.py index bd8d7127a..7c0416167 100644 --- a/slim/nets/nets_factory.py +++ b/slim/nets/nets_factory.py @@ -25,6 +25,7 @@ from nets import alexnet from nets import cifarnet from nets import inception from nets import lenet +from nets import mobilenet_v1 from nets import overfeat from nets import resnet_v1 from nets import resnet_v2 @@ -52,6 +53,7 @@ networks_map = {'alexnet_v2': alexnet.alexnet_v2, 'resnet_v2_101': resnet_v2.resnet_v2_101, 'resnet_v2_152': resnet_v2.resnet_v2_152, 'resnet_v2_200': resnet_v2.resnet_v2_200, + 'mobilenet_v1': mobilenet_v1.mobilenet_v1, } arg_scopes_map = {'alexnet_v2': alexnet.alexnet_v2_arg_scope, @@ -75,6 +77,7 @@ arg_scopes_map = {'alexnet_v2': alexnet.alexnet_v2_arg_scope, 'resnet_v2_101': resnet_v2.resnet_arg_scope, 'resnet_v2_152': resnet_v2.resnet_arg_scope, 'resnet_v2_200': resnet_v2.resnet_arg_scope, + 'mobilenet_v1': mobilenet_v1.mobilenet_v1_arg_scope, } @@ -97,10 +100,10 @@ def get_network_fn(name, num_classes, weight_decay=0.0, is_training=False): """ if name not in networks_map: raise ValueError('Name of network unknown %s' % name) + arg_scope = arg_scopes_map[name](weight_decay=weight_decay) func = networks_map[name] @functools.wraps(func) def network_fn(images): - arg_scope = arg_scopes_map[name](weight_decay=weight_decay) with slim.arg_scope(arg_scope): return func(images, num_classes, is_training=is_training) if hasattr(func, 'default_image_size'): diff --git a/slim/preprocessing/preprocessing_factory.py b/slim/preprocessing/preprocessing_factory.py index 35f8645ef..3ab79a012 100644 --- a/slim/preprocessing/preprocessing_factory.py +++ b/slim/preprocessing/preprocessing_factory.py @@ -53,12 +53,10 @@ def get_preprocessing(name, is_training=False): 'inception_v4': inception_preprocessing, 'inception_resnet_v2': inception_preprocessing, 'lenet': lenet_preprocessing, + 'mobilenet_v1': inception_preprocessing, 'resnet_v1_50': vgg_preprocessing, 'resnet_v1_101': vgg_preprocessing, 'resnet_v1_152': vgg_preprocessing, - 'resnet_v2_50': vgg_preprocessing, - 'resnet_v2_101': vgg_preprocessing, - 'resnet_v2_152': vgg_preprocessing, 'vgg': vgg_preprocessing, 'vgg_a': vgg_preprocessing, 'vgg_16': vgg_preprocessing, -- GitLab From 7ad450b84309b82bccb0e8f2e40e9559f33cd258 Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Tue, 13 Jun 2017 22:05:03 -0700 Subject: [PATCH 102/171] Update README.md (#1552) --- slim/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/slim/README.md b/slim/README.md index 628931f7c..6fe5a7183 100644 --- a/slim/README.md +++ b/slim/README.md @@ -204,6 +204,7 @@ Model | TF-Slim File | Checkpoint | Top-1 Accuracy| Top-5 Accuracy | [MobileNet_v1_1.0_224](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_1.0_224_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_1.0_224_2017_06_14.tar.gz)|70.7|89.5| [MobileNet_v1_0.50_160](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_0.50_160_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_0.50_160_2017_06_14.tar.gz)|59.9|82.5| [MobileNet_v1_0.25_128](https://arxiv.org/pdf/1704.04861.pdf)|[Code](https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.py)|[mobilenet_v1_0.25_128_2017_06_14.tar.gz](http://download.tensorflow.org/models/mobilenet_v1_0.25_128_2017_06_14.tar.gz)|41.3|66.2| + ^ ResNet V2 models use Inception pre-processing and input image size of 299 (use `--preprocessing_name inception --eval_image_size 299` when using `eval_image_classifier.py`). Performance numbers for ResNet V2 models are -- GitLab From cb31aeffd6176df1a5da18ef9dd1ec78279a856f Mon Sep 17 00:00:00 2001 From: James Pruegsanusak Date: Thu, 15 Jun 2017 02:10:05 +0800 Subject: [PATCH 103/171] Fix link to make image show up in mobilenet_v1.md (#1554) Use a relative link instead --- slim/nets/mobilenet_v1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slim/nets/mobilenet_v1.md b/slim/nets/mobilenet_v1.md index 3ce231176..342f30561 100644 --- a/slim/nets/mobilenet_v1.md +++ b/slim/nets/mobilenet_v1.md @@ -4,7 +4,7 @@ MobileNets trade off between latency, size and accuracy while comparing favorably with popular models from the literature. -![alt text](https://github.com/tensorflow/models/tree/master/slim/nets/mobilenet_v1.png, "MobileNet Graph") +![alt text](mobilenet_v1.png "MobileNet Graph") # Pre-trained Models -- GitLab From 7e0016c5654ba6d251034834dcf8154fa4c36f70 Mon Sep 17 00:00:00 2001 From: derekjchow Date: Wed, 14 Jun 2017 11:11:12 -0700 Subject: [PATCH 104/171] Update inception_resnet_v2.py (#1555) - Add inception_resnet_v2_base - Provide option to use SAME padding for all inception resnet v2 layers. This is to align feature maps sizes. --- slim/nets/inception.py | 1 + slim/nets/inception_resnet_v2.py | 321 ++++++++++++++++---------- slim/nets/inception_resnet_v2_test.py | 135 ++++++++++- 3 files changed, 332 insertions(+), 125 deletions(-) diff --git a/slim/nets/inception.py b/slim/nets/inception.py index 806c30bee..b69cd2aac 100644 --- a/slim/nets/inception.py +++ b/slim/nets/inception.py @@ -21,6 +21,7 @@ from __future__ import print_function # pylint: disable=unused-import from nets.inception_resnet_v2 import inception_resnet_v2 from nets.inception_resnet_v2 import inception_resnet_v2_arg_scope +from nets.inception_resnet_v2 import inception_resnet_v2_base from nets.inception_v1 import inception_v1 from nets.inception_v1 import inception_v1_arg_scope from nets.inception_v1 import inception_v1_base diff --git a/slim/nets/inception_resnet_v2.py b/slim/nets/inception_resnet_v2.py index b5a54c5b6..ec8387a33 100644 --- a/slim/nets/inception_resnet_v2.py +++ b/slim/nets/inception_resnet_v2.py @@ -91,10 +91,187 @@ def block8(net, scale=1.0, activation_fn=tf.nn.relu, scope=None, reuse=None): return net +def inception_resnet_v2_base(inputs, + final_endpoint='Conv2d_7b_1x1', + output_stride=16, + align_feature_maps=False, + scope=None): + """Inception model from http://arxiv.org/abs/1602.07261. + + Constructs an Inception Resnet v2 network from inputs to the given final + endpoint. This method can construct the network up to the final inception + block Conv2d_7b_1x1. + + Args: + inputs: a tensor of size [batch_size, height, width, channels]. + final_endpoint: specifies the endpoint to construct the network up to. It + can be one of ['Conv2d_1a_3x3', 'Conv2d_2a_3x3', 'Conv2d_2b_3x3', + 'MaxPool_3a_3x3', 'Conv2d_3b_1x1', 'Conv2d_4a_3x3', 'MaxPool_5a_3x3', + 'Mixed_5b', 'Mixed_6a', 'PreAuxLogits', 'Mixed_7a', 'Conv2d_7b_1x1'] + output_stride: A scalar that specifies the requested ratio of input to + output spatial resolution. Only supports 8 and 16. + align_feature_maps: When true, changes all the VALID paddings in the network + to SAME padding so that the feature maps are aligned. + scope: Optional variable_scope. + + Returns: + tensor_out: output tensor corresponding to the final_endpoint. + end_points: a set of activations for external use, for example summaries or + losses. + + Raises: + ValueError: if final_endpoint is not set to one of the predefined values, + or if the output_stride is not 8 or 16, or if the output_stride is 8 and + we request an end point after 'PreAuxLogits'. + """ + if output_stride != 8 and output_stride != 16: + raise ValueError('output_stride must be 8 or 16.') + + padding = 'SAME' if align_feature_maps else 'VALID' + + end_points = {} + + def add_and_check_final(name, net): + end_points[name] = net + return name == final_endpoint + + with tf.variable_scope(scope, 'InceptionResnetV2', [inputs]): + with slim.arg_scope([slim.conv2d, slim.max_pool2d, slim.avg_pool2d], + stride=1, padding='SAME'): + # 149 x 149 x 32 + net = slim.conv2d(inputs, 32, 3, stride=2, padding=padding, + scope='Conv2d_1a_3x3') + if add_and_check_final('Conv2d_1a_3x3', net): return net, end_points + + # 147 x 147 x 32 + net = slim.conv2d(net, 32, 3, padding=padding, + scope='Conv2d_2a_3x3') + if add_and_check_final('Conv2d_2a_3x3', net): return net, end_points + # 147 x 147 x 64 + net = slim.conv2d(net, 64, 3, scope='Conv2d_2b_3x3') + if add_and_check_final('Conv2d_2b_3x3', net): return net, end_points + # 73 x 73 x 64 + net = slim.max_pool2d(net, 3, stride=2, padding=padding, + scope='MaxPool_3a_3x3') + if add_and_check_final('MaxPool_3a_3x3', net): return net, end_points + # 73 x 73 x 80 + net = slim.conv2d(net, 80, 1, padding=padding, + scope='Conv2d_3b_1x1') + if add_and_check_final('Conv2d_3b_1x1', net): return net, end_points + # 71 x 71 x 192 + net = slim.conv2d(net, 192, 3, padding=padding, + scope='Conv2d_4a_3x3') + if add_and_check_final('Conv2d_4a_3x3', net): return net, end_points + # 35 x 35 x 192 + net = slim.max_pool2d(net, 3, stride=2, padding=padding, + scope='MaxPool_5a_3x3') + if add_and_check_final('MaxPool_5a_3x3', net): return net, end_points + + # 35 x 35 x 320 + with tf.variable_scope('Mixed_5b'): + with tf.variable_scope('Branch_0'): + tower_conv = slim.conv2d(net, 96, 1, scope='Conv2d_1x1') + with tf.variable_scope('Branch_1'): + tower_conv1_0 = slim.conv2d(net, 48, 1, scope='Conv2d_0a_1x1') + tower_conv1_1 = slim.conv2d(tower_conv1_0, 64, 5, + scope='Conv2d_0b_5x5') + with tf.variable_scope('Branch_2'): + tower_conv2_0 = slim.conv2d(net, 64, 1, scope='Conv2d_0a_1x1') + tower_conv2_1 = slim.conv2d(tower_conv2_0, 96, 3, + scope='Conv2d_0b_3x3') + tower_conv2_2 = slim.conv2d(tower_conv2_1, 96, 3, + scope='Conv2d_0c_3x3') + with tf.variable_scope('Branch_3'): + tower_pool = slim.avg_pool2d(net, 3, stride=1, padding='SAME', + scope='AvgPool_0a_3x3') + tower_pool_1 = slim.conv2d(tower_pool, 64, 1, + scope='Conv2d_0b_1x1') + net = tf.concat( + [tower_conv, tower_conv1_1, tower_conv2_2, tower_pool_1], 3) + + if add_and_check_final('Mixed_5b', net): return net, end_points + # TODO(alemi): Register intermediate endpoints + net = slim.repeat(net, 10, block35, scale=0.17) + + # 17 x 17 x 1088 if output_stride == 8, + # 33 x 33 x 1088 if output_stride == 16 + use_atrous = output_stride == 8 + + with tf.variable_scope('Mixed_6a'): + with tf.variable_scope('Branch_0'): + tower_conv = slim.conv2d(net, 384, 3, stride=1 if use_atrous else 2, + padding=padding, + scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_1'): + tower_conv1_0 = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') + tower_conv1_1 = slim.conv2d(tower_conv1_0, 256, 3, + scope='Conv2d_0b_3x3') + tower_conv1_2 = slim.conv2d(tower_conv1_1, 384, 3, + stride=1 if use_atrous else 2, + padding=padding, + scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_2'): + tower_pool = slim.max_pool2d(net, 3, stride=1 if use_atrous else 2, + padding=padding, + scope='MaxPool_1a_3x3') + net = tf.concat([tower_conv, tower_conv1_2, tower_pool], 3) + + if add_and_check_final('Mixed_6a', net): return net, end_points + + # TODO(alemi): register intermediate endpoints + with slim.arg_scope([slim.conv2d], rate=2 if use_atrous else 1): + net = slim.repeat(net, 20, block17, scale=0.10) + if add_and_check_final('PreAuxLogits', net): return net, end_points + + if output_stride == 8: + # TODO(gpapan): Properly support output_stride for the rest of the net. + raise ValueError('output_stride==8 is only supported up to the ' + 'PreAuxlogits end_point for now.') + + # 8 x 8 x 2080 + with tf.variable_scope('Mixed_7a'): + with tf.variable_scope('Branch_0'): + tower_conv = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') + tower_conv_1 = slim.conv2d(tower_conv, 384, 3, stride=2, + padding=padding, + scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_1'): + tower_conv1 = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') + tower_conv1_1 = slim.conv2d(tower_conv1, 288, 3, stride=2, + padding=padding, + scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_2'): + tower_conv2 = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') + tower_conv2_1 = slim.conv2d(tower_conv2, 288, 3, + scope='Conv2d_0b_3x3') + tower_conv2_2 = slim.conv2d(tower_conv2_1, 320, 3, stride=2, + padding=padding, + scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_3'): + tower_pool = slim.max_pool2d(net, 3, stride=2, + padding=padding, + scope='MaxPool_1a_3x3') + net = tf.concat( + [tower_conv_1, tower_conv1_1, tower_conv2_2, tower_pool], 3) + + if add_and_check_final('Mixed_7a', net): return net, end_points + + # TODO(alemi): register intermediate endpoints + net = slim.repeat(net, 9, block8, scale=0.20) + net = block8(net, activation_fn=None) + + # 8 x 8 x 1536 + net = slim.conv2d(net, 1536, 1, scope='Conv2d_7b_1x1') + if add_and_check_final('Conv2d_7b_1x1', net): return net, end_points + + raise ValueError('final_endpoint (%s) not recognized', final_endpoint) + + def inception_resnet_v2(inputs, num_classes=1001, is_training=True, dropout_keep_prob=0.8, reuse=None, - scope='InceptionResnetV2'): + scope='InceptionResnetV2', + create_aux_logits=True): """Creates the Inception Resnet V2 model. Args: @@ -105,6 +282,7 @@ def inception_resnet_v2(inputs, num_classes=1001, is_training=True, reuse: whether or not the network and its variables should be reused. To be able to reuse 'scope' must be given. scope: Optional variable_scope. + create_aux_logits: Whether to include the auxilliary logits. Returns: logits: the logits outputs of the model. @@ -112,88 +290,17 @@ def inception_resnet_v2(inputs, num_classes=1001, is_training=True, """ end_points = {} - with tf.variable_scope(scope, 'InceptionResnetV2', [inputs], reuse=reuse): + with tf.variable_scope(scope, 'InceptionResnetV2', [inputs, num_classes], + reuse=reuse) as scope: with slim.arg_scope([slim.batch_norm, slim.dropout], is_training=is_training): - with slim.arg_scope([slim.conv2d, slim.max_pool2d, slim.avg_pool2d], - stride=1, padding='SAME'): - - # 149 x 149 x 32 - net = slim.conv2d(inputs, 32, 3, stride=2, padding='VALID', - scope='Conv2d_1a_3x3') - end_points['Conv2d_1a_3x3'] = net - # 147 x 147 x 32 - net = slim.conv2d(net, 32, 3, padding='VALID', - scope='Conv2d_2a_3x3') - end_points['Conv2d_2a_3x3'] = net - # 147 x 147 x 64 - net = slim.conv2d(net, 64, 3, scope='Conv2d_2b_3x3') - end_points['Conv2d_2b_3x3'] = net - # 73 x 73 x 64 - net = slim.max_pool2d(net, 3, stride=2, padding='VALID', - scope='MaxPool_3a_3x3') - end_points['MaxPool_3a_3x3'] = net - # 73 x 73 x 80 - net = slim.conv2d(net, 80, 1, padding='VALID', - scope='Conv2d_3b_1x1') - end_points['Conv2d_3b_1x1'] = net - # 71 x 71 x 192 - net = slim.conv2d(net, 192, 3, padding='VALID', - scope='Conv2d_4a_3x3') - end_points['Conv2d_4a_3x3'] = net - # 35 x 35 x 192 - net = slim.max_pool2d(net, 3, stride=2, padding='VALID', - scope='MaxPool_5a_3x3') - end_points['MaxPool_5a_3x3'] = net - - # 35 x 35 x 320 - with tf.variable_scope('Mixed_5b'): - with tf.variable_scope('Branch_0'): - tower_conv = slim.conv2d(net, 96, 1, scope='Conv2d_1x1') - with tf.variable_scope('Branch_1'): - tower_conv1_0 = slim.conv2d(net, 48, 1, scope='Conv2d_0a_1x1') - tower_conv1_1 = slim.conv2d(tower_conv1_0, 64, 5, - scope='Conv2d_0b_5x5') - with tf.variable_scope('Branch_2'): - tower_conv2_0 = slim.conv2d(net, 64, 1, scope='Conv2d_0a_1x1') - tower_conv2_1 = slim.conv2d(tower_conv2_0, 96, 3, - scope='Conv2d_0b_3x3') - tower_conv2_2 = slim.conv2d(tower_conv2_1, 96, 3, - scope='Conv2d_0c_3x3') - with tf.variable_scope('Branch_3'): - tower_pool = slim.avg_pool2d(net, 3, stride=1, padding='SAME', - scope='AvgPool_0a_3x3') - tower_pool_1 = slim.conv2d(tower_pool, 64, 1, - scope='Conv2d_0b_1x1') - net = tf.concat(axis=3, values=[tower_conv, tower_conv1_1, - tower_conv2_2, tower_pool_1]) - - end_points['Mixed_5b'] = net - net = slim.repeat(net, 10, block35, scale=0.17) - - # 17 x 17 x 1088 - with tf.variable_scope('Mixed_6a'): - with tf.variable_scope('Branch_0'): - tower_conv = slim.conv2d(net, 384, 3, stride=2, padding='VALID', - scope='Conv2d_1a_3x3') - with tf.variable_scope('Branch_1'): - tower_conv1_0 = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') - tower_conv1_1 = slim.conv2d(tower_conv1_0, 256, 3, - scope='Conv2d_0b_3x3') - tower_conv1_2 = slim.conv2d(tower_conv1_1, 384, 3, - stride=2, padding='VALID', - scope='Conv2d_1a_3x3') - with tf.variable_scope('Branch_2'): - tower_pool = slim.max_pool2d(net, 3, stride=2, padding='VALID', - scope='MaxPool_1a_3x3') - net = tf.concat(axis=3, values=[tower_conv, tower_conv1_2, tower_pool]) - - end_points['Mixed_6a'] = net - net = slim.repeat(net, 20, block17, scale=0.10) - # Auxiliary tower + net, end_points = inception_resnet_v2_base(inputs, scope=scope) + + if create_aux_logits: with tf.variable_scope('AuxLogits'): - aux = slim.avg_pool2d(net, 5, stride=3, padding='VALID', + aux = end_points['PreAuxLogits'] + aux = slim.avg_pool2d(aux, 5, stride=3, padding='VALID', scope='Conv2d_1a_3x3') aux = slim.conv2d(aux, 128, 1, scope='Conv2d_1b_1x1') aux = slim.conv2d(aux, 768, aux.get_shape()[1:3], @@ -203,49 +310,19 @@ def inception_resnet_v2(inputs, num_classes=1001, is_training=True, scope='Logits') end_points['AuxLogits'] = aux - with tf.variable_scope('Mixed_7a'): - with tf.variable_scope('Branch_0'): - tower_conv = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') - tower_conv_1 = slim.conv2d(tower_conv, 384, 3, stride=2, - padding='VALID', scope='Conv2d_1a_3x3') - with tf.variable_scope('Branch_1'): - tower_conv1 = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') - tower_conv1_1 = slim.conv2d(tower_conv1, 288, 3, stride=2, - padding='VALID', scope='Conv2d_1a_3x3') - with tf.variable_scope('Branch_2'): - tower_conv2 = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') - tower_conv2_1 = slim.conv2d(tower_conv2, 288, 3, - scope='Conv2d_0b_3x3') - tower_conv2_2 = slim.conv2d(tower_conv2_1, 320, 3, stride=2, - padding='VALID', scope='Conv2d_1a_3x3') - with tf.variable_scope('Branch_3'): - tower_pool = slim.max_pool2d(net, 3, stride=2, padding='VALID', - scope='MaxPool_1a_3x3') - net = tf.concat(axis=3, values=[tower_conv_1, tower_conv1_1, - tower_conv2_2, tower_pool]) - - end_points['Mixed_7a'] = net - - net = slim.repeat(net, 9, block8, scale=0.20) - net = block8(net, activation_fn=None) - - net = slim.conv2d(net, 1536, 1, scope='Conv2d_7b_1x1') - end_points['Conv2d_7b_1x1'] = net - - with tf.variable_scope('Logits'): - end_points['PrePool'] = net - net = slim.avg_pool2d(net, net.get_shape()[1:3], padding='VALID', - scope='AvgPool_1a_8x8') - net = slim.flatten(net) - - net = slim.dropout(net, dropout_keep_prob, is_training=is_training, - scope='Dropout') - - end_points['PreLogitsFlatten'] = net - logits = slim.fully_connected(net, num_classes, activation_fn=None, - scope='Logits') - end_points['Logits'] = logits - end_points['Predictions'] = tf.nn.softmax(logits, name='Predictions') + with tf.variable_scope('Logits'): + net = slim.avg_pool2d(net, net.get_shape()[1:3], padding='VALID', + scope='AvgPool_1a_8x8') + net = slim.flatten(net) + + net = slim.dropout(net, dropout_keep_prob, is_training=is_training, + scope='Dropout') + + end_points['PreLogitsFlatten'] = net + logits = slim.fully_connected(net, num_classes, activation_fn=None, + scope='Logits') + end_points['Logits'] = logits + end_points['Predictions'] = tf.nn.softmax(logits, name='Predictions') return logits, end_points inception_resnet_v2.default_image_size = 299 diff --git a/slim/nets/inception_resnet_v2_test.py b/slim/nets/inception_resnet_v2_test.py index b1560fb01..c369ed9f7 100644 --- a/slim/nets/inception_resnet_v2_test.py +++ b/slim/nets/inception_resnet_v2_test.py @@ -30,7 +30,26 @@ class InceptionTest(tf.test.TestCase): num_classes = 1000 with self.test_session(): inputs = tf.random_uniform((batch_size, height, width, 3)) - logits, _ = inception.inception_resnet_v2(inputs, num_classes) + logits, endpoints = inception.inception_resnet_v2(inputs, num_classes) + self.assertTrue('AuxLogits' in endpoints) + auxlogits = endpoints['AuxLogits'] + self.assertTrue( + auxlogits.op.name.startswith('InceptionResnetV2/AuxLogits')) + self.assertListEqual(auxlogits.get_shape().as_list(), + [batch_size, num_classes]) + self.assertTrue(logits.op.name.startswith('InceptionResnetV2/Logits')) + self.assertListEqual(logits.get_shape().as_list(), + [batch_size, num_classes]) + + def testBuildWithoutAuxLogits(self): + batch_size = 5 + height, width = 299, 299 + num_classes = 1000 + with self.test_session(): + inputs = tf.random_uniform((batch_size, height, width, 3)) + logits, endpoints = inception.inception_resnet_v2(inputs, num_classes, + create_aux_logits=False) + self.assertTrue('AuxLogits' not in endpoints) self.assertTrue(logits.op.name.startswith('InceptionResnetV2/Logits')) self.assertListEqual(logits.get_shape().as_list(), [batch_size, num_classes]) @@ -50,10 +69,120 @@ class InceptionTest(tf.test.TestCase): aux_logits = end_points['AuxLogits'] self.assertListEqual(aux_logits.get_shape().as_list(), [batch_size, num_classes]) - pre_pool = end_points['PrePool'] + pre_pool = end_points['Conv2d_7b_1x1'] self.assertListEqual(pre_pool.get_shape().as_list(), [batch_size, 8, 8, 1536]) + def testBuildBaseNetwork(self): + batch_size = 5 + height, width = 299, 299 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + net, end_points = inception.inception_resnet_v2_base(inputs) + self.assertTrue(net.op.name.startswith('InceptionResnetV2/Conv2d_7b_1x1')) + self.assertListEqual(net.get_shape().as_list(), + [batch_size, 8, 8, 1536]) + expected_endpoints = ['Conv2d_1a_3x3', 'Conv2d_2a_3x3', 'Conv2d_2b_3x3', + 'MaxPool_3a_3x3', 'Conv2d_3b_1x1', 'Conv2d_4a_3x3', + 'MaxPool_5a_3x3', 'Mixed_5b', 'Mixed_6a', + 'PreAuxLogits', 'Mixed_7a', 'Conv2d_7b_1x1'] + self.assertItemsEqual(end_points.keys(), expected_endpoints) + + def testBuildOnlyUptoFinalEndpoint(self): + batch_size = 5 + height, width = 299, 299 + endpoints = ['Conv2d_1a_3x3', 'Conv2d_2a_3x3', 'Conv2d_2b_3x3', + 'MaxPool_3a_3x3', 'Conv2d_3b_1x1', 'Conv2d_4a_3x3', + 'MaxPool_5a_3x3', 'Mixed_5b', 'Mixed_6a', + 'PreAuxLogits', 'Mixed_7a', 'Conv2d_7b_1x1'] + for index, endpoint in enumerate(endpoints): + with tf.Graph().as_default(): + inputs = tf.random_uniform((batch_size, height, width, 3)) + out_tensor, end_points = inception.inception_resnet_v2_base( + inputs, final_endpoint=endpoint) + if endpoint != 'PreAuxLogits': + self.assertTrue(out_tensor.op.name.startswith( + 'InceptionResnetV2/' + endpoint)) + self.assertItemsEqual(endpoints[:index+1], end_points) + + def testBuildAndCheckAllEndPointsUptoPreAuxLogits(self): + batch_size = 5 + height, width = 299, 299 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + _, end_points = inception.inception_resnet_v2_base( + inputs, final_endpoint='PreAuxLogits') + endpoints_shapes = {'Conv2d_1a_3x3': [5, 149, 149, 32], + 'Conv2d_2a_3x3': [5, 147, 147, 32], + 'Conv2d_2b_3x3': [5, 147, 147, 64], + 'MaxPool_3a_3x3': [5, 73, 73, 64], + 'Conv2d_3b_1x1': [5, 73, 73, 80], + 'Conv2d_4a_3x3': [5, 71, 71, 192], + 'MaxPool_5a_3x3': [5, 35, 35, 192], + 'Mixed_5b': [5, 35, 35, 320], + 'Mixed_6a': [5, 17, 17, 1088], + 'PreAuxLogits': [5, 17, 17, 1088] + } + + self.assertItemsEqual(endpoints_shapes.keys(), end_points.keys()) + for endpoint_name in endpoints_shapes: + expected_shape = endpoints_shapes[endpoint_name] + self.assertTrue(endpoint_name in end_points) + self.assertListEqual(end_points[endpoint_name].get_shape().as_list(), + expected_shape) + + def testBuildAndCheckAllEndPointsUptoPreAuxLogitsWithAlignedFeatureMaps(self): + batch_size = 5 + height, width = 299, 299 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + _, end_points = inception.inception_resnet_v2_base( + inputs, final_endpoint='PreAuxLogits', align_feature_maps=True) + endpoints_shapes = {'Conv2d_1a_3x3': [5, 150, 150, 32], + 'Conv2d_2a_3x3': [5, 150, 150, 32], + 'Conv2d_2b_3x3': [5, 150, 150, 64], + 'MaxPool_3a_3x3': [5, 75, 75, 64], + 'Conv2d_3b_1x1': [5, 75, 75, 80], + 'Conv2d_4a_3x3': [5, 75, 75, 192], + 'MaxPool_5a_3x3': [5, 38, 38, 192], + 'Mixed_5b': [5, 38, 38, 320], + 'Mixed_6a': [5, 19, 19, 1088], + 'PreAuxLogits': [5, 19, 19, 1088] + } + + self.assertItemsEqual(endpoints_shapes.keys(), end_points.keys()) + for endpoint_name in endpoints_shapes: + expected_shape = endpoints_shapes[endpoint_name] + self.assertTrue(endpoint_name in end_points) + self.assertListEqual(end_points[endpoint_name].get_shape().as_list(), + expected_shape) + + def testBuildAndCheckAllEndPointsUptoPreAuxLogitsWithOutputStrideEight(self): + batch_size = 5 + height, width = 299, 299 + + inputs = tf.random_uniform((batch_size, height, width, 3)) + _, end_points = inception.inception_resnet_v2_base( + inputs, final_endpoint='PreAuxLogits', output_stride=8) + endpoints_shapes = {'Conv2d_1a_3x3': [5, 149, 149, 32], + 'Conv2d_2a_3x3': [5, 147, 147, 32], + 'Conv2d_2b_3x3': [5, 147, 147, 64], + 'MaxPool_3a_3x3': [5, 73, 73, 64], + 'Conv2d_3b_1x1': [5, 73, 73, 80], + 'Conv2d_4a_3x3': [5, 71, 71, 192], + 'MaxPool_5a_3x3': [5, 35, 35, 192], + 'Mixed_5b': [5, 35, 35, 320], + 'Mixed_6a': [5, 33, 33, 1088], + 'PreAuxLogits': [5, 33, 33, 1088] + } + + self.assertItemsEqual(endpoints_shapes.keys(), end_points.keys()) + for endpoint_name in endpoints_shapes: + expected_shape = endpoints_shapes[endpoint_name] + self.assertTrue(endpoint_name in end_points) + self.assertListEqual(end_points[endpoint_name].get_shape().as_list(), + expected_shape) + def testVariablesSetDevice(self): batch_size = 5 height, width = 299, 299 @@ -80,7 +209,7 @@ class InceptionTest(tf.test.TestCase): self.assertTrue(logits.op.name.startswith('InceptionResnetV2/Logits')) self.assertListEqual(logits.get_shape().as_list(), [batch_size, num_classes]) - pre_pool = end_points['PrePool'] + pre_pool = end_points['Conv2d_7b_1x1'] self.assertListEqual(pre_pool.get_shape().as_list(), [batch_size, 3, 3, 1536]) -- GitLab From 2bb1baad7445b31c27b8a0ee4e1753371f4d0581 Mon Sep 17 00:00:00 2001 From: xiangjinwu Date: Wed, 14 Jun 2017 13:11:42 -0500 Subject: [PATCH 105/171] slim Python 3 compatibility: cPickle and str/bytes (#1534) --- slim/datasets/dataset_utils.py | 2 +- slim/datasets/download_and_convert_cifar10.py | 15 +++++++++------ slim/datasets/download_and_convert_flowers.py | 4 ++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/slim/datasets/dataset_utils.py b/slim/datasets/dataset_utils.py index 9c79aadfb..6f7a1c207 100644 --- a/slim/datasets/dataset_utils.py +++ b/slim/datasets/dataset_utils.py @@ -124,7 +124,7 @@ def read_label_file(dataset_dir, filename=LABELS_FILENAME): A map from a label (integer) to class name. """ labels_filename = os.path.join(dataset_dir, filename) - with tf.gfile.Open(labels_filename, 'r') as f: + with tf.gfile.Open(labels_filename, 'rb') as f: lines = f.read().decode() lines = lines.split('\n') lines = filter(None, lines) diff --git a/slim/datasets/download_and_convert_cifar10.py b/slim/datasets/download_and_convert_cifar10.py index 2cb787d08..0e0abe3c0 100644 --- a/slim/datasets/download_and_convert_cifar10.py +++ b/slim/datasets/download_and_convert_cifar10.py @@ -26,7 +26,7 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function -import cPickle +from six.moves import cPickle import os import sys import tarfile @@ -72,14 +72,17 @@ def _add_to_tfrecord(filename, tfrecord_writer, offset=0): Returns: The new offset. """ - with tf.gfile.Open(filename, 'r') as f: - data = cPickle.load(f) + with tf.gfile.Open(filename, 'rb') as f: + if sys.version_info < (3,): + data = cPickle.load(f) + else: + data = cPickle.load(f, encoding='bytes') - images = data['data'] + images = data[b'data'] num_images = images.shape[0] images = images.reshape((num_images, 3, 32, 32)) - labels = data['labels'] + labels = data[b'labels'] with tf.Graph().as_default(): image_placeholder = tf.placeholder(dtype=tf.uint8) @@ -99,7 +102,7 @@ def _add_to_tfrecord(filename, tfrecord_writer, offset=0): feed_dict={image_placeholder: image}) example = dataset_utils.image_to_tfexample( - png_string, 'png', _IMAGE_SIZE, _IMAGE_SIZE, label) + png_string, b'png', _IMAGE_SIZE, _IMAGE_SIZE, label) tfrecord_writer.write(example.SerializeToString()) return offset + num_images diff --git a/slim/datasets/download_and_convert_flowers.py b/slim/datasets/download_and_convert_flowers.py index 347a4df29..2c11ead41 100644 --- a/slim/datasets/download_and_convert_flowers.py +++ b/slim/datasets/download_and_convert_flowers.py @@ -136,14 +136,14 @@ def _convert_dataset(split_name, filenames, class_names_to_ids, dataset_dir): sys.stdout.flush() # Read the filename: - image_data = tf.gfile.FastGFile(filenames[i], 'r').read() + image_data = tf.gfile.FastGFile(filenames[i], 'rb').read() height, width = image_reader.read_image_dims(sess, image_data) class_name = os.path.basename(os.path.dirname(filenames[i])) class_id = class_names_to_ids[class_name] example = dataset_utils.image_to_tfexample( - image_data, 'jpg', height, width, class_id) + image_data, b'jpg', height, width, class_id) tfrecord_writer.write(example.SerializeToString()) sys.stdout.write('\n') -- GitLab From 001a260214ba34f36e149bbd24f7f5d6a6634500 Mon Sep 17 00:00:00 2001 From: g21589 Date: Thu, 15 Jun 2017 02:12:54 +0800 Subject: [PATCH 106/171] Fixed the device specification for dequeue (#1480) This patch assigns dequeue node to inputs_device. And nolonger shows "Ignoring device specification /device:GPU:X for node 'clone_X/fifo_queue_Dequeue'" message. --- slim/train_image_classifier.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/slim/train_image_classifier.py b/slim/train_image_classifier.py index 57049a1a2..21180edb9 100755 --- a/slim/train_image_classifier.py +++ b/slim/train_image_classifier.py @@ -450,7 +450,8 @@ def main(_): #################### def clone_fn(batch_queue): """Allows data parallelism by creating multiple clones of network_fn.""" - images, labels = batch_queue.dequeue() + with tf.device(deploy_config.inputs_device()): + images, labels = batch_queue.dequeue() logits, end_points = network_fn(images) ############################# -- GitLab From fc7342bf047ec5fc7a707202adaf108661bd373d Mon Sep 17 00:00:00 2001 From: derekjchow Date: Wed, 14 Jun 2017 13:31:35 -0700 Subject: [PATCH 107/171] Update model_deploy. (#1557) Fix slow down with only 1 GPU --- slim/deployment/model_deploy.py | 5 +---- slim/deployment/model_deploy_test.py | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/slim/deployment/model_deploy.py b/slim/deployment/model_deploy.py index 67b6f9a38..c6820769d 100644 --- a/slim/deployment/model_deploy.py +++ b/slim/deployment/model_deploy.py @@ -103,8 +103,6 @@ import collections import tensorflow as tf -from tensorflow.python.ops import control_flow_ops - slim = tf.contrib.slim @@ -594,8 +592,7 @@ class DeploymentConfig(object): if self._clone_on_cpu: device += '/device:CPU:0' else: - if self._num_clones > 1: - device += '/device:GPU:%d' % clone_index + device += '/device:GPU:%d' % clone_index return device def clone_scope(self, clone_index): diff --git a/slim/deployment/model_deploy_test.py b/slim/deployment/model_deploy_test.py index 57951db96..48982eda7 100644 --- a/slim/deployment/model_deploy_test.py +++ b/slim/deployment/model_deploy_test.py @@ -33,7 +33,7 @@ class DeploymentConfigTest(tf.test.TestCase): self.assertEqual(slim.get_variables(), []) self.assertEqual(deploy_config.caching_device(), None) - self.assertDeviceEqual(deploy_config.clone_device(0), '') + self.assertDeviceEqual(deploy_config.clone_device(0), 'GPU:0') self.assertEqual(deploy_config.clone_scope(0), '') self.assertDeviceEqual(deploy_config.optimizer_device(), 'CPU:0') self.assertDeviceEqual(deploy_config.inputs_device(), 'CPU:0') @@ -65,7 +65,7 @@ class DeploymentConfigTest(tf.test.TestCase): deploy_config = model_deploy.DeploymentConfig(num_clones=1, num_ps_tasks=1) self.assertDeviceEqual(deploy_config.clone_device(0), - '/job:worker') + '/job:worker/device:GPU:0') self.assertEqual(deploy_config.clone_scope(0), '') self.assertDeviceEqual(deploy_config.optimizer_device(), '/job:worker/device:CPU:0') @@ -105,7 +105,7 @@ class DeploymentConfigTest(tf.test.TestCase): num_ps_tasks=2) self.assertDeviceEqual(deploy_config.clone_device(0), - '/job:worker') + '/job:worker/device:GPU:0') self.assertEqual(deploy_config.clone_scope(0), '') self.assertDeviceEqual(deploy_config.optimizer_device(), '/job:worker/device:CPU:0') @@ -201,7 +201,7 @@ class CreatecloneTest(tf.test.TestCase): self.assertEqual(clone.outputs.op.name, 'LogisticClassifier/fully_connected/Sigmoid') self.assertEqual(clone.scope, '') - self.assertDeviceEqual(clone.device, '') + self.assertDeviceEqual(clone.device, 'GPU:0') self.assertEqual(len(slim.losses.get_losses()), 1) update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) self.assertEqual(update_ops, []) @@ -227,7 +227,7 @@ class CreatecloneTest(tf.test.TestCase): self.assertEqual(clone.outputs.op.name, 'BatchNormClassifier/fully_connected/Sigmoid') self.assertEqual(clone.scope, '') - self.assertDeviceEqual(clone.device, '') + self.assertDeviceEqual(clone.device, 'GPU:0') self.assertEqual(len(slim.losses.get_losses()), 1) update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) self.assertEqual(len(update_ops), 2) @@ -278,7 +278,7 @@ class CreatecloneTest(tf.test.TestCase): clone = clones[0] self.assertEqual(clone.outputs.op.name, 'BatchNormClassifier/fully_connected/Sigmoid') - self.assertDeviceEqual(clone.device, '/job:worker') + self.assertDeviceEqual(clone.device, '/job:worker/device:GPU:0') self.assertEqual(clone.scope, '') self.assertEqual(len(slim.get_variables()), 5) for v in slim.get_variables(): @@ -350,7 +350,7 @@ class OptimizeclonesTest(tf.test.TestCase): self.assertEqual(len(grads_and_vars), len(tf.trainable_variables())) self.assertEqual(total_loss.op.name, 'total_loss') for g, v in grads_and_vars: - self.assertDeviceEqual(g.device, '') + self.assertDeviceEqual(g.device, 'GPU:0') self.assertDeviceEqual(v.device, 'CPU:0') def testCreateSingleclone(self): @@ -376,7 +376,7 @@ class OptimizeclonesTest(tf.test.TestCase): self.assertEqual(len(grads_and_vars), len(tf.trainable_variables())) self.assertEqual(total_loss.op.name, 'total_loss') for g, v in grads_and_vars: - self.assertDeviceEqual(g.device, '') + self.assertDeviceEqual(g.device, 'GPU:0') self.assertDeviceEqual(v.device, 'CPU:0') def testCreateMulticlone(self): @@ -458,7 +458,7 @@ class OptimizeclonesTest(tf.test.TestCase): self.assertEqual(len(grads_and_vars), len(tf.trainable_variables())) self.assertEqual(total_loss.op.name, 'total_loss') for g, v in grads_and_vars: - self.assertDeviceEqual(g.device, '/job:worker') + self.assertDeviceEqual(g.device, '/job:worker/device:GPU:0') self.assertDeviceEqual(v.device, '/job:ps/task:0/CPU:0') @@ -515,7 +515,7 @@ class DeployTest(tf.test.TestCase): for _ in range(10): sess.run(model.train_op) final_loss = sess.run(model.total_loss) - self.assertLess(final_loss, initial_loss / 10.0) + self.assertLess(final_loss, initial_loss / 5.0) final_mean, final_variance = sess.run([moving_mean, moving_variance]) -- GitLab From 34af79db12577f2039c4f88bfae50734d8ddd2c6 Mon Sep 17 00:00:00 2001 From: Mohammad Babaeizadeh Date: Wed, 14 Jun 2017 16:01:29 -0700 Subject: [PATCH 108/171] Fixing the initialization/loading bug. The code currently loads the checkpoint and then initializes the variables resulting to random weights. Swapping the order fixes the loading checkpoint issue. --- video_prediction/prediction_train.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/video_prediction/prediction_train.py b/video_prediction/prediction_train.py index 46f881426..09625bbf1 100644 --- a/video_prediction/prediction_train.py +++ b/video_prediction/prediction_train.py @@ -204,6 +204,8 @@ def main(unused_argv): # Make training session. sess = tf.InteractiveSession() + sess.run(tf.global_variables_initializer()) + summary_writer = tf.summary.FileWriter( FLAGS.event_log_dir, graph=sess.graph, flush_secs=10) @@ -211,7 +213,6 @@ def main(unused_argv): saver.restore(sess, FLAGS.pretrained_model) tf.train.start_queue_runners(sess) - sess.run(tf.global_variables_initializer()) tf.logging.info('iteration number, cost') -- GitLab From 1c3408026f28b5b9d28cba73562894686824a3a0 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Wed, 14 Jun 2017 18:09:09 -0700 Subject: [PATCH 109/171] Changes for consistency --- tutorials/image/alexnet/alexnet_benchmark.py | 24 ++++++++------------ 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/tutorials/image/alexnet/alexnet_benchmark.py b/tutorials/image/alexnet/alexnet_benchmark.py index 04c394ad4..39991501c 100644 --- a/tutorials/image/alexnet/alexnet_benchmark.py +++ b/tutorials/image/alexnet/alexnet_benchmark.py @@ -75,13 +75,11 @@ def inference(images): with tf.name_scope('lrn1') as scope: - lrn1 = tf.nn.local_response_normalization( - conv1, - alpha=1e-04, - beta=0.75, - depth_radius=5, - bias=2.0 - ) + lrn1 = tf.nn.local_response_normalization(conv1, + alpha=1e-4, + beta=0.75, + depth_radius=5, + bias=2.0) # pool1 pool1 = tf.nn.max_pool(lrn1, @@ -105,13 +103,11 @@ def inference(images): with tf.name_scope('lrn2') as scope: - lrn2 = tf.nn.local_response_normalization( - conv2, - alpha=1e-04, - beta=0.75, - depth_radius=5, - bias=2.0 - ) + lrn2 = tf.nn.local_response_normalization(conv2, + alpha=1e-4, + beta=0.75, + depth_radius=5, + bias=2.0) # pool2 pool2 = tf.nn.max_pool(lrn2, -- GitLab From d877b13a4e1bc180967bdb5dde0d7d6298510913 Mon Sep 17 00:00:00 2001 From: Neal Wu Date: Wed, 14 Jun 2017 18:09:48 -0700 Subject: [PATCH 110/171] Missed section comments --- tutorials/image/alexnet/alexnet_benchmark.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/image/alexnet/alexnet_benchmark.py b/tutorials/image/alexnet/alexnet_benchmark.py index 39991501c..047ac3dce 100644 --- a/tutorials/image/alexnet/alexnet_benchmark.py +++ b/tutorials/image/alexnet/alexnet_benchmark.py @@ -73,7 +73,7 @@ def inference(images): print_activations(conv1) parameters += [kernel, biases] - + # lrn1 with tf.name_scope('lrn1') as scope: lrn1 = tf.nn.local_response_normalization(conv1, alpha=1e-4, @@ -101,7 +101,7 @@ def inference(images): parameters += [kernel, biases] print_activations(conv2) - + # lrn2 with tf.name_scope('lrn2') as scope: lrn2 = tf.nn.local_response_normalization(conv2, alpha=1e-4, -- GitLab From b5afddbefe9d27d368ace5ed9430290d9be41d8e Mon Sep 17 00:00:00 2001 From: Ryan Sepassi Date: Thu, 8 Jun 2017 12:50:41 -0700 Subject: [PATCH 111/171] Reproduce reported virtual adversarial text results --- adversarial_text/BUILD | 21 ++++++ adversarial_text/README.md | 19 +++--- adversarial_text/adversarial_losses.py | 68 ++++++++------------ adversarial_text/data/BUILD | 11 ++++ adversarial_text/data/data_utils.py | 20 ++++-- adversarial_text/data/data_utils_test.py | 18 ++++-- adversarial_text/data/document_generators.py | 37 +++++++---- adversarial_text/data/gen_data.py | 6 +- adversarial_text/data/gen_vocab.py | 6 +- adversarial_text/evaluate.py | 6 +- adversarial_text/graphs.py | 15 +++-- adversarial_text/graphs_test.py | 5 +- adversarial_text/inputs.py | 44 ++++++++++--- adversarial_text/layers.py | 21 ++++-- adversarial_text/pretrain.py | 11 ++-- adversarial_text/train_classifier.py | 11 ++-- adversarial_text/train_utils.py | 5 +- 17 files changed, 208 insertions(+), 116 deletions(-) diff --git a/adversarial_text/BUILD b/adversarial_text/BUILD index b0fdc6332..476865f96 100644 --- a/adversarial_text/BUILD +++ b/adversarial_text/BUILD @@ -1,3 +1,5 @@ +licenses(["notice"]) # Apache 2.0 + # Binaries # ============================================================================== py_binary( @@ -5,6 +7,8 @@ py_binary( srcs = ["evaluate.py"], deps = [ ":graphs", + # google3 file dep, + # tensorflow dep, ], ) @@ -14,6 +18,8 @@ py_binary( deps = [ ":graphs", ":train_utils", + # google3 file dep, + # tensorflow dep, ], ) @@ -25,6 +31,8 @@ py_binary( deps = [ ":graphs", ":train_utils", + # google3 file dep, + # tensorflow dep, ], ) @@ -37,18 +45,23 @@ py_library( ":adversarial_losses", ":inputs", ":layers", + # tensorflow dep, ], ) py_library( name = "adversarial_losses", srcs = ["adversarial_losses.py"], + deps = [ + # tensorflow dep, + ], ) py_library( name = "inputs", srcs = ["inputs.py"], deps = [ + # tensorflow dep, "//adversarial_text/data:data_utils", ], ) @@ -56,11 +69,18 @@ py_library( py_library( name = "layers", srcs = ["layers.py"], + deps = [ + # tensorflow dep, + ], ) py_library( name = "train_utils", srcs = ["train_utils.py"], + deps = [ + # numpy dep, + # tensorflow dep, + ], ) # Tests @@ -71,6 +91,7 @@ py_test( srcs = ["graphs_test.py"], deps = [ ":graphs", + # tensorflow dep, "//adversarial_text/data:data_utils", ], ) diff --git a/adversarial_text/README.md b/adversarial_text/README.md index a27d56c9e..bfddc7088 100644 --- a/adversarial_text/README.md +++ b/adversarial_text/README.md @@ -56,7 +56,6 @@ $ bazel run :pretrain -- \ --embedding_dims=256 \ --rnn_cell_size=1024 \ --num_candidate_samples=1024 \ - --optimizer=adam \ --batch_size=256 \ --learning_rate=0.001 \ --learning_rate_decay_factor=0.9999 \ @@ -87,7 +86,6 @@ $ bazel run :train_classifier -- \ --rnn_cell_size=1024 \ --cl_num_layers=1 \ --cl_hidden_size=30 \ - --optimizer=adam \ --batch_size=64 \ --learning_rate=0.0005 \ --learning_rate_decay_factor=0.9998 \ @@ -96,7 +94,8 @@ $ bazel run :train_classifier -- \ --num_timesteps=400 \ --keep_prob_emb=0.5 \ --normalize_embeddings \ - --adv_training_method=vat + --adv_training_method=vat \ + --perturb_norm_length=5.0 ``` ### Evaluate on test data @@ -136,21 +135,21 @@ adversarial training losses). The training loop itself is defined in ### Command-Line Flags Flags related to distributed training and the training loop itself are defined -in `train_utils.py`. +in [`train_utils.py`](https://github.com/tensorflow/models/tree/master/adversarial_text/train_utils.py). -Flags related to model hyperparameters are defined in `graphs.py`. +Flags related to model hyperparameters are defined in [`graphs.py`](https://github.com/tensorflow/models/tree/master/adversarial_text/graphs.py). -Flags related to adversarial training are defined in `adversarial_losses.py`. +Flags related to adversarial training are defined in [`adversarial_losses.py`](https://github.com/tensorflow/models/tree/master/adversarial_text/adversarial_losses.py). Flags particular to each job are defined in the main binary files. ### Data Generation -* Vocabulary generation: `gen_vocab.py` -* Data generation: `gen_data.py` +* Vocabulary generation: [`gen_vocab.py`](https://github.com/tensorflow/models/tree/master/adversarial_text/data/gen_vocab.py) +* Data generation: [`gen_data.py`](https://github.com/tensorflow/models/tree/master/adversarial_text/data/gen_data.py) -Command-line flags defined in `document_generators.py` control which dataset is -processed and how. +Command-line flags defined in [`document_generators.py`](https://github.com/tensorflow/models/tree/master/adversarial_text/data/document_generators.py) +control which dataset is processed and how. ## Contact for Issues diff --git a/adversarial_text/adversarial_losses.py b/adversarial_text/adversarial_losses.py index f8fba6d35..46a0b371b 100644 --- a/adversarial_text/adversarial_losses.py +++ b/adversarial_text/adversarial_losses.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,25 +12,27 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Adversarial losses for text models.""" from __future__ import absolute_import from __future__ import division from __future__ import print_function +# Dependency imports + import tensorflow as tf flags = tf.app.flags FLAGS = flags.FLAGS # Adversarial and virtual adversarial training parameters. -flags.DEFINE_float('perturb_norm_length', 0.1, +flags.DEFINE_float('perturb_norm_length', 5.0, 'Norm length of adversarial perturbation to be ' - 'optimized with validation') + 'optimized with validation. ' + '5.0 is optimal on IMDB with virtual adversarial training. ') # Virtual adversarial training parameters flags.DEFINE_integer('num_power_iteration', 1, 'The number of power iteration') -flags.DEFINE_float('small_constant_for_finite_diff', 1e-3, +flags.DEFINE_float('small_constant_for_finite_diff', 1e-1, 'Small constant for finite difference method') # Parameters for building the graph @@ -83,19 +85,22 @@ def virtual_adversarial_loss(logits, embedded, inputs, """ # Stop gradient of logits. See https://arxiv.org/abs/1507.00677 for details. logits = tf.stop_gradient(logits) + # Only care about the KL divergence on the final timestep. - weights = _end_of_seq_mask(inputs.labels) + weights = inputs.eos_weights + assert weights is not None # Initialize perturbation with random noise. # shape(embedded) = (batch_size, num_timesteps, embedding_dim) - d = _mask_by_length(tf.random_normal(shape=tf.shape(embedded)), inputs.length) + d = tf.random_normal(shape=tf.shape(embedded)) # Perform finite difference method and power iteration. # See Eq.(8) in the paper http://arxiv.org/pdf/1507.00677.pdf, # Adding small noise to input and taking gradient with respect to the noise # corresponds to 1 power iteration. for _ in xrange(FLAGS.num_power_iteration): - d = _scale_l2(d, FLAGS.small_constant_for_finite_diff) + d = _scale_l2( + _mask_by_length(d, inputs.length), FLAGS.small_constant_for_finite_diff) d_logits = logits_from_embedding_fn(embedded + d) kl = _kl_divergence_with_logits(logits, d_logits, weights) d, = tf.gradients( @@ -104,8 +109,7 @@ def virtual_adversarial_loss(logits, embedded, inputs, aggregation_method=tf.AggregationMethod.EXPERIMENTAL_ACCUMULATE_N) d = tf.stop_gradient(d) - perturb = _scale_l2( - _mask_by_length(d, inputs.length), FLAGS.perturb_norm_length) + perturb = _scale_l2(d, FLAGS.perturb_norm_length) vadv_logits = logits_from_embedding_fn(embedded + perturb) return _kl_divergence_with_logits(logits, vadv_logits, weights) @@ -136,7 +140,8 @@ def virtual_adversarial_loss_bidir(logits, embedded, inputs, """Virtual adversarial loss for bidirectional models.""" logits = tf.stop_gradient(logits) f_inputs, _ = inputs - weights = _end_of_seq_mask(f_inputs.labels) + weights = f_inputs.eos_weights + assert weights is not None perturbs = [ _mask_by_length(tf.random_normal(shape=tf.shape(emb)), f_inputs.length) @@ -155,10 +160,7 @@ def virtual_adversarial_loss_bidir(logits, embedded, inputs, aggregation_method=tf.AggregationMethod.EXPERIMENTAL_ACCUMULATE_N) perturbs = [tf.stop_gradient(d) for d in perturbs] - perturbs = [ - _scale_l2(_mask_by_length(d, f_inputs.length), FLAGS.perturb_norm_length) - for d in perturbs - ] + perturbs = [_scale_l2(d, FLAGS.perturb_norm_length) for d in perturbs] vadv_logits = logits_from_embedding_fn( [emb + d for (emb, d) in zip(embedded, perturbs)]) return _kl_divergence_with_logits(logits, vadv_logits, weights) @@ -167,7 +169,9 @@ def virtual_adversarial_loss_bidir(logits, embedded, inputs, def _mask_by_length(t, length): """Mask t, 3-D [batch, time, dim], by length, 1-D [batch,].""" maxlen = t.get_shape().as_list()[1] - mask = tf.sequence_mask(length, maxlen=maxlen) + + # Subtract 1 from length to prevent the perturbation from going on 'eos' + mask = tf.sequence_mask(length - 1, maxlen=maxlen) mask = tf.expand_dims(tf.cast(mask, tf.float32), -1) # shape(mask) = (batch, num_timesteps, 1) return t * mask @@ -175,32 +179,16 @@ def _mask_by_length(t, length): def _scale_l2(x, norm_length): # shape(x) = (batch, num_timesteps, d) - # Divide x by max(abs(x)) for a numerically stable L2 norm. # 2norm(x) = a * 2norm(x/a) # Scale over the full sequence, dims (1, 2) alpha = tf.reduce_max(tf.abs(x), (1, 2), keep_dims=True) + 1e-12 - l2_norm = alpha * tf.sqrt(tf.reduce_sum(tf.pow(x / alpha, 2), (1, 2), - keep_dims=True) + 1e-6) + l2_norm = alpha * tf.sqrt( + tf.reduce_sum(tf.pow(x / alpha, 2), (1, 2), keep_dims=True) + 1e-6) x_unit = x / l2_norm return norm_length * x_unit -def _end_of_seq_mask(tokens): - """Generate a mask for the EOS token (1.0 on EOS, 0.0 otherwise). - - Args: - tokens: 1-D integer tensor [num_timesteps*batch_size]. Each element is an - id from the vocab. - - Returns: - Float tensor same shape as tokens, whose values are 1.0 on the end of - sequence and 0.0 on the others. - """ - eos_id = FLAGS.vocab_size - 1 - return tf.cast(tf.equal(tokens, eos_id), tf.float32) - - def _kl_divergence_with_logits(q_logits, p_logits, weights): """Returns weighted KL divergence between distributions q and p. @@ -218,21 +206,19 @@ def _kl_divergence_with_logits(q_logits, p_logits, weights): # For logistic regression if FLAGS.num_classes == 2: q = tf.nn.sigmoid(q_logits) - p = tf.nn.sigmoid(p_logits) kl = (-tf.nn.sigmoid_cross_entropy_with_logits(logits=q_logits, labels=q) + tf.nn.sigmoid_cross_entropy_with_logits(logits=p_logits, labels=q)) + kl = tf.squeeze(kl) # For softmax regression else: - q = tf.nn.softmax(q_logits) - p = tf.nn.softmax(p_logits) - kl = tf.reduce_sum(q * (tf.log(q) - tf.log(p)), 1) + kl = tf.reduce_sum( + q * (tf.nn.log_softmax(q_logits) - tf.nn.log_softmax(p_logits)), 1) num_labels = tf.reduce_sum(weights) num_labels = tf.where(tf.equal(num_labels, 0.), 1., num_labels) - kl.get_shape().assert_has_rank(2) + kl.get_shape().assert_has_rank(1) weights.get_shape().assert_has_rank(1) - loss = tf.identity(tf.reduce_sum(tf.expand_dims(weights, -1) * kl) / - num_labels, name='kl') + loss = tf.identity(tf.reduce_sum(weights * kl) / num_labels, name='kl') return loss diff --git a/adversarial_text/data/BUILD b/adversarial_text/data/BUILD index 33d46bcc1..b59f7a30e 100644 --- a/adversarial_text/data/BUILD +++ b/adversarial_text/data/BUILD @@ -1,3 +1,5 @@ +licenses(["notice"]) # Apache 2.0 + package( default_visibility = [ "//adversarial_text:__subpackages__", @@ -10,6 +12,7 @@ py_binary( deps = [ ":data_utils", ":document_generators", + # tensorflow dep, ], ) @@ -19,17 +22,24 @@ py_binary( deps = [ ":data_utils", ":document_generators", + # tensorflow dep, ], ) py_library( name = "document_generators", srcs = ["document_generators.py"], + deps = [ + # tensorflow dep, + ], ) py_library( name = "data_utils", srcs = ["data_utils.py"], + deps = [ + # tensorflow dep, + ], ) py_test( @@ -37,5 +47,6 @@ py_test( srcs = ["data_utils_test.py"], deps = [ ":data_utils", + # tensorflow dep, ], ) diff --git a/adversarial_text/data/data_utils.py b/adversarial_text/data/data_utils.py index 1c31ab96d..d458caadd 100644 --- a/adversarial_text/data/data_utils.py +++ b/adversarial_text/data/data_utils.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,13 +12,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Utilities for generating/preprocessing data for adversarial text models.""" import operator import os import random import re + +# Dependency imports + import tensorflow as tf EOS_TOKEN = '' @@ -215,13 +217,17 @@ def build_lm_sequence(seq): Returns: SequenceWrapper with `seq` tokens copied over to output sequence tokens and - labels (offset by 1, i.e. predict next token) with weights set to 1.0. + labels (offset by 1, i.e. predict next token) with weights set to 1.0, + except for token. """ lm_seq = SequenceWrapper() - for i, timestep in enumerate(seq[:-1]): - lm_seq.add_timestep().set_token(timestep.token).set_label( - seq[i + 1].token).set_weight(1.0) - + for i, timestep in enumerate(seq): + if i == len(seq) - 1: + lm_seq.add_timestep().set_token(timestep.token).set_label( + seq[i].token).set_weight(0.0) + else: + lm_seq.add_timestep().set_token(timestep.token).set_label( + seq[i + 1].token).set_weight(1.0) return lm_seq diff --git a/adversarial_text/data/data_utils_test.py b/adversarial_text/data/data_utils_test.py index 614b12953..59b7f4e66 100644 --- a/adversarial_text/data/data_utils_test.py +++ b/adversarial_text/data/data_utils_test.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,12 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Tests for data_utils.""" from __future__ import absolute_import from __future__ import division from __future__ import print_function +# Dependency imports + import tensorflow as tf from adversarial_text.data import data_utils @@ -91,9 +92,16 @@ class DataUtilsTest(tf.test.TestCase): seq = self._buildDummySequence() lm_seq = data.build_lm_sequence(seq) for i, ts in enumerate(lm_seq): - self.assertEqual(ts.token, i) - self.assertEqual(ts.label, i + 1) - self.assertEqual(ts.weight, 1.0) + # For end of sequence, the token and label should be same, and weight + # should be 0.0. + if i == len(lm_seq) - 1: + self.assertEqual(ts.token, i) + self.assertEqual(ts.label, i) + self.assertEqual(ts.weight, 0.0) + else: + self.assertEqual(ts.token, i) + self.assertEqual(ts.label, i + 1) + self.assertEqual(ts.weight, 1.0) def testBuildSAESeq(self): seq = self._buildDummySequence() diff --git a/adversarial_text/data/document_generators.py b/adversarial_text/data/document_generators.py index 990dae775..aee7fc76a 100644 --- a/adversarial_text/data/document_generators.py +++ b/adversarial_text/data/document_generators.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Input readers and document/token generators for datasets.""" from __future__ import absolute_import from __future__ import division @@ -23,6 +22,8 @@ import csv import os import random +# Dependency imports + import tensorflow as tf from adversarial_text.data import data_utils @@ -60,7 +61,6 @@ flags.DEFINE_string('rcv1_input_dir', '', flags.DEFINE_string('rt_input_dir', '', 'The Rotten Tomatoes dataset input directory.') - # The amazon reviews input file to use in either the RT or IMDB datasets. flags.DEFINE_string('amazon_unlabeled_input_file', '', 'The unlabeled Amazon Reviews dataset input file. If set, ' @@ -211,8 +211,12 @@ def imdb_documents(dataset='train', if FLAGS.amazon_unlabeled_input_file and include_unlabeled: with open(FLAGS.amazon_unlabeled_input_file) as rt_f: for content in rt_f: - yield Document(content=content, is_validation=False, is_test=False, - label=None, add_tokens=False) + yield Document( + content=content, + is_validation=False, + is_test=False, + label=None, + add_tokens=False) def dbpedia_documents(dataset='train', @@ -265,7 +269,8 @@ def rcv1_documents(dataset='train', # pylint:disable=line-too-long """Generates Documents for Reuters Corpus (rcv1) dataset. - Dataset described at http://www.ai.mit.edu/projects/jmlr/papers/volume5/lewis04a/lyrl2004_rcv1v2_README.htm + Dataset described at + http://www.ai.mit.edu/projects/jmlr/papers/volume5/lewis04a/lyrl2004_rcv1v2_README.htm Args: dataset: str, identifies the csv file within the rcv1 data directory. @@ -354,17 +359,25 @@ def rt_documents(dataset='train', if class_label is None: # Process Amazon Review data for unlabeled dataset if content.startswith('review/text'): - yield Document(content=content, is_validation=False, - is_test=False, label=None, add_tokens=False) + yield Document( + content=content, + is_validation=False, + is_test=False, + label=None, + add_tokens=False) else: # 10% of the data is randomly held out for the validation set and # another 10% of it is randomly held out for the test set random_int = random.randint(1, 10) is_validation = random_int == 1 is_test = random_int == 2 - if (is_test and dataset != 'test') or ( - is_validation and not include_validation): + if (is_test and dataset != 'test') or (is_validation and + not include_validation): continue - yield Document(content=content, is_validation=is_validation, - is_test=is_test, label=class_label, add_tokens=True) + yield Document( + content=content, + is_validation=is_validation, + is_test=is_test, + label=class_label, + add_tokens=True) diff --git a/adversarial_text/data/gen_data.py b/adversarial_text/data/gen_data.py index 0631de8e7..66aa141a1 100644 --- a/adversarial_text/data/gen_data.py +++ b/adversarial_text/data/gen_data.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Create TFRecord files of SequenceExample protos from dataset. Constructs 3 datasets: @@ -31,6 +30,8 @@ from __future__ import print_function import os import string +# Dependency imports + import tensorflow as tf from adversarial_text.data import data_utils @@ -197,6 +198,7 @@ def generate_test_data(vocab_ids, writer_lm_all, writer_seq_ae_all): def main(_): + tf.logging.set_verbosity(tf.logging.INFO) tf.logging.info('Assigning vocabulary ids...') vocab_ids = make_vocab_ids( FLAGS.vocab_file or os.path.join(FLAGS.output_dir, 'vocab.txt')) diff --git a/adversarial_text/data/gen_vocab.py b/adversarial_text/data/gen_vocab.py index 43a8688fa..2ee3e2cd0 100644 --- a/adversarial_text/data/gen_vocab.py +++ b/adversarial_text/data/gen_vocab.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Generates vocabulary and term frequency files for datasets.""" from __future__ import absolute_import from __future__ import division @@ -20,6 +19,8 @@ from __future__ import print_function from collections import defaultdict +# Dependency imports + import tensorflow as tf from adversarial_text.data import data_utils @@ -66,6 +67,7 @@ def fill_vocab_from_doc(doc, vocab_freqs, doc_counts): def main(_): + tf.logging.set_verbosity(tf.logging.INFO) vocab_freqs = defaultdict(int) doc_counts = defaultdict(int) diff --git a/adversarial_text/evaluate.py b/adversarial_text/evaluate.py index 2c96b7990..a6480ca74 100644 --- a/adversarial_text/evaluate.py +++ b/adversarial_text/evaluate.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Evaluates text classification model.""" from __future__ import absolute_import @@ -22,6 +21,8 @@ from __future__ import print_function import math import time +# Dependency imports + import tensorflow as tf import graphs @@ -100,6 +101,7 @@ def run_eval(eval_ops, summary_writer, saver): def _log_values(sess, value_ops, summary_writer=None): + """Evaluate, log, and write summaries of the eval metrics in value_ops.""" metric_names, value_ops = zip(*value_ops.items()) values = sess.run(value_ops) diff --git a/adversarial_text/graphs.py b/adversarial_text/graphs.py index 4d5dce8d0..f6d049f17 100644 --- a/adversarial_text/graphs.py +++ b/adversarial_text/graphs.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Virtual adversarial text models.""" from __future__ import absolute_import from __future__ import division @@ -20,6 +19,9 @@ from __future__ import print_function import csv import os + +# Dependency imports + import tensorflow as tf import adversarial_losses as adv_lib @@ -81,7 +83,8 @@ flags.DEFINE_integer('replicas_to_aggregate', 1, # Regularization flags.DEFINE_float('max_grad_norm', 1.0, 'Clip the global gradient norm to this value.') -flags.DEFINE_float('keep_prob_emb', 1.0, 'keep probability on embedding layer') +flags.DEFINE_float('keep_prob_emb', 1.0, 'keep probability on embedding layer. ' + '0.5 is optimal on IMDB with virtual adversarial training.') flags.DEFINE_float('keep_prob_lstm_out', 1.0, 'keep probability on lstm output.') flags.DEFINE_float('keep_prob_cl_hidden', 1.0, @@ -249,8 +252,7 @@ class VatxtModel(object): eval_ops = { 'accuracy': tf.contrib.metrics.streaming_accuracy( - layers_lib.predictions(logits), inputs.labels, - inputs.weights) + layers_lib.predictions(logits), inputs.labels, inputs.weights) } with tf.control_dependencies([inputs.save_state(next_state)]): @@ -610,7 +612,8 @@ def _inputs(dataset='train', pretrain=False, bidir=False): state_size=FLAGS.rnn_cell_size, num_layers=FLAGS.rnn_num_layers, batch_size=FLAGS.batch_size, - unroll_steps=FLAGS.num_timesteps) + unroll_steps=FLAGS.num_timesteps, + eos_id=FLAGS.vocab_size - 1) def _get_vocab_freqs(): diff --git a/adversarial_text/graphs_test.py b/adversarial_text/graphs_test.py index 849e3d06f..433afbe74 100644 --- a/adversarial_text/graphs_test.py +++ b/adversarial_text/graphs_test.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Tests for graphs.""" from __future__ import absolute_import from __future__ import division @@ -26,6 +25,8 @@ import shutil import string import tempfile +# Dependency imports + import tensorflow as tf import graphs diff --git a/adversarial_text/inputs.py b/adversarial_text/inputs.py index ec99eded0..5a2e462cb 100644 --- a/adversarial_text/inputs.py +++ b/adversarial_text/inputs.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Input utils for virtual adversarial text classification.""" from __future__ import absolute_import @@ -20,6 +19,9 @@ from __future__ import division from __future__ import print_function import os + +# Dependency imports + import tensorflow as tf from adversarial_text.data import data_utils @@ -28,7 +30,12 @@ from adversarial_text.data import data_utils class VatxtInput(object): """Wrapper around NextQueuedSequenceBatch.""" - def __init__(self, batch, state_name=None, tokens=None, num_states=0): + def __init__(self, + batch, + state_name=None, + tokens=None, + num_states=0, + eos_id=None): """Construct VatxtInput. Args: @@ -36,6 +43,7 @@ class VatxtInput(object): state_name: str, name of state to fetch and save. tokens: int Tensor, tokens. Defaults to batch's F_TOKEN_ID sequence. num_states: int The number of states to store. + eos_id: int Id of end of Sequence. """ self._batch = batch self._state_name = state_name @@ -58,6 +66,14 @@ class VatxtInput(object): l = tf.reshape(l, [-1]) self._labels = l + # eos weights + self._eos_weights = None + if eos_id: + ew = tf.cast(tf.equal(self._tokens, eos_id), tf.float32) + ew = tf.transpose(ew, [1, 0]) + ew = tf.reshape(ew, [-1]) + self._eos_weights = ew + @property def tokens(self): return self._tokens @@ -66,6 +82,10 @@ class VatxtInput(object): def weights(self): return self._weights + @property + def eos_weights(self): + return self._eos_weights + @property def labels(self): return self._labels @@ -246,7 +266,8 @@ def inputs(data_dir=None, state_size=None, num_layers=0, batch_size=32, - unroll_steps=100): + unroll_steps=100, + eos_id=None): """Inputs for text model. Args: @@ -260,7 +281,7 @@ def inputs(data_dir=None, num_layers: int, the number of LSTM layers. batch_size: int, batch size. unroll_steps: int, number of timesteps to unroll for TBTT. - + eos_id: int, id of end of sequence. used for the kl weights on vat Returns: Instance of VatxtInput (x2 if bidir=True and pretrain=True, i.e. forward and reverse). @@ -280,9 +301,15 @@ def inputs(data_dir=None, state_size, num_layers, unroll_steps, batch_size) forward_input = VatxtInput( - forward_batch, state_name=state_name, num_states=num_layers) + forward_batch, + state_name=state_name, + num_states=num_layers, + eos_id=eos_id) reverse_input = VatxtInput( - reverse_batch, state_name=state_name_rev, num_states=num_layers) + reverse_batch, + state_name=state_name_rev, + num_states=num_layers, + eos_id=eos_id) return forward_input, reverse_input elif bidir: @@ -322,4 +349,5 @@ def inputs(data_dir=None, unroll_steps, batch_size, bidir_input=False) - return VatxtInput(batch, state_name=state_name, num_states=num_layers) + return VatxtInput( + batch, state_name=state_name, num_states=num_layers, eos_id=eos_id) diff --git a/adversarial_text/layers.py b/adversarial_text/layers.py index c560be306..f99f8e27f 100644 --- a/adversarial_text/layers.py +++ b/adversarial_text/layers.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,14 +12,14 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Layers for VatxtModel.""" from __future__ import absolute_import from __future__ import division from __future__ import print_function -import tensorflow as tf +# Dependency imports +import tensorflow as tf K = tf.contrib.keras @@ -34,7 +34,7 @@ def cl_logits_subgraph(layer_sizes, input_size, num_classes, keep_prob=1.): subgraph.add(K.layers.Dense(layer_size, activation='relu')) if keep_prob < 1.: - subgraph.add(K.layers.Dropout(keep_prob)) + subgraph.add(K.layers.Dropout(1. - keep_prob)) subgraph.add(K.layers.Dense(1 if num_classes == 2 else num_classes)) return subgraph @@ -76,7 +76,14 @@ class Embedding(K.layers.Layer): def call(self, x): embedded = tf.nn.embedding_lookup(self.var, x) if self.keep_prob < 1.: - embedded = tf.nn.dropout(embedded, self.keep_prob) + shape = embedded.get_shape().as_list() + + # Use same dropout masks at each timestep with specifying noise_shape. + # This slightly improves performance. + # Please see https://arxiv.org/abs/1512.05287 for the theoretical + # explanation. + embedded = tf.nn.dropout( + embedded, self.keep_prob, noise_shape=(shape[0], 1, shape[2])) return embedded def _normalize(self, emb): @@ -153,11 +160,11 @@ class SoftmaxLoss(K.layers.Layer): self.lin_w = self.add_weight( shape=(input_shape[-1], self.vocab_size), name='lm_lin_w', - initializer='glorot_uniform') + initializer=K.initializers.glorot_uniform()) self.lin_b = self.add_weight( shape=(self.vocab_size,), name='lm_lin_b', - initializer='glorot_uniform') + initializer=K.initializers.glorot_uniform()) super(SoftmaxLoss, self).build(input_shape) diff --git a/adversarial_text/pretrain.py b/adversarial_text/pretrain.py index 25d6a4766..4e1fa6a4c 100644 --- a/adversarial_text/pretrain.py +++ b/adversarial_text/pretrain.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,18 +12,19 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Pretrains a recurrent language model. Computational time: - 5 days to train 100000 steps on 1 layer 1024 hidden units LSTM, - 256 embeddings, 400 truncated BP, 64 minibatch and on 4 GPU with - SyncReplicasOptimizer, that is the total minibatch is 256. + 2 days to train 100000 steps on 1 layer 1024 hidden units LSTM, + 256 embeddings, 400 truncated BP, 256 minibatch and on single GPU (Pascal + Titan X, cuDNNv5). """ from __future__ import absolute_import from __future__ import division from __future__ import print_function +# Dependency imports + import tensorflow as tf import graphs diff --git a/adversarial_text/train_classifier.py b/adversarial_text/train_classifier.py index 94fba3f6f..f498d2c2f 100644 --- a/adversarial_text/train_classifier.py +++ b/adversarial_text/train_classifier.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,17 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Trains LSTM text classification model. Model trains with adversarial or virtual adversarial training. Computational time: - 6 hours to train 10000 steps without adversarial or virtual adversarial + 1.8 hours to train 10000 steps without adversarial or virtual adversarial training, on 1 layer 1024 hidden units LSTM, 256 embeddings, 400 truncated - BP, 64 minibatch and on single GPU. + BP, 64 minibatch and on single GPU (Pascal Titan X, cuDNNv5). - 12 hours to train 10000 steps with adversarial or virtual adversarial + 4 hours to train 10000 steps with adversarial or virtual adversarial training, with above condition. To initialize embedding and LSTM cell weights from a pretrained model, set @@ -32,6 +31,8 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function +# Dependency imports + import tensorflow as tf import graphs diff --git a/adversarial_text/train_utils.py b/adversarial_text/train_utils.py index 91104a135..2c09d7ae3 100644 --- a/adversarial_text/train_utils.py +++ b/adversarial_text/train_utils.py @@ -1,4 +1,4 @@ -# Copyright 2017 Google, Inc. All Rights Reserved. +# Copyright 2017 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== - """Utilities for training adversarial text models.""" from __future__ import absolute_import from __future__ import division @@ -20,6 +19,8 @@ from __future__ import print_function import time +# Dependency imports + import numpy as np import tensorflow as tf -- GitLab From 60c3ed2e34efbe428ae04ab99ccebd795187c12f Mon Sep 17 00:00:00 2001 From: derekjchow Date: Wed, 14 Jun 2017 19:33:20 -0700 Subject: [PATCH 112/171] Update resnet (#1559) --- slim/nets/resnet_utils.py | 18 ++------ slim/nets/resnet_v1.py | 79 +++++++++++++++++-------------- slim/nets/resnet_v1_test.py | 50 ++++++++------------ slim/nets/resnet_v2.py | 92 ++++++++++++++++++++++--------------- slim/nets/resnet_v2_test.py | 50 ++++++++------------ 5 files changed, 143 insertions(+), 146 deletions(-) diff --git a/slim/nets/resnet_utils.py b/slim/nets/resnet_utils.py index 1e1dd8292..20d7789a6 100644 --- a/slim/nets/resnet_utils.py +++ b/slim/nets/resnet_utils.py @@ -178,26 +178,16 @@ def stack_blocks_dense(net, blocks, output_stride=None, raise ValueError('The target output_stride cannot be reached.') with tf.variable_scope('unit_%d' % (i + 1), values=[net]): - unit_depth, unit_depth_bottleneck, unit_stride = unit - # If we have reached the target output_stride, then we need to employ # atrous convolution with stride=1 and multiply the atrous rate by the # current unit's stride for use in subsequent layers. if output_stride is not None and current_stride == output_stride: - net = block.unit_fn(net, - depth=unit_depth, - depth_bottleneck=unit_depth_bottleneck, - stride=1, - rate=rate) - rate *= unit_stride + net = block.unit_fn(net, rate=rate, **dict(unit, stride=1)) + rate *= unit.get('stride', 1) else: - net = block.unit_fn(net, - depth=unit_depth, - depth_bottleneck=unit_depth_bottleneck, - stride=unit_stride, - rate=1) - current_stride *= unit_stride + net = block.unit_fn(net, rate=1, **unit) + current_stride *= unit.get('stride', 1) net = slim.utils.collect_named_outputs(outputs_collections, sc.name, net) if output_stride is not None and current_stride != output_stride: diff --git a/slim/nets/resnet_v1.py b/slim/nets/resnet_v1.py index 3cb3121e9..19ae0a241 100644 --- a/slim/nets/resnet_v1.py +++ b/slim/nets/resnet_v1.py @@ -119,7 +119,7 @@ def resnet_v1(inputs, global_pool=True, output_stride=None, include_root_block=True, - spatial_squeeze=True, + spatial_squeeze=False, reuse=None, scope=None): """Generator for v1 ResNet models. @@ -205,13 +205,38 @@ def resnet_v1(inputs, else: logits = net # Convert end_points_collection into a dictionary of end_points. - end_points = slim.utils.convert_collection_to_dict(end_points_collection) + end_points = slim.utils.convert_collection_to_dict( + end_points_collection) if num_classes is not None: end_points['predictions'] = slim.softmax(logits, scope='predictions') return logits, end_points resnet_v1.default_image_size = 224 +def resnet_v1_block(scope, base_depth, num_units, stride): + """Helper function for creating a resnet_v1 bottleneck block. + + Args: + scope: The scope of the block. + base_depth: The depth of the bottleneck layer for each unit. + num_units: The number of units in the block. + stride: The stride of the block, implemented as a stride in the last unit. + All other units have stride=1. + + Returns: + A resnet_v1 bottleneck block. + """ + return resnet_utils.Block(scope, bottleneck, [{ + 'depth': base_depth * 4, + 'depth_bottleneck': base_depth, + 'stride': 1 + }] * (num_units - 1) + [{ + 'depth': base_depth * 4, + 'depth_bottleneck': base_depth, + 'stride': stride + }]) + + def resnet_v1_50(inputs, num_classes=None, is_training=True, @@ -222,14 +247,10 @@ def resnet_v1_50(inputs, scope='resnet_v1_50'): """ResNet-50 model of [1]. See resnet_v1() for arg and return description.""" blocks = [ - resnet_utils.Block( - 'block1', bottleneck, [(256, 64, 1)] * 2 + [(256, 64, 2)]), - resnet_utils.Block( - 'block2', bottleneck, [(512, 128, 1)] * 3 + [(512, 128, 2)]), - resnet_utils.Block( - 'block3', bottleneck, [(1024, 256, 1)] * 5 + [(1024, 256, 2)]), - resnet_utils.Block( - 'block4', bottleneck, [(2048, 512, 1)] * 3) + resnet_v1_block('block1', base_depth=64, num_units=3, stride=2), + resnet_v1_block('block2', base_depth=128, num_units=4, stride=2), + resnet_v1_block('block3', base_depth=256, num_units=6, stride=2), + resnet_v1_block('block4', base_depth=512, num_units=3, stride=1), ] return resnet_v1(inputs, blocks, num_classes, is_training, global_pool=global_pool, output_stride=output_stride, @@ -248,14 +269,10 @@ def resnet_v1_101(inputs, scope='resnet_v1_101'): """ResNet-101 model of [1]. See resnet_v1() for arg and return description.""" blocks = [ - resnet_utils.Block( - 'block1', bottleneck, [(256, 64, 1)] * 2 + [(256, 64, 2)]), - resnet_utils.Block( - 'block2', bottleneck, [(512, 128, 1)] * 3 + [(512, 128, 2)]), - resnet_utils.Block( - 'block3', bottleneck, [(1024, 256, 1)] * 22 + [(1024, 256, 2)]), - resnet_utils.Block( - 'block4', bottleneck, [(2048, 512, 1)] * 3) + resnet_v1_block('block1', base_depth=64, num_units=3, stride=2), + resnet_v1_block('block2', base_depth=128, num_units=4, stride=2), + resnet_v1_block('block3', base_depth=256, num_units=23, stride=2), + resnet_v1_block('block4', base_depth=512, num_units=3, stride=1), ] return resnet_v1(inputs, blocks, num_classes, is_training, global_pool=global_pool, output_stride=output_stride, @@ -274,14 +291,11 @@ def resnet_v1_152(inputs, scope='resnet_v1_152'): """ResNet-152 model of [1]. See resnet_v1() for arg and return description.""" blocks = [ - resnet_utils.Block( - 'block1', bottleneck, [(256, 64, 1)] * 2 + [(256, 64, 2)]), - resnet_utils.Block( - 'block2', bottleneck, [(512, 128, 1)] * 7 + [(512, 128, 2)]), - resnet_utils.Block( - 'block3', bottleneck, [(1024, 256, 1)] * 35 + [(1024, 256, 2)]), - resnet_utils.Block( - 'block4', bottleneck, [(2048, 512, 1)] * 3)] + resnet_v1_block('block1', base_depth=64, num_units=3, stride=2), + resnet_v1_block('block2', base_depth=128, num_units=8, stride=2), + resnet_v1_block('block3', base_depth=256, num_units=36, stride=2), + resnet_v1_block('block4', base_depth=512, num_units=3, stride=1), + ] return resnet_v1(inputs, blocks, num_classes, is_training, global_pool=global_pool, output_stride=output_stride, include_root_block=True, spatial_squeeze=spatial_squeeze, @@ -299,14 +313,11 @@ def resnet_v1_200(inputs, scope='resnet_v1_200'): """ResNet-200 model of [2]. See resnet_v1() for arg and return description.""" blocks = [ - resnet_utils.Block( - 'block1', bottleneck, [(256, 64, 1)] * 2 + [(256, 64, 2)]), - resnet_utils.Block( - 'block2', bottleneck, [(512, 128, 1)] * 23 + [(512, 128, 2)]), - resnet_utils.Block( - 'block3', bottleneck, [(1024, 256, 1)] * 35 + [(1024, 256, 2)]), - resnet_utils.Block( - 'block4', bottleneck, [(2048, 512, 1)] * 3)] + resnet_v1_block('block1', base_depth=64, num_units=3, stride=2), + resnet_v1_block('block2', base_depth=128, num_units=24, stride=2), + resnet_v1_block('block3', base_depth=256, num_units=36, stride=2), + resnet_v1_block('block4', base_depth=512, num_units=3, stride=1), + ] return resnet_v1(inputs, blocks, num_classes, is_training, global_pool=global_pool, output_stride=output_stride, include_root_block=True, spatial_squeeze=spatial_squeeze, diff --git a/slim/nets/resnet_v1_test.py b/slim/nets/resnet_v1_test.py index 5c229a516..6bee51914 100644 --- a/slim/nets/resnet_v1_test.py +++ b/slim/nets/resnet_v1_test.py @@ -156,14 +156,17 @@ class ResnetUtilsTest(tf.test.TestCase): with tf.variable_scope(scope, values=[inputs]): with slim.arg_scope([slim.conv2d], outputs_collections='end_points'): net = resnet_utils.stack_blocks_dense(inputs, blocks, output_stride) - end_points = dict(tf.get_collection('end_points')) + end_points = slim.utils.convert_collection_to_dict('end_points') return net, end_points def testEndPointsV1(self): """Test the end points of a tiny v1 bottleneck network.""" - bottleneck = resnet_v1.bottleneck - blocks = [resnet_utils.Block('block1', bottleneck, [(4, 1, 1), (4, 1, 2)]), - resnet_utils.Block('block2', bottleneck, [(8, 2, 1), (8, 2, 1)])] + blocks = [ + resnet_v1.resnet_v1_block( + 'block1', base_depth=1, num_units=2, stride=2), + resnet_v1.resnet_v1_block( + 'block2', base_depth=2, num_units=2, stride=1), + ] inputs = create_test_input(2, 32, 16, 3) with slim.arg_scope(resnet_utils.resnet_arg_scope()): _, end_points = self._resnet_plain(inputs, blocks, scope='tiny') @@ -189,30 +192,23 @@ class ResnetUtilsTest(tf.test.TestCase): for block in blocks: with tf.variable_scope(block.scope, 'block', [net]): for i, unit in enumerate(block.args): - depth, depth_bottleneck, stride = unit with tf.variable_scope('unit_%d' % (i + 1), values=[net]): - net = block.unit_fn(net, - depth=depth, - depth_bottleneck=depth_bottleneck, - stride=stride, - rate=1) + net = block.unit_fn(net, rate=1, **unit) return net - def _atrousValues(self, bottleneck): + def testAtrousValuesBottleneck(self): """Verify the values of dense feature extraction by atrous convolution. Make sure that dense feature extraction by stack_blocks_dense() followed by subsampling gives identical results to feature extraction at the nominal network output stride using the simple self._stack_blocks_nondense() above. - - Args: - bottleneck: The bottleneck function. """ + block = resnet_v1.resnet_v1_block blocks = [ - resnet_utils.Block('block1', bottleneck, [(4, 1, 1), (4, 1, 2)]), - resnet_utils.Block('block2', bottleneck, [(8, 2, 1), (8, 2, 2)]), - resnet_utils.Block('block3', bottleneck, [(16, 4, 1), (16, 4, 2)]), - resnet_utils.Block('block4', bottleneck, [(32, 8, 1), (32, 8, 1)]) + block('block1', base_depth=1, num_units=2, stride=2), + block('block2', base_depth=2, num_units=2, stride=2), + block('block3', base_depth=4, num_units=2, stride=2), + block('block4', base_depth=8, num_units=2, stride=1), ] nominal_stride = 8 @@ -244,9 +240,6 @@ class ResnetUtilsTest(tf.test.TestCase): output, expected = sess.run([output, expected]) self.assertAllClose(output, expected, atol=1e-4, rtol=1e-4) - def testAtrousValuesBottleneck(self): - self._atrousValues(resnet_v1.bottleneck) - class ResnetCompleteNetworkTest(tf.test.TestCase): """Tests with complete small ResNet v1 networks.""" @@ -261,16 +254,13 @@ class ResnetCompleteNetworkTest(tf.test.TestCase): reuse=None, scope='resnet_v1_small'): """A shallow and thin ResNet v1 for faster tests.""" - bottleneck = resnet_v1.bottleneck + block = resnet_v1.resnet_v1_block blocks = [ - resnet_utils.Block( - 'block1', bottleneck, [(4, 1, 1)] * 2 + [(4, 1, 2)]), - resnet_utils.Block( - 'block2', bottleneck, [(8, 2, 1)] * 2 + [(8, 2, 2)]), - resnet_utils.Block( - 'block3', bottleneck, [(16, 4, 1)] * 2 + [(16, 4, 2)]), - resnet_utils.Block( - 'block4', bottleneck, [(32, 8, 1)] * 2)] + block('block1', base_depth=1, num_units=3, stride=2), + block('block2', base_depth=2, num_units=3, stride=2), + block('block3', base_depth=4, num_units=3, stride=2), + block('block4', base_depth=8, num_units=2, stride=1), + ] return resnet_v1.resnet_v1(inputs, blocks, num_classes, is_training=is_training, global_pool=global_pool, diff --git a/slim/nets/resnet_v2.py b/slim/nets/resnet_v2.py index 87a1df67d..e8e798345 100644 --- a/slim/nets/resnet_v2.py +++ b/slim/nets/resnet_v2.py @@ -25,6 +25,8 @@ introduced by: The key difference of the full preactivation 'v2' variant compared to the 'v1' variant in [1] is the use of batch normalization before every weight layer. +Another difference is that 'v2' ResNets do not include an activation function in +the main pathway. Also see [2; Fig. 4e]. Typical use: @@ -115,7 +117,7 @@ def resnet_v2(inputs, global_pool=True, output_stride=None, include_root_block=True, - spatial_squeeze=True, + spatial_squeeze=False, reuse=None, scope=None): """Generator for v2 (preactivation) ResNet models. @@ -212,31 +214,54 @@ def resnet_v2(inputs, else: logits = net # Convert end_points_collection into a dictionary of end_points. - end_points = slim.utils.convert_collection_to_dict(end_points_collection) + end_points = slim.utils.convert_collection_to_dict( + end_points_collection) if num_classes is not None: end_points['predictions'] = slim.softmax(logits, scope='predictions') return logits, end_points resnet_v2.default_image_size = 224 +def resnet_v2_block(scope, base_depth, num_units, stride): + """Helper function for creating a resnet_v2 bottleneck block. + + Args: + scope: The scope of the block. + base_depth: The depth of the bottleneck layer for each unit. + num_units: The number of units in the block. + stride: The stride of the block, implemented as a stride in the last unit. + All other units have stride=1. + + Returns: + A resnet_v2 bottleneck block. + """ + return resnet_utils.Block(scope, bottleneck, [{ + 'depth': base_depth * 4, + 'depth_bottleneck': base_depth, + 'stride': 1 + }] * (num_units - 1) + [{ + 'depth': base_depth * 4, + 'depth_bottleneck': base_depth, + 'stride': stride + }]) +resnet_v2.default_image_size = 224 + + def resnet_v2_50(inputs, num_classes=None, is_training=True, global_pool=True, output_stride=None, - spatial_squeeze=True, + spatial_squeeze=False, reuse=None, scope='resnet_v2_50'): """ResNet-50 model of [1]. See resnet_v2() for arg and return description.""" blocks = [ - resnet_utils.Block( - 'block1', bottleneck, [(256, 64, 1)] * 2 + [(256, 64, 2)]), - resnet_utils.Block( - 'block2', bottleneck, [(512, 128, 1)] * 3 + [(512, 128, 2)]), - resnet_utils.Block( - 'block3', bottleneck, [(1024, 256, 1)] * 5 + [(1024, 256, 2)]), - resnet_utils.Block( - 'block4', bottleneck, [(2048, 512, 1)] * 3)] + resnet_v2_block('block1', base_depth=64, num_units=3, stride=2), + resnet_v2_block('block2', base_depth=128, num_units=4, stride=2), + resnet_v2_block('block3', base_depth=256, num_units=6, stride=2), + resnet_v2_block('block4', base_depth=512, num_units=3, stride=1), + ] return resnet_v2(inputs, blocks, num_classes, is_training=is_training, global_pool=global_pool, output_stride=output_stride, include_root_block=True, spatial_squeeze=spatial_squeeze, @@ -249,19 +274,16 @@ def resnet_v2_101(inputs, is_training=True, global_pool=True, output_stride=None, - spatial_squeeze=True, + spatial_squeeze=False, reuse=None, scope='resnet_v2_101'): """ResNet-101 model of [1]. See resnet_v2() for arg and return description.""" blocks = [ - resnet_utils.Block( - 'block1', bottleneck, [(256, 64, 1)] * 2 + [(256, 64, 2)]), - resnet_utils.Block( - 'block2', bottleneck, [(512, 128, 1)] * 3 + [(512, 128, 2)]), - resnet_utils.Block( - 'block3', bottleneck, [(1024, 256, 1)] * 22 + [(1024, 256, 2)]), - resnet_utils.Block( - 'block4', bottleneck, [(2048, 512, 1)] * 3)] + resnet_v2_block('block1', base_depth=64, num_units=3, stride=2), + resnet_v2_block('block2', base_depth=128, num_units=4, stride=2), + resnet_v2_block('block3', base_depth=256, num_units=23, stride=2), + resnet_v2_block('block4', base_depth=512, num_units=3, stride=1), + ] return resnet_v2(inputs, blocks, num_classes, is_training=is_training, global_pool=global_pool, output_stride=output_stride, include_root_block=True, spatial_squeeze=spatial_squeeze, @@ -274,19 +296,16 @@ def resnet_v2_152(inputs, is_training=True, global_pool=True, output_stride=None, - spatial_squeeze=True, + spatial_squeeze=False, reuse=None, scope='resnet_v2_152'): """ResNet-152 model of [1]. See resnet_v2() for arg and return description.""" blocks = [ - resnet_utils.Block( - 'block1', bottleneck, [(256, 64, 1)] * 2 + [(256, 64, 2)]), - resnet_utils.Block( - 'block2', bottleneck, [(512, 128, 1)] * 7 + [(512, 128, 2)]), - resnet_utils.Block( - 'block3', bottleneck, [(1024, 256, 1)] * 35 + [(1024, 256, 2)]), - resnet_utils.Block( - 'block4', bottleneck, [(2048, 512, 1)] * 3)] + resnet_v2_block('block1', base_depth=64, num_units=3, stride=2), + resnet_v2_block('block2', base_depth=128, num_units=8, stride=2), + resnet_v2_block('block3', base_depth=256, num_units=36, stride=2), + resnet_v2_block('block4', base_depth=512, num_units=3, stride=1), + ] return resnet_v2(inputs, blocks, num_classes, is_training=is_training, global_pool=global_pool, output_stride=output_stride, include_root_block=True, spatial_squeeze=spatial_squeeze, @@ -299,19 +318,16 @@ def resnet_v2_200(inputs, is_training=True, global_pool=True, output_stride=None, - spatial_squeeze=True, + spatial_squeeze=False, reuse=None, scope='resnet_v2_200'): """ResNet-200 model of [2]. See resnet_v2() for arg and return description.""" blocks = [ - resnet_utils.Block( - 'block1', bottleneck, [(256, 64, 1)] * 2 + [(256, 64, 2)]), - resnet_utils.Block( - 'block2', bottleneck, [(512, 128, 1)] * 23 + [(512, 128, 2)]), - resnet_utils.Block( - 'block3', bottleneck, [(1024, 256, 1)] * 35 + [(1024, 256, 2)]), - resnet_utils.Block( - 'block4', bottleneck, [(2048, 512, 1)] * 3)] + resnet_v2_block('block1', base_depth=64, num_units=3, stride=2), + resnet_v2_block('block2', base_depth=128, num_units=24, stride=2), + resnet_v2_block('block3', base_depth=256, num_units=36, stride=2), + resnet_v2_block('block4', base_depth=512, num_units=3, stride=1), + ] return resnet_v2(inputs, blocks, num_classes, is_training=is_training, global_pool=global_pool, output_stride=output_stride, include_root_block=True, spatial_squeeze=spatial_squeeze, diff --git a/slim/nets/resnet_v2_test.py b/slim/nets/resnet_v2_test.py index 141937d1e..8efe33878 100644 --- a/slim/nets/resnet_v2_test.py +++ b/slim/nets/resnet_v2_test.py @@ -156,14 +156,17 @@ class ResnetUtilsTest(tf.test.TestCase): with tf.variable_scope(scope, values=[inputs]): with slim.arg_scope([slim.conv2d], outputs_collections='end_points'): net = resnet_utils.stack_blocks_dense(inputs, blocks, output_stride) - end_points = dict(tf.get_collection('end_points')) + end_points = slim.utils.convert_collection_to_dict('end_points') return net, end_points def testEndPointsV2(self): """Test the end points of a tiny v2 bottleneck network.""" - bottleneck = resnet_v2.bottleneck - blocks = [resnet_utils.Block('block1', bottleneck, [(4, 1, 1), (4, 1, 2)]), - resnet_utils.Block('block2', bottleneck, [(8, 2, 1), (8, 2, 1)])] + blocks = [ + resnet_v2.resnet_v2_block( + 'block1', base_depth=1, num_units=2, stride=2), + resnet_v2.resnet_v2_block( + 'block2', base_depth=2, num_units=2, stride=1), + ] inputs = create_test_input(2, 32, 16, 3) with slim.arg_scope(resnet_utils.resnet_arg_scope()): _, end_points = self._resnet_plain(inputs, blocks, scope='tiny') @@ -189,30 +192,23 @@ class ResnetUtilsTest(tf.test.TestCase): for block in blocks: with tf.variable_scope(block.scope, 'block', [net]): for i, unit in enumerate(block.args): - depth, depth_bottleneck, stride = unit with tf.variable_scope('unit_%d' % (i + 1), values=[net]): - net = block.unit_fn(net, - depth=depth, - depth_bottleneck=depth_bottleneck, - stride=stride, - rate=1) + net = block.unit_fn(net, rate=1, **unit) return net - def _atrousValues(self, bottleneck): + def testAtrousValuesBottleneck(self): """Verify the values of dense feature extraction by atrous convolution. Make sure that dense feature extraction by stack_blocks_dense() followed by subsampling gives identical results to feature extraction at the nominal network output stride using the simple self._stack_blocks_nondense() above. - - Args: - bottleneck: The bottleneck function. """ + block = resnet_v2.resnet_v2_block blocks = [ - resnet_utils.Block('block1', bottleneck, [(4, 1, 1), (4, 1, 2)]), - resnet_utils.Block('block2', bottleneck, [(8, 2, 1), (8, 2, 2)]), - resnet_utils.Block('block3', bottleneck, [(16, 4, 1), (16, 4, 2)]), - resnet_utils.Block('block4', bottleneck, [(32, 8, 1), (32, 8, 1)]) + block('block1', base_depth=1, num_units=2, stride=2), + block('block2', base_depth=2, num_units=2, stride=2), + block('block3', base_depth=4, num_units=2, stride=2), + block('block4', base_depth=8, num_units=2, stride=1), ] nominal_stride = 8 @@ -244,9 +240,6 @@ class ResnetUtilsTest(tf.test.TestCase): output, expected = sess.run([output, expected]) self.assertAllClose(output, expected, atol=1e-4, rtol=1e-4) - def testAtrousValuesBottleneck(self): - self._atrousValues(resnet_v2.bottleneck) - class ResnetCompleteNetworkTest(tf.test.TestCase): """Tests with complete small ResNet v2 networks.""" @@ -261,16 +254,13 @@ class ResnetCompleteNetworkTest(tf.test.TestCase): reuse=None, scope='resnet_v2_small'): """A shallow and thin ResNet v2 for faster tests.""" - bottleneck = resnet_v2.bottleneck + block = resnet_v2.resnet_v2_block blocks = [ - resnet_utils.Block( - 'block1', bottleneck, [(4, 1, 1)] * 2 + [(4, 1, 2)]), - resnet_utils.Block( - 'block2', bottleneck, [(8, 2, 1)] * 2 + [(8, 2, 2)]), - resnet_utils.Block( - 'block3', bottleneck, [(16, 4, 1)] * 2 + [(16, 4, 2)]), - resnet_utils.Block( - 'block4', bottleneck, [(32, 8, 1)] * 2)] + block('block1', base_depth=1, num_units=3, stride=2), + block('block2', base_depth=2, num_units=3, stride=2), + block('block3', base_depth=4, num_units=3, stride=2), + block('block4', base_depth=8, num_units=2, stride=1), + ] return resnet_v2.resnet_v2(inputs, blocks, num_classes, is_training=is_training, global_pool=global_pool, -- GitLab From a4944a57ad2811e1f6a7a87589a9fc8a776e8d3c Mon Sep 17 00:00:00 2001 From: derekjchow Date: Wed, 14 Jun 2017 21:06:38 -0700 Subject: [PATCH 113/171] Add Tensorflow Object Detection API. (#1561) For details see our paper: "Speed/accuracy trade-offs for modern convolutional object detectors." Huang J, Rathod V, Sun C, Zhu M, Korattikara A, Fathi A, Fischer I, Wojna Z, Song Y, Guadarrama S, Murphy K, CVPR 2017 https://arxiv.org/abs/1611.10012 --- object_detection/BUILD | 178 ++ object_detection/CONTRIBUTING.md | 13 + object_detection/README.md | 81 + object_detection/__init__.py | 0 object_detection/anchor_generators/BUILD | 56 + .../anchor_generators/__init__.py | 0 .../grid_anchor_generator.py | 194 ++ .../grid_anchor_generator_test.py | 76 + .../multiple_grid_anchor_generator.py | 273 +++ .../multiple_grid_anchor_generator_test.py | 253 +++ object_detection/box_coders/BUILD | 102 + object_detection/box_coders/__init__.py | 0 .../box_coders/faster_rcnn_box_coder.py | 118 + .../box_coders/faster_rcnn_box_coder_test.py | 94 + .../box_coders/keypoint_box_coder.py | 171 ++ .../box_coders/keypoint_box_coder_test.py | 140 ++ .../box_coders/mean_stddev_box_coder.py | 70 + .../box_coders/mean_stddev_box_coder_test.py | 58 + .../box_coders/square_box_coder.py | 126 ++ .../box_coders/square_box_coder_test.py | 97 + object_detection/builders/BUILD | 296 +++ object_detection/builders/__init__.py | 0 .../builders/anchor_generator_builder.py | 66 + .../builders/anchor_generator_builder_test.py | 194 ++ .../builders/box_coder_builder.py | 55 + .../builders/box_coder_builder_test.py | 107 + .../builders/box_predictor_builder.py | 106 + .../builders/box_predictor_builder_test.py | 391 ++++ .../builders/hyperparams_builder.py | 169 ++ .../builders/hyperparams_builder_test.py | 450 ++++ .../builders/image_resizer_builder.py | 62 + .../builders/image_resizer_builder_test.py | 70 + .../builders/input_reader_builder.py | 65 + .../builders/input_reader_builder_test.py | 92 + object_detection/builders/losses_builder.py | 161 ++ .../builders/losses_builder_test.py | 323 +++ object_detection/builders/matcher_builder.py | 51 + .../builders/matcher_builder_test.py | 97 + object_detection/builders/model_builder.py | 303 +++ .../builders/model_builder_test.py | 456 ++++ .../builders/optimizer_builder.py | 112 + .../builders/optimizer_builder_test.py | 197 ++ .../builders/post_processing_builder.py | 111 + .../builders/post_processing_builder_test.py | 73 + .../builders/preprocessor_builder.py | 277 +++ .../builders/preprocessor_builder_test.py | 452 ++++ .../region_similarity_calculator_builder.py | 56 + ...gion_similarity_calculator_builder_test.py | 67 + object_detection/core/BUILD | 362 ++++ object_detection/core/__init__.py | 0 object_detection/core/anchor_generator.py | 142 ++ .../balanced_positive_negative_sampler.py | 92 + ...balanced_positive_negative_sampler_test.py | 83 + object_detection/core/batcher.py | 133 ++ object_detection/core/batcher_test.py | 158 ++ object_detection/core/box_coder.py | 151 ++ object_detection/core/box_coder_test.py | 61 + object_detection/core/box_list.py | 207 ++ object_detection/core/box_list_ops.py | 975 +++++++++ object_detection/core/box_list_ops_test.py | 962 +++++++++ object_detection/core/box_list_test.py | 134 ++ object_detection/core/box_predictor.py | 546 +++++ object_detection/core/box_predictor_test.py | 323 +++ object_detection/core/data_decoder.py | 42 + object_detection/core/keypoint_ops.py | 231 ++ object_detection/core/keypoint_ops_test.py | 168 ++ object_detection/core/losses.py | 551 +++++ object_detection/core/losses_test.py | 562 +++++ object_detection/core/matcher.py | 213 ++ object_detection/core/matcher_test.py | 150 ++ object_detection/core/minibatch_sampler.py | 90 + .../core/minibatch_sampler_test.py | 82 + object_detection/core/model.py | 252 +++ object_detection/core/post_processing.py | 298 +++ object_detection/core/post_processing_test.py | 673 ++++++ object_detection/core/prefetcher.py | 61 + object_detection/core/prefetcher_test.py | 101 + object_detection/core/preprocessor.py | 1922 +++++++++++++++++ object_detection/core/preprocessor_test.py | 1746 +++++++++++++++ .../core/region_similarity_calculator.py | 114 + .../core/region_similarity_calculator_test.py | 75 + object_detection/core/standard_fields.py | 150 ++ object_detection/core/target_assigner.py | 449 ++++ object_detection/core/target_assigner_test.py | 682 ++++++ object_detection/create_pascal_tf_record.py | 174 ++ .../create_pascal_tf_record_test.py | 118 + object_detection/create_pet_tf_record.py | 211 ++ object_detection/data/mscoco_label_map.pbtxt | 400 ++++ object_detection/data/pascal_label_map.pbtxt | 104 + object_detection/data/pet_label_map.pbtxt | 189 ++ object_detection/data_decoders/BUILD | 28 + object_detection/data_decoders/__init__.py | 0 .../data_decoders/tf_example_decoder.py | 147 ++ .../data_decoders/tf_example_decoder_test.py | 288 +++ object_detection/eval.py | 161 ++ object_detection/eval_util.py | 524 +++++ object_detection/evaluator.py | 211 ++ object_detection/export_inference_graph.py | 90 + object_detection/exporter.py | 230 ++ object_detection/exporter_test.py | 225 ++ object_detection/g3doc/configuring_jobs.md | 162 ++ .../g3doc/defining_your_own_model.md | 137 ++ object_detection/g3doc/detection_model_zoo.md | 43 + object_detection/g3doc/exporting_models.md | 22 + .../g3doc/img/dogs_detections_output.jpg | Bin 0 -> 372894 bytes .../g3doc/img/kites_detections_output.jpg | Bin 0 -> 386066 bytes object_detection/g3doc/img/oxford_pet.png | Bin 0 -> 276715 bytes object_detection/g3doc/img/tensorboard.png | Bin 0 -> 79342 bytes object_detection/g3doc/img/tensorboard2.png | Bin 0 -> 236549 bytes object_detection/g3doc/installation.md | 79 + object_detection/g3doc/preparing_inputs.md | 45 + object_detection/g3doc/running_locally.md | 81 + object_detection/g3doc/running_notebook.md | 15 + object_detection/g3doc/running_on_cloud.md | 128 ++ object_detection/g3doc/running_pets.md | 303 +++ object_detection/matchers/BUILD | 51 + object_detection/matchers/__init__.py | 0 object_detection/matchers/argmax_matcher.py | 189 ++ .../matchers/argmax_matcher_test.py | 237 ++ .../matchers/bipartite_matcher.py | 53 + .../matchers/bipartite_matcher_test.py | 71 + object_detection/meta_architectures/BUILD | 109 + .../meta_architectures/__init__.py | 0 .../faster_rcnn_meta_arch.py | 1451 +++++++++++++ .../faster_rcnn_meta_arch_test.py | 84 + .../faster_rcnn_meta_arch_test_lib.py | 1035 +++++++++ .../meta_architectures/rfcn_meta_arch.py | 267 +++ .../meta_architectures/rfcn_meta_arch_test.py | 56 + .../meta_architectures/ssd_meta_arch.py | 594 +++++ .../meta_architectures/ssd_meta_arch_test.py | 258 +++ object_detection/models/BUILD | 135 ++ object_detection/models/__init__.py | 0 ...n_inception_resnet_v2_feature_extractor.py | 216 ++ ...eption_resnet_v2_feature_extractor_test.py | 108 + ...faster_rcnn_resnet_v1_feature_extractor.py | 235 ++ ...r_rcnn_resnet_v1_feature_extractor_test.py | 136 ++ .../models/feature_map_generators.py | 179 ++ .../models/feature_map_generators_test.py | 114 + .../models/ssd_feature_extractor_test.py | 96 + .../ssd_inception_v2_feature_extractor.py | 99 + ...ssd_inception_v2_feature_extractor_test.py | 95 + .../ssd_mobilenet_v1_feature_extractor.py | 101 + ...ssd_mobilenet_v1_feature_extractor_test.py | 94 + object_detection/object_detection.blueprint | 56 + .../object_detection_tutorial.ipynb | 263 +++ object_detection/protos/BUILD | 329 +++ object_detection/protos/__init__.py | 0 .../protos/anchor_generator.proto | 15 + object_detection/protos/argmax_matcher.proto | 25 + .../protos/bipartite_matcher.proto | 8 + object_detection/protos/box_coder.proto | 17 + object_detection/protos/box_predictor.proto | 99 + object_detection/protos/eval.proto | 47 + object_detection/protos/faster_rcnn.proto | 131 ++ .../protos/faster_rcnn_box_coder.proto | 17 + .../protos/grid_anchor_generator.proto | 34 + object_detection/protos/hyperparams.proto | 103 + object_detection/protos/image_resizer.proto | 32 + object_detection/protos/input_reader.proto | 60 + object_detection/protos/losses.proto | 116 + object_detection/protos/matcher.proto | 15 + .../protos/mean_stddev_box_coder.proto | 8 + object_detection/protos/model.proto | 14 + object_detection/protos/optimizer.proto | 73 + object_detection/protos/pipeline.proto | 18 + object_detection/protos/post_processing.proto | 42 + object_detection/protos/preprocessor.proto | 326 +++ .../protos/region_similarity_calculator.proto | 25 + .../protos/square_box_coder.proto | 14 + object_detection/protos/ssd.proto | 65 + .../protos/ssd_anchor_generator.proto | 25 + .../protos/string_int_label_map.proto | 24 + object_detection/protos/train.proto | 64 + object_detection/samples/cloud/cloud.yml | 11 + ...cnn_inception_resnet_v2_atrous_pets.config | 136 ++ .../configs/faster_rcnn_resnet101_pets.config | 134 ++ .../faster_rcnn_resnet101_voc07.config | 135 ++ .../configs/faster_rcnn_resnet152_pets.config | 134 ++ .../configs/faster_rcnn_resnet50_pets.config | 134 ++ .../configs/rfcn_resnet101_pets.config | 131 ++ .../configs/ssd_inception_v2_pets.config | 180 ++ .../configs/ssd_mobilenet_v1_pets.config | 186 ++ object_detection/test_images/image1.jpg | Bin 0 -> 129862 bytes object_detection/test_images/image2.jpg | Bin 0 -> 1415684 bytes object_detection/test_images/image_info.txt | 6 + object_detection/train.py | 198 ++ object_detection/trainer.py | 290 +++ object_detection/trainer_test.py | 205 ++ object_detection/utils/BUILD | 287 +++ object_detection/utils/__init__.py | 0 object_detection/utils/category_util.py | 72 + object_detection/utils/category_util_test.py | 54 + object_detection/utils/dataset_util.py | 86 + object_detection/utils/dataset_util_test.py | 37 + object_detection/utils/label_map_util.py | 126 ++ object_detection/utils/label_map_util_test.py | 147 ++ object_detection/utils/learning_schedules.py | 103 + .../utils/learning_schedules_test.py | 59 + object_detection/utils/metrics.py | 144 ++ object_detection/utils/metrics_test.py | 79 + object_detection/utils/np_box_list.py | 133 ++ object_detection/utils/np_box_list_ops.py | 555 +++++ .../utils/np_box_list_ops_test.py | 414 ++++ object_detection/utils/np_box_list_test.py | 135 ++ object_detection/utils/np_box_ops.py | 97 + object_detection/utils/np_box_ops_test.py | 68 + .../utils/object_detection_evaluation.py | 233 ++ .../utils/object_detection_evaluation_test.py | 125 ++ object_detection/utils/ops.py | 650 ++++++ object_detection/utils/ops_test.py | 1033 +++++++++ .../utils/per_image_evaluation.py | 260 +++ .../utils/per_image_evaluation_test.py | 212 ++ object_detection/utils/shape_utils.py | 113 + object_detection/utils/shape_utils_test.py | 120 + object_detection/utils/static_shape.py | 71 + object_detection/utils/static_shape_test.py | 50 + object_detection/utils/test_utils.py | 137 ++ object_detection/utils/test_utils_test.py | 73 + object_detection/utils/variables_helper.py | 133 ++ .../utils/variables_helper_test.py | 185 ++ object_detection/utils/visualization_utils.py | 422 ++++ .../utils/visualization_utils_test.py | 151 ++ setup.py | 16 + slim/setup.py | 13 + 224 files changed, 40616 insertions(+) create mode 100644 object_detection/BUILD create mode 100644 object_detection/CONTRIBUTING.md create mode 100644 object_detection/README.md create mode 100644 object_detection/__init__.py create mode 100644 object_detection/anchor_generators/BUILD create mode 100644 object_detection/anchor_generators/__init__.py create mode 100644 object_detection/anchor_generators/grid_anchor_generator.py create mode 100644 object_detection/anchor_generators/grid_anchor_generator_test.py create mode 100644 object_detection/anchor_generators/multiple_grid_anchor_generator.py create mode 100644 object_detection/anchor_generators/multiple_grid_anchor_generator_test.py create mode 100644 object_detection/box_coders/BUILD create mode 100644 object_detection/box_coders/__init__.py create mode 100644 object_detection/box_coders/faster_rcnn_box_coder.py create mode 100644 object_detection/box_coders/faster_rcnn_box_coder_test.py create mode 100644 object_detection/box_coders/keypoint_box_coder.py create mode 100644 object_detection/box_coders/keypoint_box_coder_test.py create mode 100644 object_detection/box_coders/mean_stddev_box_coder.py create mode 100644 object_detection/box_coders/mean_stddev_box_coder_test.py create mode 100644 object_detection/box_coders/square_box_coder.py create mode 100644 object_detection/box_coders/square_box_coder_test.py create mode 100644 object_detection/builders/BUILD create mode 100644 object_detection/builders/__init__.py create mode 100644 object_detection/builders/anchor_generator_builder.py create mode 100644 object_detection/builders/anchor_generator_builder_test.py create mode 100644 object_detection/builders/box_coder_builder.py create mode 100644 object_detection/builders/box_coder_builder_test.py create mode 100644 object_detection/builders/box_predictor_builder.py create mode 100644 object_detection/builders/box_predictor_builder_test.py create mode 100644 object_detection/builders/hyperparams_builder.py create mode 100644 object_detection/builders/hyperparams_builder_test.py create mode 100644 object_detection/builders/image_resizer_builder.py create mode 100644 object_detection/builders/image_resizer_builder_test.py create mode 100644 object_detection/builders/input_reader_builder.py create mode 100644 object_detection/builders/input_reader_builder_test.py create mode 100644 object_detection/builders/losses_builder.py create mode 100644 object_detection/builders/losses_builder_test.py create mode 100644 object_detection/builders/matcher_builder.py create mode 100644 object_detection/builders/matcher_builder_test.py create mode 100644 object_detection/builders/model_builder.py create mode 100644 object_detection/builders/model_builder_test.py create mode 100644 object_detection/builders/optimizer_builder.py create mode 100644 object_detection/builders/optimizer_builder_test.py create mode 100644 object_detection/builders/post_processing_builder.py create mode 100644 object_detection/builders/post_processing_builder_test.py create mode 100644 object_detection/builders/preprocessor_builder.py create mode 100644 object_detection/builders/preprocessor_builder_test.py create mode 100644 object_detection/builders/region_similarity_calculator_builder.py create mode 100644 object_detection/builders/region_similarity_calculator_builder_test.py create mode 100644 object_detection/core/BUILD create mode 100644 object_detection/core/__init__.py create mode 100644 object_detection/core/anchor_generator.py create mode 100644 object_detection/core/balanced_positive_negative_sampler.py create mode 100644 object_detection/core/balanced_positive_negative_sampler_test.py create mode 100644 object_detection/core/batcher.py create mode 100644 object_detection/core/batcher_test.py create mode 100644 object_detection/core/box_coder.py create mode 100644 object_detection/core/box_coder_test.py create mode 100644 object_detection/core/box_list.py create mode 100644 object_detection/core/box_list_ops.py create mode 100644 object_detection/core/box_list_ops_test.py create mode 100644 object_detection/core/box_list_test.py create mode 100644 object_detection/core/box_predictor.py create mode 100644 object_detection/core/box_predictor_test.py create mode 100644 object_detection/core/data_decoder.py create mode 100644 object_detection/core/keypoint_ops.py create mode 100644 object_detection/core/keypoint_ops_test.py create mode 100644 object_detection/core/losses.py create mode 100644 object_detection/core/losses_test.py create mode 100644 object_detection/core/matcher.py create mode 100644 object_detection/core/matcher_test.py create mode 100644 object_detection/core/minibatch_sampler.py create mode 100644 object_detection/core/minibatch_sampler_test.py create mode 100644 object_detection/core/model.py create mode 100644 object_detection/core/post_processing.py create mode 100644 object_detection/core/post_processing_test.py create mode 100644 object_detection/core/prefetcher.py create mode 100644 object_detection/core/prefetcher_test.py create mode 100644 object_detection/core/preprocessor.py create mode 100644 object_detection/core/preprocessor_test.py create mode 100644 object_detection/core/region_similarity_calculator.py create mode 100644 object_detection/core/region_similarity_calculator_test.py create mode 100644 object_detection/core/standard_fields.py create mode 100644 object_detection/core/target_assigner.py create mode 100644 object_detection/core/target_assigner_test.py create mode 100644 object_detection/create_pascal_tf_record.py create mode 100644 object_detection/create_pascal_tf_record_test.py create mode 100644 object_detection/create_pet_tf_record.py create mode 100644 object_detection/data/mscoco_label_map.pbtxt create mode 100644 object_detection/data/pascal_label_map.pbtxt create mode 100644 object_detection/data/pet_label_map.pbtxt create mode 100644 object_detection/data_decoders/BUILD create mode 100644 object_detection/data_decoders/__init__.py create mode 100644 object_detection/data_decoders/tf_example_decoder.py create mode 100644 object_detection/data_decoders/tf_example_decoder_test.py create mode 100644 object_detection/eval.py create mode 100644 object_detection/eval_util.py create mode 100644 object_detection/evaluator.py create mode 100644 object_detection/export_inference_graph.py create mode 100644 object_detection/exporter.py create mode 100644 object_detection/exporter_test.py create mode 100644 object_detection/g3doc/configuring_jobs.md create mode 100644 object_detection/g3doc/defining_your_own_model.md create mode 100644 object_detection/g3doc/detection_model_zoo.md create mode 100644 object_detection/g3doc/exporting_models.md create mode 100644 object_detection/g3doc/img/dogs_detections_output.jpg create mode 100644 object_detection/g3doc/img/kites_detections_output.jpg create mode 100644 object_detection/g3doc/img/oxford_pet.png create mode 100644 object_detection/g3doc/img/tensorboard.png create mode 100644 object_detection/g3doc/img/tensorboard2.png create mode 100644 object_detection/g3doc/installation.md create mode 100644 object_detection/g3doc/preparing_inputs.md create mode 100644 object_detection/g3doc/running_locally.md create mode 100644 object_detection/g3doc/running_notebook.md create mode 100644 object_detection/g3doc/running_on_cloud.md create mode 100644 object_detection/g3doc/running_pets.md create mode 100644 object_detection/matchers/BUILD create mode 100644 object_detection/matchers/__init__.py create mode 100644 object_detection/matchers/argmax_matcher.py create mode 100644 object_detection/matchers/argmax_matcher_test.py create mode 100644 object_detection/matchers/bipartite_matcher.py create mode 100644 object_detection/matchers/bipartite_matcher_test.py create mode 100644 object_detection/meta_architectures/BUILD create mode 100644 object_detection/meta_architectures/__init__.py create mode 100644 object_detection/meta_architectures/faster_rcnn_meta_arch.py create mode 100644 object_detection/meta_architectures/faster_rcnn_meta_arch_test.py create mode 100644 object_detection/meta_architectures/faster_rcnn_meta_arch_test_lib.py create mode 100644 object_detection/meta_architectures/rfcn_meta_arch.py create mode 100644 object_detection/meta_architectures/rfcn_meta_arch_test.py create mode 100644 object_detection/meta_architectures/ssd_meta_arch.py create mode 100644 object_detection/meta_architectures/ssd_meta_arch_test.py create mode 100644 object_detection/models/BUILD create mode 100644 object_detection/models/__init__.py create mode 100644 object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py create mode 100644 object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor_test.py create mode 100644 object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py create mode 100644 object_detection/models/faster_rcnn_resnet_v1_feature_extractor_test.py create mode 100644 object_detection/models/feature_map_generators.py create mode 100644 object_detection/models/feature_map_generators_test.py create mode 100644 object_detection/models/ssd_feature_extractor_test.py create mode 100644 object_detection/models/ssd_inception_v2_feature_extractor.py create mode 100644 object_detection/models/ssd_inception_v2_feature_extractor_test.py create mode 100644 object_detection/models/ssd_mobilenet_v1_feature_extractor.py create mode 100644 object_detection/models/ssd_mobilenet_v1_feature_extractor_test.py create mode 100644 object_detection/object_detection.blueprint create mode 100644 object_detection/object_detection_tutorial.ipynb create mode 100644 object_detection/protos/BUILD create mode 100644 object_detection/protos/__init__.py create mode 100644 object_detection/protos/anchor_generator.proto create mode 100644 object_detection/protos/argmax_matcher.proto create mode 100644 object_detection/protos/bipartite_matcher.proto create mode 100644 object_detection/protos/box_coder.proto create mode 100644 object_detection/protos/box_predictor.proto create mode 100644 object_detection/protos/eval.proto create mode 100644 object_detection/protos/faster_rcnn.proto create mode 100644 object_detection/protos/faster_rcnn_box_coder.proto create mode 100644 object_detection/protos/grid_anchor_generator.proto create mode 100644 object_detection/protos/hyperparams.proto create mode 100644 object_detection/protos/image_resizer.proto create mode 100644 object_detection/protos/input_reader.proto create mode 100644 object_detection/protos/losses.proto create mode 100644 object_detection/protos/matcher.proto create mode 100644 object_detection/protos/mean_stddev_box_coder.proto create mode 100644 object_detection/protos/model.proto create mode 100644 object_detection/protos/optimizer.proto create mode 100644 object_detection/protos/pipeline.proto create mode 100644 object_detection/protos/post_processing.proto create mode 100644 object_detection/protos/preprocessor.proto create mode 100644 object_detection/protos/region_similarity_calculator.proto create mode 100644 object_detection/protos/square_box_coder.proto create mode 100644 object_detection/protos/ssd.proto create mode 100644 object_detection/protos/ssd_anchor_generator.proto create mode 100644 object_detection/protos/string_int_label_map.proto create mode 100644 object_detection/protos/train.proto create mode 100644 object_detection/samples/cloud/cloud.yml create mode 100644 object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config create mode 100644 object_detection/samples/configs/faster_rcnn_resnet101_pets.config create mode 100644 object_detection/samples/configs/faster_rcnn_resnet101_voc07.config create mode 100644 object_detection/samples/configs/faster_rcnn_resnet152_pets.config create mode 100644 object_detection/samples/configs/faster_rcnn_resnet50_pets.config create mode 100644 object_detection/samples/configs/rfcn_resnet101_pets.config create mode 100644 object_detection/samples/configs/ssd_inception_v2_pets.config create mode 100644 object_detection/samples/configs/ssd_mobilenet_v1_pets.config create mode 100644 object_detection/test_images/image1.jpg create mode 100644 object_detection/test_images/image2.jpg create mode 100644 object_detection/test_images/image_info.txt create mode 100644 object_detection/train.py create mode 100644 object_detection/trainer.py create mode 100644 object_detection/trainer_test.py create mode 100644 object_detection/utils/BUILD create mode 100644 object_detection/utils/__init__.py create mode 100644 object_detection/utils/category_util.py create mode 100644 object_detection/utils/category_util_test.py create mode 100644 object_detection/utils/dataset_util.py create mode 100644 object_detection/utils/dataset_util_test.py create mode 100644 object_detection/utils/label_map_util.py create mode 100644 object_detection/utils/label_map_util_test.py create mode 100644 object_detection/utils/learning_schedules.py create mode 100644 object_detection/utils/learning_schedules_test.py create mode 100644 object_detection/utils/metrics.py create mode 100644 object_detection/utils/metrics_test.py create mode 100644 object_detection/utils/np_box_list.py create mode 100644 object_detection/utils/np_box_list_ops.py create mode 100644 object_detection/utils/np_box_list_ops_test.py create mode 100644 object_detection/utils/np_box_list_test.py create mode 100644 object_detection/utils/np_box_ops.py create mode 100644 object_detection/utils/np_box_ops_test.py create mode 100644 object_detection/utils/object_detection_evaluation.py create mode 100644 object_detection/utils/object_detection_evaluation_test.py create mode 100644 object_detection/utils/ops.py create mode 100644 object_detection/utils/ops_test.py create mode 100644 object_detection/utils/per_image_evaluation.py create mode 100644 object_detection/utils/per_image_evaluation_test.py create mode 100644 object_detection/utils/shape_utils.py create mode 100644 object_detection/utils/shape_utils_test.py create mode 100644 object_detection/utils/static_shape.py create mode 100644 object_detection/utils/static_shape_test.py create mode 100644 object_detection/utils/test_utils.py create mode 100644 object_detection/utils/test_utils_test.py create mode 100644 object_detection/utils/variables_helper.py create mode 100644 object_detection/utils/variables_helper_test.py create mode 100644 object_detection/utils/visualization_utils.py create mode 100644 object_detection/utils/visualization_utils_test.py create mode 100644 setup.py create mode 100644 slim/setup.py diff --git a/object_detection/BUILD b/object_detection/BUILD new file mode 100644 index 000000000..f77e3d644 --- /dev/null +++ b/object_detection/BUILD @@ -0,0 +1,178 @@ +# Tensorflow Object Detection API: main runnables. + +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) + +# Apache 2.0 + +py_binary( + name = "train", + srcs = [ + "train.py", + ], + deps = [ + ":trainer", + "//tensorflow", + "//tensorflow_models/object_detection/builders:input_reader_builder", + "//tensorflow_models/object_detection/builders:model_builder", + "//tensorflow_models/object_detection/protos:input_reader_py_pb2", + "//tensorflow_models/object_detection/protos:model_py_pb2", + "//tensorflow_models/object_detection/protos:pipeline_py_pb2", + "//tensorflow_models/object_detection/protos:train_py_pb2", + ], +) + +py_library( + name = "trainer", + srcs = ["trainer.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/builders:optimizer_builder", + "//tensorflow_models/object_detection/builders:preprocessor_builder", + "//tensorflow_models/object_detection/core:batcher", + "//tensorflow_models/object_detection/core:standard_fields", + "//tensorflow_models/object_detection/utils:ops", + "//tensorflow_models/object_detection/utils:variables_helper", + "//tensorflow_models/slim:model_deploy", + ], +) + +py_test( + name = "trainer_test", + srcs = ["trainer_test.py"], + deps = [ + ":trainer", + "//tensorflow", + "//tensorflow_models/object_detection/core:losses", + "//tensorflow_models/object_detection/core:model", + "//tensorflow_models/object_detection/core:standard_fields", + "//tensorflow_models/object_detection/protos:train_py_pb2", + ], +) + +py_library( + name = "eval_util", + srcs = [ + "eval_util.py", + ], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection/utils:label_map_util", + "//tensorflow_models/object_detection/utils:object_detection_evaluation", + "//tensorflow_models/object_detection/utils:visualization_utils", + ], +) + +py_library( + name = "evaluator", + srcs = ["evaluator.py"], + deps = [ + "//tensorflow", + "//tensorflow_models/object_detection:eval_util", + "//tensorflow_models/object_detection/core:box_list", + "//tensorflow_models/object_detection/core:box_list_ops", + "//tensorflow_models/object_detection/core:prefetcher", + "//tensorflow_models/object_detection/core:standard_fields", + "//tensorflow_models/object_detection/protos:eval_py_pb2", + ], +) + +py_binary( + name = "eval", + srcs = [ + "eval.py", + ], + deps = [ + ":evaluator", + "//tensorflow", + "//tensorflow_models/object_detection/builders:input_reader_builder", + "//tensorflow_models/object_detection/builders:model_builder", + "//tensorflow_models/object_detection/protos:eval_py_pb2", + "//tensorflow_models/object_detection/protos:input_reader_py_pb2", + "//tensorflow_models/object_detection/protos:model_py_pb2", + "//tensorflow_models/object_detection/protos:pipeline_py_pb2", + "//tensorflow_models/object_detection/utils:label_map_util", + ], +) + +py_library( + name = "exporter", + srcs = [ + "exporter.py", + ], + deps = [ + "//tensorflow", + "//tensorflow/python/tools:freeze_graph_lib", + "//tensorflow_models/object_detection/builders:model_builder", + "//tensorflow_models/object_detection/core:standard_fields", + "//tensorflow_models/object_detection/data_decoders:tf_example_decoder", + ], +) + +py_test( + name = "exporter_test", + srcs = [ + "exporter_test.py", + ], + deps = [ + ":exporter", + "//tensorflow", + "//tensorflow_models/object_detection/builders:model_builder", + "//tensorflow_models/object_detection/core:model", + "//tensorflow_models/object_detection/protos:pipeline_py_pb2", + ], +) + +py_binary( + name = "export_inference_graph", + srcs = [ + "export_inference_graph.py", + ], + deps = [ + ":exporter", + "//tensorflow", + "//tensorflow_models/object_detection/protos:pipeline_py_pb2", + ], +) + +py_binary( + name = "create_pascal_tf_record", + srcs = [ + "create_pascal_tf_record.py", + ], + deps = [ + "//third_party/py/PIL:pil", + "//third_party/py/lxml", + "//tensorflow", + "//tensorflow_models/object_detection/utils:dataset_util", + "//tensorflow_models/object_detection/utils:label_map_util", + ], +) + +py_test( + name = "create_pascal_tf_record_test", + srcs = [ + "create_pascal_tf_record_test.py", + ], + deps = [ + ":create_pascal_tf_record", + "//tensorflow", + ], +) + +py_binary( + name = "create_pet_tf_record", + srcs = [ + "create_pet_tf_record.py", + ], + deps = [ + "//third_party/py/PIL:pil", + "//third_party/py/lxml", + "//tensorflow", + "//tensorflow_models/object_detection/utils:dataset_util", + "//tensorflow_models/object_detection/utils:label_map_util", + ], +) diff --git a/object_detection/CONTRIBUTING.md b/object_detection/CONTRIBUTING.md new file mode 100644 index 000000000..e3d87e3ce --- /dev/null +++ b/object_detection/CONTRIBUTING.md @@ -0,0 +1,13 @@ +# Contributing to the Tensorflow Object Detection API + +Patches to Tensorflow Object Detection API are welcome! + +We require contributors to fill out either the individual or corporate +Contributor License Agreement (CLA). + + * If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an [individual CLA](http://code.google.com/legal/individual-cla-v1.0.html). + * If you work for a company that wants to allow you to contribute your work, then you'll need to sign a [corporate CLA](http://code.google.com/legal/corporate-cla-v1.0.html). + +Please follow the +[Tensorflow contributing guidelines](https://github.com/tensorflow/tensorflow/blob/master/CONTRIBUTING.md) +when submitting pull requests. diff --git a/object_detection/README.md b/object_detection/README.md new file mode 100644 index 000000000..833f94cec --- /dev/null +++ b/object_detection/README.md @@ -0,0 +1,81 @@ +# Tensorflow Object Detection API +Creating accurate machine learning models capable of localizing and identifying +multiple objects in a single image remains a core challenge in computer vision. +The TensorFlow Object Detection API is an open source framework built on top of +TensorFlow that makes it easy to construct, train and deploy object detection +models. At Google we’ve certainly found this codebase to be useful for our +computer vision needs, and we hope that you will as well. +

      L=A7)`nrd!sI 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

      Og2#)#1>=eKE!m!gez!RMFPmk#uRP-o1ORY3FB7 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 }nIG)iY?!F^L1rFQ)OZeomG=$d*w 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%0Ap}*+rj&wV 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 z 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%0DFR7RXSO#2EE>BGzBo!~`vF@y{h|o% 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

    5NUi-Q>)pq2pqb-NG{9E+Nocwlxn0^Fni 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 -B({9+{GgP9o|a3bR50T;1I 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

  2. 0iB$;a5xI=C@m}aj<09 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