Closed chaochao42 closed 3 years ago
Hi, thanks for your question.
Strictly speaking, it is better not to touch the validation set during training, which is actually the testing set in semi-supervised semantic segmentation. However, previous works such as Context-aware Consistency also validate the model every few epochs.
Besides, I want to note that in most settings, the performance of the final epoch is comparable to the best model during training. You can simply use the final model for evaluation.
In your code, when running "Total stage 1: Supervised training on labeled images (SupOnly)", it gets best model by evaluating on validate dataset. I want to know is it fair to use the information provided by validate dataset to select best model? I think in training stage all you have is labeled and unlabeled training dataset.