[detectron2]each time I added the RandomCrop augmentation loss function became Nan or Infinity

here is My personal mapper for augmentation

def mapper(dataset_dict):
    dataset_dict = copy.deepcopy(dataset_dict)  # it will be modified by code below
    image = utils.read_image(dataset_dict["file_name"], format="BGR")    

    transform_list = [
                     #T.Resize((800,800)),
                     T.ResizeShortestEdge(short_edge_length=(640, 672, 704, 736, 768, 800), max_size=1333, sample_style='choice')
                     ,T.RandomApply(T.RandomFlip(prob=0.5, horizontal=True, vertical=False),prob=0.3)
                     ,T.RandomApply(T.RandomRotation((-10,10)),prob=0.4)
                     ,T.RandomApply(T.RandomSaturation(0.8, 1.2),prob=0.3)
                     ,T.RandomApply(T.RandomBrightness(0.8, 1.2),prob=0.2)
                     ,T.RandomApply(T.RandomContrast(0.6, 1.3),prob=0.2)
                     ,T.RandomApply(T.RandomLighting(0.7),prob=0.4)

                      ]
    image, transforms = T.apply_transform_gens(transform_list, image)
    dataset_dict["image"] = torch.as_tensor(image.transpose(2, 0, 1).astype("float32"))

    annos = [
        utils.transform_instance_annotations(obj, transforms, image.shape[:2])
        for obj in dataset_dict.pop("annotations")
        if obj.get("iscrowd", 0) == 0
    ]

    instances = utils.annotations_to_instances(annos, image.shape[:2])
    dataset_dict["instances"] = instances
    return dataset_dict

Here so far no problem
but when I add the

#,T.RandomApply(T.RandomCrop('relative_range', (0.4, 0.6)),prob=0.05)
to the augmentation loss become diverged and show Nan or infinity number.

and here is my configuration for detectron2

import os
from detectron2.data import DatasetMapper, build_detection_train_loader   # the default mapper
import detectron2.data.transforms as T
## Adding the new CascadeDropoutROIHeads to the config file

cfg = get_cfg()
cfg.merge_from_file(model_zoo.get_config_file("Misc/cascade_mask_rcnn_R_50_FPN_3x.yaml"))
cfg.DATASETS.TRAIN = ("kogas_train",)
cfg.DATASETS.TEST = ("kogas_test",)
cfg.TEST.EVAL_PERIOD = 200

cfg.DATALOADER.NUM_WORKERS = 4
cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url("Misc/cascade_mask_rcnn_R_50_FPN_3x.yaml")  # Let training initialize from model zoo
cfg.SOLVER.IMS_PER_BATCH = 12#6

cfg.SOLVER.MAX_ITER = 15000    # Need to train longer
cfg.MODEL.RESNETS.DEPTH = 50 #RESNET 50,101
cfg.SOLVER.CHECKPOINT_PERIOD = 200

#cfg.MODEL.ROI_HEADS.NAME= "CascadeROIHeads"

cfg.MODEL.ROI_HEADS.NUM_CLASSES = 4  # 4 classes
cfg.MODEL.MASK_ON = False
cfg.OUTPUT_DIR = save_path

cfg.SOLVER.LR_SCHEDULER_NAME = 'WarmupCosineLR'
cfg.SOLVER.BASE_LS = 0.0001

os.makedirs(cfg.OUTPUT_DIR, exist_ok=True)    
dataloader = build_detection_train_loader(cfg, mapper=mapper2)
trainer = CocoTrainer(cfg)
trainer.resume_or_load(resume=False)