tensorflow详细安装教程(Win10, Anaconda,Python3.9)

tensorflow详细安装教程(Win10, Anaconda,Python3.9)

文章目录

  • tensorflow详细安装教程(Win10, Anaconda,Python3.9)
  • 1.tensorflow版本的准备工作
  • 1.1 CPU版本,无需额外准备
  • 1.2 GPU版本,需要提前下载cuda和cudnn
  • 2.下载Anaconda
  • 2.1 下载并安装Anaconda
  • 2.2 创建环境
  • 3.测试tensorflow-gpu是否安装成功
  • 1.tensorflow版本的准备工作

    CPU版本和GPU版本的区别主要在于运行速度,GPU版本运行速度更快,所以如果电脑显卡支持cuda,推荐安装gpu版本的。

    操作并不复杂,一开始我觉得要下这么多东西,感觉很麻烦,不想搞,但为了速度,最后还是尝试安装了一下,发现并没有那么难搞。

    1.1 CPU版本,无需额外准备

    CPU版本一般电脑都可以安装,无需额外准备显卡的内容。

    1.2 GPU版本,需要提前下载cuda和cudnn

    根据网页在 Windows 上安装 TensorFlow (juejin.im)的说明,需要满足以下四个条件。请添加图片描述

    1. 查看电脑的显卡,此电脑→右键选管理→设备管理器→显示适配器。

      核显UHD Graphics 630和独显GeForce GTX 1050,主要看独显GeForce GTX 1050。

      选中NVDIA GeForce GTX 1050右键选属性→驱动程序,可以看到已经装好驱动。满足四个条件之一。 请添加图片描述
      请添加图片描述

    2. 查看CUDA Compute Capability,网址CUDA GPUs | NVIDIA Developer。将部分内容截图,可以看到GeForce GTX 1050的Compute Capability是6.1满足四个条件之一。
      请添加图片描述

    3. 查看电脑的CUDA版本。图标处右键NVDIA控制面板→系统信息→组件,红框中,可以看到CUDA的版本是11.1。
      请添加图片描述
      请添加图片描述

    4. 下载cuda和cudnn。在官网上下载对应的cuda和cudnn,版本可以低于但不能高于电脑支持的版本。cuda下载地址:CUDA Toolkit Archive | NVIDIA Developer,cudnn下载地址:cuDNN Archive | NVIDIA Developer

      我下载的是CUDA Toolkit 11.0.0,选择相应的系统、版本等选项,Download安装包。

      下载对应版本的cuDNN。这里选择的是cuDNN v8.0.5 for CUDA 11.0。请添加图片描述请添加图片描述请添加图片描述

    5. CUDA安装:选自定义安装→默认安装路径→安装结束

      安装完成后,会默认生成两个系统变量。

      系统变量查看:此电脑→右键选属性→高级系统设置→环境变量→系统变量 请添加图片描述
      这里可以在系统变量中找到path,然后编辑,添加一些路径,最终一共有四条,以后如果有需要再添加额外的路径,都可以到这里添加。 请添加图片描述

    6. cuDNN安装:解压→将三个文件夹复制到cuda的安装目录下,直接选择覆盖文件就可以。 请添加图片描述

      安装完毕,测试cuda版本。

      打开cmd,输入指令:

      nvcc -V
      

      请添加图片描述

      到此,四个条件都已满足。

    2.下载Anaconda

    2.1 下载并安装Anaconda

    下载地址Anaconda | Anaconda Distribution,我安装的版本是Python3.9,安装过程记得选择自动配置环境变量。
    请添加图片描述

    安装完成后,打开Anaconda Prompt,输入命令:

    conda --version查看安装的版本
    
    conda env list查看已经安装的环境,右边“*”表示当前使用的环境
    

    请添加图片描述

    2.2 创建环境

    1. 创建tensorflow环境,输入命令:conda create -n tensorflow python=3.9,表示创建一个名字为tensorflow的环境,这个环境用的python版本是3.9版本的
      请添加图片描述

    2. 创建成功后,输入命令:conda env list,可以看到tensorflow环境已经创建,星号为当前所在环境(基础环境base)。
      请添加图片描述

    3. 进入环境,输入命令:activate tensorflow,就可以进入tensorflow环境中。
      请添加图片描述

      因为我的conda环境在D盘中,所以将路径改了以下。如果anaconda安装的时候是默认路径,这一步不需要。
      请添加图片描述

    4. 安装默认版本的tensorflow-cpu或者tensorflow-gpu。

      没有配置cuda,安装tensorflow-cpu版本的,可以输入命令:pip install –ignore-installed –upgrade tensorflow
      请添加图片描述

      配置了cuda,安装tensorflow-gpu版本的,可以输入命令:pip install –ignore-installed –upgrade tensorflow-gpu 请添加图片描述

      然后下载一会之后,会报错,这是网速的原因。

      解决方法是:找到tensorflow_gpu-2.8.0-cp39-cp39-win_amd64.whl (438.0 MB)这个文件。

      登录https://pypi.org/,搜索tensorflow_gpu,点击要的包名称。

      网址tensorflow-gpu · PyPI,下载文件到D:\Anaconda3\envs\tensorflow\这个目录下。

      输入命令:pip install tensorflow_gpu-2.8.0-cp39-cp39-win_amd64.whl 请添加图片描述请添加图片描述请添加图片描述

      这个时候又报错ERROR: Could not find a version that satisfies the requirement XXX

      解决方法:直接选用pip源并且信任它的来源就可以解决这种问题

      pip install 库包 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com 这里将pip源换成清华源、阿里源等都适用。
      -i https://pypi.tuna.tsinghua.edu.cn/simple
      
      pip install tensorflow_gpu-2.8.0-cp39-cp39-win_amd64.whl -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
      

      请添加图片描述

      归纳
      1.pip install --ignore-installed --upgrade tensorflow-gpu
      2.下载tensorflow_gpu-2.8.0-cp39-cp39-win_amd64.whl文件
      3.pip install tensorflow_gpu-2.8.0-cp39-cp39-win_amd64.whl -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
      

      这样就可以安装成功了。

      输入命令:pip show tensorflow-gpu,可以查看tensorflow的版本信息
      请添加图片描述

    5. 退出环境:conda deactivate

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

    1. 打开Anaconda,选择tensorflow环境,打开spyder,第一次打开需要安装Spyder,直接点下方的install即可。 请添加图片描述

    2. 测试代码

      import tensorflow as tf
      a = tf.constant(1.)
      b = tf.constant(2.)
      print(a+b)
      print(tf.__version__)
      print(tf.test.gpu_device_name())
      print('GPU:',tf.config.list_physical_devices(device_type='GPU'))
      print('CPU:',tf.config.list_physical_devices(device_type='CPU'))
      print(tf.test.is_gpu_available())
      

      此时有个报错:

      Could not load dynamic library ‘cusolver64_11.dll‘; dlerror: cusolver64_11.dll not found

      解决办法:

      链接:https://pan.baidu.com/s/1W9fR2N_hoVD-7_ODtOiJhg
      提取码:u65i

      下载文件,把文件cusolver64_11.dll添加到创建的环境\Library\bin中 请添加图片描述

      程序正常运行,输出结果 请添加图片描述

      简单测试一下cpu和gpu运行速度的差别

      import tensorflow as tf
      import timeit
      #指定在cpu上运行
      def cpu_run():
          with tf.device('/cpu:0'):
              cpu_a = tf.random.normal([10000, 1000])
              cpu_b = tf.random.normal([1000, 2000])
              cpu_c = tf.matmul(cpu_a, cpu_b)
              # print( "cpu_a: ", cpu_a.device)
              # print( "cpu_b: ", cpu_b.device)
              # print("cpu_c:", cpu_c.device)
          return cpu_c
      
      #指定在gpu上运行
      
      def gpu_run():
          with tf.device( '/gpu:0'):
              gpu_a = tf.random. normal([ 10000,1000])
              gpu_b = tf.random. normal([ 1000, 2000])
              gpu_c = tf.matmul(gpu_a, gpu_b)
              # print( "gpu_a: ", gpu_a.device)
              # print("gpu_b: ", gpu_b.device)
              # print("gpu_c: ", gpu_c.device)
          return gpu_c
      
      cpu_time = timeit.timeit(cpu_run, number = 10)
      gpu_time = timeit.timeit(gpu_run, number = 10)
      print('cpu:',cpu_time, 'gpu:',gpu_time)
      

      请添加图片描述

      运行速度差距很明显。

    参考链接:

    安装Anaconda/Python3.9/Tensorflow_Miska_Muska的博客-CSDN博客_anaconda安装tensorflow

    Anaconda中安装并运行tensorflow_w_66666的博客-CSDN博客_anaconda如何安装tensorflow

    Anaconda下conda,pip安装tensorflow-gpu_AnnnnnJie的博客-CSDN博客

    anaconda安装tensorflow-gpu手把手教程_不用在意昵称的博客-CSDN博客_anaconda安装tensorflow gpu

    Anaconda安装使用及tensorflow配置_坚强的敏敏子的博客-CSDN博客_anaconda tensorflow

    Could not load dynamic library ‘cusolver64_11.dll‘; dlerror: cusolver64_11.dll not found_hungita的博客-CSDN博客_cusolver64_11.dll

    来源:Yan_Yancy

    物联沃分享整理
    物联沃-IOTWORD物联网 » tensorflow详细安装教程(Win10, Anaconda,Python3.9)

    发表评论