在使用tensorflow,使用GPU加速执行代码时,中途报的错(个人通过查阅资料得知好像是显存爆了)
Bug信息:
tensorflow.python.framework.errors_impl.InternalError: Failed copying input tensor from /job:localhost/replica:0/task:0/device:CPU:0 to /job:localhost/replica:0/task:0/device:GPU:0 in order to run _EagerConst: Dst tensor is not initialized.
还请各位朋友可以指点一下,分享一下自己的解决办法,谢谢~
ps:已经尝试了指定特定GPU的方法,但是没有效果
以下答案引用自GPT-3大模型,请合理使用:
。
一、错误原因
在使用tensorflow,使用GPU加速执行代码时,中途报的错(个人通过查阅资料得知好像是显存爆了)
Bug信息:tensorflow.python.framework.errors_impl.InternalError: Failed copying input tensor from /job:localhost/replica:0/task:0/device:CPU:0 to /job:localhost/replica:0/task:0/device:GPU:0 in order to run _EagerConst: Dst tensor is not initialized.
二、解决办法
1、检查显存情况
显存爆了是导致上述错误的主要原因,因此需要先检查显存情况。可以使用“free -m”命令查看显存情况。
2、调整GPU显存大小
如果检查显存情况显示显存已满,则需要调整GPU显存大小。可以通过“nvidia-smi”命令调整GPU显存大小。
3、重启计算机
重启计算机后再次尝试执行代码。
把报错发给我看一下
1,使用gc库,将 gc.collect()放在迭代的循环中,让它在每次迭代后清理GPU。https://blog.csdn.net/chen_nnn/article/details/125735284
2,或者减小batch_size和样本数量
4,或者降tf到2.5.0
3,或者试下可以像他这样解决 https://stackoverflow.com/questions/62916904/failed-copying-input-tensor-from-cpu-to-gpu-in-order-to-run-gatherve-dst-tensor