时间分布密集层中每个元素的打印损失计算

时间:2019-05-12 23:18:08

标签: keras

我有一个视频序列,我正在尝试预测其帧。以下是我的模型的样子:

vision_model = Sequential()
vision_model.add(Conv2D(8, (3, 3), activation='sigmoid', padding='same', input_shape=(128, 64, 1)))
vision_model.add(MaxPooling2D((2, 2)))
vision_model.add(Flatten())
input_frames=Input(shape=(None,128,64,1))
x=TimeDistributed(vision_model)(input_frames)
x=LSTM(32,activation="sigmoid")(x)
x=RepeatVector(10)(x)
x_l=LSTM(32,return_sequences=True,activation="sigmoid")(x)
x=TimeDistributed(Dense(128*64,activation="sigmoid"),name="main_output")(x_l)
model=Model(inputs=input_frames,outputs=x) 
model.compile(loss={"main_output": "binary_crossentropy"}, optimizer='adam',metrics=['accuracy'])     

该模型的输出为10帧(尽管展平)。它可以编译并正常工作。我希望将这10帧中的每一个都打印出来。我想到的一种方式是通过以下方式:

out_frames=[]
lossdict={}
for i in range(10): 
    out_frames.append(Dense(128*64,activation="sigmoid"),name="main_output")(x_l)  
    lossdict["main_loss_"+str(i)]="binary_crossentropy"

现在的问题是,除了现在的10倍之外,密集输出仍然是(无,10,8192),这显然是错误的。

0 个答案:

没有答案