code: def smooth_presoftmax_prior_scale_vector(
      pdf_counts, presoftmax_prior_scale_power=-0.25, smooth=0.01
  ):
      total = sum(pdf_counts)
      average_count = float(total) / len(pdf_counts)
      scales = []
      for i in range(len(pdf_counts)):
          scales.append(
              math.pow(
                  pdf_counts[i] + smooth * average_count,
                  presoftmax_prior_scale_power,
              )
          )
      num_pdfs = len(pdf_counts)
      scaled_counts = [
          x * float(num_pdfs) / sum(scales) for x in scales
      ]
      return scaled_counts
  
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 17 for calling a global function with example usage: smooth_presoftmax_prior_scale_vector(pdf_counts, presoftmax_prior_scale_power, smooth) and returns: scaled_counts