warner-benjamin / fastxtend

Train fastai models faster (and other useful tools)

Home Page:https://fastxtend.benjaminwarner.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`show_batch` call error on an audio dataloader

iskode opened this issue · comments

Hi Benjamin,
I am trying to train a classifier with the melspectogram using the audio module.
Here is datablock instantiation:

dbl = DataBlock(blocks=(MelSpecBlock(TensorAudio), CategoryBlock),
            get_x = ColReader("filename", pref=data_path/"sollicited"), 
            splitter = CrossValidationSplitter(col='kfold', fold=0),
            get_y = ColReader("tb_status")
            )  
dls = dbl.dataloaders(train_df, bs=5)

then executing the code dls.show_batch(max_n=1) produce this error:

...
--> 697         res = L(b).map(partial(batch_to_samples,max_n=max_n))
    698         return retain_types(res.zip(), [b])
    699 

RecursionError: maximum recursion depth exceeded while calling a Python object

More importantly, I have applied the one_batch() method, but the input was still the
filename not a TensorAudio or MelSpectrogram object !
I think that is the problem.

@warner-benjamin,
please can you help me.

Kind regards

I'm a bit swamped at the moment but will look into this soon.

@iskode #18 should resolve this issue. If not, please reopen it with more details.

thank you @warner-benjamin. I'll check and get back to you.

Kind regards