class_docstr: Trains post-hoc detection SVMs for all classes using the algorithm
  and hyper-parameters of traditional R-CNN.
class_docstr_tok: ["Trains","post-hoc","detection","SVMs","for","all","classes","using","the","algorithm","and","hyper-parameters","of","traditional","R-CNN","."]
code: def _get_feature_scale(self, num_images=100):
      _t = Timer()
      roidb = self.imdb.roidb
      total_norm = 0.0
      total_sum = 0.0
      count = 0.0
      num_images = min(num_images, self.imdb.num_images)
      inds = np.random.choice(
          range(self.imdb.num_images), size=num_images, replace=False
      )
  
      for i_, i in enumerate(inds):
          # im = cv2.imread(self.imdb.image_path_at(i))
          # if roidb[i]['flipped']:
          #    im = im[:, ::-1, :]
          # im = self.imdb.image_path_at(i)
          _t.tic()
          scores, boxes, feat = self.im_detect(
              self.net,
              i,
              roidb[i]["boxes"],
              boReturnClassifierScore=False,
          )
          _t.toc()
          # feat = self.net.blobs[self.layer].data
          total_norm += np.sqrt((feat**2).sum(axis=1)).sum()
          total_sum += 1.0 * sum(sum(feat)) / len(feat)
          count += feat.shape[0]
          print(
              "{}/{}: avg feature norm: {:.3f}, average value: {:.3f}".format(
                  i_ + 1,
                  num_images,
                  total_norm / count,
                  total_sum / count,
              )
          )
  
      return self.svm_targetNorm * 1.0 / (total_norm / count)
  
imports: from timer import Timer
  from sklearn import svm
  import numpy
label_desc: Use image node_id 2 for calling the SVMTrainer obj's underlying member method code with example usage: obj._get_feature_scale(num_images) and returns: unknown