faroit / python_audio_loading_benchmark

Benchmark popular audio i/o packages
137 stars 10 forks source link

Benchmark DALI decoding for pytorch and tensorflow #11

Open faroit opened 4 years ago

faroit commented 4 years ago

I totally missed that DALI added audio decoding ops. As far as I can see, the ops seems to be based on sndfile and do not support GPU decoding. I wonder if this would still improve single threaded ETL speed on pytorch or tensorflow.

pinging DALI devs @mzient @szalpal as they might have benchmarked the op against tfio or torchaudio which are also sndfile based.

szalpal commented 4 years ago

Hi @faroit ,

DALI's AudioDecoder is in fact based on sndfile. Currently there are no specific plans for supporting GPU decoding. We also don't have any measurements specifically for AudioDecoder operation yet - we rather focus on end-to-end pipeline speedups, which ofc depend on what operations you put inside the pipeline.

To answer Your question, I would expect that for single sample, DALI's decoding would be roughly as fast as torchaudio. There is an advantage tough, that when using DALI you can decode in batches, using multiple CPU threads for given batch, making your decoding operation num_threads times faster in the end.