code: def CPM(image):
      image = image / 256.0 - 0.5
  
      gmap = tf.constant(get_gaussian_map())
      gmap = tf.pad(gmap, [[0, 0], [0, 1], [0, 1], [0, 0]])
      pool_center = AvgPooling(
          "mappool", gmap, 9, strides=8, padding="VALID"
      )
      with argscope(Conv2D, kernel_size=3, activation=tf.nn.relu):
          shared = (
              LinearWrap(image)
              .Conv2D("conv1_1", 64)
              .Conv2D("conv1_2", 64)
              .MaxPooling("pool1", 2)
              # 184
              .Conv2D("conv2_1", 128)
              .Conv2D("conv2_2", 128)
              .MaxPooling("pool2", 2)
              # 92
              .Conv2D("conv3_1", 256)
              .Conv2D("conv3_2", 256)
              .Conv2D("conv3_3", 256)
              .Conv2D("conv3_4", 256)
              .MaxPooling("pool3", 2)
              # 46
              .Conv2D("conv4_1", 512)
              .Conv2D("conv4_2", 512)
              .Conv2D("conv4_3_CPM", 256)
              .Conv2D("conv4_4_CPM", 256)
              .Conv2D("conv4_5_CPM", 256)
              .Conv2D("conv4_6_CPM", 256)
              .Conv2D("conv4_7_CPM", 128)()
          )
  
      def add_stage(stage, l):
          l = tf.concat(
              [l, shared, pool_center],
              3,
              name="concat_stage{}".format(stage),
          )
          for i in range(1, 6):
              l = Conv2D(
                  "Mconv{}_stage{}".format(i, stage),
                  l,
                  128,
                  7,
                  activation=tf.nn.relu,
              )
          l = Conv2D(
              "Mconv6_stage{}".format(stage),
              l,
              128,
              1,
              activation=tf.nn.relu,
          )
          l = Conv2D(
              "Mconv7_stage{}".format(stage),
              l,
              15,
              1,
              activation=tf.identity,
          )
          return l
  
      out1 = (
          LinearWrap(shared)
          .Conv2D("conv5_1_CPM", 512, 1, activation=tf.nn.relu)
          .Conv2D("conv5_2_CPM", 15, 1, activation=tf.identity)()
      )
      out2 = add_stage(2, out1)
      out3 = add_stage(3, out2)
      out4 = add_stage(4, out3)
      out5 = add_stage(5, out4)
      out6 = add_stage(6, out5)
      tf.image.resize_bilinear(out6, [368, 368], name="resized_map")
  
file_path: tensorpack/examples/CaffeModels/load-cpm.py
imports: import argparse
  import numpy
  import cv2
  import tensorflow
  from tensorpack import *
  from tensorpack.utils import viz
  from tensorpack.utils.argtools import memoized
label_desc: Use image node_id 3 for calling a global function with example usage: CPM(image) and returns: l