def build_shared_network(self):
"""
This part contains trhe sharred params (conv layer) for both policy and value networks
Returns the shared output
"""
#from lasagne.layers import Conv2DLayer
l_in = lasagne.layers.InputLayer(
shape=(self.batch_size, self.history_length, self.img_height, self.img_width)
)
#l_in = lasagne.layers.ReshapeLayer(l_in, (1, self.history_length, self.img_height, self.img_width))
#l_conv1 = dnn.Conv2DDNNLayer(
l_conv1 = lasagne.layers.Conv2DLayer(
incoming=l_in,
num_filters=16,
filter_size=(8, 8),
stride=(4, 4),
nonlinearity=lasagne.nonlinearities.rectify,
W=lasagne.init.HeUniform(), # Defaults to Glorot
b=lasagne.init.Constant(.1)
#dimshuffle=True
)
#l1_out=l_conv1.get_output_shape_for((self.history_length, self.img_height , self.img_width))
#print "L1:", l1_out
l_conv2 = lasagne.layers.Conv2DLayer(
incoming=l_conv1,
num_filters=32,
filter_size=(4, 4),
stride=(2, 2),
nonlinearity=lasagne.nonlinearities.rectify,
W=lasagne.init.HeUniform(),
b=lasagne.init.Constant(.1)
#dimshuffle=True
)
#l2_out=l_conv2.get_output_shape_for(l1_out)
#print "L2:", l2_out
l_hidden1 = lasagne.layers.DenseLayer(
incoming=l_conv2,
num_units=256,
nonlinearity=lasagne.nonlinearities.rectify,
W=lasagne.init.HeUniform(),
b=lasagne.init.Constant(.1)
)
return l_hidden1
评论列表
文章目录