Net surgery to FCN - am I doing it right?

52 views
Skip to first unread message

PJ

unread,
Jul 6, 2016, 2:39:04 AM7/6/16
to Caffe Users
Hi all,
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, 

Reply all
Reply to author
Forward
0 new messages