当我在TimeDistributed包装器中尝试使用Inception时,我在Keras面临一个非常奇怪的错误 .

这段代码很简单,应该适用于许多模型或层,但奇怪的是, inception_v3 在预测时失败了:

import numpy as np
from keras.applications import inception_v3
from keras.layers import *
from keras.models import Model

imgShape = (299,299,3)
seqShape = (2,299,299,3)
incept = inception_v3.InceptionV3(weights=None, include_top=False)

inputs = Input(seqShape)
outputs = TimeDistributed(incept)(inputs)
model = Model(inputs,outputs)

在我尝试预测某些事情之前,一切都很完美:

pred = model.predict(np.ones((1,2,299,299,3)))

错误是:

InvalidArgumentError(参见上述用于回溯):必须喂为占位符张量 'batch_normalization_1 / keras_learning_phase' 的值与D型细胞布尔[[节点:batch_normalization_1 / keras_learning_phase = Placeholderdtype = DT_BOOL,形状=,_device =“/作业:本地主机/复制品: 0 /任务:0 /装置:CPU:0" ]]

对此有何解决方案?

使用 Keras 2.1.0Tensorflow 1.4.0 .