def build_context_network(downsample):
if not isinstance(downsample, lasagne.layers.Layer):
l_in = lasagne.layers.InputLayer((None, 1, downsample_rows, downsample_cols), downsample)
else:
l_in = downsample
first_conv = lasagne.layers.Conv2DLayer(l_in,
context_number_of_convolving_filters,
context_convolving_filter_size,
stride = 1,
pad = 'same',
nonlinearity = nl.rectify)
first_pool = lasagne.layers.MaxPool2DLayer(first_conv, context_pool_rate)
second_conv = lasagne.layers.Conv2DLayer(first_pool,
context_number_of_convolving_filters,
context_convolving_filter_size,
stride = 1,
pad = 'same',
nonlinearity = nl.rectify)
second_pool = lasagne.layers.MaxPool2DLayer(second_conv, context_pool_rate)
third_conv = lasagne.layers.Conv2DLayer(second_pool,
context_number_of_convolving_filters,
context_convolving_filter_size,
stride = 1,
pad = 'same',
nonlinearity = nl.rectify)
third_pool = lasagne.layers.MaxPool2DLayer(third_conv, context_pool_rate)
fc = lasagne.layers.DenseLayer(third_pool,
glimpse_output_size*recurrent_output_size,
nonlinearity = nl.rectify)
output = lasagne.layers.ReshapeLayer(fc, (-1, glimpse_output_size, recurrent_output_size))
return output
评论列表
文章目录