code: def proc_conv(self, idx, name, param):
      assert len(param) <= 2
      assert param[0].data.ndim == 4
      # caffe: ch_out, ch_in, h, w
      W = param[0].data.transpose(2, 3, 1, 0)
      if len(param) == 1:
          return {name + "/W": W}
      else:
          return {name + "/W": W, name + "/b": param[1].data}
  
file_path: tensorpack/tensorpack/utils/loadcaffe.py
imports: import numpy
  import os
  import sys
  from .None import logger
  from .concurrency import subproc_call
  from .fs import download, get_dataset_path
  from .utils import change_env
label_desc: Use image node_id 3 for calling the CaffeLayerProcessor obj's underlying member method code with example usage: obj.proc_conv(idx, name, param) and returns: dict, dict