Ser*_*syn 3 machine-learning tensorflow pre-trained-model
通常像 VGG16 / Inception 等预训练的网络在低分辨率下工作,例如 < 500px。
是否可以在预训练的VGG16/Inception 的第一层之前添加一个(或两个)高分辨率卷积层,以使网络能够使用高分辨率图片?
据我所知 - 第一层最难训练,需要大量的数据和资源来训练它。
我想知道是否有可能冻结预训练的网络并仅在平均 GPU 卡上训练新连接的高分辨率层和大约 3000 个示例?可以在几个小时内完成吗?
另外,如果您知道如何使用高分辨率图像进行图像分类的任何示例,请分享链接。
聚苯乙烯
通常的缩小方法的问题在于,在我们的例子中,微小的裂缝或微小的污垢点等微小细节非常重要,它们会在低分辨率图像上丢失。
不幸的是,您不太可能冻结预训练的网络,然后在开始时只添加额外的层,因为初始层需要三个通道输入,并且旨在发现图像中的特征。
相反,您可以尝试修改网络的架构,以便在使用池化或跨步缩小之前,初始层确实接受 1024x1024 图像。
例如,您可以尝试将 Inception V3 的 Slim 模型定义中第一个 conv 层的步幅调整为 8 而不是 2:https : //github.com/tensorflow/models/blob/master/slim/nets/inception_v3 .py
这将允许您读取 4 倍大的图像,同时保持网络的其余部分相同。尽管不幸的是,我希望您需要进行全面的再培训。
| 归档时间: |
|
| 查看次数: |
1759 次 |
| 最近记录: |