def decode_predictions(preds, top=5):
 global CLASS_INDEX
 if ((len(preds.shape) != 2) or (preds.shape[1] != 1000)):
  raise ValueError(('`decode_predictions` expects a batch of predictions (i.e. a 2D array of shape (samples, 1000)). Found array with shape: ' + str(preds.shape)))
 if (CLASS_INDEX is None):
  fpath = get_file('imagenet_class_index.json', CLASS_INDEX_PATH, cache_subdir='models')
  CLASS_INDEX = json.load(open(fpath))
 results = []
 for pred in preds:
  top_indices = pred.argsort()[(- top):][::(-1)]
  result = [(tuple(CLASS_INDEX[str(i)]) + (pred[i],)) for i in top_indices]
  result.sort(key=(lambda x: x[2]), reverse=True)
  results.append(result)
 return results

def decode_predictions ( preds , top = 5 ) : global CLASS_INDEX if ( ( len ( preds . shape ) != 2 ) or ( preds . shape [ 1 ] != 1000 ) ) : raise ValueError ( ( '`decode_predictions` expects a batch of predictions (i.e. a 2D array of shape (samples, 1000)). Found array with shape: ' + str ( preds . shape ) ) ) if ( CLASS_INDEX is None ) : fpath = get_file ( 'imagenet_class_index.json' , CLASS_INDEX_PATH , cache_subdir = 'models' ) CLASS_INDEX = json . load ( open ( fpath ) ) results = [ ] for pred in preds : top_indices = pred . argsort ( ) [ ( - top ) : ] [ : : ( - 1 ) ] result = [ ( tuple ( CLASS_INDEX [ str ( i ) ] ) + ( pred [ i ] , ) ) for i in top_indices ] result . sort ( key = ( lambda x : x [ 2 ] ) , reverse = True ) results . append ( result ) return results
decode the output of a music tagger model .