CosmiQ / solaris

CosmiQ Works Geospatial Machine Learning Analysis Toolkit
https://solaris.readthedocs.io
Apache License 2.0
411 stars 112 forks source link

Error while fine-tuning the XDXD_SpaceNet4 model for Spacenet 2 dataset #421

Open AnshMittal1811 opened 3 years ago

AnshMittal1811 commented 3 years ago
  File "train.py", line 25, in <module>
    train()
  File "train.py", line 19, in train
    xdxd_trainer.train()
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/solaris/nets/train.py", line 123, in train
    for batch_idx, batch in enumerate(self.train_datagen):
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 435, in __next__
    data = self._next_data()
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 475, in _next_data
    data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/solaris/nets/datagen.py", line 343, in __getitem__
    mask = imread(self.df['label'].iloc[idx])
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/solaris/utils/io.py", line 52, in imread
    im_arr = skimage.io.imread(path)
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/skimage/io/_io.py", line 48, in imread
    img = call_plugin('imread', fname, plugin=plugin, **plugin_args)
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/skimage/io/manage_plugins.py", line 209, in call_plugin
    return func(*args, **kwargs)
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/skimage/io/_plugins/imageio_plugin.py", line 10, in imread
    return np.asarray(imageio_imread(*args, **kwargs))
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/imageio/core/functions.py", line 265, in imread
    reader = read(uri, format, "i", **kwargs)
  File "/root/anaconda3/envs/solaris/lib/python3.7/site-packages/imageio/core/functions.py", line 182, in get_reader
    "Could not find a format to read the specified file in %s mode" % modename
ValueError: Could not find a format to read the specified file in single-image mode

The Yaml file used for training is given below:


model_path:
train: true
infer: true

pretrained: false
nn_framework:  torch
batch_size: 6

data_specs:
  width: 512
  height:  512
  image_type: zscore
  dtype: uint16
  rescale: false
  rescale_minima: auto
  rescale_maxima: auto
  channels: 3
  label_type: mask
  is_categorical: false
  mask_channels: 1
  val_holdout_frac: 0.025
  data_workers:

training_data_csv: 'train.csv'
validation_data_csv:
inference_data_csv: 'test.csv'

training_augmentation:
  augmentations:
    SwapChannels:
      axis: 2
      first_idx: 0
      second_idx: 2
      p: 1.0
    HorizontalFlip:
      p: 0.5
    RandomRotate90:
      p: 0.5
    RandomCrop:
      height: 512
      width: 512
      p: 1.0
    Normalize:
      mean:
        - 0.008168729867753285
        - 0.00925316105319106
        - 0.006374030239981403
      std:
        - 0.0015652700379067738
        - 0.0015060764772977708
        - 0.0008859458739022634
      max_pixel_value: 65535.0
      p: 1.0
  p: 1.0
  shuffle: true
validation_augmentation:
  augmentations:
    SwapChannels:
      axis: 2
      first_idx: 0
      second_idx: 2
      p: 1.0
    CenterCrop:
      height: 512
      width: 512
      p: 1.0
    Normalize:
      mean:
        - 0.008168729867753285
        - 0.00925316105319106
        - 0.006374030239981403
      std:
        - 0.0015652700379067738
        - 0.0015060764772977708
        - 0.0008859458739022634
      max_pixel_value: 65535.0
      p: 1.0
  p: 1.0
inference_augmentation:
  augmentations:
    SwapChannels:
      axis: 2
      first_idx: 0
      second_idx: 2
      p: 1.0
    Normalize:
      mean:
        - 0.008168729867753285
        - 0.00925316105319106
        - 0.006374030239981403
      std:
        - 0.0015652700379067738
        - 0.0015060764772977708
        - 0.0008859458739022634
      max_pixel_value: 65535.0
      p: 1.0
  p: 1.0
training:
  epochs:  300
  steps_per_epoch:
  optimizer: Adam
  lr: 1e-5
  opt_args:
  loss:
    bcewithlogits:
    jaccard:
  loss_weights:
    bcewithlogits: 10
    jaccard: 2.5
  metrics:
    training:
    validation:
  checkpoint_frequency: 10
  callbacks:
    model_checkpoint:
      filepath: 'models/xdxd_best.pth'
      monitor: val_loss
  model_dest_path: 'models/xdxd_final.pth'
  verbose: true

inference:
  window_step_size_x:
  window_step_size_y:
  output_dir: 'inference_out/'