Unet_learner with a Resnet + metric + lr_find for epochs

Hey there,
I’m working on some Generative Vision Network. (or else GAN, forgot its meaning). The inputs are images, and the outputs are images as well. It’s not classification, nor regression but making changes to an image.

I got a few Qs:

  1. If I use unet_learner, but choose models.resnet18, does it mean that my learner object is made of an Unet architecture or of a Resnet of 18 layers architecture?
  2. What metric should I use then? I’ve looked here:
    Metrics | fastai
    But I guess that all of the classification metrics are irrelevant.
  3. I know that I can use lr_find() method to find the best learning rate. But how can I find the sufficient number of epochs needed?


this is my understanding:

  1. if you choose resnet18 in the context of a Unet, resnet18 will be your “encoder”. Immagine your architecture is like a “U”, the encoder is the first half of the U, the decoder is the second half.

  2. you talked about GAN (general adversarial network) so you need a “generative” model that generates your images using some kind of loss like MSE, and a second model called “Critic” that try to understand if the generated images are “fake” or real and this in some way is another loss function. Training that is kind difficult and tedious. A different solution I would suggest to check is this:
    Google Colaboratory

it uses another kind of loss called “feature loss” and it could be easier for you to fit your task.

  1. I think the best way is try and see if you could train more (it doesn’t underfit yet).
    You could also use some callback to check if you need to train more or it is better to stop.
    check here:
    Tracking callbacks | fastai
1 Like