Ejemplo n.º 1
0
Archivo: nn.py Proyecto: ketranm/cgt
def conv2d_fft(x_BKRC, f_LKrc, subsample, pad):
    # TODO add shape assertion
    f_LKrc = cgt.flip(f_LKrc, [2,3])
    padnrows = size(x_BKRC, 2) + size(f_LKrc, 2) - 1
    padncols = size(x_BKRC, 3) + size(f_LKrc, 3) - 1
    tx = cgt.rfft(x_BKRC, (padnrows,padncols), (2,3))
    tf = cgt.rfft(f_LKrc, (padnrows,padncols), (2,3))
    out = cgt.irfft( cgt.einsum("BKrc,LKrc->BLrc",tx, tf), (2,3))
    out = out[:,:,pad[0]:(padnrows-pad[0]):subsample[0],pad[1]:(padncols-pad[1]):subsample[1]] #pylint: disable=E1127
    return out
Ejemplo n.º 2
0
Archivo: nn.py Proyecto: zclfly/cgt
def conv2d_fft(x_BKRC, f_LKrc, subsample, pad):
    # TODO add shape assertion
    f_LKrc = cgt.flip(f_LKrc, [2,3])
    padnrows = size(x_BKRC, 2) + size(f_LKrc, 2) - 1
    padncols = size(x_BKRC, 3) + size(f_LKrc, 3) - 1
    tx = cgt.rfft(x_BKRC, (padnrows,padncols), (2,3))
    tf = cgt.rfft(f_LKrc, (padnrows,padncols), (2,3))
    out = cgt.irfft( cgt.einsum("BKrc,LKrc->BLrc",tx, tf), (2,3))
    out = out[:,:,pad[0]:(padnrows-pad[0]):subsample[0],pad[1]:(padncols-pad[1]):subsample[1]] #pylint: disable=E1127
    return out
Ejemplo n.º 3
0
def rfft(x):
    if isinstance(x, np.ndarray):
        return np.real(np.fft.rfft2(x, (10, 10), [0, 1])).sum()
    else:
        return cgt.real(cgt.rfft(x, (10, 10), [0, 1])).sum()
Ejemplo n.º 4
0
def rfft(x):
    if isinstance(x, np.ndarray):
        return np.real(np.fft.rfft2(x,(10,10),[0,1])).sum()
    else:
        return cgt.real(cgt.rfft(x, (10,10), [0,1])).sum()