def ConvUp_single(a_gp, f_gp, moduleStride, paddingStart): assert f_gp.shape[3] == 1 f_16 = gp.zeros((f_gp.shape[0], f_gp.shape[1], f_gp.shape[2], 16)) f_16[:, :, :, :1] = f_gp q_gp = ConvNet.convUp(a_gp, f_16, moduleStride=moduleStride, paddingStart=paddingStart) return q_gp[:1, :, :, :]
def ConvUp(images, filters, moduleStride, paddingStart): if filters.shape[3] == 1: filters_16 = gp.zeros( (filters.shape[0], filters.shape[1], filters.shape[2], 16)) filters_16[:, :, :, :1] = filters out = ConvNet.convUp(images, filters_16, moduleStride=moduleStride, paddingStart=paddingStart) return out[:1, :, :, :] elif filters.shape[3] == 3: filters_16 = gp.zeros( (filters.shape[0], filters.shape[1], filters.shape[2], 16)) filters_16[:, :, :, :3] = filters out = ConvNet.convUp(images, filters_16, moduleStride=moduleStride, paddingStart=paddingStart) return out[:3, :, :, :] elif filters.shape[3] % 16 == 0: return ConvNet.convUp(images, filters, moduleStride, paddingStart) else: raise Exception("Filters Mode 16")