I am using a custom dual branch architecture (that takes as input a frontal and lateral xray of the same patient) based on DenseNet121. I am using a Learner object and a custom ImageList.
This is how my architecture looks. The frontal and lateral branches are pretrained on ImageNet.
This is how I’ve tried to split the model after passing it to the learner:
learn = learn.split([[learn.model.frontal_cnn, learn.model.lateral_cnn], learn.model.joined_cnn])
Afterwards I ran the following code to find a good learning rate for my model:
learn.freeze() learn.lr_find(num_it = 300, wd=1e-4, end_lr=1000) learn.recorder.plot()
However this produces the following weird looking plot. Although I would like it to be true, I don’t thing 1e+2 is a good learning rate for my model.
If I unfreeze the whole network and try to find a good learning rate again, (using lr.unfreeze()) the plot looks normal.
Am I using the .split() function correctly? And if so, what happened with the first plot?