code: def get_spectrogram_hash_op(spectrogram):
      """Calculate hash of the spectrogram."""
  
      def get_spectrogram_hash(spectrogram):
          # Compute a hash of the spectrogram, save it as an int64.
          # Uses adler because it's fast and will fit into an int (md5 is too large).
          spectrogram_serialized = io.BytesIO()
          np.save(spectrogram_serialized, spectrogram)
          spectrogram_hash = np.int64(
              zlib.adler32(spectrogram_serialized.getvalue())
          )
          spectrogram_serialized.close()
          return spectrogram_hash
  
      spectrogram_hash = tf.py_func(
          get_spectrogram_hash,
          [spectrogram],
          tf.int64,
          name="get_spectrogram_hash",
      )
      spectrogram_hash.set_shape([])
      return spectrogram_hash
  
imports: import collections
  import functools
  import io
  import re
  import wave
  import zlib
  import librosa
  from magenta.models.onsets_frames_transcription import audio_transform
  from magenta.models.onsets_frames_transcription import constants
  from magenta.models.onsets_frames_transcription import drum_mappings
  from magenta.models.onsets_frames_transcription import melspec_input
  from note_seq import audio_io
  from note_seq import sequences_lib
  from note_seq.protobuf import music_pb2
  import numpy
  import tensorflow.compat.v1
label_desc: Use image node_id 10 for calling a global function with example usage: get_spectrogram_hash_op(spectrogram) and returns: spectrogram_hash, spectrogram_hash