liyunsheng13 / BDL

MIT License
222 stars 30 forks source link

quick question #48

Closed ms888ekb closed 3 years ago

ms888ekb commented 3 years ago

Hello,

In this scenario (mentioned in the previous post):

1) train CycleGAN to get translated images (2) train BDL.py to get segmentation model with the translated images and source images, (3) train SSL.py to get pseudo-labels and refine the segmentation model. (4) retrain CycleGAN with an additional perceptual loss.

Do "train CycleGAN" mean one-batch iteration (A - B - A, B - A - B) or complete training phase with 20 epochs?

Thank you.

liyunsheng13 commented 3 years ago

It means retraining cyclegan for 20 epochs.

ms888ekb commented 3 years ago

Thank you for the quick response! And "train BDL.py" means the same - to train segmentation model through the full training dataset, not only a single batch, correct?

liyunsheng13 commented 3 years ago

Yes

ms888ekb commented 3 years ago

Great, Thank you. I already implemented the whole forward pass (I'm working with geospatial data), now I'm thinking about how to add perceptual loss to the CycleGAN model again. Once we've done the whole forward-direction training, we get:

Do I understand right that to acquire the perceptual loss while the second CycleGAN training phase, we need: Do one step of CycleGAN and infer S -> S'. Then pass S and S' to the already pre-trained adaptation segmentation M network, get the outputs and calculate the perceptual loss?

liyunsheng13 commented 3 years ago

Yes, your understanding is correct. You can refer to the folder of cyclegan I uploaded to check the implementation detail.