代码之家  ›  专栏  ›  技术社区  ›  user239457

将TimeDistributed应用于Keras中的InceptionResnetV2时出错

  •  0
  • user239457  · 技术社区  · 6 年前
    x=Input(shape=(10,299,299,3))
    y=TimeDistributed(InceptionResnetV2(include_top=False,weights='./weights.h5'))(x)
    

    这就是我遇到的错误

    Failed to convert object of type <type 'tuple'> to Tensor. Contents: (-1, 10, None, None, 1536). Consider casting elements to a supported type.
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Daniel Möller    6 年前

    我不知道为什么会出现此错误,但可以使用以下解决方法:

    x=Input(shape=(10,299,299,3))
    
    #join the steps dimension with the samples dimension, the model won't see a difference    
    y=Lambda(lambda x: K.reshape(x,(-1,299,299,3)))(x)
    
    #use a regular inception model
    y = InceptionResNetV2(include_top=False,weights=None)(y)
    
    #bring back the hidden steps dimension
    y = Lambda(lambda x: K.reshape(x,(-1,10,8,8,1536)))(y)