code: def _drop_connect(self, inputs, p, training):
      if not training:
          return inputs
      batch_size = inputs.shape[0]
      keep_prob = 1 - p
      random_tensor = keep_prob
      random_tensor += paddle.rand(
          [batch_size, 1, 1, 1], dtype=inputs.dtype
      )
      random_tensor = paddle.to_tensor(
          random_tensor, place=inputs.place
      )
      binary_tensor = paddle.floor(random_tensor)
      output = inputs / keep_prob * binary_tensor
      return output
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import re
  import collections
  import paddle
  import paddle.nn
  import paddle.nn.functional
label_desc: Use image node_id 2 for calling the MbConvBlock obj's underlying member method code with example usage: obj._drop_connect(inputs, p, training) and returns: output, inputs