我正在寻找一个大型的人脸识别网络。 Resnet或VGG-16 / 19。 TensorFlow 1.14
我的问题是-如果我的GPU内存用完了-对一组图层进行逐层训练是否有效?
例如,将2个cnn和maxpooling层作为一组训练,然后以某种方式“冻结权重”并训练下一组等等。
我知道我可以在tensorflow上使用多GPU训练,但是如果我只想坚持使用一个GPU该怎么办。
答案 0 :(得分:1)
通常的方法是使用迁移学习:使用预训练的模型并针对任务进行微调。
为了对计算机视觉进行微调,一种已知的方法是仅重新训练最后几层。参见例如:
https://www.learnopencv.com/keras-tutorial-fine-tuning-using-pre-trained-models/
答案 1 :(得分:0)
我可能是错的,但即使您冻结了权重,它们仍然需要加载到内存中(您需要进行整个前向传递以计算损失)。
>对此表示赞赏。