Spaces:
Sleeping
Sleeping
| import tensorflow as tf | |
| import numpy as np | |
| def predict(model_path, waveform): | |
| # Download the model to yamnet.tflite | |
| interpreter = tf.lite.Interpreter(model_path) | |
| input_details = interpreter.get_input_details() | |
| waveform_input_index = input_details[0]['index'] | |
| output_details = interpreter.get_output_details() | |
| scores_output_index = output_details[0]['index'] | |
| # embeddings_output_index = output_details[1]['index'] | |
| # spectrogram_output_index = output_details[2]['index'] | |
| # Input: 0.975 seconds of silence as mono 16 kHz waveform samples. | |
| # waveform = np.zeros(int(round(0.975 * 16000)), dtype=np.float32) | |
| waveform2 = waveform[:156000] | |
| print(waveform2.shape) # Should print (15600,) | |
| interpreter.resize_tensor_input(waveform_input_index, [waveform.size], strict=True) | |
| interpreter.allocate_tensors() | |
| interpreter.set_tensor(waveform_input_index, waveform) | |
| interpreter.invoke() | |
| scores = interpreter.get_tensor(scores_output_index) | |
| # print(' scores, embeddings, spectrogram: ', scores.shape, embeddings.shape, spectrogram.shape) # (N, 521) (N, 1024) (M, 64) | |
| return scores | |