From def50b90a175cabe5f026a97a209789ce2300171 Mon Sep 17 00:00:00 2001 From: Benjamin Weinstein Date: Fri, 15 Nov 2024 20:17:51 -0800 Subject: [PATCH] Add an out of memory dataset (#831) * need to independently measure memory, close dataset each iteration and added test object --- MANIFEST.in | 1 + deepforest/data/deepforest_config.yml | 2 +- deepforest/data/test_tiled.tif | Bin 0 -> 147923 bytes deepforest/dataset.py | 67 ++++++++++++++++++++++++++ deepforest/main.py | 47 ++++++++++++++---- deepforest_config.yml | 2 +- tests/test_dataset.py | 28 +++++++++++ tests/test_main.py | 18 ++++++- 8 files changed, 151 insertions(+), 14 deletions(-) create mode 100644 deepforest/data/test_tiled.tif diff --git a/MANIFEST.in b/MANIFEST.in index 009b5940..a7bc07d2 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -11,6 +11,7 @@ include deepforest/data/2019_YELL_2_528000_4978000_image_crop2.xml include deepforest/data/2019_YELL_2_528000_4978000_image_crop2.png include deepforest/data/AWPE* include deepforest/data/example.csv +include deepforest/data/test_tiled.tif include LICENSE include dev_requirements.txt diff --git a/deepforest/data/deepforest_config.yml b/deepforest/data/deepforest_config.yml index 0a541578..ce314626 100644 --- a/deepforest/data/deepforest_config.yml +++ b/deepforest/data/deepforest_config.yml @@ -2,7 +2,7 @@ # Cpu workers for data loaders # Dataloaders -workers: 1 +workers: 0 devices: auto accelerator: auto batch_size: 1 diff --git a/deepforest/data/test_tiled.tif b/deepforest/data/test_tiled.tif new file mode 100644 index 0000000000000000000000000000000000000000..33ad487ccb1fa97d4346a96861011216dca603fb GIT binary patch literal 147923 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
pBo%n8 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 D1&jVD literal 0 HcmV?d00001 diff --git a/deepforest/dataset.py b/deepforest/dataset.py index d058fbd7..1cc595ce 100644 --- a/deepforest/dataset.py +++ b/deepforest/dataset.py @@ -26,6 +26,8 @@ from deepforest import preprocess from rasterio.windows import Window from torchvision import transforms +import slidingwindow +import warnings def get_transform(augment): @@ -153,6 +155,7 @@ def __init__(self, tile: an in memory numpy array. patch_size (int): The size for the crops used to cut the input raster into smaller pieces. This is given in pixels, not any geographic unit. patch_overlap (float): The horizontal and vertical overlap among patches + preload_images (bool): If true, the entire dataset is loaded into memory. This is useful for small datasets, but not recommended for large datasets since both the tile and the crops are stored in memory. Returns: ds: a pytorch dataset @@ -187,6 +190,70 @@ def __getitem__(self, idx): return crop +class RasterDataset: + """Dataset for predicting on raster windows. + + Args: + raster_path (str): Path to raster file + patch_size (int): Size of windows to predict on + patch_overlap (float): Overlap between windows as fraction (0-1) + Returns: + A dataset of raster windows + """ + + def __init__(self, raster_path, patch_size, patch_overlap): + self.raster_path = raster_path + self.patch_size = patch_size + self.patch_overlap = patch_overlap + + # Get raster shape without keeping file open + with rio.open(raster_path) as src: + width = src.shape[0] + height = src.shape[1] + + # Check is tiled + if not src.is_tiled: + raise ValueError( + "Out-of-memory dataset is selected, but raster is not tiled, " + "leading to entire raster being read into memory and defeating " + "the purpose of an out-of-memory dataset. " + "\nPlease run: " + "\ngdal_translate -of GTiff -co TILED=YES " + "to create a tiled raster") + # Generate sliding windows + self.windows = slidingwindow.generateForSize( + height, + width, + dimOrder=slidingwindow.DimOrder.ChannelHeightWidth, + maxWindowSize=patch_size, + overlapPercent=patch_overlap) + self.n_windows = len(self.windows) + + def __len__(self): + return self.n_windows + + def __getitem__(self, idx): + """Get a window of the raster. + + Args: + idx (int): Index of window to get + + Returns: + crop (torch.Tensor): A tensor of shape (3, height, width) + """ + window = self.windows[idx] + + # Open, read window, and close for each operation + with rio.open(self.raster_path) as src: + window_data = src.read(window=Window(window.x, window.y, window.w, window.h)) + + # Convert to torch tensor and rearrange dimensions + window_data = torch.from_numpy(window_data).float() # Convert to torch tensor + window_data = window_data / 255.0 # Normalize + + return window_data # Already in (C, H, W) format from rasterio + + def bounding_box_transform(augment=False): data_transforms = [] data_transforms.append(transforms.ToTensor()) diff --git a/deepforest/main.py b/deepforest/main.py index ffc46968..320beca0 100644 --- a/deepforest/main.py +++ b/deepforest/main.py @@ -468,6 +468,7 @@ def predict_tile(self, patch_size=400, patch_overlap=0.05, iou_threshold=0.15, + in_memory=True, return_plot=False, mosaic=True, sigma=0.5, @@ -490,6 +491,7 @@ def predict_tile(self, iou_threshold: Minimum iou overlap among predictions between windows to be suppressed. Lower values suppress more boxes at edges. + in_memory: If true, the entire dataset is loaded into memory, which increases speed. This is useful for small datasets, but not recommended for very large datasets. mosaic: Return a single prediction dataframe (True) or a tuple of image crops and predictions (False) sigma: variance of Gaussian function used in Gaussian Soft NMS thresh: the score thresh used to filter bboxes after soft-nms performed @@ -506,6 +508,10 @@ def predict_tile(self, - color: Deprecated bounding box color for visualizations. - thickness: Deprecated bounding box thickness for visualizations. + Raises: + - ValueError: If `raster_path` is None when `in_memory=False`. + - ValueError: If `workers` is greater than 0 when `in_memory=False`. Multiprocessing is not supported when using out-of-memory datasets, rasterio is not threadsafe. + Returns: - If `return_plot` is True, returns an image with predictions overlaid (deprecated). - If `mosaic` is True, returns a Pandas DataFrame containing the predicted @@ -530,15 +536,30 @@ def predict_tile(self, "Both tile and tile_path are None. Either supply a path to a tile on disk, or read one into memory!" ) - if raster_path is None: - self.image = image + if in_memory: + if raster_path is None: + image = image + else: + image = rio.open(raster_path).read() + image = np.moveaxis(image, 0, 2) + + ds = dataset.TileDataset(tile=image, + patch_overlap=patch_overlap, + patch_size=patch_size) else: - self.image = rio.open(raster_path).read() - self.image = np.moveaxis(self.image, 0, 2) + if raster_path is None: + raise ValueError("raster_path is required if in_memory is False") + + # Check for workers config when using out of memory dataset + if self.config["workers"] > 0: + raise ValueError( + "workers must be 0 when using out-of-memory dataset (in_memory=False). Set config['workers']=0 and recreate trainer self.create_trainer()." + ) + + ds = dataset.RasterDataset(raster_path=raster_path, + patch_overlap=patch_overlap, + patch_size=patch_size) - ds = dataset.TileDataset(tile=self.image, - patch_overlap=patch_overlap, - patch_size=patch_size) batched_results = self.trainer.predict(self, self.predict_dataloader(ds)) # Flatten list from batched prediction @@ -565,7 +586,7 @@ def predict_tile(self, if raster_path: tile = rio.open(raster_path).read() else: - tile = self.image + tile = image drawn_plot = tile[:, :, ::-1] drawn_plot = visualize.plot_predictions(tile, results, @@ -576,10 +597,16 @@ def predict_tile(self, for df in results: df["label"] = df.label.apply(lambda x: self.numeric_to_label_dict[x]) - # TODO this is the 2nd time the crops are generated? Could be more efficient. + # TODO this is the 2nd time the crops are generated? Could be more efficient, but memory intensive self.crops = [] + if raster_path is None: + image = image + else: + image = rio.open(raster_path).read() + image = np.moveaxis(image, 0, 2) + for window in ds.windows: - crop = self.image[window.indices()] + crop = image[window.indices()] self.crops.append(crop) return list(zip(results, self.crops)) diff --git a/deepforest_config.yml b/deepforest_config.yml index 5f28694a..fc8ef619 100644 --- a/deepforest_config.yml +++ b/deepforest_config.yml @@ -2,7 +2,7 @@ # Cpu workers for data loaders # Dataloaders -workers: 1 +workers: 0 devices: auto accelerator: auto batch_size: 1 diff --git a/tests/test_dataset.py b/tests/test_dataset.py index 0409aba2..a047db35 100644 --- a/tests/test_dataset.py +++ b/tests/test_dataset.py @@ -23,6 +23,9 @@ def multi_class(): return csv_file +@pytest.fixture() +def raster_path(): + return get_data(path='OSBS_029.tif') @pytest.mark.parametrize("csv_file,label_dict", [(single_class(), {"Tree": 0}), (multi_class(), {"Alive": 0, "Dead": 1})]) def test_tree_dataset(csv_file, label_dict): @@ -181,3 +184,28 @@ def test_bounding_box_dataset(): # Check the shape of the RGB tensor assert item.shape == (3, 224, 224) + +def test_raster_dataset(): + """Test the RasterDataset class""" + from deepforest.dataset import RasterDataset + import torch + from torch.utils.data import DataLoader + + # Test initialization and context manager + ds = RasterDataset(get_data("test_tiled.tif"), patch_size=256, patch_overlap=0.1) + + # Test basic properties + assert hasattr(ds, 'windows') + + # Test first window + first_crop = ds[0] + assert isinstance(first_crop, torch.Tensor) + assert first_crop.dtype == torch.float32 + assert first_crop.shape[0] == 3 # RGB channels first + assert 0 <= first_crop.min() <= first_crop.max() <= 1.0 # Check normalization + + # Test with DataLoader + dataloader = DataLoader(ds, batch_size=2, num_workers=0) + batch = next(iter(dataloader)) + assert batch.shape[0] == 2 # Batch size + assert batch.shape[1] == 3 # Channels first \ No newline at end of file diff --git a/tests/test_main.py b/tests/test_main.py index 94b52301..3e9dd7c8 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -269,12 +269,20 @@ def test_predict_tile_empty(raster_path): predictions = m.predict_tile(raster_path=raster_path, patch_size=300, patch_overlap=0) assert predictions is None -def test_predict_tile(m, raster_path): +@pytest.mark.parametrize("in_memory", [True, False]) +def test_predict_tile(m, raster_path, in_memory): m.create_model() m.config["train"]["fast_dev_run"] = False m.create_trainer() + + if in_memory: + raster_path = raster_path + else: + raster_path = get_data("test_tiled.tif") + prediction = m.predict_tile(raster_path=raster_path, patch_size=300, + in_memory=in_memory, patch_overlap=0.1) assert isinstance(prediction, pd.DataFrame) @@ -283,6 +291,12 @@ def test_predict_tile(m, raster_path): } assert not prediction.empty +# test equivalence for in_memory=True and False +def test_predict_tile_equivalence(m): + raster_path = get_data("test_tiled.tif") + in_memory_prediction = m.predict_tile(raster_path=raster_path, patch_size=300, patch_overlap=0, in_memory=True) + not_in_memory_prediction = m.predict_tile(raster_path=raster_path, patch_size=300, patch_overlap=0, in_memory=False) + assert in_memory_prediction.equals(not_in_memory_prediction) @pytest.mark.parametrize("patch_overlap", [0.1, 0]) def test_predict_tile_from_array(m, patch_overlap, raster_path): @@ -634,4 +648,4 @@ def test_predict_tile_with_crop_model(m, config): assert set(result.columns) == { "xmin", "ymin", "xmax", "ymax", "label", "score", "cropmodel_label", "geometry", "cropmodel_score", "image_path" - } + } \ No newline at end of file