我可以逐层训练Keras / TF模型吗?

时间:2019-09-14 15:50:11

标签: tensorflow keras gpu resnet vgg-net

我正在寻找一个大型的人脸识别网络。 Resnet或VGG-16 / 19。 TensorFlow 1.14

我的问题是-如果我的GPU内存用完了-对一组图层进行逐层训练是否有效?

例如,将2个cnn和maxpooling层作为一组训练,然后以某种方式“冻结权重”并训练下一组等等。

我知道我可以在tensorflow上使用多GPU训练,但是如果我只想坚持使用一个GPU该怎么办。

2 个答案:

答案 0 :(得分:1)

通常的方法是使用迁移学习:使用预训练的模型并针对任务进行微调。

为了对计算机视觉进行微调,一种已知的方法是仅重新训练最后几层。参见例如:
https://www.learnopencv.com/keras-tutorial-fine-tuning-using-pre-trained-models/

答案 1 :(得分:0)

我可能是错的,但即使您冻结了权重,它们仍然需要加载到内存中(您需要进行整个前向传递以计算损失)。

>

对此表示赞赏。