1. 目的
在循环中,从硬盘中读取每个batch 的图片。
2. 错误步骤及原因
图片截取从here。
3. 修改方法
- 方法一:可以将图片数据预处理部分不使用 tensor ,用的python 常见的numpy 等类型,这样就不会产生新的tensor 结点。
- 方法二:使用 tf.train.batch 等函数。
4. 调试测试函数
- 查看显卡显存使用量
import pynvml
pynvml.nvmlInit()
handle = pynvml.nvmlDeviceGetHandleByIndex(0) # 第0块显卡
meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)
print(meminfo.used) # 查看显卡显存使用量
- 查看内存变量类型引用次数(当前次数 ,增加次数)
import gc
import objgraph
gc.collect() # 变量回收
objgraph.show_growth() #显示当前变量类型引用次数 及增加引用次数
objgraph.show_most_common_types(limit=50) #显示引用次数最多的50个变量类型