code: def get_layer_list(self):
      try:
          from caffe.proto import caffe_pb2
  
          layer = caffe_pb2.LayerParameter()
          param_list = [
              f.name
              for f in layer.DESCRIPTOR.fields
              if f.name.endswith("_param")
          ]
          layer_list = [
              type(getattr(layer, s)).__name__ for s in param_list
          ]
          layer_list = [s[: -len("Parameter")] for s in layer_list]
          return layer_list
      except:
          return []
  
imports: from __future__ import division
  import os
  import sys
  import math
  import numpy
  import caffe
  from caffe import layers
  from caffe import params
  from mmdnn.conversion.common.IR.IR_graph import IRGraph, IRGraphNode
  import mmdnn.conversion.common.IR.graph_pb2
  from mmdnn.conversion.common.IR.graph_pb2 import NodeDef, GraphDef, DataType
  from mmdnn.conversion.common.DataStructure.emitter import Emitter
  from mmdnn.conversion.common.utils import *
label_desc: Use image node_id 38 for calling the CaffeEmitter obj's underlying member method code with example usage: obj.get_layer_list() and returns: layer_list, list