code: def copy_bottleneck(layer, config, block):
      if "reduce" in layer.name:
          block.conv1 = copy_conv2d_bn_activ(layer, config, block.conv1)
      elif "3x3" in layer.name:
          block.conv2 = copy_conv2d_bn_activ(layer, config, block.conv2)
      elif "increase" in layer.name:
          block.conv3 = copy_conv2d_bn_activ(layer, config, block.conv3)
      elif "proj" in layer.name:
          block.residual_conv = copy_conv2d_bn_activ(
              layer, config, block.residual_conv
          )
      else:
          print("Ignored: {} ({})".format(layer.name, layer.type))
      return block
  
file_path: chainercv/examples/pspnet/caffe2npz.py
imports: import argparse
  from google.protobuf import text_format
  import numpy
  import re
  from chainer import serializers
  from chainercv.experimental.links import PSPNetResNet101
  import caffe_pb2
label_desc: Use image node_id 4 for calling a global function with example usage: copy_bottleneck(layer, config, block) and returns: block