向训练有素的YOLOV3模型添加新图层

时间:2020-06-08 13:58:42

标签: yolo

我遵循了来自Machinelearningmastery的教程来构建YOLOV3模型(“ https://machinelearningmastery.com/how-to-perform-object-detection-with-yolov3-in-keras/”)

YOLO从三个级别预测输出。这是在最后一层之后输出的层 型号=型号(input_image,[yolo_82,yolo_94,yolo_106] 返回模型

现在我要展平该层,添加一些完全连接的层,并在其顶部添加一个S型层

但是当我展平(flat1 = Flatten()(model.outputs))时,出现此错误

并收到此错误“ Layer flatten_1预期有1个输入,但收到3个输入张量。我理解为什么会显示此错误,因为model.outputs实际上是来自三层82、94和106的输出

所以我在想的是我应该分别从每一层获取输出并将它们分别展平,然后对它们进行np.stack,然后再次展平

out1= model.outputs[0]
out2 = model.outputs[1]
out3 = model.outputs[2]

stacked_outputs = np.stack((out1,out2,out3))

flat1 = Flatten(stacked_outputs)

我希望在网站机器学习精通中建立的yolov3模型的基础上实现二进制分类。如果有人可以指导我添加这些图层,那将非常有帮助

我是学习深度学习的新手,所以如果我的问题或提问方式太愚蠢,请原谅

0 个答案:

没有答案