I am kind of stuck here, hopefully someone can throw some light on it.
To demonstrate my problem I will try and simplify my network architecture for sake of convenience. I have a pipeline:
Training: input: 1024 x 2 x 64 x 64 (batchsize x numchannels x h x w) training-net: conn1 -> pool1 -> conn2 -> pool2 - > conn3 -> pool3 -> fc1 -> softmaxloss
Can I convert the "fc1" layer into "fullyconvolutional? The straightforward answer is "yes" by changing "fc1" type from "innerproduct" to "convolution" and add "deconvolution" layer. So my FCN-net: conn1 -> pool1 -> conn2 -> pool2 - > conn3 -> pool3 -> fc1(convolution) -> deconvlution
Here lies my problem, I do not want to train again.
I have lots of labelled "patch" data (64 x 64), so I need the training to work on my "training-net". My test data is one 1024x1024, I would like to use the trained-model on a my test image using "FCN-net".
Will trained parameters of "fc1" map onto "fc1(convolution)"?
or there is no other way but to re-train the FCN-net?
Let me know if you feel I need to add more details in order to better explain my problem.
I appreciate your help.
Note: I am using vanilla-caffe. Thank you,