此文为交流群「TensorFlow群」呵呵哒贡献,自己在win10中安装时踩过的坑,希望还被这些问题困扰的小伙伴,看完此文后能豁然开朗,同时没有安装过的以后可能会用到的小伙伴,可以收藏下,以备后用。
就让我来为大家讲一下我的入坑历史吧。
「Tensorflow-gpu gtx1060 python3.7」
1确认GPU型号
划重点:查看电脑的GPU型号,小编的电脑的GPU型号,查看方法一:
查看方法二:
“右键点击桌面上的“此电脑”图标,在弹出菜单中选择“属性”菜单项。点击左侧边栏的“设备管理器”菜单项找到“显卡适配器”菜单项;点击前面的展开按钮,就可以看到电脑中安装的显卡驱动程序了;右键查看的显卡驱动程序,选择“属性”菜单项;点击详细信息”标签”
进入主题:咳咳咳,敲黑板了,划重点啦
2 方法一:pip安装
安装CUDA Toolkit cuDNN
注意:需要和你自己电脑的GPU的型号匹配(
https://developer.nvidia.com/cuda-toolkit-archive
)
由于小编的是GTX 1060型号的,所以根据官网上的提示对应找到合适的CUDA 和cuDNN分别是Toolkit 是cuda 9版本以及cudnn 7版本。
进入下载界面:选择好需要匹配的版本之后点击下载
下载cuDnn7.0,需要在nvidia上注册账号,使用邮箱注册就可以,免费的。登陆账号后可以下载。
cuDNN网址下载:
https://developer.nvidia.com/rdp/cudnn-archive
下载好了 CUDAToolkit 9.0 和 cuDnn7.0,下面开始安装。
「安装 CUDA Toolkit9.0 和 cuDnn 7.0」
常见安装失败的原因:已经安装了nvidia显卡驱动,再安装CUDAToolkit时,会因二者版本不兼容而导致CUDA无法正常使用。
安装之前需要卸载显卡驱动
这一步检测你的显卡是否支持CUDA
按照提示一步步通过即可安装成功
将这三个文件拷贝到CUDA安装的根目录下替换掉原始的文件
。
将这四个路径添加到环境变量中去,小编是默认路径安装的,如果不是默认路径的,要找到对应的路径再添加。
用pip install tensorflow-gpu安装
然后测试是否成功安装CUDA
好了,终于可以松一口气了。安装成功!!!
3 方法二:conda安装
第二种方法:conda install tensorflow-gpu
环境:anaconda
安装anaconda,这里我就不再详细描述了。
装好anaconda之后,然后将conda install tensorflow-gpu 根据Anaconda
https://www.anaconda.com/tensorflow-in-anaconda/
官网的提示:当使用conda通过命令“conda installtensorflow-gpu”安装GPU加速版本的TensorFlow时,这些库会自动安装,其版本已知与tensorflow-gpu软件包兼容。此外,conda将这些库安装到一个位置,在这个位置它们不会干扰可能通过其他方法安装的这些库的其他实例。
嘻嘻,然后小编就conda了一下:经过了一段漫长时间的等待,终于装好了
按照我预想的应该是可以成功的,但是。。。好吧,报错了
报错提示:
tensorflow.python.framework.errors_impl.InternalError:cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDAruntime version
原来是CUDA的驱动版本对于CUDA运行时版本是不够的。
好吧,又踩坑了,但是我还是很顽强的,似乎踩坑成了习惯,继续找解决掉。
既然是版本不够,那么就conda install cudatoolkit==9.0
这下就可以愉快的玩耍了,成功!!!(测试如上一样)
也可以自己激活一个环境,再进行conda,效果百试不爽喔!!!
步骤:
- condacreate -n tensorflow pip python=3.7
- activate tensorflow
- pip install tensorflow-gpu
(如果出现如上bug,则使用如下的解决方法,如果没有,就恭喜小伙伴你啦!!!)
conda install cudatoolkit==9.0
如果在使用tensorflow-gpu版本运行代码的时候:出现Blas GEMM launch failed,不要慌,
通过设定config为使用的显存按需自动增长,避免显存被耗尽,可进行有效的预防。
(https://blog.csdn.net/feixiang7701/article/details/81515447)
gpu_no = '0' # or '1'os.environ["CUDA_VISIBLE_DEVICES"]= gpu_no# 定义TensorFlow配置config = tf.ConfigProto()# 配置GPU内存分配方式,按需增长,很关键config.gpu_options.allow_growth = True# 配置可使用的显存比例config.gpu_options.per_process_gpu_memory_fraction= 0.1# 在创建session的时候把config作为参数传进去sess = tf.InteractiveSession(config =config)
推荐阅读:
15个Python数据分析函数
3招降服Python数据中的None值