code: def should_do_shrinkage(
      iter,
      model_file,
      shrink_saturation_threshold,
      get_raw_nnet_from_am=True,
  ):
      if iter == 0:
          return True
  
      if get_raw_nnet_from_am:
          output = common_lib.get_command_stdout(
              "nnet3-am-info {0} 2>/dev/null | "
              "steps/nnet3/get_saturation.pl".format(model_file)
          )
      else:
          output = common_lib.get_command_stdout(
              "nnet3-info 2>/dev/null {0} | "
              "steps/nnet3/get_saturation.pl".format(model_file)
          )
      output = output.strip().split("\n")
      try:
          assert len(output) == 1
          saturation = float(output[0])
          assert saturation >= 0 and saturation <= 1
      except:
          raise Exception(
              "Something went wrong, could not get "
              "saturation from the output '{0}' of "
              "get_saturation.pl on the info of "
              "model {1}".format(output, model_file)
          )
      return saturation > shrink_saturation_threshold
  
imports: from __future__ import division
  import argparse
  import glob
  import logging
  import os
  import math
  import re
  import shutil
  import libs.common
  from libs.nnet3.train.dropout_schedule import *
  import unittest
label_desc: Use image node_id 22 for calling a global function with example usage: should_do_shrinkage(iter, model_file, shrink_saturation_threshold, get_raw_nnet_from_am) and returns: unknown, True