创建一个将零通道添加到我的张量的图层

时间:2019-03-27 23:49:31

标签: python image keras layer

我正在研究DCSCN(用于图像超级还原的神经网络),并且我想根据Alex Kendall和Yarin Gal方法评估贝叶斯深度学习中用于计算机视觉的不确定性中的不确定性吗?使用Keras。

为此,我需要一个具有张量形状(?,n,m,3)的层,并返回带有(?,n,m,-1)的张量(?,n,m,4)的张量零。

我尝试了此功能:

def AddChan(**kwargs):

    def layer(x):
        input_shape = K.int_shape(x)
        output_shape = (input_shape[0], input_shape[1],input_shape[2],1)
        z = K.zeros(output_shape)
        res = K.concatenate([x, z], axis=-1)
        return res
    return Lambda(layer, **kwargs)

提高:

Expected int32, got None of type '_Message' instead.

我认为这是因为input_shape[0]是动态的,但是我看不到获得我想要的东西的另一种方法。

有人有想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试将K.int_shape替换为K.shape,以获得张量或变量的符号形状,而不是整数形状。