AKS*_*HAN 8 python convolution neural-network keras
有人可以告诉我什么include_top = True意味着在keras中定义模型?
我在Keras文档中读到了这一行的含义.它说include_top:是否在网络顶部包含完全连接的层.
我仍然在寻找这行代码的直观解释.
ResNet50(include_top=True)
Run Code Online (Sandbox Code Playgroud)
谢谢!
Dan*_*ler 21
这些模型中的大多数是一系列卷积层,后面是一个或几个密集(或完全连接)的层.
Include_top 让您选择是否需要最终的密集层.
卷积层用作特征提取器.它们识别图像中的一系列图案,并且每个图层可以通过查看图案的图案来识别更精细的图案.
密集的层能够解释找到的模式以便分类:这个图像包含猫,狗,汽车等.
关于重量:
卷积层中的权重是固定大小的.它们是内核x过滤器的大小.示例:10个过滤器的3x3内核.卷积层不关心输入图像的大小.它只是进行卷积并根据输入图像的大小呈现结果图像.(如果不清楚,搜索有关卷积的一些插图教程)
现在,密集层中的权重完全取决于输入大小.它是输入的每个元素的一个权重.因此,这要求您的输入始终具有相同的大小,否则您将无法获得正确的学习权重.
因此,删除最后的密集层允许您定义输入大小(请参阅文档).(并且输出大小将相应地增加/减少).
但是你失去了解释/分类层.(您可以添加自己的,具体取决于您的任务)
阅读文档可以使您有所了解,您也可以使用代码。具有include_top=True意味着将在模型的末尾添加一个完全连接的层。如果希望模型实际执行分类,通常这就是您想要的。使用include_top=True可以指定参数classes(1000对于ImageNet,默认为)。使用include_top=False,该模型可用于特征提取,例如构建自动编码器或将其他任何模型堆叠在其上。请注意,input_shape和pooling参数只能在include_topis 时指定False。
| 归档时间: |
|
| 查看次数: |
5372 次 |
| 最近记录: |