in models/framework.py [0:0]
def rtf(model: Vocoder, n_iter: int) -> float:
"""
Compute RTF for a given vocoder model over n_iter
"""
mel = datasets.Audio2Mel()
if torch.cuda.is_available():
mel.cuda()
rtfs = []
# Generate a list of random secs for each sample within [10, 20] range.
np.random.seed(42)
secs = np.random.rand(n_iter) * 10 + 10
progress = tqdm(secs, desc="", total=n_iter)
for sec in progress:
waveforms = torch.rand(1, int(AUDIO_SAMPLE_RATE * sec))
if torch.cuda.is_available():
waveforms = waveforms.cuda()
spectrograms = mel(waveforms)
# Compute RTF for the current sample.
start = time.time()
model.generate(spectrograms)
rtfs.append((time.time() - start) / sec)
progress.set_description("RTF: %0.2f" % np.mean(rtfs))
return np.mean(rtfs)