关注&置顶“Charlotte数据挖掘”
每日9:00,干货速递!
不知道大家在训练深度学习模型时有没有遇见过这种情况:设置的batch_size明明不大,譬如32或者16,但是怎么一跑模型,GPU的显存就占满了呢?原来我使用Tensorflow的训练的时候发现是这样,后来我使用PaddlePaddle的时候也是这样,我以为是框架本身出了问题,但是仔细研究后才发现,其实这两种框架都是在跑模型的时候,默认设置会把你的GPU显存占满,需要手动去调整。具体如何优化呢,我把两个框架的优化方式都分享给大家~
Tensorflow的显存设置
1.设置指定GPU运行
a)在外部设置
如果电脑有多个GPU,tensorflow默认全部使用。如果想只使用部分GPU,可以设置CUDA_VISIBLE_DEVICES即可,如下:
CUDA_VISIBLE_DEVICES=1 python train.py
b)在python内部设置制定GPU
import osos.environ["CUDA_VISIBLE_DEVICES"] = "1"
2.设置Tensorflow使用的显存大小
a)按固定比例设置
譬如我们设置分配给GPU的显存大小是0.7,可以按如下方式