Clarification on reload_dataloaders_every_epoch
With a basic Datamodule like:
class MyDM(pl.lightningDataModule):
    def __init__(self,):
        <init some stuff>

    def setup(self, stage:typing.Optional[str] = None):
        .... <sort out dataset etc>

   def train_dataloader(self):
         ....
   etc etc

model = MyModel()
data = MyDM()
trainer pl.Trainer(reload_dataloaders_every_n_epochs=5)
trainer.fit(model, data)

Does the flag reload_dataloaders_every_n_epochs=N cause data.setup() to be called every reload.
I expect my dataset to be constantly changing and am currently assuming that I can define anything I don't expect to be changing in init and anything I will need to change every N epochs in setup. A quick look at the pl.trainer source code (specifically the reset_train_dataloader method) doesn't immediately elucidate this for me.
no, it doesn't call setup at every reload, just the corresponding _dataloader hook. You can define the datasets in setup and access them inside dataloader_hooks or can initialize the corresponding dataset inside dataloader_hook as well.