"tools/git@developer.sourcefind.cn:OpenDAS/rodnet.git" did not exist on "a8863510d13037ab160938993ab96cc9be4f1614"
Commit 41aafda9 authored by A. Unique TensorFlower's avatar A. Unique TensorFlower Committed by TF Object Detection Team
Browse files

Add support for custom scope name

PiperOrigin-RevId: 391079006
parent 3db445c7
...@@ -948,7 +948,8 @@ def merge_boxes_with_multiple_labels(boxes, ...@@ -948,7 +948,8 @@ def merge_boxes_with_multiple_labels(boxes,
def nearest_neighbor_upsampling(input_tensor, scale=None, height_scale=None, def nearest_neighbor_upsampling(input_tensor, scale=None, height_scale=None,
width_scale=None): width_scale=None,
name='nearest_neighbor_upsampling'):
"""Nearest neighbor upsampling implementation. """Nearest neighbor upsampling implementation.
Nearest neighbor upsampling function that maps input tensor with shape Nearest neighbor upsampling function that maps input tensor with shape
...@@ -965,6 +966,7 @@ def nearest_neighbor_upsampling(input_tensor, scale=None, height_scale=None, ...@@ -965,6 +966,7 @@ def nearest_neighbor_upsampling(input_tensor, scale=None, height_scale=None,
option when provided overrides `scale` option. option when provided overrides `scale` option.
width_scale: An integer multiple to scale the width of input image. This width_scale: An integer multiple to scale the width of input image. This
option when provided overrides `scale` option. option when provided overrides `scale` option.
name: A name for the operation (optional).
Returns: Returns:
data_up: A float32 tensor of size data_up: A float32 tensor of size
[batch, height_in*scale, width_in*scale, channels]. [batch, height_in*scale, width_in*scale, channels].
...@@ -976,13 +978,13 @@ def nearest_neighbor_upsampling(input_tensor, scale=None, height_scale=None, ...@@ -976,13 +978,13 @@ def nearest_neighbor_upsampling(input_tensor, scale=None, height_scale=None,
if not scale and (height_scale is None or width_scale is None): if not scale and (height_scale is None or width_scale is None):
raise ValueError('Provide either `scale` or `height_scale` and' raise ValueError('Provide either `scale` or `height_scale` and'
' `width_scale`.') ' `width_scale`.')
with tf.name_scope('nearest_neighbor_upsampling'): with tf.name_scope(name):
h_scale = scale if height_scale is None else height_scale h_scale = scale if height_scale is None else height_scale
w_scale = scale if width_scale is None else width_scale w_scale = scale if width_scale is None else width_scale
(batch_size, height, width, (batch_size, height, width,
channels) = shape_utils.combined_static_and_dynamic_shape(input_tensor) channels) = shape_utils.combined_static_and_dynamic_shape(input_tensor)
output_tensor = tf.stack([input_tensor] * w_scale, axis=3) output_tensor = tf.stack([input_tensor] * w_scale, axis=3, name='w_stack')
output_tensor = tf.stack([output_tensor] * h_scale, axis=2) output_tensor = tf.stack([output_tensor] * h_scale, axis=2, name='h_stack')
return tf.reshape(output_tensor, return tf.reshape(output_tensor,
[batch_size, height * h_scale, width * w_scale, channels]) [batch_size, height * h_scale, width * w_scale, channels])
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment