def METHOD_NAME(x, w, b, base_axis, pad, stride, dilation,
                                 multiplier):
    """ implement depthwise convolution by using normal convolution
    with group = inmaps """
    # insert second dimension to weights
    w = np.expand_dims(w, axis=1)
    y = []
    for xx in x.reshape((-1,) + x.shape[base_axis:]):
        groups = xx.shape[0]
        yy = refs.convolution_2d(xx, w, b, pad, stride, dilation, groups)
        y.append(yy[np.newaxis])
    y = np.vstack(y)
    return y.reshape(x.shape[:base_axis] + y.shape[1:])