Unverified Commit cdd61f61 authored by Srihari Humbarwadi's avatar Srihari Humbarwadi Committed by GitHub
Browse files

Merge branch 'panoptic-segmentation' into panoptic-deeplab-modeling

parents 0225b135 a9322830
...@@ -18,10 +18,10 @@ from absl.testing import parameterized ...@@ -18,10 +18,10 @@ from absl.testing import parameterized
import numpy as np import numpy as np
import tensorflow as tf import tensorflow as tf
from official.vision.beta.configs import common
from official.vision.beta.projects.centernet.common import registry_imports # pylint: disable=unused-import from official.vision.beta.projects.centernet.common import registry_imports # pylint: disable=unused-import
from official.vision.beta.projects.centernet.configs import backbones from official.vision.beta.projects.centernet.configs import backbones
from official.vision.beta.projects.centernet.modeling.backbones import hourglass from official.vision.beta.projects.centernet.modeling.backbones import hourglass
from official.vision.configs import common
class HourglassTest(tf.test.TestCase, parameterized.TestCase): class HourglassTest(tf.test.TestCase, parameterized.TestCase):
......
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
import tensorflow as tf import tensorflow as tf
from official.vision.beta.ops import sampling_ops
from official.vision.beta.projects.centernet.ops import box_list from official.vision.beta.projects.centernet.ops import box_list
from official.vision.ops import sampling_ops
def _copy_extra_fields(boxlist_to_copy_to, boxlist_to_copy_from): def _copy_extra_fields(boxlist_to_copy_to, boxlist_to_copy_from):
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
import tensorflow as tf import tensorflow as tf
from official.vision.beta.ops import sampling_ops from official.vision.ops import sampling_ops
def _get_shape(tensor, num_dims): def _get_shape(tensor, num_dims):
......
...@@ -18,7 +18,7 @@ from typing import Dict, List ...@@ -18,7 +18,7 @@ from typing import Dict, List
import tensorflow as tf import tensorflow as tf
from official.vision.beta.ops import sampling_ops from official.vision.ops import sampling_ops
def smallest_positive_root(a, b, c): def smallest_positive_root(a, b, c):
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
from absl.testing import parameterized from absl.testing import parameterized
import tensorflow as tf import tensorflow as tf
from official.vision.beta.ops import preprocess_ops
from official.vision.beta.projects.centernet.ops import target_assigner from official.vision.beta.projects.centernet.ops import target_assigner
from official.vision.ops import preprocess_ops
class TargetAssignerTest(tf.test.TestCase, parameterized.TestCase): class TargetAssignerTest(tf.test.TestCase, parameterized.TestCase):
......
...@@ -22,11 +22,6 @@ import tensorflow as tf ...@@ -22,11 +22,6 @@ import tensorflow as tf
from official.core import base_task from official.core import base_task
from official.core import input_reader from official.core import input_reader
from official.core import task_factory from official.core import task_factory
from official.vision.beta.dataloaders import tf_example_decoder
from official.vision.beta.dataloaders import tfds_factory
from official.vision.beta.dataloaders import tf_example_label_map_decoder
from official.vision.beta.evaluation import coco_evaluator
from official.vision.beta.modeling.backbones import factory
from official.vision.beta.projects.centernet.configs import centernet as exp_cfg from official.vision.beta.projects.centernet.configs import centernet as exp_cfg
from official.vision.beta.projects.centernet.dataloaders import centernet_input from official.vision.beta.projects.centernet.dataloaders import centernet_input
from official.vision.beta.projects.centernet.losses import centernet_losses from official.vision.beta.projects.centernet.losses import centernet_losses
...@@ -35,6 +30,11 @@ from official.vision.beta.projects.centernet.modeling.heads import centernet_hea ...@@ -35,6 +30,11 @@ from official.vision.beta.projects.centernet.modeling.heads import centernet_hea
from official.vision.beta.projects.centernet.modeling.layers import detection_generator from official.vision.beta.projects.centernet.modeling.layers import detection_generator
from official.vision.beta.projects.centernet.ops import loss_ops from official.vision.beta.projects.centernet.ops import loss_ops
from official.vision.beta.projects.centernet.ops import target_assigner from official.vision.beta.projects.centernet.ops import target_assigner
from official.vision.dataloaders import tf_example_decoder
from official.vision.dataloaders import tfds_factory
from official.vision.dataloaders.google import tf_example_label_map_decoder
from official.vision.evaluation import coco_evaluator
from official.vision.modeling.backbones import factory
@task_factory.register_task_cls(exp_cfg.CenterNetTask) @task_factory.register_task_cls(exp_cfg.CenterNetTask)
......
...@@ -19,7 +19,6 @@ from absl import flags ...@@ -19,7 +19,6 @@ from absl import flags
from absl import logging from absl import logging
import tensorflow as tf import tensorflow as tf
from official.vision.beta.modeling.backbones import factory
from official.vision.beta.projects.centernet.common import registry_imports # pylint: disable=unused-import from official.vision.beta.projects.centernet.common import registry_imports # pylint: disable=unused-import
from official.vision.beta.projects.centernet.configs import backbones from official.vision.beta.projects.centernet.configs import backbones
from official.vision.beta.projects.centernet.configs import centernet from official.vision.beta.projects.centernet.configs import centernet
...@@ -28,6 +27,7 @@ from official.vision.beta.projects.centernet.modeling.heads import centernet_hea ...@@ -28,6 +27,7 @@ from official.vision.beta.projects.centernet.modeling.heads import centernet_hea
from official.vision.beta.projects.centernet.modeling.layers import detection_generator from official.vision.beta.projects.centernet.modeling.layers import detection_generator
from official.vision.beta.projects.centernet.utils.checkpoints import load_weights from official.vision.beta.projects.centernet.utils.checkpoints import load_weights
from official.vision.beta.projects.centernet.utils.checkpoints import read_checkpoints from official.vision.beta.projects.centernet.utils.checkpoints import read_checkpoints
from official.vision.modeling.backbones import factory
FLAGS = flags.FLAGS FLAGS = flags.FLAGS
......
...@@ -14,19 +14,18 @@ ...@@ -14,19 +14,18 @@
"""Configuration for Mask R-CNN with deep mask heads.""" """Configuration for Mask R-CNN with deep mask heads."""
import dataclasses
import os import os
from typing import Optional from typing import Optional
import dataclasses
from official.core import config_definitions as cfg from official.core import config_definitions as cfg
from official.core import exp_factory from official.core import exp_factory
from official.modeling import optimization from official.modeling import optimization
from official.vision.beta.configs import backbones from official.vision.configs import backbones
from official.vision.beta.configs import common from official.vision.configs import common
from official.vision.beta.configs import decoders from official.vision.configs import decoders
from official.vision.beta.configs import maskrcnn as maskrcnn_config from official.vision.configs import maskrcnn as maskrcnn_config
from official.vision.beta.configs import retinanet as retinanet_config from official.vision.configs import retinanet as retinanet_config
@dataclasses.dataclass @dataclasses.dataclass
......
...@@ -21,7 +21,7 @@ from typing import List, Mapping, Optional, Union ...@@ -21,7 +21,7 @@ from typing import List, Mapping, Optional, Union
from absl import logging from absl import logging
import tensorflow as tf import tensorflow as tf
from official.vision.beta.modeling import maskrcnn_model from official.vision.modeling import maskrcnn_model
def resize_as(source, size): def resize_as(source, size):
......
...@@ -21,18 +21,18 @@ from absl.testing import parameterized ...@@ -21,18 +21,18 @@ from absl.testing import parameterized
import numpy as np import numpy as np
import tensorflow as tf import tensorflow as tf
from official.vision.beta.modeling.backbones import resnet
from official.vision.beta.modeling.decoders import fpn
from official.vision.beta.modeling.heads import dense_prediction_heads
from official.vision.beta.modeling.heads import instance_heads
from official.vision.beta.modeling.layers import detection_generator
from official.vision.beta.modeling.layers import mask_sampler
from official.vision.beta.modeling.layers import roi_aligner
from official.vision.beta.modeling.layers import roi_generator
from official.vision.beta.modeling.layers import roi_sampler
from official.vision.beta.ops import anchor
from official.vision.beta.projects.deepmac_maskrcnn.modeling import maskrcnn_model from official.vision.beta.projects.deepmac_maskrcnn.modeling import maskrcnn_model
from official.vision.beta.projects.deepmac_maskrcnn.modeling.heads import instance_heads as deep_instance_heads from official.vision.beta.projects.deepmac_maskrcnn.modeling.heads import instance_heads as deep_instance_heads
from official.vision.modeling.backbones import resnet
from official.vision.modeling.decoders import fpn
from official.vision.modeling.heads import dense_prediction_heads
from official.vision.modeling.heads import instance_heads
from official.vision.modeling.layers import detection_generator
from official.vision.modeling.layers import mask_sampler
from official.vision.modeling.layers import roi_aligner
from official.vision.modeling.layers import roi_generator
from official.vision.modeling.layers import roi_sampler
from official.vision.ops import anchor
def construct_model_and_anchors(image_size, use_gt_boxes_for_masks): def construct_model_and_anchors(image_size, use_gt_boxes_for_masks):
......
...@@ -16,13 +16,14 @@ ...@@ -16,13 +16,14 @@
"""Detection input and model functions for serving/inference.""" """Detection input and model functions for serving/inference."""
from typing import Dict, Mapping, Text from typing import Dict, Mapping, Text
import tensorflow as tf import tensorflow as tf
from official.vision.beta.ops import box_ops
from official.vision.beta.projects.deepmac_maskrcnn.configs import deep_mask_head_rcnn as cfg from official.vision.beta.projects.deepmac_maskrcnn.configs import deep_mask_head_rcnn as cfg
from official.vision.beta.projects.deepmac_maskrcnn.modeling import maskrcnn_model from official.vision.beta.projects.deepmac_maskrcnn.modeling import maskrcnn_model
from official.vision.beta.projects.deepmac_maskrcnn.tasks import deep_mask_head_rcnn from official.vision.beta.projects.deepmac_maskrcnn.tasks import deep_mask_head_rcnn
from official.vision.beta.serving import detection from official.vision.ops import box_ops
from official.vision.serving import detection
def reverse_input_box_transformation(boxes, image_info): def reverse_input_box_transformation(boxes, image_info):
......
...@@ -40,7 +40,7 @@ from official.core import exp_factory ...@@ -40,7 +40,7 @@ from official.core import exp_factory
from official.modeling import hyperparams from official.modeling import hyperparams
from official.vision.beta.projects.deepmac_maskrcnn.serving import detection from official.vision.beta.projects.deepmac_maskrcnn.serving import detection
from official.vision.beta.projects.deepmac_maskrcnn.tasks import deep_mask_head_rcnn # pylint: disable=unused-import from official.vision.beta.projects.deepmac_maskrcnn.tasks import deep_mask_head_rcnn # pylint: disable=unused-import
from official.vision.beta.serving import export_saved_model_lib from official.vision.serving import export_saved_model_lib
FLAGS = flags.FLAGS FLAGS = flags.FLAGS
......
...@@ -17,19 +17,19 @@ ...@@ -17,19 +17,19 @@
import tensorflow as tf import tensorflow as tf
from official.core import task_factory from official.core import task_factory
from official.vision.beta.modeling import backbones
from official.vision.beta.modeling.decoders import factory as decoder_factory
from official.vision.beta.modeling.heads import dense_prediction_heads
from official.vision.beta.modeling.heads import instance_heads
from official.vision.beta.modeling.layers import detection_generator
from official.vision.beta.modeling.layers import mask_sampler
from official.vision.beta.modeling.layers import roi_aligner
from official.vision.beta.modeling.layers import roi_generator
from official.vision.beta.modeling.layers import roi_sampler
from official.vision.beta.projects.deepmac_maskrcnn.configs import deep_mask_head_rcnn as deep_mask_head_rcnn_config from official.vision.beta.projects.deepmac_maskrcnn.configs import deep_mask_head_rcnn as deep_mask_head_rcnn_config
from official.vision.beta.projects.deepmac_maskrcnn.modeling import maskrcnn_model as deep_maskrcnn_model from official.vision.beta.projects.deepmac_maskrcnn.modeling import maskrcnn_model as deep_maskrcnn_model
from official.vision.beta.projects.deepmac_maskrcnn.modeling.heads import instance_heads as deep_instance_heads from official.vision.beta.projects.deepmac_maskrcnn.modeling.heads import instance_heads as deep_instance_heads
from official.vision.beta.tasks import maskrcnn from official.vision.modeling import backbones
from official.vision.modeling.decoders import factory as decoder_factory
from official.vision.modeling.heads import dense_prediction_heads
from official.vision.modeling.heads import instance_heads
from official.vision.modeling.layers import detection_generator
from official.vision.modeling.layers import mask_sampler
from official.vision.modeling.layers import roi_aligner
from official.vision.modeling.layers import roi_generator
from official.vision.modeling.layers import roi_sampler
from official.vision.tasks import maskrcnn
# Taken from modeling/factory.py # Taken from modeling/factory.py
......
...@@ -22,10 +22,10 @@ from official.core import config_definitions as cfg ...@@ -22,10 +22,10 @@ from official.core import config_definitions as cfg
from official.core import exp_factory from official.core import exp_factory
from official.modeling import hyperparams from official.modeling import hyperparams
from official.modeling import optimization from official.modeling import optimization
from official.vision.beta.configs import common
from official.vision.beta.configs import maskrcnn
from official.vision.beta.configs import semantic_segmentation
from official.vision.beta.projects.deepmac_maskrcnn.configs import deep_mask_head_rcnn as deepmac_maskrcnn from official.vision.beta.projects.deepmac_maskrcnn.configs import deep_mask_head_rcnn as deepmac_maskrcnn
from official.vision.configs import common
from official.vision.configs import maskrcnn
from official.vision.configs import semantic_segmentation
SEGMENTATION_MODEL = semantic_segmentation.SemanticSegmentationModel SEGMENTATION_MODEL = semantic_segmentation.SemanticSegmentationModel
......
...@@ -16,9 +16,9 @@ ...@@ -16,9 +16,9 @@
import tensorflow as tf import tensorflow as tf
from official.vision.beta.dataloaders import maskrcnn_input from official.vision.dataloaders import maskrcnn_input
from official.vision.beta.dataloaders import tf_example_decoder from official.vision.dataloaders import tf_example_decoder
from official.vision.beta.ops import preprocess_ops from official.vision.ops import preprocess_ops
class TfExampleDecoder(tf_example_decoder.TfExampleDecoder): class TfExampleDecoder(tf_example_decoder.TfExampleDecoder):
......
...@@ -16,9 +16,7 @@ ...@@ -16,9 +16,7 @@
import tensorflow as tf import tensorflow as tf
from official.vision.beta.modeling import backbones
from official.vision.beta.modeling.decoders import factory as decoder_factory
from official.vision.beta.modeling.heads import segmentation_heads
from official.vision.beta.projects.panoptic_maskrcnn.configs import panoptic_deeplab as panoptic_deeplab_cfg from official.vision.beta.projects.panoptic_maskrcnn.configs import panoptic_deeplab as panoptic_deeplab_cfg
from official.vision.beta.projects.deepmac_maskrcnn.tasks import deep_mask_head_rcnn from official.vision.beta.projects.deepmac_maskrcnn.tasks import deep_mask_head_rcnn
from official.vision.beta.projects.panoptic_maskrcnn.configs import panoptic_maskrcnn as panoptic_maskrcnn_cfg from official.vision.beta.projects.panoptic_maskrcnn.configs import panoptic_maskrcnn as panoptic_maskrcnn_cfg
...@@ -27,6 +25,9 @@ from official.vision.beta.projects.panoptic_maskrcnn.modeling.heads import panop ...@@ -27,6 +25,9 @@ from official.vision.beta.projects.panoptic_maskrcnn.modeling.heads import panop
from official.vision.beta.projects.panoptic_maskrcnn.modeling import panoptic_maskrcnn_model from official.vision.beta.projects.panoptic_maskrcnn.modeling import panoptic_maskrcnn_model
from official.vision.beta.projects.panoptic_maskrcnn.modeling.layers import panoptic_segmentation_generator from official.vision.beta.projects.panoptic_maskrcnn.modeling.layers import panoptic_segmentation_generator
from official.vision.beta.projects.panoptic_maskrcnn.modeling.layers import panoptic_deeplab_merge from official.vision.beta.projects.panoptic_maskrcnn.modeling.layers import panoptic_deeplab_merge
from official.vision.modeling import backbones
from official.vision.modeling.decoders import factory as decoder_factory
from official.vision.modeling.heads import segmentation_heads
def build_panoptic_maskrcnn( def build_panoptic_maskrcnn(
......
...@@ -19,30 +19,29 @@ import numpy as np ...@@ -19,30 +19,29 @@ import numpy as np
import tensorflow as tf import tensorflow as tf
from tensorflow.python.distribute import combinations from tensorflow.python.distribute import combinations
from official.vision.beta.configs import backbones
from official.vision.beta.configs import decoders
from official.vision.beta.configs import semantic_segmentation
from official.vision.beta.projects.panoptic_maskrcnn.configs import panoptic_maskrcnn as panoptic_maskrcnn_cfg from official.vision.beta.projects.panoptic_maskrcnn.configs import panoptic_maskrcnn as panoptic_maskrcnn_cfg
from official.vision.beta.projects.panoptic_maskrcnn.configs import panoptic_deeplab as panoptic_deeplab_cfg from official.vision.beta.projects.panoptic_maskrcnn.configs import panoptic_deeplab as panoptic_deeplab_cfg
from official.vision.beta.projects.panoptic_maskrcnn.modeling import factory from official.vision.beta.projects.panoptic_maskrcnn.modeling import factory
from official.vision.configs import backbones
from official.vision.configs import decoders
from official.vision.configs import semantic_segmentation
class PanopticMaskRCNNBuilderTest(parameterized.TestCase, tf.test.TestCase): class PanopticMaskRCNNBuilderTest(parameterized.TestCase, tf.test.TestCase):
@parameterized.parameters( @parameterized.parameters(
('resnet', (640, 640), 'dilated_resnet', 'fpn', 'panoptic_fpn_fusion'), ('resnet', (640, 640), 'dilated_resnet', 'fpn'),
('resnet', (640, 640), 'dilated_resnet', 'aspp', 'deeplabv3plus'), ('resnet', (640, 640), 'dilated_resnet', 'aspp'),
('resnet', (640, 640), None, 'fpn', 'panoptic_fpn_fusion'), ('resnet', (640, 640), None, 'fpn'),
('resnet', (640, 640), None, 'aspp', 'deeplabv3plus'), ('resnet', (640, 640), None, 'aspp'),
('resnet', (640, 640), None, None, 'panoptic_fpn_fusion'), ('resnet', (640, 640), None, None),
('resnet', (None, None), 'dilated_resnet', 'fpn', 'panoptic_fpn_fusion'), ('resnet', (None, None), 'dilated_resnet', 'fpn'),
('resnet', (None, None), 'dilated_resnet', 'aspp', 'deeplabv3plus'), ('resnet', (None, None), 'dilated_resnet', 'aspp'),
('resnet', (None, None), None, 'fpn', 'panoptic_fpn_fusion'), ('resnet', (None, None), None, 'fpn'),
('resnet', (None, None), None, 'aspp', 'deeplabv3plus'), ('resnet', (None, None), None, 'aspp'),
('resnet', (None, None), None, None, 'deeplabv3plus')) ('resnet', (None, None), None, None))
def test_builder(self, backbone_type, input_size, segmentation_backbone_type, def test_builder(self, backbone_type, input_size, segmentation_backbone_type,
segmentation_decoder_type, fusion_type): segmentation_decoder_type):
num_classes = 2 num_classes = 2
input_specs = tf.keras.layers.InputSpec( input_specs = tf.keras.layers.InputSpec(
shape=[None, input_size[0], input_size[1], 3]) shape=[None, input_size[0], input_size[1], 3])
......
...@@ -15,25 +15,26 @@ ...@@ -15,25 +15,26 @@
"""Tests for panoptic_maskrcnn_model.py.""" """Tests for panoptic_maskrcnn_model.py."""
import os import os
from absl.testing import parameterized from absl.testing import parameterized
import tensorflow as tf import tensorflow as tf
from tensorflow.python.distribute import combinations from tensorflow.python.distribute import combinations
from tensorflow.python.distribute import strategy_combinations from tensorflow.python.distribute import strategy_combinations
from official.vision.beta.modeling.backbones import resnet
from official.vision.beta.modeling.decoders import aspp
from official.vision.beta.modeling.decoders import fpn
from official.vision.beta.modeling.heads import dense_prediction_heads
from official.vision.beta.modeling.heads import instance_heads
from official.vision.beta.modeling.heads import segmentation_heads
from official.vision.beta.modeling.layers import detection_generator
from official.vision.beta.modeling.layers import mask_sampler
from official.vision.beta.modeling.layers import roi_aligner
from official.vision.beta.modeling.layers import roi_generator
from official.vision.beta.modeling.layers import roi_sampler
from official.vision.beta.ops import anchor
from official.vision.beta.projects.panoptic_maskrcnn.modeling import panoptic_maskrcnn_model from official.vision.beta.projects.panoptic_maskrcnn.modeling import panoptic_maskrcnn_model
from official.vision.beta.projects.panoptic_maskrcnn.modeling.layers import panoptic_segmentation_generator from official.vision.beta.projects.panoptic_maskrcnn.modeling.layers import panoptic_segmentation_generator
from official.vision.modeling.backbones import resnet
from official.vision.modeling.decoders import aspp
from official.vision.modeling.decoders import fpn
from official.vision.modeling.heads import dense_prediction_heads
from official.vision.modeling.heads import instance_heads
from official.vision.modeling.heads import segmentation_heads
from official.vision.modeling.layers import detection_generator
from official.vision.modeling.layers import mask_sampler
from official.vision.modeling.layers import roi_aligner
from official.vision.modeling.layers import roi_generator
from official.vision.modeling.layers import roi_sampler
from official.vision.ops import anchor
class PanopticMaskRCNNModelTest(parameterized.TestCase, tf.test.TestCase): class PanopticMaskRCNNModelTest(parameterized.TestCase, tf.test.TestCase):
......
...@@ -43,7 +43,7 @@ from official.vision.beta.projects.panoptic_maskrcnn.configs import panoptic_mas ...@@ -43,7 +43,7 @@ from official.vision.beta.projects.panoptic_maskrcnn.configs import panoptic_mas
from official.vision.beta.projects.panoptic_maskrcnn.modeling import factory from official.vision.beta.projects.panoptic_maskrcnn.modeling import factory
from official.vision.beta.projects.panoptic_maskrcnn.serving import panoptic_segmentation from official.vision.beta.projects.panoptic_maskrcnn.serving import panoptic_segmentation
from official.vision.beta.projects.panoptic_maskrcnn.tasks import panoptic_maskrcnn as task # pylint: disable=unused-import from official.vision.beta.projects.panoptic_maskrcnn.tasks import panoptic_maskrcnn as task # pylint: disable=unused-import
from official.vision.beta.serving import export_saved_model_lib from official.vision.serving import export_saved_model_lib
FLAGS = flags.FLAGS FLAGS = flags.FLAGS
......
...@@ -20,7 +20,7 @@ import tensorflow as tf ...@@ -20,7 +20,7 @@ import tensorflow as tf
from official.core import config_definitions as cfg from official.core import config_definitions as cfg
from official.vision.beta.projects.panoptic_maskrcnn.modeling import panoptic_maskrcnn_model from official.vision.beta.projects.panoptic_maskrcnn.modeling import panoptic_maskrcnn_model
from official.vision.beta.serving import detection from official.vision.serving import detection
class PanopticSegmentationModule(detection.DetectionModule): class PanopticSegmentationModule(detection.DetectionModule):
......
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