def gcn_block(inputs,
num_class,
kernel_size,
scope=None):
with tf.variable_scope(scope, 'gcn_block', [inputs]):
with slim.arg_scope([slim.conv2d],
padding='SAME',
activation_fn=None,
normalizer_fn=None,
normalizer_params=None,
weights_initializer=tf.contrib.layers.xavier_initializer(),
weights_regularizer=tf.contrib.layers.l2_regularizer(0.0001),
biases_initializer=tf.zeros_initializer(),
biases_regularizer=tf.contrib.layers.l2_regularizer(0.0002)):
left_conv1 = slim.conv2d(inputs, num_class, [kernel_size, 1])
left_conv2 = slim.conv2d(left_conv1, num_class, [1, kernel_size])
right_conv1 = slim.conv2d(inputs, num_class, [1, kernel_size])
right_conv2 = slim.conv2d(right_conv1, num_class, [kernel_size, 1])
result_sum = tf.add(left_conv2, right_conv2, name='gcn_module')
return result_sum
评论列表
文章目录