paper_plots.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:gconv_experiments 作者: tscohen 项目源码 文件源码
def testplot_p4(im=None, r=0):
    if im is None:
        im = np.zeros((5, 5), dtype='float32')
        im[0:5, 1] = 1.
        im[0, 1:4] = 1.
        im[2, 1:3] = 1.

    from groupy.gfunc.z2func_array import Z2FuncArray
    from groupy.garray.C4_array import C4Array
    def rotate_z2_func(im, r):
        imf = Z2FuncArray(im)
        rot = C4Array([r], 'int')
        rot_imf = rot * imf
        return rot_imf.v

    im = rotate_z2_func(im, r)

    filter1 = np.array([[-1., 0., 1.],
                        [-2., 0., 2.],
                        [-1., 0., 1.]]).astype(np.float32)
    filter2 = rotate_z2_func(filter1, 1)
    filter3 = rotate_z2_func(filter1, 2)
    filter4 = rotate_z2_func(filter1, 3)

    from chainer.functions import Convolution2D
    from chainer import Variable
    im = im.astype(np.float32)
    pad = 2
    imf1 = Convolution2D(in_channels=1, out_channels=1, ksize=3, bias=0., pad=pad, initialW=filter1)(
        Variable(im[None, None])).data[0, 0]
    imf2 = Convolution2D(in_channels=1, out_channels=1, ksize=3, bias=0., pad=pad, initialW=filter2)(
        Variable(im[None, None])).data[0, 0]
    imf3 = Convolution2D(in_channels=1, out_channels=1, ksize=3, bias=0., pad=pad, initialW=filter3)(
        Variable(im[None, None])).data[0, 0]
    imf4 = Convolution2D(in_channels=1, out_channels=1, ksize=3, bias=0., pad=pad, initialW=filter4)(
        Variable(im[None, None])).data[0, 0]

    return im, np.r_[[imf1, imf2, imf3, imf4]]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号