VoxelMorph代码出现 Resource exhausted: OOM

我的GPU版本是NVIDIA GeForce MX150,执行VoxelMorph代码时显示Resource exhausted: OOM when allocating tensor with shape[1,16,160,192,224] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc刚开始以为是batch_size太大,后来按照https://blog.csdn.net/weixin_41770169/article/details/80349088查看GPU占用率,发现GPU并没有被使用,GPU memory usage处显示N/A,即not available。
VoxelMorph代码出现 Resource exhausted: OOM_第1张图片
1.首先按照上述链接说明,使用如下命令

>>> import tensorflow as tf
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

发现我的GPU的计算能力是够的,大于gpu加速需要的最小cuda计算能力为3.0。
VoxelMorph代码出现 Resource exhausted: OOM_第2张图片
2.参照https://blog.csdn.net/weixin_45626238/article/details/104407986nvidia smi官方文档里给出了说明:
当显卡在window下以WDDM模式运行时,GPU memory usage项是not available。而想要以TCC模式运行的话,需要特定的显卡型号才行:
Note: NVIDIA GeForce GPUs (excluding GeForce GTX Titan GPUs) do not support TCC mode.
我的理解是,运算的时候确实调用了GPU了,但是这里nvidia driver是没有权限读取这一项的,此项由Windows KMD管理,所以显示为N/A。
3.由于疫情这段时间在家,考虑的解决方式要么购买一个云GPU,要么自己在虚拟机上安个Linux系统试试。

附录:nvidia-smi官方文档https://developer.download.nvidia.cn/compute/DCGM/docs/nvidia-smi-367.38.pdf
这里说明了除GeForce GTX Titan GPUs之外其他的NVIDIA GeForce GPUs不支持TCC模式
https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html

你可能感兴趣的:(VoxelMorph代码出现 Resource exhausted: OOM)