In your conv2d_keep_shape function which I copied below what is the purpose of the image_shape and filter_shape args?
def conv2D_keep_shape(x, w, image_shape, filter_shape, subsample=(1, 1)):
# crop output to same size as input
fs = T.shape(w)[2] - 1 # this is the filter size minus 1
ims = T.shape(x)[2] # this is the image size
return theano.sandbox.cuda.dnn.dnn_conv(img=x,
kerns=w,
border_mode='full',
subsample=subsample,
)[:, :, fs/2:ims+fs/2, fs/2:ims+fs/2]
The parameters exist when you call the function every time you want to do a convolution, but they aren't being used in anyway. For example:
self.h = conv2D_keep_shape(in_x, self.w0, image_shape=[batchsize, self.w0.shape.eval()[1], imsize[0], imsize[1]], filter_shape=self.w0.shape.eval())
Are they intended to be used somehow or is this a remnant of old code being refactored? I ask because I implemented this architecture in TensorFlow and am attempting to replicate the results.
In your
conv2d_keep_shapefunction which I copied below what is the purpose of theimage_shapeandfilter_shapeargs?The parameters exist when you call the function every time you want to do a convolution, but they aren't being used in anyway. For example:
Are they intended to be used somehow or is this a remnant of old code being refactored? I ask because I implemented this architecture in TensorFlow and am attempting to replicate the results.