Hey guys,
I am trying to do the following but I am new to PyTorch and the tutorial about transfer learning is really a rare special case and I cannot find the information I need in order to apply my problem and setup onto it.
What I want to do is:
I have a large dataset and I want to use most of alexnets pretrained weights and finetune.
What I want to do in steps:

Remove last FC layer from alexnet and implement my own FC layer with 10 classes but the activation function should be sigmoid.
I want to freeze all other weights and only train the model for the new FC layer I created above.
My images are grayscale (1 channel) and 256x256 size, so how do I handle this and what do I have to change because I think the models are trained with 3 channel RGB images and usually another size like 224x224. I cannot change the size of my images because I am supposed to stick to that size.

My ideas:

Load the Alexnet model (with pretrained = True).
Freeze all parameters/weights.
Remove last FC layer and replace by my own 10 class FC layer.
Normalise the output of the FC layer and apply sigmoid onto it.
Change the activation function of that FC layer above to sigmoid and get rid of the dropout in the Alexnet.
Access the forward function of Alexnet and do something like x = torch.cat((x,x,x), 0) in
in order to create a fake RGB image.

But I do not know how to stick these concepts together.
Help highly appreciated and thank you!
Thank you!