TensorFlow内存始终超过系统内存的10%

时间:2019-03-20 09:38:41

标签: python tensorflow

我正在尝试在本地运行WALSModel(请参阅colab)。

无论我尝试在哪个系统上运行,我总是会遇到分配错误。即它超过了系统内存的10%。

我尝试在GPU为8GB且内存为4GiB的普通系统上进行测试(说出需要4.5GiB进行分配)。然后,我在1070 GPU上的具有16GB内存和8GiB的系统上进行了尝试,它说它需要分配9.1GiB内存。我现在正在尝试在GPU上具有100GiB内存和16GiB的系统上,它说它需要17 GiB

尽管有警告,该模型仍将在CPU上运行,因为它实际上并不需要那么多(稍后对此进行更多介绍)。但是,使用GPU时,它将抛出错误,导致进程终止。

我在做什么错? (有关运行所需的所有代码,请参见colab

磁盘上的数据小于2GiB。因此,我不明白为什么它总是说它比可用资源至少多10%。特别是当在GPU上运行时,它说它试图分配4.5、9.1和17 GiB,然后当我在8、16、100 GiB ram上运行时,我仍然得到警告,即分配超过了系统内存的10%以上< / p>

安全规范

中央处理器
free -m
              total        used        free      shared  buff/cache   available
Mem:          95325       36405       30328         283       28591       57339
Swap:         96933         101       96832
显卡
name: Quadro GP100 major: 6 minor: 0 memoryClockRate(GHz): 1.4425
pciBusID: 0000:af:00.0
totalMemory: 15.90GiB freeMemory: 14.75GiB

数据详细信息

shape = (210000, 44000)
# SciPy coordinate form file on disk
1.903 GiB

日志详细信息

在GPU上运行
Allocator (GPU_0_bfc) ran out of memory trying to allocate 17.32GiB.  Current allocation summary follows.
在CPU上运行
W tensorflow/core/framework/allocator.cc:108] Allocation of 18599850000 exceeds 10% of system memory.

0 个答案:

没有答案