Example #1
0
    def _single_gpu_build_func(model):
        """Builds the model on a single GPU. Can be called in a loop over GPUs
        with name and device scoping to create a data parallel model."""
        blobs, dim, spatial_scales = add_conv_body_func(model)
        if not model.train:
            model.conv_body_net = model.net.Clone('conv_body_net')
        retinanet_heads.add_fpn_retinanet_outputs(
            model, blobs, dim, spatial_scales
        )

        if cfg.WSL.WSL_ON:
            retinanet_heads.add_wsl_fpn_retinanet_outputs(
                model, blobs, dim, spatial_scales
            )
            if model.train:
                loss_gradients = retinanet_heads.add_wsl_fpn_retinanet_losses(
                    model
                )
            return loss_gradients if model.train else None

        if model.train:
            loss_gradients = retinanet_heads.add_fpn_retinanet_losses(
                model
            )
        return loss_gradients if model.train else None
Example #2
0
 def _single_gpu_build_func(model):
     """Builds the model on a single GPU. Can be called in a loop over GPUs
     with name and device scoping to create a data parallel model."""
     blobs, dim, spatial_scales = add_conv_body_func(model)
     if not model.train:
         model.conv_body_net = model.net.Clone('conv_body_net')
     retinanet_heads.add_fpn_retinanet_outputs(
         model, blobs, dim, spatial_scales
     )
     if model.train:
         loss_gradients = retinanet_heads.add_fpn_retinanet_losses(
             model
         )
     return loss_gradients if model.train else None
Example #3
0
 def _single_gpu_build_func(model):
     """Builds the model on a single GPU. Can be called in a loop over GPUs
     with name and device scoping to create a data parallel model."""
     blobs, dim, spatial_scales = add_conv_body_func(model)
     if freeze_conv_body:
         for b in c2_utils.BlobReferenceList(blob_conv):
             model.StopGradient(b, b)
     if not model.train:
         model.conv_body_net = model.net.Clone('conv_body_net')
     retinanet_heads.add_fpn_retinanet_outputs(model, blobs, dim,
                                               spatial_scales)
     if model.train:
         loss_gradients = retinanet_heads.add_fpn_retinanet_losses(model)
     return loss_gradients if model.train else None