在这里记录一下自己在服务器上跑tensorflow程序一直不调用GPU而用cpu的解决过程:
一开始跑程序,我发现特别的慢,跑了一天才跑了三分之一,后面用nvidia-smi查看GPU使用情况,发现压根没有用GPU跑,然后再用top查看,发现一直再用cpu跑。。。
首先在网上查阅资料发现自己没有在环境里装tensorflow-gpu版,再次运行程序,接着用nvidia-smi查看,这个程序的进程出现在了里面,但是。。。却没有GPU-Util却为0%,Memory-Usage也只为62MiB/11441MiB,很是疑惑。
接着检查cuda版本,为10.1,网上说和tensorflow1.15.0不匹配,好吧,我再重新在我的用户下配cuda10.0(教程)。配置完毕后,再次运行,结果还是一样,GPU-Util却为0%,Memory-Usage也只为62MiB/11441MiB。然后我又配置了cuda9.0,一样还是不行。后面再网上查阅资料说时batch_size太小有可能会导致这种情况,我又重新调batch_size重新跑,但是还是一样结果。
经过这么多次失败,但最终还是成功了!原因竟然是tensorflow-gpu要用conda来下载,而不是pip(额,,,,很是无语,完全没有想到会是这个原因),最终成功调用了GPU(太难了)。