def METHOD_NAME(self,
                  scene: 'Scene',
                  chip_sz: int,
                  stride: Optional[int] = None) -> ObjectDetectionLabels:
    if stride is None:
        stride = chip_sz
    if self.learner is None:
        self.load_model()
    # Important to use self.learner.cfg.data instead of
    # self.learner_cfg.data because of the updates
    # Learner.from_model_bundle() makes to the custom transforms.
    base_tf, _ = self.learner.cfg.data.get_data_transforms()
    ds = ObjectDetectionSlidingWindowGeoDataset(
        scene, size=chip_sz, stride=stride, transform=base_tf)
    predictions: Iterator[Dict[str, 'np.ndarray']] = (
        self.learner.predict_dataset(
            ds,
            raw_out=True,
            numpy_out=True,
            predict_kw=dict(out_shape=(chip_sz, chip_sz)),
            progress_bar=True,
            progress_bar_kw=dict(desc=f'Making predictions on {scene.id}'))
    )
    labels = ObjectDetectionLabels.from_predictions(
        ds.windows, predictions)
    return labels