我有一台规格如下的电脑:
- 处理器:AMD Ryzen Threadripper 2990wx(32核)
- 内存:32GB
- 图形卡:(GPU:1)GTX1080TI(11GB),(GPU:0)GTX1070(8GB)
- SSD:2TB三星Evo 890
我的问题是,当我在大约60k图像(GPU:1)上使用Keras运行我的训练程序时,程序加载图像,数据矩阵为12922.20MB
在此之后,程序一分钟内什么也不做,会自动终止。同样的代码似乎在GPU:1上进行训练,并且可以很好地处理10k图像
- 这可能是因为我的GPU:1只能存储11GB的数据,而数据大小约为12GB李>
- 并行GPU:1和GPU:0能解决我的问题吗?如果是,它是16GB的VRAM(8+8)还是19GB(11+8)李>
- 我做错什么了吗?我所指的职位是:https://www.pyimagesearch.com/2018/09/10/keras-tutorial-how-to-get-started-with-keras-deep-learning-and-python,稍作修改李>
我确实尝试过在线搜索等等,但是我找不到/不理解关于在使用多GPU和Keras时如何分配/扩展GPU内存的很多信息
任何帮助都将不胜感激
Tags:
我首先建议您在单个GPU上进行训练时检查内存使用情况;我怀疑您的数据集没有加载到GPU内存中,而是加载到RAM中
您可以尝试设置:
一,
检查以查看确切的映射(tensorflow可以看到您的GPU):
然后,在终端中,您可以使用
nvidia-smi
检查分配了多少GPU内存;同时,使用watch -n K nvidia-smi
使用多GPU时,请确保使用
tf.distribute.MirroredStrategy()
并声明模型创建+拟合逻辑,如下所示:超出战略范围
相关问题 更多 >
编程相关推荐