win64下安装tensorflow+cuda+cudnn

python小白装tensorflow的心酸眼泪史

win64+pycharm+python3.6.6+cuda9.0+tensorflow1.10.0

一般来说,下载安装的顺序为:


Created with Raphaël 2.2.0 期待地开始 python3.× pycharm tensorflow(pip方式) cuda cudnn 悲伤和激动地结束

几个我借鉴的教程

  1. 【TensorFlow】Windows10 64 位下安装 TensorFlow - 官方原生支持:https://blog.csdn.net/u010099080/article/details/53418159

  2. windows下用pycharm安装tensorflow简易教程:https://blog.csdn.net/heros_never_die/article/details/79760616

  3. 解决Tensorflow 使用时cpu编译不支持警告:https://blog.csdn.net/Fourierrr_/article/details/79749899

下载时用到的官方网站

  1. 最重要的:一定一定要安装匹配的版本,在下网址中可以找到最新的互相匹配的版本
    https://github.com/fo40225/tensorflow-windows-wheel
    需要注意的是,目前(2018.9.19)tensorflow尚不支持python3.7,因此需要rensorflow的小伙伴们可能需要卸载重装py 。

    下图为该网站截图,可看出对应的版本笔者根据对应版本tensorflow1.10.0+cuda9.2进行安装后,编译时仍提示版本不正确,于是又重新装回9.0。
    就此次坎坷的安装经历来看,安装cuda9.0是最为保险的方法了。

图为该网站截图,可看出对应的版本
安装9.2的错误警告

下载tensorflow的cmd指令为:

pip install tensorflow-1.6.0-cp36-cp36m-win_amd64.whl

根据版本不同自行设置

2. 查询显卡信息、安装最新驱动https://www.nvidia.cn/Download/index.aspx?lang=cn

此页面可自动检测当前gpu型号,如果页面显示未安装java的话,换一个浏览器或手动检测此页面可自动检测当前gpu型号,如果页面显示未安装java的话,可以换一个浏览器或者进行手动检测

3. cuda下载(注意版本):**https://developer.nvidia.com/cuda-toolkit-archive

4. cudnn下载(需注册和填写问卷):**https://developer.nvidia.com/rdp/cudnn-download

一些注意事项

  1. 除版本问题外,cuda下载安装时,可以先把从官网上下载的exe文件用winrar解压,再用setup进行安装。这样可以节省时间(也可以直接双击安装,但系统会自动解压,如果安装出现问题重新安装,系统就会二次解压,浪费时间)
  2. cuda安装时可以选择自定义安装,选择安装内容时可以点+号来查看当前电脑版本和cuda提供版本的高低,当电脑版本高于提供版本时,完全没有必要对该项进行安装 (笔者为了方便,没有改默认路径)
  3. cuda不需要手动添加环境变量;cudnn需要,路径为解压后文件的bin目录
  4. 将cudnn的文件夹复制粘贴至cuda的安装根目录下,笔者的为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 5.2. 5.
  5. 若Tensorflow使用时,出现cpu编译不支持警告:Your CPU supports
    instructions that this TensorFlow binary was not compiled to use: AVX AVX2,解决方式为——
// 只需复制粘贴第二句即可
`import os  os.environ["TF_CPP_MIN_LOG_LEVEL"]='1' # 这是默认的显示等级,显示所有信息  
os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # 只显示 warning 和 Error   
os.environ["TF_CPP_MIN_LOG_LEVEL"]='3' # 只显示 Error`

没错,就是忽略它…笔者也尝试过重新安装最新版本cuda,发现最新版本不支持,再次装回原版本后警告便消失了…这可能就是玄学吧

附上测试代码

非原创,原博客地址在这里~ https://blog.csdn.net/william_hehe/article/details/79615894

// An highlighted block
import tensorflow as tf

with tf.device('/cpu:0'):
    a = tf.constant([1.0, 2.0, 3.0], shape=[3], name='a')

    b = tf.constant([1.0, 2.0, 3.0], shape=[3], name='b')

with tf.device('/gpu:1'):
    c = a + b

# 注意:allow_soft_placement=True表明:计算设备可自行选择,如果没有这个参数,会报错。

# 因为不是所有的操作都可以被放在GPU上,如果强行将无法放在GPU上的操作指定到GPU上,将会报错。

sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True))

# sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

sess.run(tf.global_variables_initializer())

print(sess.run(c))

结果为:[ 2. 4. 6.]

结语

嘤嘤嘤,我会好好学习的

猜你喜欢

转载自blog.csdn.net/weixin_43242897/article/details/82780163
今日推荐