def make_sparse_random_local(num_nonzero, input_space, output_space,
        kernel_shape, batch_size, \
        kernel_stride = (1,1), border_mode = 'valid', message = "", rng=None):
    raise NotImplementedError("Not yet modified after copy-paste from "
            "pylearn2.linear.conv2d_c01b")
    """ Creates a Conv2D with random kernels, where the randomly initialized
    values are sparse"""

    rng = make_np_rng(rng, default_sparse_seed, which_method=['randn','randint'])

    W = np.zeros(( output_space.num_channels, input_space.num_channels, \
            kernel_shape[0], kernel_shape[1]))

    def random_coord():
        return [ rng.randint(dim) for dim in W.shape ]

    for i in xrange(num_nonzero):
        o, ch, r, c = random_coord()
        while W[o, ch, r, c] != 0:
            o, ch, r, c = random_coord()
        W[o, ch, r, c] = rng.randn()


    W = sharedX( W)

    #return Conv2D(filters = W,
    #    batch_size = batch_size,
    #    input_space = input_space,
    #    output_axes = output_space.axes,
    #    kernel_stride = kernel_stride, border_mode = border_mode,
    #    filters_shape = W.get_value(borrow=True).shape, message = message)
.. todo::
dataset/ETHPy150Open lisa-lab/pylearn2/pylearn2/linear/local_c01b.py/make_sparse_random_local