def cnn_network(self, units, n_layers, filter_width):
"""Assemble Convolutional neural network
Args:
units: input units to be convolved with kernels
n_layers: number of layers
filter_width: width of the filter (kernel)
Returns:
units: output units of the CNN
auxiliary_outputs: auxiliary outputs from every layer
"""
n_filters = units.get_shape().as_list()[-1]
auxiliary_outputs = []
for n_layer in range(n_layers):
units = tf.layers.conv1d(units,
n_filters,
filter_width,
padding='same',
name='Layer_' + str(n_layer),
activation=None,
kernel_initializer=xavier_initializer())
auxiliary_outputs.append(units)
units = tf.nn.relu(units)
return units, auxiliary_outputs
评论列表
文章目录