Comments (8)
@duany049 First of all, I think you should update the code. There is a bug in the native code that makes the weight of unsupervised loss is always 4 while it should be controlled by semi_wrapper.train_cfg.unsup_weight
.
Back to your case, the trend of the accuracy is determined mainly by the weight of unsupervised loss. When the weight is too large, the accuracy will go down first and raise later. So instead of adjusting the learning rate, I think you can adjust the weight at first. (Appending --cfg-options semi_wrapper.train_cfg.unsup_weight=<YOUR_WEIGHT>
to the training command and change the value)
from softteacher.
@duany049 First of all, I think you should update the code. There is a bug in the native code that makes the weight of unsupervised loss is always 4 while it should be controlled by
semi_wrapper.train_cfg.unsup_weight
.Back to your case, the trend of the accuracy is determined mainly by the weight of unsupervised loss. When the weight is too large, the accuracy will go down first and raise later. So instead of adjusting the learning rate, I think you can adjust the weight at first. (Appending
--cfg-options semi_wrapper.train_cfg.unsup_weight=<YOUR_WEIGHT>
to the training command and change the value)
OK.
I'll try you propose.I have two question, can you help me.
Q1: The final result is: unsup_acc: 94.8121, sup_acc: 94.1457; What should I do, increase the unsup_weight or lower it ?
Q2: How to confirm normal results? both unsup_acc and sup_acc indicators exceed 99, right?
from softteacher.
You can try to decrease it. But it may not reflect the real performance of the detector. So instead of tuning for better training acc, it Is better to prepare a validation set and see the true performance on the validation set. It is not necessary to tune the model for accuracy over 99.
from softteacher.
You can try to decrease it. But it may not reflect the real performance of the detector. So instead of tuning for better training acc, it Is better to prepare a validation set and see the true performance on the validation set. It is not necessary to tune the model for accuracy over 99.
Thank you.
This is the first time I use semi-supervised learning, I don't know if I understand it correctly.
Below is what I think:
Unlike the low precision of the training set in supervised learning, which means that the model fitting ability is insufficient, the low precision of the training set in semi-supervised learning is normal
Besides, I have two question for you:
Q1: If I have a large amount of unlabeled data, do I need to increase the sampling ratio of (unlabeled data / labeled data)
Q2: doese train.sample_ratio=[1, 1] represent labeld and unlabeled num respectively ?
from softteacher.
Q1: I think a larger sampling ratio is more efficient when the unlabeled data is far more than labeled data.
Q2: Yes. For example, if you change it to [1,2], then it will sample 1/3 labeled data and 2/3 unlabeled data in each batch.
from softteacher.
Q1: I think a larger sampling ratio is more efficient when the unlabeled data is far more than labeled data.
Q2: Yes. For example, if you change it to [1,2], then it will sample 1/3 labeled data and 2/3 unlabeled data in each batch.
Happy Mid-Autumn Festival~
Besides, unsup_weight have little effect on the final performance, it essentially adjust the learning rate of the model across different data sets, so I don't have much need to adjust them, do I ?
from softteacher.
It is hard to say the unsup_weight has little or heavy effect on the final performance. I think you should still try to adjust it when you find other factors are ready. ( Such as learning rate, pseudo label threshold, sampling ratio)
from softteacher.
It is hard to say the unsup_weight has little or heavy effect on the final performance. I think you should still try to adjust it when you find other factors are ready. ( Such as learning rate, pseudo label threshold, sampling ratio)
Thank you very much !
from softteacher.
Related Issues (20)
- Config files for evaluating the provided models
- 关于PseudoSamples
- colab
- Cascade RCNN with Soft Teacher does not run: _bbox_forward() missing 1 required positional argument: 'rois'
- 在compute_pseudo_label_loss()的时候已经对teacher生成的伪标签做了坐标变换,为什么在unsup_rcnn_cls_loss()的时候还要变换一次呢?
- 在代码中看到TrimapMasks这个类,是做半监督实例分割要用的吗
- How to calculate this parameter "epoch_length=7330" HOT 1
- sup_loss_bbox: nan and loss:nan HOT 1
- for instance segmentation
- Unable to train using 1 GPU HOT 5
- Welcome update to OpenMMLab 2.0
- ModuleNotFoundError: No module named 'ssod' HOT 1
- MMDetection v3.0
- sup:unsup
- 如何处理的student多次forward 的loss HOT 2
- by mistake
- how I can use this in dota datasets?
- if the batch is bigger , the training time is longer? HOT 1
- Environmental configuration
- > When I use mmdet 2.17, the problem is solved. HOT 1
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 softteacher.