我正在使用tensorflow-gpu创建模型。但是由于OOM,它在sess.run上出错。该模型与tensorflow cpu一起运行,所以我猜我的vram对我的模型来说还不够大。 我的Gpu是具有11GB内存的1080TI。
现在,我正在尝试找出模型中使用的大量内存的位置。 但是我很难理解错误消息:
:
:
I tensorflow/core/common_runtime/bfc_allocator.cc:917] 3 Chunks of size 354418688 totalling 1014.00MiB
I tensorflow/core/common_runtime/bfc_allocator.cc:917] 1 Chunks of size 364904448 totalling 348.00MiB
I tensorflow/core/common_runtime/bfc_allocator.cc:917] 2 Chunks of size 708837376 totalling 1.32GiB
I tensorflow/core/common_runtime/bfc_allocator.cc:921] Sum Total of in-use chunks: 9.63GiB
I tensorflow/core/common_runtime/bfc_allocator.cc:923] total_region_allocated_bytes_: 10382655488 memory_limit_: 10382655488 available bytes: 0 curr_region_allocation_bytes_: 17179869184
I tensorflow/core/common_runtime/bfc_allocator.cc:929] Stats:
Limit: 10382655488
InUse: 10340384000
MaxInUse: 10340384000
NumAllocs: 1249
MaxAllocSize: 708837376
我现在的问题是: 使用中的块的总和是多少?
什么是total_region_allocated_bytes,这是当前与tensorflow一起使用的数据量,限制是vram大小(11GB),所以整个10.3 GiB都被填满->这表明没有更多vram可用,因此我们有OOM吗?
curr_region_allocation_bytes_的17GiB是什么。这是模型的固定大小吗,如果我有一个带有17GIB Vram的GPU,该模型就不会OOM吗?