使用VGG16-Net训练高分辨率(4024 x 3036)图像需要多少计算能力?

时间:2018-12-07 13:16:01

标签: tensorflow keras

我正在使用在喀拉拉邦的VGG16-Net对高分辨率图像进行分类。 但是我无法使用尺寸超过(600 x 600)分辨率的图像在nVIDIA GeForce GTX 1080 GPU上使用批次大小1进行训练, 我遇到资源枯竭错误OOM,即无法分配形状为[18、64、600、600]的张量。 有人可以建议我任何解决方案吗? 我要使用大尺寸图像,因为我基于很小的差异将图像标记为好和不好。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

整个网络以及批处理数据必须能够适合VRAM。如果确实需要使用高分辨率图像,则需要使用较小的网络。 vgg-16既旧又低效,不建议用于新项目。您可以查找诸如mobilenetv2或mnasnet之类的东西,但不必记住,所有这些常用模型通常都针对600x600或更小尺寸进行了优化。出于兴趣,我尝试在非常高分辨率的图像上训练CNN,只是为了看看会发生什么,我发现,当然,如果图像中的所有特征都非常大,它们会缓慢地痛苦地训练并以非常低的精度运行。关于卷积滤波器,那么这些滤波器将无法使用它们。