Comments (4)
Join the discussion on DagsHub!
from super-gradients.
Hi @antopost .
Unfortunately, this feature is not available.
But as you suggested, a small change to the function you were pointing to will do the trick.
@staticmethod
def target_transform(target):
"""
target_transform - Transforms the sample image
This function overrides the original function from SegmentationDataSet and changes target pixels with value
255 to value = CITYSCAPES_IGNORE_LABEL. This was done since current IoU metric from torchmetrics does not
support such a high ignore label value (crashed on OOM)
:param target: The target mask to transform
:return: The transformed target mask
"""
out = SegmentationDataSet.target_transform(target)
out[out == 255] = CITYSCAPES_IGNORE_LABEL
# if 4, 6, 7, 8 are values you would like to ignore:
out[out == 4] = CITYSCAPES_IGNORE_LABEL
out[out == 6] = CITYSCAPES_IGNORE_LABEL
out[out == 7] = CITYSCAPES_IGNORE_LABEL
out[out == 8] = CITYSCAPES_IGNORE_LABEL
return out
from super-gradients.
One thing you need to consider.
Your data needs to have at least two classes (CITYSCAPES_IGNORE_LABEL is not considered a class).
if you remove ALL classes but the road, you may want to use the mapping instead of the CITYSCAPES_IGNORE_LABEL.
map all labels to one label (i.e. label 1) that you will consider to be the background
from super-gradients.
Thanks, @ofrimasad
For the case of binary segmentation, the following worked for me:
CITYSCAPES_IGNORE_LABEL = 1 # default: 19
@staticmethod
def target_transform(target):
"""
target_transform - Transforms the sample image
This function overrides the original function from SegmentationDataSet and changes target pixels with value
255 to value = CITYSCAPES_IGNORE_LABEL. This was done since current IoU metric from torchmetrics does not
support such a high ignore label value (crashed on OOM)
:param target: The target mask to transform
:return: The transformed target mask
"""
out = SegmentationDataSet.target_transform(target)
keep_labels = (0,) # road
for lb in keep_labels:
out[out != lb] = CITYSCAPES_IGNORE_LABEL
# invert labels (works only for binary segmentation)
out = (out - 1.) * (-1.)
return out
from super-gradients.
Related Issues (20)
- Visibility flag in label data HOT 3
- Model training on offline machine HOT 2
- Detection in video frame by frame HOT 1
- YOLO-NAS-POSE doesn't work with GPU HOT 8
- Colab notebook update for YOLO NAS QAT as per bugs 1197, 1370 and version compatibility issue
- ERROR: Failed building wheel for pycocotools HOT 1
- pip install super-gradients failed HOT 2
- AttributeError: 'YoloNAS_S' object has no attribute 'model' HOT 4
- Error with Model Loaded from Checkpoint HOT 5
- Get loss and evaluation values=0 when training yolonas with custom dataset HOT 1
- image not identified error with model.predict()
- import super_gradients error in jupyter notebook while working fine in commmand line HOT 1
- AttributeError: 'Grayscale' object has no attribute 'apply_to_sample'AttributeError: 'Grayscale' object has no attribute 'apply_to_sample' HOT 1
- Using DetectionMetricsDistanceBased as a metric throws error - KeyError: '[email protected]' HOT 5
- Logging image bbox predictions during training TensorBoard or Weights and Biases HOT 1
- Import failing when torch.distributed is not available HOT 3
- Error on using YoloXDetectionLoss with YOLO-NAS HOT 3
- Segmentation fault reported in DDP training for YOLO NAS on custom dataset
- Error when trying downgrading super-gradients version HOT 2
- Save the quantized YoloNAS model HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from super-gradients.