python小白装tensorflow的心酸眼泪史
重装系统后:
win64+pycharm+python3.7(Anaconda)+cuda10.0+tensorflow1.13.1
win64+pycharm+python3.6.6+cuda9.0+tensorflow1.10.0
一般来说,下载安装的顺序为:
Created with Raphaël 2.2.0 期待地开始 python3.× pycharm tensorflow(pip方式) cuda cudnn 悲伤和激动地结束
几个我借鉴的教程
- 【TensorFlow】Windows10 64 位下安装 TensorFlow - 官方原生支持:
- windows下用pycharm安装tensorflow简易教程:
- 解决Tensorflow 使用时cpu编译不支持警告:
- 在已安装python3.7的环境基础上,安装Anaconda环境的完整教程
- win10安装tensorflow-gpu1.13.1+cuda10.0+cudnn7.3.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是最为保险的方法了。
下载tensorflow的cmd指令为:
pip install tensorflow-1.6.0-cp36-cp36m-win_amd64.whl pip install tensorflow-gpu==1.13.1
通过国内镜像(豆瓣)下载pip install -i https://pypi.doubanio.com/simple/ tensorflow-gpu==1.13.1
根据版本不同自行设置
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
一些注意事项
- 除版本问题外,cuda下载安装时,可以先把从官网上下载的exe文件用winrar解压,再用setup进行安装。这样可以节省时间(也可以直接双击安装,但系统会自动解压,如果安装出现问题重新安装,系统就会二次解压,浪费时间)
- cuda安装时可以选择自定义安装,选择安装内容时可以点+号来查看当前电脑版本和cuda提供版本的高低,当电脑版本高于提供版本时,完全没有必要对该项进行安装 (笔者为了方便,没有改默认路径)
- cuda不需要手动添加环境变量;cudnn需要,路径为解压后文件的bin目录
- 将cudnn的文件夹复制粘贴至cuda的安装根目录下,笔者的为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 5.2. 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,发现最新版本不支持,再次装回原版本后警告便消失了…这可能就是玄学吧
附上测试代码
非原创,原博客地址在这里~
// 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.]
pytorch
在anaconda建立新环境并激活
activate Pytorch_envs
从pytorch下载对应cuda版本
在新环境pip install这两个文件
最后验证是否成功
import torch
print(torch.__version__)
print(torch.cuda.is_avaiable())