I found it extremely useful to use async for my use case with postgres backed data. So I simply did not use it all. It took me a while to figure out I would be better off because I kept thinking that the built in Dataloader was worth it. There’s a writeup with link to code here: https://medium.com/@jonathan.wickens/using-postgres-as-a-dataloader-with-pytorch-bba0d5cbe1fa 164 I hope it helps someone. Sorry for reviving an old topic but I kept coming back to this post before I found a way forward!