blackfeather-wang / ISDA-for-Deep-Networks

An efficient implicit semantic augmentation method, complementary to existing non-semantic techniques.
582 stars 93 forks source link

Do we need to augment the label data as well? #16

Closed AndyChang666 closed 2 years ago

AndyChang666 commented 3 years ago

Thanks for sharing your code!!! I was wondering if I use your ISDA method to augment the training data for the Cityscapes' semantic segmentation task, do I need to augment the label data as well? Because after reading your code, I only found the augmented image data. Looking forward to your reply!

blackfeather-wang commented 3 years ago

Thank you for your attention. Indeed, as you noted, ISDA does not need to augment labels.

AndyChang666 commented 3 years ago

However, I am curious that if the background or visual angle is changed, will it still match the labeled data in semantic segmentation for calculating the loss function? Because I don't understand why it still can calculate the loss function. Thank you!

blackfeather-wang commented 3 years ago

Thank you for the comments. Background or visual angle is the example we use in image classification. In fact, the semantic directions we use are dynamically estimated according to intra-class statistics, and hence isda naturally does not affect the labels.

AndyChang666 commented 3 years ago

I get it! Thank you for explaining.

AndyChang666 commented 3 years ago

Hi, I use your method to train my model on a single 1080Ti. However, it always occurred CUDA out of memory error. Do you have any suggestions to solve this problem? Thank you.

blackfeather-wang commented 3 years ago

For one thing, it may be helpful if you could tell me which experiment do you run. For another, in fact, as this is caused by insufficient GPU memory, the most direct solution is to change larger GPUs. Most of the experiments in our paper are conducted with Tesla V100 GPUs (8 on ImageNet, 4 on Cityscapes and 1 on CIFAR/SVHN). Besides, you may use the mixed-precision training technique (e.g., using apex) to save memory.

AndyChang666 commented 3 years ago

I am training for semantic segmentation on the cityscapes dataset, and I have already used the apex for training. After it occurred CUDA out of memory error, I have tried to reduce the training image size from 10241024 to 512512, setting batch size from 4 to 2, and use two GPU to train(one 1080 Ti and one 2080Ti). However, all of the above methods are not helpful.