'LightningShardedDataParallel' object has no attribute 'require_backward_grad_sync'
When trying to use sharded DDP with the latest Lightning version 1.2.6 and Fairscale 0.3.3, I get the following error. Note that I am also using manual optimization and disabling automatic, as I am training a GAN.
Traceback (most recent call last):
  File "run_train.py", line 41, in train
    trainer.fit(model, data_loader)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 499, in fit
    self.dispatch()
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 546, in dispatch
    self.accelerator.start_training(self)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/accelerators/accelerator.py", line 73, in start_training
    self.training_type_plugin.start_training(trainer)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 114, in start_training
    self._results = trainer.run_train()
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 637, in run_train
    self.train_loop.run_training_epoch()
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/trainer/training_loop.py", line 492, in run_training_epoch
    batch_output = self.run_training_batch(batch, batch_idx, dataloader_idx)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/trainer/training_loop.py", line 657, in run_training_batch
    self._curr_step_result = self.training_step(
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/trainer/training_loop.py", line 293, in training_step
    training_step_output = self.trainer.accelerator.training_step(args)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/accelerators/accelerator.py", line 156, in training_step
    return self.training_type_plugin.training_step(*args)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/plugins/training_type/ddp.py", line 297, in training_step
    return self.model(*args, **kwargs)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/fairscale/nn/data_parallel/sharded_ddp.py", line 223, in forward
    return self.module(*inputs, **kwargs)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/overrides/base.py", line 48, in forward
    output = self.module.training_step(*inputs, **kwargs)
  File "/home/timbrooks/code/human_gan/models/human_gan.py", line 121, in training_step
    self._discriminator_step(real_image, keypoints)
  File "/home/timbrooks/code/human_gan/models/human_gan.py", line 182, in _discriminator_step
    self.manual_backward(loss, optimizer)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/core/lightning.py", line 1228, in manual_backward
    self.trainer.train_loop.backward(loss, optimizer=None, opt_idx=None, *args, **kwargs)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/trainer/training_loop.py", line 782, in backward
    self.trainer.accelerator.backward(result, optimizer, opt_idx, should_accumulate, *args, **kwargs)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/accelerators/accelerator.py", line 254, in backward
    self.training_type_plugin.pre_backward(closure_loss, should_accumulate, optimizer, optimizer_idx)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/pytorch_lightning/plugins/training_type/ddp.py", line 283, in pre_backward
    if not self.lightning_module.automatic_optimization and self.model.require_backward_grad_sync:
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/fairscale/nn/data_parallel/sharded_ddp.py", line 362, in __getattr__
    return getattr(self.module, name)
  File "/home/timbrooks/anaconda3/envs/human_gan_fairseq/lib/python3.8/site-packages/torch/nn/modules/module.py", line 947, in __getattr__
    raise AttributeError("'{}' object has no attribute '{}'".format(
AttributeError: 'LightningShardedDataParallel' object has no attribute 'require_backward_grad_sync'