class_docstr: Feature extractor for images using a regular CNN.
  
  By using the notion of an "endpoint", we truncate a classification CNN at
  a certain layer output, and return this partial feature map to be used as
  a good image representation for other ML tasks.
code: def _build_tail(self, inputs, is_training=False):
      if not self._use_tail:
          return inputs
  
      if self._architecture == "resnet_v1_101":
          train_batch_norm = is_training and self._config.get(
              "train_batch_norm"
          )
          with self._enter_variable_scope():
              weight_decay = self._config.get("arg_scope", {}).get(
                  "weight_decay", 0
              )
              with tf.variable_scope(self._architecture, reuse=True):
                  resnet_arg_scope = resnet_utils.resnet_arg_scope(
                      batch_norm_epsilon=1e-5,
                      batch_norm_scale=True,
                      weight_decay=weight_decay,
                  )
                  with slim.arg_scope(resnet_arg_scope):
                      with slim.arg_scope(
                          [slim.batch_norm],
                          is_training=train_batch_norm,
                      ):
                          blocks = [
                              resnet_utils.Block(
                                  "block4",
                                  resnet_v1.bottleneck,
                                  [
                                      {
                                          "depth": 2048,
                                          "depth_bottleneck": 512,
                                          "stride": 1,
                                      }
                                  ]
                                  * 3,
                              )
                          ]
                          proposal_classifier_features = (
                              resnet_utils.stack_blocks_dense(
                                  inputs, blocks
                              )
                          )
      else:
          proposal_classifier_features = inputs
  
      return proposal_classifier_features
  
file_path: luminoth/luminoth/models/base/truncated_base_network.py
imports: import tensorflow
  import tensorflow.contrib.slim
  from tensorflow.contrib.slim.nets import resnet_utils, resnet_v1
  from luminoth.models.base import BaseNetwork
label_desc: Use image node_id 3 for calling the TruncatedBaseNetwork obj's underlying member method code with example usage: obj._build_tail(inputs, is_training) and returns: proposal_classifier_features, inputs