# Asymmetric convolution (5x1) layer_name = "s2_conv1_2" with tf.name_scope(layer_name): W = utils.weight_variable([5, 1, ch[1], ch[1]]) b = utils.bias_variable([ch[1]]) conv = utils.conv2d(s2_conv1_1, W, b, 1) tanh = tf.nn.tanh(conv) s2_conv1_2 = tf.nn.dropout(tanh, keep_prob) # Dilated convolution (rate 2) layer_name = "s2_conv2_1" with tf.name_scope(layer_name): W = utils.weight_variable([1, 5, ch[1], ch[1]]) b = utils.bias_variable([ch[1]]) conv = utils.conv2d_dilated(s2_conv1_2, W, b, 2) tanh = tf.nn.tanh(conv) s2_conv2_1 = tf.nn.dropout(tanh, keep_prob) # Asymmetric convolution (1x5) layer_name = "s2_conv3_1" with tf.name_scope(layer_name): W = utils.weight_variable([1, 5, ch[0], ch[1]]) b = utils.bias_variable([ch[1]]) conv = utils.conv2d(s2_conv2_1, W, b, 1) tanh = tf.nn.tanh(conv) s2_conv3_1 = tf.nn.dropout(tanh, keep_prob) # Asymmetric convolution (5x1)