Skip To Content

Fine-tune the model

You can fine-tune the Prithvi - Flood Segmentation model to suit your geographic area, imagery, or features of interest. Fine-tuning a model requires less training data, computational resources, and time compared to training a new model.

Fine-tuning the model is recommended if you do not get satisfactory results from the available ArcGIS pretrained deep learning models. This can happen when your area of interest falls outside the applicable geographies for the models or if your imagery properties such as resolution, scale, and seasonality are different.

You can use the Export Training Data For Deep Learning tool to prepare training data. Next, you can fine-tune this model on your data using the Train Deep Learning Model tool in ArcGIS Pro. Follow the steps below to fine-tune the model.

Prepare training data

This model is trained on the six bands composite of either Harmonized Landsat 8 (HLSL30) or Harmonized Sentinel 2 (HLSS30) and flood labels. Use the Export Training Data For Deep Learning tool to prepare training data for fine-tuning the model.

  1. Browse to Tools under the Analysis tab.
    Tools button
  2. Click the Toolboxes tab in the Geoprocessing pane, select Image Analyst Tools, and browse to the Export Training Data For Deep Learning tool in the Deep Learning toolset.
    Export Training Data For Deep Learning
  3. Set the variables under the Parameters tab as follows:
    1. Input Raster—Select the six-band imagery. For more details regarding input raster, refer to Recommended imagery configuration.
    2. Output Folder—Select a directory on your machine.
    3. Input Feature Class Or Classified Raster Or Table (optional)—Select the labeled feature class or classified raster representing water.

      The feature class should also have a text field named ClassName with value set to Water.

    4. Class Value Field— If a feature class is used in the preceding step, set the ClassValue field to 1.
    5. Image Format—Select TIFF format.
    6. Tile Size X—Use a tile size that is appropriate for your specific use case and aligns with the model's context requirements.

      In this case, 224 will be used.

    7. Tile Size Y—Use a tile size that is appropriate for your specific use case and aligns with the model's context requirements.

      In this case, 224 will be used.

    8. Stride X—Type 0.
    9. Stride Y—Type 0.
    10. Metadata Format—Select Classified Tiles.
      Export Training Data for Deep Learning tool parameters
  4. Set the variables under the Environments tab.
    1. Processing Extent—Select Current Display Extent or any other option from the drop-down menu as needed.
    2. Cell Size—Set the value to the desired cell size.
      Export Training Data For Deep Learning tool parameters on the Environments tab
  5. Click Run.

    Once processing is complete, the exported training data is saved in the specified directory.

Fine-tune the Prithvi - Flood Segmentation model

Complete the following steps to fine-tune the model using learn module of ArcGIS API for Python:

  1. Browse to Tools under the Analysis tab.
    Tools button
  2. In the Geoprocessing pane, click the Toolboxes tab and expand Image Analyst Tools. Select the Train Deep Learning Model tool under Deep Learning.
    Train Deep Learning Model tool
  3. Set the variables under the Parameters tab as follows:
    1. Input Training Data—Use the path to your exported training data from the previous step.
    2. Output Folder—Select a directory on your machine.
    3. Max Epochs (optional)—Type 20 or the number of iterations you want to fine-tune the model for.

      Epoch is the number of iterations the tool will take to go over the data.

    4. Model Type— Select MMSegmentation (Pixel classification) from the drop down list.
    5. Model Arguments— Type prithvi100m for model.
    6. Stop when model stops improving—Check the box.
    7. Freeze Model—Check the box.
      Train Deep Learning Model Parameters tab
  4. Set the variables under the Environments tab.
    1. Processor Type—Select CPU or GPU as needed.

      If GPU is available, it is recommended that you select GPU and set GPU ID to the GPU to be used.

      Environments tab of Train Deep Learning Model tool
  5. Click Run.

    You can now use this model to run inferencing against your imagery.