python - 使用卷积层训练的权重来处理不同的图像大小
问题描述
我想使用 vgg-16 的前三个卷积层来生成特征图。但我想将它与可变图像大小一起使用,即不是 224x224 或 256x256 的 imagenet 大小。例如 480x640 或任何其他随机图像尺寸。
由于卷积层与图像空间大小无关,我如何使用权重来改变图像大小?那么我们如何使用 vgg-16 的预训练权重到前三个卷积层。请让我知道这是否可能。
解决方案
As convolution layer are independent of image size
实际上,它比这更复杂。内核本身与图像大小无关,因为我们将其应用于每个像素。事实上,这些内核的训练可以重复使用。
但这意味着输出大小取决于图像大小,因为这是每个输入像素从层中馈出的节点数。因此,即使特征提取器是独立的,密集层也不适合您的图像。
因此,您需要对图像进行预处理以适应第一层的大小,或者从头开始重新训练密集层。
当人们谈论“迁移学习”时,这就是人们几十年来在细分中所做的事情。你重用最好的特征提取器,然后用这些特征训练一个专用模型。
推荐阅读
- python - Python 中的一个衬垫需要用 if-else 替换 for 循环以更改数据帧中的值
- angular - 角 ngOnInit()
- django - 如何使用Django外循环的值访问内循环
- java - Mysql 与 Spring Boot 连接困难
- amazon-web-services - 从现有 Amazon Aurora 实例创建新的加密实例
- java - 加载资源失败:net::ERR_FILE_NOT_FOUND 但数据已加载
- plone - 克隆 FormGen 覆盖主题行
- three.js - 三个 JS Material 看当前 div 背后
- ruby - 在一个范围内生成随机数对
- laravel - Laravel黄昏在textarea中看不到文字