How to use the tensorpack.tfutils.scope_utils.under_name_scope function in tensorpack

To help you get started, we’ve selected a few tensorpack examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github osmr / imgclsmob / tensorflow_ / tensorflowcv / models / others / tpack / shufflenet.py View on Github external
@under_name_scope()
def channel_shuffle(l, group):
    in_shape = l.get_shape().as_list()
    in_channel = in_shape[1]
    assert in_channel % group == 0, in_channel
    l = tf.reshape(l, [-1, in_channel // group, group] + in_shape[-2:])
    l = tf.transpose(l, [0, 2, 1, 3, 4])
    l = tf.reshape(l, [-1, in_channel] + in_shape[-2:])
    return l
github PatWie / tensorflow-recipes / FaceRecognition / ssh.py View on Github external
    @under_name_scope
    def context_module(self, x, channels, name):
        # see Figure 4 (SSH Context Module)
        with tf.variable_scope(name):
            with argscope([tf.layers.conv2d], kernel_size=3, activation=tf.nn.relu, padding='same'):
                c1 = tf.layers.conv2d(x, channels // 2, name='conv1')
                # upper path
                c2 = tf.layers.conv2d(c1, channels // 2, name='conv2')
                # lower path
                c3 = tf.layers.conv2d(c1, channels // 2, name='conv3a')
                c3 = tf.layers.conv2d(c3, channels // 2, name='conv3b')
                return tf.concatenate([c2, c3], axis=-1)
github itmessager / Figma_RCNN / detection / tensorpacks / model_box.py View on Github external
@under_name_scope()
def decode_bbox_target(box_predictions, anchors):
    """
    Args:
        box_predictions: (..., 4), logits
        anchors: (..., 4), floatbox. Must have the same shape

    Returns:
        box_decoded: (..., 4), float32. With the same shape.
    """
    orig_shape = tf.shape(anchors)
    box_pred_txtytwth = tf.reshape(box_predictions, (-1, 2, 2))
    box_pred_txty, box_pred_twth = tf.split(box_pred_txtytwth, 2, axis=1)
    # each is (...)x1x2
    anchors_x1y1x2y2 = tf.reshape(anchors, (-1, 2, 2))
    anchors_x1y1, anchors_x2y2 = tf.split(anchors_x1y1x2y2, 2, axis=1)
github PatWie / tensorflow-recipes / FaceRecognition / ssh.py View on Github external
    @under_name_scope
    def rpn_reg_loss(self, actual, expected, anchors, epsilon=1e-4):
        diff = actual - expected
        x = tf.abs(diff)
        alpha = tf.less_equal(x, 1.0)

        cost = tf.reduce_sum(expected * alpha * (0.5 * diff * diff) + (1 - alpha) * (x - 0.5))
        cost /= tf.reduce_sum(eps + expected)
        return cost
github itmessager / Figma_RCNN / detection / tensorpacks / model_rpn.py View on Github external
@under_name_scope()
def generate_rpn_proposals(boxes, scores, img_shape,
                           pre_nms_topk, post_nms_topk=None):
    """
    Sample RPN proposals by the following steps:
    1. Pick top k1 by scores  # K1 = pre_nms_topk
    2. NMS them
    3. Pick top k2 by scores. Default k2 == k1, i.e. does not filter the NMS output.# K2 = post_nms_topk

    Args:
        boxes: nx4 float dtype, the proposal boxes. Decoded to floatbox already
        scores: n float, the logits
        img_shape: [h, w]
        pre_nms_topk, post_nms_topk (int): See above.

    Returns:
        boxes: kx4 float
github armandmcqueen / tensorpack-mask-rcnn / MaskRCNN_no_batch / model_box.py View on Github external
@under_name_scope()
def roi_align(featuremap, boxes, resolution):
    """
    Args:
        featuremap: 1xCxHxW
        boxes: Nx4 floatbox
        resolution: output spatial resolution

    Returns:
        NxCx res x res
    """
    # sample 4 locations per roi bin
    ret = crop_and_resize(
        featuremap, boxes,
        tf.zeros([tf.shape(boxes)[0]], dtype=tf.int32),
        resolution * 2)
    ret = tf.nn.avg_pool(ret, [1, 1, 2, 2], [1, 1, 2, 2], padding='SAME', data_format='NCHW')
github armandmcqueen / tensorpack-mask-rcnn / MaskRCNN / model_box.py View on Github external
    @under_name_scope()
    def narrow_to_featuremap_dims(self, featuremap_dims):
        """
        Take in h and w of featuremap that we need to narrow to.
        Separate batch implementation because we need to handle padding.
        # Boxes don't have a batch_dim when this function is called - and neither should
        """

        slice3d = tf.concat([featuremap_dims, [-1]], axis=0)
        slice4d = tf.concat([featuremap_dims, [-1, -1]], axis=0)

        boxes = tf.slice(self.boxes, [0, 0, 0, 0], slice4d)
        gt_labels = tf.slice(self.gt_labels, [0, 0, 0], slice3d)
        gt_boxes = tf.slice(self.gt_boxes, [0, 0, 0, 0], slice4d)
        return RPNAnchors(boxes, gt_labels, gt_boxes)
github armandmcqueen / tensorpack-mask-rcnn / MaskRCNN / model_fpn.py View on Github external
@under_name_scope()
def fpn_map_rois_to_levels_batch(boxes):
    """
    Assign boxes to level 2~5.

    Args:
        boxes (nx4):

    Returns:
        [tf.Tensor]: 4 tensors for level 2-5. Each tensor is a vector of indices of boxes in its level.
        [tf.Tensor]: 4 tensors, the gathered boxes in each level.

    Be careful that the returned tensor could be empty.
    """
    sqrtarea = tf.sqrt(tf_area(boxes[:,1:]))
    level = tf.cast(tf.floor(
        4 + tf.log(sqrtarea * (1. / 224) + 1e-6) * (1.0 / np.log(2))), tf.int32)
github armandmcqueen / tensorpack-mask-rcnn / MaskRCNN / model_fpn.py View on Github external
@under_name_scope()
def multilevel_roi_align(features, rcnn_boxes, resolution):
    """
    Args:
        features ([tf.Tensor]): 4 FPN feature level 2-5
        rcnn_boxes (tf.Tensor): nx4 boxes
        resolution (int): output spatial resolution
    Returns:
        NxC x res x res
    """
    assert len(features) == 4, features
    # Reassign rcnn_boxes to levels
    level_ids, level_boxes = fpn_map_rois_to_levels(rcnn_boxes)
    all_rois = []

    # Crop patches from corresponding levels
    for i, boxes, featuremap in zip(itertools.count(), level_boxes, features):
github itmessager / Figma_RCNN / detection / tensorpacks / model_fpn.py View on Github external
@under_name_scope()
def fpn_map_rois_to_levels(boxes):
    """
    Assign boxes to level 2~5.

    Args:
        boxes (nx4):

    Returns:
        [tf.Tensor]: 4 tensors for level 2-5. Each tensor is a vector of indices of boxes in its level.
        [tf.Tensor]: 4 tensors, the gathered boxes in each level.

    Be careful that the returned tensor could be empty.
    """
    sqrtarea = tf.sqrt(tf_area(boxes))
    level = tf.to_int32(tf.floor(
        4 + tf.log(sqrtarea * (1. / 224) + 1e-6) * (1.0 / np.log(2))))