0. 写在最前!

使用GPU训练深度学习模型时,软件配置的顺序应该是

安装anaconda

安装显卡驱动

查看最新版的tensorflow的对应CUDA和cuDNN版本

安装指定版本的Nvidia CUDA

替换cuDNN补丁

如果CUDA与cuDNN与tensorflow的版本不一样,那就要从CUDA安装重头来过,需要严格一致,没有向下兼容一说

目的:为python环境安装tensorflow-gpu(GPU版本下的tensorflow,相比于CPU版本下的tensorflow,运行速度更快)

安装tensorflow-gpu全记录

  • 0. 写在最前!
  • 1. 获取tensorflow的对应版本
  • 插曲1:卸载miniconda,下载anaconda
  • 卸载miniconda
  • 下载anaconda
  • 配制anaconda
  • 检查环境配置是否成功
  • 2. 使用conda环境下载tensorflow
  • 插曲2:修改虚拟环境的创建位置
  • 3. 检查安装效果
  • 4. 测试tensorflow-gpu是否安装成功
  • 插曲3 删除已经安装的tensorflow-gpu,并重新安装更低版本的tensorflow-gpu
  • 插曲4 更换CUDA和cuDNN的版本,使之与tensorflow匹配
  • 卸载CUDA
  • 安装CUDA
  • 安装cuDNN
  • 重新在python环境中测试
  • 5. 测试GPU的运算速度
  • 6. 总结
  • 1. 获取tensorflow的对应版本

    https://tensorflow.google.cn/install/source_windows?hl=en#gpu
    

    下载的tensorflow需与CUDA和cuDNN对应
    以下是我的版本信息

    操作系统 CUDA cuDNN python 显卡
    win10 12.2.0 8.9.2 3.9.10 Nvidia GeForce RTX 3050 Laptop GPU

    所以我选择安装的版本是:tensorflow_gpu-2.10.0

     pip install tensorflow_gpu==2.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simple #参考的教程中用的
    

    使用pip安装,但是我想查看pip安装位置在哪,如果在C盘的话,内存就不够了,要改一下pip下载的位置

    在cmd中输入conda list时,报错,信息如下

    上网搜索方法,大概是一个权限文件出错了(应该是.condarc文件,一般在"C:\Users\DELL.condarc")。之前我清理C盘的时候可能误清理了一些其他文件,所以需要重装一下conda,正好以前装的是miniconda,现在直接装一个anaconda在D盘吧。

    插曲1:卸载miniconda,下载anaconda

    参考的是这个博主的笔记:https://blog.csdn.net/fan18317517352/article/details/123035625

    卸载miniconda

    除了在控制面板-程序卸载中卸载了miniconda,我还在此电脑中搜索了conda,把之前没删干净的conda都删除了,主要在:
    C-用户-DELL-AppData
    C-用户-DELL-Local

    下载anaconda

    通过清华镜像网站下载anaconda,选择电脑系统对应的版本

    https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
    



    双击打开文件

    选择第二个all users


    这里会出现两个框,都别关掉



    配制anaconda


    将这几条放在环境变量中:

    D:\Anaconda 
    D:\Anaconda\Scripts 
    D:\Anaconda\Library\mingw-w64\bin
    D:\Anaconda\Library\usr\bin 
    D:\Anaconda\Library\bin
    

    检查环境配置是否成功

    1. 查看python环境
      cmd输入python,检查是否有python环境
    2. 查看是否有conda环境
    3. win键打开anaconda

      顺利打开

      至此,anaconda配制完成!
      此时再次输入conda list时,输出正确

    2. 使用conda环境下载tensorflow

    1. 打开anaconda prompt
    2. 创建tensorflow环境
      由于C盘空间不足,所以创建的环境修改为D盘,也就是下载anaconda所在的位置

    插曲2:修改虚拟环境的创建位置

    conda env list #查看环境路径
    


    在C盘-用户-(用户名,我的是DELL)-找到文件.condarc,在最后一行加上

    envs_dirs:
      - D(哪个盘由你决定)://(后面的文件路径也是你自己决定的)anaconda3//envs
    

    (下图是我自己的路径)

    但重新在cmd中查看conda env list还是只有base没有test
    所以修改envs(我设置的路径)文件夹的属性


    选择user,并且选择所有权限

    接着再次尝试conda env list口令
    后来发现了,如果只有base没有test的话,是因为自己并没有创建test的虚拟环境,只有base的环境,详见下图:
    相关链接:https://blog.csdn.net/weixin_48373309/article/details/127830801
    Alt
    Alt
    anyway 继续上面的tensorflow下载

    进入anaconda prompt创建一个tensorflow的虚拟环境

    conda create -n tensorflow python=3.9
    


    输入conda env list可查看虚拟环境,tensorflow已经成功创建(星号是当前所在的环境)

    进入环境的命令

    activate tensorflow
    

    此时在tensorflow的环境中,使用cd命令进入虚拟环境中envs,先后输入这两个命令:

    d:
    
    cd \Anaconda\envs\tensorflow\
    


    安装对应版本的tensorflow-GPU,我的是tensorflow_gpu-2.10.0

    pip install tensorflow-gpu==2.10.0 -i  https://pypi.mirrors.ustc.edu.cn/simple  
    


    (中途下载的时候卡住了,进度一直不动,按一下回车就好了)

    (这样应该是下好了吧)!

    3. 检查安装效果

    输入c: 退回c盘路径,但依然还是在tensorflow虚拟环境中

    进入python环境,导入tensorflow的包进行测试

    python
    
    import tensorflow as tf
    

    但是遇到了这个报错

    但是我打开pycharm之后,将创建的tensorflow虚拟环境放进interpreter中,是能看到有tensorflow-gpu这个第三方包的,在编译器中也是能搜索出来tensorflow的,尝试下载,等了很久,进度条为0,决定放弃尝试。

    后来尝试了一下,通过pip show tensorflow-gpu命令,从显示信息来看,应该与tensorflow差不多,所以猜测两者相同。

    出现报错,尝试解决
    exit()命令退出python环境
    输入

    pip install protobuf==3.19.0 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
    

    不过依然没有解决,所以个人猜测应该是下载的tensorflow-gpu的版本比较高,所以已经不包含tensorflow了,所以按照一些较旧的教程测试时会出现问题,但是问题不大。
    anyway 我现在直接pip install tensorflow了,速度是很慢的,已经使用国内镜像源了(并且无意中发现,点击窗口后,下载是会暂停的,按回车就好了)

    安装了很久,但是还是有报错信息。从pip show tensorflow命令中,看到tensorflow已经下载好了,同时在python环境中使用import tensorflow as tf, tf.__version__命令,也显示了版本信息。(也算是,成功了?anyway,再说吧)

    4. 测试tensorflow-gpu是否安装成功

    打开anaconda,选择tensorflow

    但是没有出现安装成功的信息,哭泣,看了教程,说是tensorflow-gpu安装错误,没办法,重新安装一次吧,安装一个更低版本的

    插曲3 删除已经安装的tensorflow-gpu,并重新安装更低版本的tensorflow-gpu

    pip uninstall  tensorflow-gpu
    

    保守起见,安装一个和教程一样版本的tensorflow-gpu(因为一般都是向下兼容,所以应该问题不大)

    pip install tensorflow-gpu==2.7.0 -i  https://pypi.mirrors.ustc.edu.cn/simple  
    

    然后开始漫长的等待(其实也不漫长,就4分钟)

    啊?怎会如此(看下图,怎么报错了。大致的意思是,你应该安装2.12的而不是2.7的,不管了,先看看情况如何)

    啊啊啊啊?谁懂啊,又报错了,按照教程改一改



    泪目

    网上查到方法,使用conda安装而不是用pip安装(理由如下)
    相关资料:https://zhuanlan.zhihu.com/p/46579831

    conda install tensorflow-gpu-2.10.0
    

    结果是conda中找不到(所以是为什么找不到呢)

    好吧,又重新卸载,重新下载了,还是用pip,还是用上面的一串pip代码
    然后。。。。
    (tensorflow) D:\Anaconda\envs\tensorflow>python
    在python环境中

    (试过,import tensorflow-gpu是invalid的)
    好吧,再次尝试用spyder检查安装效果
    还是不行

    插曲4 更换CUDA和cuDNN的版本,使之与tensorflow匹配

    卸载CUDA

    控制面板中打开程序卸载,按时间顺序排序,卸载带CUDA12.2的程序
    并在安装CUDA的目录下,找到CUDA toolkit和CUDA coopration文件夹,删除

    C盘腾出大位置(内心流泪,哈哈哈)
    cuda下载11.2版本的

    安装CUDA

    (下图,只要不选visual studio integration就不会提示要安装vs,就会安装成功!)

    ![在这里插入图片描述](https://i3.wp.com/img-blog.csdnimg.cn/7fcae8e4bea241308509459ac5d4cfc4.png



    感恩!安装到此为止是顺利的

    安装cuDNN

    版本为8.1

    下载了顺数第四个
    也顺利下载了

    重新在python环境中测试

    可见版本对应了之后就顺利了,如下图所示

    再重复spyder里测试,得到结果

    类目,终于成功了!
    tensorflow的版本是2.10.0
    倒数第二行是true,说明tensorflow-gpu安装成功

    5. 测试GPU的运算速度


    这里的代码复制了csdn博主“酷酷的懒虫”的代码
    https://blog.csdn.net/weixin_43412762/article/details/129824339

    6. 总结

    1. 使用GPU训练深度学习模型时,软件配置的顺序应该是

    安装anaconda

    安装显卡驱动

    查看最新版的tensorflow的对应CUDA和cuDNN版本

    安装指定版本的Nvidia CUDA

    替换cuDNN补丁

    我先查到的教程先教我安装了CUDA和cuDNN,没有提到tensorflow版本复合的问题,所以导致后期要重新安装CUDA的麻烦事情
    2. 最后还是用pip安装的tensorflow-gpu,记得后面加镜像,不然太慢了
    3. 不需要下载tensorflow的包,因为使用的是gpu进行深度学习训练,所以用的是tensorflow-gpu。如果用cpu进行深度学习的训练则使用tensorflow
    4. 安装过程的每一个步骤都要记录,不然很容易不知道在哪一步就出错了,需要重做,重做有导向的话会好很多!
    5. 孰能生巧,安装软件也一样,类目

    参考信息
    https://blog.csdn.net/weixin_43412762/article/details/129824339

    作者:乐乐9乐乐

    物联沃分享整理
    物联沃-IOTWORD物联网 » 安装TensorFlow-python记录

    发表回复