我的AI之路(4)--在Anaconda3 下安装Tensorflow 1.8

      在Anaconda3安装好后,有一个默认的base(root)环境,你可以打开Anaconda Navigator后点左边列表中的Environments可以看到,或者在command窗口中输入conda activate或者activate,这时激活的默认环境就是base。


    这个base(root) env实际上是融合于Anaconda本身的环境,也就是说如果在base环境里安装tensorflow或其他软件包的话,都会安装在Anaconda本身的包库路径下,比如C:\Anaconda3\Lib\site-packages\,这么做有一个好处就是安装tensorflow过程非常快,因为C:\Anaconda3\Lib\site-packages\下面已经安装了大量支持包,无需再下载安装,除非版本不对,坏处就是把Anaconda本身的环境搞乱了。

   如果想创建一个自己的独立的隔离环境,那么可以用conda创建一个新的,比如执行:

   conda create -n tensorflow pip python=3.6

   然后回车确认,Anaconda就会给你在C:\Anaconda3\envs\下创建一个独立的tensorflow目录,并把python3.6和相关支持包都安装到C:\Anaconda3\envs\tensorflow下。然后执行

   conda activate tensorflowactivate tensorflow

   激活进入这个新创建的tensorflow env,然后就可以开始安装tensorflow了:


   先把依赖包安装了(这些依赖包有些tensorflow 1.8 不会自动去下载安装,但是会以红字提示,为了一次性安装好无问题,最好先把依赖包先安装了):

   python -m pip install html5lib bleach ipykernel

   python -m pip install --ignore-installed --upgrade pip setuptools

   安装完上面的包后,安装tensorflow1.8,一般书上或网上说的去https://storage.googleapis.com/tensorflow/去下载跟你的操作系统和python版本对应的wheel文件安装,或者执行 git clone https://github.com/tensorflow/tensorflow下载源码然后在本地执行configure和bazel命令编译出wheel文件再安装,前者的缺点是你需要指定跟你的操作系统和python版本对应的准确的wheel文件名,而且https://storage.googleapis.com/国内下载文件比较慢,后者是下载文件不仅很慢很难一次性成功下载到全部源码文件,而且build出wheel的过程中可能会出现未知的你一下不清楚如何解决的问题,除非你的环境很特殊确实需要根据环境build出wheel文件,或者你有大把时间想弄着玩玩熟悉一下tensorflow的build过程,那么你可以一边自个去好好玩大笑

   其实国内清华提供了一个镜像网站https://pypi.tuna.tsinghua.edu.cn,上面有很多开源项目的好东东,包括tensorflow,下载文件速度很快,而且能根据你的操作系统和python版本给你自动选择对应的wheel文件下载安装,很省事,执行:

   python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow

   即可快速安装tensorflow CPU版,安装完后,执行python进入python命令行,然后写几行简单代码测试一下:

   import tensorflow as tf

   c=tf.constant("A.C., you have done a good job")

   s=tf.Session()

   s.run(c)

   如果无错误能打印出"A.C., you have done a good job",这表明安装成功了。

   对于CPU版tensorflow,如果安装完后在执行import tensorflow as tf这句时报错:ImportError: DLL load failed: 找不到指定的模块,或者直接提示:

Could not load 'msvcp140.dll'. TensorFlow requires that this DLL be

installed in a directory that is named in your %PATH% environment variable.

You may install this DLL by downloading Microsoft Visual C++ 2015 Redistributable Update 3

from this URL: https://www.microsoft.com/en-us/download/details.aspx?id=53587

   这是因为你的C:\Windows\System32\下缺少一个msvcp140.dll文件,需要安装VC++ 2015 redistribute,到https://www.microsoft.com/en-us/download/details.aspx?id=53587下载跟你Windows位数对应的vc_redist.x64.exe或vc_redist.x86.exe文件并安装即可解决。


   如果你的电脑有NVidia GPU卡,想安装GPU版tensorflow,则执行

   python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu

   安装完后,还不能立即像上面那样执行测试代码,还需要安装CUDA和CUDNN等支持NVidia GPU卡作并行计算的运行库环境,否则会在import tensorflow时报错,给出大意是找不到cuda库之类的提示。安装了跟tensorflow1.8相对应的正确版本的CUDA和CUDNN后在执行测试代码无代码错误的话即可看到打印输出。

   关于如何选择和正确安装跟tensorflow版本对应的CUDA和CUDNN版本,这点很重要,CUDA和CUDNN安装弄错了会让你抓狂,tensorflow会出这样那样的莫名错误,不知道具体原因几下解决不了的,会让你郁闷到深夜大笑,这话题需要单独写一篇文章才能说完,请参见我的下一篇文章。

    另外,https://github.com/tensorflow/tensorflow/上有说明,还提供了Tensorflow nightly build的这种下载安装方式,这种安装方式很简单,只需执行

    pip install tf-nightlypip install tf-nightly-gpu

我试过,这种安装方式能自动根据你的机器的操作系统和python版本,自动选择对应的最新的nightly版本下载安装,这种安装方式好处是简单,缺点是下载慢,网速不快的整个过程需要等不少时间,另外nightly build可能有不稳定的一面。

     此外,Anaconda Navigator提供了图形化界面安装tensorflow或其他包的功能。

 点击下方+号可以创建一个新的隔离环境,注意选择Python的版本(如果需要的话,还可以选择R语言的版本):


   打开Terminal:


   然后在Terminal里设置清华的镜像网站作为源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --set show_channel_urls yes


     或者手工在<home>/.condarc文件(Windows里是在C:\Users\<username>\下面)里手工添加:

     channels:
       - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
       - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

       - defaults
    ssl_verify: true
    show_channel_urls: true

    然后在分类栏选择All,在Search Packages栏输入tensorflow,然后在显示出来的列表中勾选tensorflow或tensorflow-gpu,然后点击右下方的Apply按钮:


   在弹出窗口中点击Apply即开始安装


   可以看到,cudatookit和cudnn以及vc2005_runtime等支持库都会自动安装,但是这窗口里的显示的各个软件的版本都非常老了,tensorflow还是1.1版,说明镜像库这个路径下很久没有提供更新了,所以不推荐这种安装方式,需要找到提供比较新的版本的镜像源,目前我没找到,以后找到再回头修改上面的源设置。

猜你喜欢

转载自blog.csdn.net/XCCCCZ/article/details/80384818