haoheliu / audioldm_eval

This toolbox aims to unify audio generation model evaluation for easier comparison.
MIT License
286 stars 30 forks source link

data_range parameter needed when calculating ssim #2

Open xwhjy opened 1 year ago

xwhjy commented 1 year ago

Hi Haohe,

Thanks for open-sourcing the audio generation evaluation toolbox! I came across this error when running python3 test.py following your instructions. Do you know how to solve this error?

Two path have 50 intersection files
Calculating LSD using a time offset of 1120 ...
  0%|                                                                                                         | 0/50 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "test.py", line 13, in <module>
    metrics = evaluator.main(
  File "/home/audioldm_eval/audioldm_eval/eval.py", line 89, in main
    metrics = self.calculate_metrics(generate_files_path, groundtruth_path, same_name, limit_num)
  File "/home/audioldm_eval/audioldm_eval/eval.py", line 227, in calculate_metrics
    metric_lsd = self.calculate_lsd(pairedloader, same_name=same_name)
  File "/home/audioldm_eval/audioldm_eval/eval.py", line 155, in calculate_lsd
    result = self.lsd(audio1, audio2)
  File "/home/audioldm_eval/audioldm_eval/eval.py", line 163, in lsd
    result = self.lsd_metric.evaluation(audio1, audio2, None)
  File "/home/anaconda3/envs/myenv/lib/python3.8/site-packages/ssr_eval/metrics.py", line 103, in evaluation
    result["ssim"] = self.ssim(est_sp.clone(), target_sp.clone())
  File "/home/anaconda3/envs/myenv/lib/python3.8/site-packages/ssr_eval/metrics.py", line 131, in ssim
    res[bs, c] = ssim(output[bs, c, ...], target[bs, c, ...], win_size=7)
  File "/home/anaconda3/envs/myenv/lib/python3.8/site-packages/skimage/metrics/_structural_similarity.py", line 194, in structural_similarity
    raise ValueError(
ValueError: Since image dtype is floating point, you must specify the data_range parameter. Please read the documentation carefully (including the note). It is recommended that you always specify the data_range anyway.