import tensorflow as tf

        # convolve w and input
        conv = tf.nn.conv2d(
            name='conv',
            input=X,
            filter=W,
            strides=[1, 1, 1, 1],
            padding='VALID')
        
        #add bias of size = out cannels
        b = tf.get_variable(
            name='b',
            shape=[num_filter],
            initializer=tf.constant_initializer(0.0))

        H = tf.nn.bias_add(
            name='H',
            value=conv,
            bias=b)
        
        # Apply nonlinearity
        H = tf.nn.relu(H, name="relu")
        
        # max pool
        pooled = tf.nn.max_pool(H,
