TensorFlow GPU out of memory

tensorflow(1050Ti 4G)预处理图片数据(共221M),包括转换类型(dtype)、形状(shape)等,运行一半时报错。

错误信息:E tensorflow/stream_executor/cuda/cuda_driver.cc:924] failed to alloc 17179869184 bytes on host: CUDA_ERROR_OUT_OF_MEMORY

网上说法:这是在没有设置任何GPU配置参数情况下报错的,原因是TensorFlow默认使用所有GPU资源,但是GPU内存占用快满时,系统会拒绝分配,所以TensorFlow抛出CUDA_ERROR_OUT_OF_MEMORY,要设置config.gpu_options.per_process_gpu_memory_fraction=0.8。然而照着他们的办法还是没解决。

实际上,我这里的原因是,我没有用TFrecord格式,而是直接把图片数据读取到内存进行处理,以至于图片数据总量大于已有gpu的内存大小,所以报错。

解决办法:把图片先转换成TFrecord格式再进行下一步处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容