Skip to content

Commit

Permalink
adding lot of cool emojis
Browse files Browse the repository at this point in the history
  • Loading branch information
Sajtospoga01 committed Dec 18, 2023
1 parent 90fc5d1 commit a6d10e9
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 18 deletions.
16 changes: 8 additions & 8 deletions docs/source/tips_and_recommendations/recommendation.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,23 @@
When you work with satellite imagery you usually work with multi/hyperspectral image data. Which means you have a lot of channels available to you which are to an extent related to each other. Such that network architectures that work well with RGB images might not work well with multi/hyperspectral images or there are likely better alternatives. Such that the process of experimentation is very important and differs from RGB processing.

1. Use simple pretrained model attach the required decoder onto it
- Make sure the that the model can generalize well on the data
- Make sure the that the model can generalize well on the data 📈
- Use PCA to reduce the number of channels to 3
2. Move away from the PCA approach and work with pure HSI Data
3. Adapt model architecture to fit the HSI data
- Take advantage of the spectral information (depth wise processing)
- Take advantage of the spectral information (depth wise processing) 💪

>**Note:** The Main point is to go from simple to complex, it is easier to identify issues that way.

### Resources

**Models:**
- Huggingface library
- Both PyTorch and Tensorflow has pretrained backbones available
- Huggingface 🤗 library
- Both 🔥 PyTorch and Tensorflow has pretrained backbones available

**Datasets:**
- DeepGlobe Land Cover Classification Challenge (RGB landcover dataset)
- Sentinel-2 dataset (MSI dataset)
- WHU-OHS dataset (HSI Landcover dataset)
- EnMAP (HSI dataset, has to be requested)
- DeepGlobe 🌍 Land Cover Classification Challenge (RGB landcover dataset)
- Sentinel-2 🛰️ dataset (MSI dataset)
- WHU-OHS 🧊 dataset (HSI Landcover dataset)
- EnMAP 📡 (HSI dataset, has to be requested)
2 changes: 1 addition & 1 deletion docs/source/tips_and_recommendations/tips_tree.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ tips and recommendations

.. mdinclude:: training.md

.. mdinclude:: recommendations.md
.. mdinclude:: recommendation.md
18 changes: 9 additions & 9 deletions docs/source/tips_and_recommendations/training.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ There are many visualizers but my recommendation is to either use:
- Tensorboard, which comes built in with tensorflow, can be only accessed locally
- Weights and Biases, which is a third party tool that can be used with any framework, accessible from the browser

**Overfitting:** Very common problem, where the model starts fitting the training data too well, and lacks generalization. Can be identified by looking at the training and validation loss, and seeing the validation loss increase while the training loss decreases.
**Overfitting 📈:** Very common problem, where the model starts fitting the training data too well, and lacks generalization. Can be identified by looking at the training and validation loss, and seeing the validation loss increase while the training loss decreases.

**Underfitting:** Another common problem, where the model is not complex enough to fit the data, or just the data has too much noise such the model can't generalise over it. Can be identified by having large errors on both the training and validation data.
**Underfitting 📉:** Another common problem, where the model is not complex enough to fit the data, or just the data has too much noise such the model can't generalise over it. Can be identified by having large errors on both the training and validation data.

**Vanishing gradient:** A problem that occurs when the gradient of the loss function is too small, and the model can't learn. Can be identified by looking at the gradients of the model, and seeing them get smaller and smaller.
**Vanishing gradient 👻:** A problem that occurs when the gradient of the loss function is too small, and the model can't learn. Can be identified by looking at the gradients of the model, and seeing them get smaller and smaller.

**Exploding gradient:** A problem that occurs when the gradient of the loss function is too large, and the model can't learn. Can be identified by looking at the gradients of the model, and seeing them get larger and larger.
**Exploding gradient 🤯:** A problem that occurs when the gradient of the loss function is too large, and the model can't learn. Can be identified by looking at the gradients of the model, and seeing them get larger and larger.

### Selecting hyperparameters
### Selecting hyperparameters 🤔
Hyperparameters are the parameters of the model that are passed by the user such as batch size, learning rate, etc...
General rule of thumb:
- Set learning rate to 0.001
Expand All @@ -26,15 +26,15 @@ General rule of thumb:

It is also recommended to calculate accuracy during training and validation, however in case of generative image tasks this becomes expensive.

### Data augmentation
### Data augmentation
Data augmentation is a technique used to increase the size of the dataset by applying transformations to the data, such as rotation, flipping, etc...
Many dataloader libraries have this built in, such as tensorflow, pytorch, and our utilities library.

### Transfer learning
### Transfer learning 🧠
Transfer learning is a technique used to use a model that was trained on a different task, and use it for a different task. This is done by removing the last layer of the model, and adding a new one, and training only the new layer. This is useful when the dataset is small, and the model is large, as it allows the model to learn from a larger dataset, and then fine tune it to the new task.

### Early stopping
### Early stopping
Early stopping is a technique used to stop training when the model stops learning. This is done by monitoring the validation loss, and stopping when it stops decreasing. This is useful to prevent overfitting, and to save time.

### Model checkpointing
### Model checkpointing 🚩
Model checkpointing is a technique used to save the model during training, so that it can be loaded later. This is useful to prevent losing progress.

0 comments on commit a6d10e9

Please sign in to comment.