tensorflow 订阅
TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief [1]  。Tensorflow拥有多层级结构,可部署于各类服务器、PC终端和网页并支持GPU和TPU高性能数值计算,被广泛应用于谷歌内部的产品开发和各领域的科学研究 [1-2]  。TensorFlow由谷歌人工智能团队谷歌大脑(Google Brain)开发和维护,拥有包括TensorFlow Hub、TensorFlow Lite、TensorFlow Research Cloud在内的多个项目以及各类应用程序接口(Application Programming Interface, API) [2]  。自2015年11月9日起,TensorFlow依据阿帕奇授权协议(Apache 2.0 open source license)开放源代码 [2]  。 展开全文
TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief [1]  。Tensorflow拥有多层级结构,可部署于各类服务器、PC终端和网页并支持GPU和TPU高性能数值计算,被广泛应用于谷歌内部的产品开发和各领域的科学研究 [1-2]  。TensorFlow由谷歌人工智能团队谷歌大脑(Google Brain)开发和维护,拥有包括TensorFlow Hub、TensorFlow Lite、TensorFlow Research Cloud在内的多个项目以及各类应用程序接口(Application Programming Interface, API) [2]  。自2015年11月9日起,TensorFlow依据阿帕奇授权协议(Apache 2.0 open source license)开放源代码 [2]  。
信息
稳定版本
1.12.0/2018年10月9日
开发者
谷歌大脑
类    型
机器学习库
平    台
Linux,macOS,Windows
许可协议
Apache 2.0 open source license
初始版本
beta/2015年11月9日
 
iOS,Android,Web
外文名
TensorFlow
编程语言
Python,C++,CUDA
TensorFlow背景
谷歌大脑自2011年成立起开展了面向科学研究和谷歌产品开发的大规模深度学习应用研究,其早期工作即是TensorFlow的前身DistBelief [1]  。DistBelief的功能是构建各尺度下的神经网络分布式学习和交互系统,也被称为“第一代机器学习系统” [1]  。DistBelief在谷歌和Alphabet旗下其它公司的产品开发中被改进和广泛使用 [3-4]  。2015年11月,在DistBelief的基础上,谷歌大脑完成了对“第二代机器学习系统”TensorFlow的开发并对代码开源。相比于前作,TensorFlow在性能上有显著改进、构架灵活性和可移植性也得到增强 [1]  。此后TensorFlow快速发展,截至稳定API版本1.12,已拥有包含各类开发和研究项目的完整生态系统。在2018年4月的TensorFlow开发者峰会中,有21个TensorFlow有关主题得到展示 [2]  。
收起全文
精华内容
下载资源
问答
  • 2020-02-11 21:57:09

    趁着2020年的春节长假,简单学习了一下梦寐以求的python。学完python皮毛,怎么能不尝试下tensorflow,毕竟人家这么火。由于只是尝试,机器性能也一般,咱就不上GPU版本了,只想着装个纯CPU版本的体验体验。但是遇到的问题也不少,在此给大家分享一下,讲述下我的心路历程。

    首先声明一下本人操作系统是win10家庭中文版(系统买本自带的,懒得换了),安装的是截止目前最新的Tensorflow2.1版本(网上教程基本是老版本),Python版本也是目前python3.7的最新版本(没有尝试python3.8)

    1. 准备篇

    1.1 基本要求:

    1. 至少对python有基本的认知,主要是基本语法和pip工具;
    2. 了解windows的shell命令,我用的是powershell,挺好用的,跟linux的bash命令很相似,感觉比cmd好了无数倍;
    3. 了解python虚拟环境,知道怎么创建,我用的是virtualenv工具,简单实用。很多人也可能安装的Anaconda发行版本,那么conda命令也是支持虚拟环境创建的,但是我目前没怎么用,感觉还没到那个火候,毕竟numpy、pandas、matplotlib等常用的包就可以满足我了,不超过20个。
    4. 了解Tensorflow的发行版本,不知道的话自行问搜索引擎。当然,也可参考pypi上的发布历史:https://pypi.org/project/tensorflow/1.12.3/#history   其中,1.15版本是1.×的最后一个发行版本(最新更新是1.15.3 2020年的),自此以后Tensorflow进入2.×时代,自然又别有一番风味。

    1.2 为啥要用虚拟环境?

    我的理解是没虚拟环境的话,很容易“污染”系统原生python,比如我安个第三方包,自动安装了一大堆的依赖包,后来我不想要了,卸载这个第三方包,但是依赖包还在那,还得一个个卸载,鬼知道安装了多少个依赖包。为啥非要卸载?因为我有强迫症,不用的东西在site-packages里面躺着,我浑身不舒服。所以我要安装虚拟环境,这样我就可以为所欲为(至少学习阶段是这样),包可以随便安,随便试,捣鼓坏了,就把整个环境删了,重新建一个干干净净的,岂不妙哉!

    另外,有虚部环境,我就可以尝试不同的tensorflow版本,有利于问题的排查,很有用的。


    2. 系统需求

    先说说硬件需求,按官方说法,你的CPU需要支持AVX指令集,因为从TensorFlow 1.6版本开始,不能跑在不支持AUX指令集的CPU上。不过不用太担心,只要你的笔记本不是老古董,一般没太大问题,这几年出的CPU都支持。实在不放心,就用CPU-Z工具查看一下。

    再来看看官方说的软件需求:

    • Python 3.5–3.7
    • pip 19.0 or later (requires manylinux2010 support)
    • Windows 7 or later (64-bit) (Python 3 only)

    看着挺多,其实基本都能满足,目前都是标配吧,没什么可说的。

    但是,这里有一个坑,官方没有提及,我在这里先不说,在安装部分会讲到。

    给个官方安装说明的网址:https://tensorflow.google.cn/install/pip?hl=zh-CN&lang=python3,感兴趣的可以看一下,琢磨琢磨。


    3. 安装步骤

    第一步:当然是先创建个虚拟环境了,这个才能大展宏图嘛,创建完记得切换到虚拟环境,不然你会后悔的。

    第二步:换个pip的源,换成国内的镜像站点,不然那安装速度绝对是你不能忍的,我怕你把电脑砸了。不知道怎么换,看我自学自写文章。会的以及已经换了的请忽略。我比较喜欢清华镜像......

    第三步:用pip命令安装。这里高潮来了,官方还有网上各种命令层出不穷,让人眼花缭乱。下面先列举几个常见的命令方式,声明一下几条命令都能安装成功,但是能不能用就不一定了。

    pip install tensorflow  #最新的稳定发行版本,2.0×后默认是CPU和GPU版本在一起,1.×只表示CPU版本
    pip install tensorflow-gpu  #1.×的GPU版本
    pip install tensorflow==1.15  # 1.×的最后一个更新版本,2019年发布
    • 第一个指令:什么叫CPU和GPU版本在一起?我理解的意思就是,CPU和GPU一家亲,不搞什么分裂,一条安装命令搞定就可以了嘛,至于怎么选择,看你机器的显卡支不支持CUDA了。因此,对于显卡支持gpu版本,而又只想用cpu版本练手的小伙伴来说,就不要用第一条命令进行安装,要不然在导包的时候就会有一大堆错误,缺这个少那个,基本是由显卡驱动程序版本、CUDA版本、cuDDN版本等问题引起的。如果不想安装gpu版本,何必自找麻烦呢。
    • 第二个指令:安装1.×的GPU版本,我们不涉及,请忽略。
    • 第三个指令:按照对于1.×版本,tensorflow默认是CPU版本的逻辑,这个应该不会有啥问题了吧。确实,安装成功后能用,诚不欺我。虽然能运行成功,但是总是输出一些异常干什么,看着烦的很,再次强调我有强迫症。如果有的小伙伴不想试的话我贴个结果给大家看看。

           测试代码:

    import tensorflow as tf
    
    version = tf.__version__
    gpu_ok = tf.test.is_gpu_available()
    print("tf version:", version, "\nuse GPU", gpu_ok)

           运行结果。大致意思是,我的显卡支持GPU版本,所以提示我找不到一些库,如果想用gpu版本,请安装这些库,并且最后正确输出了Tensorflow的版本是1.15,无法使用gpu。虽然程序正常运行结束,但是明显基于计算机的硬件,官方还是强推了gpu版本,输出了一大堆的提示来安利你。可是,我明明只是想用cpu版本的,不想要推荐,这些输出我看着好烦啊。如果你不介意,当然也可以凑活着这么用。

    2020-02-11 21:07:37.172620: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found
    2020-02-11 21:07:37.172864: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
    2020-02-11 21:07:40.361931: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
    2020-02-11 21:07:40.413280: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
    2020-02-11 21:07:41.058786: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: 
    name: GeForce MX150 major: 6 minor: 1 memoryClockRate(GHz): 1.5315
    pciBusID: 0000:01:00.0
    2020-02-11 21:07:41.060130: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found
    2020-02-11 21:07:41.061137: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cublas64_100.dll'; dlerror: cublas64_100.dll not found
    2020-02-11 21:07:41.062137: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cufft64_100.dll'; dlerror: cufft64_100.dll not found
    2020-02-11 21:07:41.063130: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'curand64_100.dll'; dlerror: curand64_100.dll not found
    2020-02-11 21:07:41.064307: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cusolver64_100.dll'; dlerror: cusolver64_100.dll not found
    2020-02-11 21:07:41.065401: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cusparse64_100.dll'; dlerror: cusparse64_100.dll not found
    2020-02-11 21:07:41.066423: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudnn64_7.dll'; dlerror: cudnn64_7.dll not found
    2020-02-11 21:07:41.066626: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1641] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
    Skipping registering GPU devices...
    2020-02-11 21:07:41.178436: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:
    2020-02-11 21:07:41.178643: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 
    2020-02-11 21:07:41.178754: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N 
    tf version: 1.15.0 
    use GPU False
    

    上面说了这么多(大家不要烦我啊),那到底怎么才能满足我们的基本需求(只是想静静的用一下cpu版本怎么这么难)呢?答案就是,利用下面的命令安装,强制安装CPU版本。这么好用的命令,官方竟然不告诉我们,简直忍无可忍(当然也可能是我头发长、见识短,大家莫怪)。

    pip install tensorflow-cpu

    基于上述命令,完美的安装了最新的tensorflow 2.1 cpu版本,开心的不行。

    第四步:当然是要测试一下正不正常了。

    先导一下包:import tensorflow as tf. 看到结果我崩溃了,满满的红啊,贴一下结果,竟然提示dll加载失败,找不到指定的模块,这是什么鬼,心中悲恸不已,但是问题还是要解决的啊。

    Traceback (most recent call last):
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 58, in <module>
        from tensorflow.python.pywrap_tensorflow_internal import * 
    File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 28, in <module>
        _pywrap_tensorflow_internal = swig_import_helper()
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
        _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
      File "C:\Programs\Python\tensorflow210_cpu\lib\imp.py", line 242, in load_module
        return load_dynamic(name, filename, file)
      File "C:\Programs\Python\tensorflow210_cpu\lib\imp.py", line 342, in load_dynamic
        return _load(spec)
    ImportError: DLL load failed: 找不到指定的模块。
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow\__init__.py", line 101, in <module>
        from tensorflow_core import *
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow_core\__init__.py", line 40, in <module>
        from tensorflow.python.tools import module_util as _module_util
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow\__init__.py", line 50, in __getattr__
        module = self._load()
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow\__init__.py", line 44, in _load
        module = _importlib.import_module(self.__name__)
      File "C:\Programs\Python\tensorflow210_cpu\lib\importlib\__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow_core\python\__init__.py", line 49, in <module>
        from tensorflow.python import pywrap_tensorflow
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 74, in <module>
        raise ImportError(msg)
    ImportError: Traceback (most recent call last):
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 58, in <module>
        from tensorflow.python.pywrap_tensorflow_internal import *
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 28, in <module>
        _pywrap_tensorflow_internal = swig_import_helper()
      File "C:\Programs\Python\tensorflow210_cpu\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
        _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
      File "C:\Programs\Python\tensorflow210_cpu\lib\imp.py", line 242, in load_module
        return load_dynamic(name, filename, file)
      File "C:\Programs\Python\tensorflow210_cpu\lib\imp.py", line 342, in load_dynamic
        return _load(spec)
    ImportError: DLL load failed: 找不到指定的模块。

    先搜索引擎搜一遍,众说纷纭,毫无作用。最后,看一个官方的编译和安装错误消息吧,找到了一个极其类似的,大家有兴趣可以观摩一下:Installation issue with Tensorflow-cpu, no module named '_pwyrap_tensorflow_internal'。总结一下,经过作者的仔细推敲,出现它这个问题(跟我的问题差不多)就是因为在system32系统目录下缺少了msvcp140.dll文件,安装一下 Microsoft Visual C++ 2015 Redistributable 64 bits就可以了。

    回到我们的问题,我用everyting搜了下整个硬盘(这个软件确实给力,速度嗖嗖的),在system32下我有msvcp140.dll文件啊,为毛还能出现这种问题。忽然,我灵光一现,咦.......,是不是Tensorflow最新版本需要高版本的Microsoft Visual C++ 版本啊。

    赶紧到控制中心程序那看一下,发现我最高版本竟然是2017,上官网一看都2019版本了,赶紧更新一下,重启电脑后竟然导包成功了,真是不容易啊。到现在,还感觉有些莫名其妙。

    第五步:再次测试一下,把上面的测试代码再撸一遍,果然运行成功,正确输出了Tensorflow的版本以及GPU信息。但是等等,怎么还有个Warining提示,看一下原来是在新版本中,有些API在未来要被drop了,建议使用新的API。

    WARNING:tensorflow:From C:/Users/zhang/PycharmProjects/timegeekbang/tensorflowtest.py:4: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version.
    Instructions for updating:
    Use `tf.config.list_physical_devices('GPU')` instead.
    2020-02-11 21:41:13.222175: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorF

    那就再按新的API重新写一下测试代码吧,如下所示。输出结果正确,也有任何提示,看着真是清爽啊,舒服。

    import tensorflow as tf
    
    version = tf.__version__
    # pu_ok = tf.test.is_gpu_available()
    gpu_ok = tf.config.list_physical_devices("GPU")
    print("tf version:", version, "\nGPU number", gpu_ok)
    
    # 输出结果
    tf version: 2.1.0 
    GPU number []

    4. 后记

    本人只是记录了一下自己的心路历程,如果能给大家带来些许启发,我也就甚感欣慰了。随着Tensorflow版本的不断更新,在安装甚至使用过程中,肯定还会有这样或那样的问题。要想解决问题,除了寻找前人的踪迹外,还需要不断的尝试、总结和思考,切不能照搬照做。说不定不久后,我写的这个会被人嗤之以鼻,但是我只想描述这么一种经历,并不想去阐述固定的东西,因为永远不变的是变化。

     

    更多相关内容
  • tensorflow1.14 离线安装包
  • Tensorflow 模型 C++部署实战

    千人学习 2020-03-26 12:37:50
    您将在本课程中学习到用Tensorflow Python接口训练的模型,如和部署到实际产品中。适用人群可以帮助会训练深度学习的模型的同学,学习如何部署模型,特别是实际产品中。 课程简介 课程目标 让学员熟悉用TensorFlow...
  • anaconda下安装tensorflow,并在Jupyter Notebook上进行tensorflow神经网络学习的步骤,包括常见的坑的解决方案(注:不同版本python对应不同版本tensorflow
  • Tensorflow2项目实战课程

    万人学习 2019-03-14 15:37:34
    Tensorflow2.0介绍: tensorflow是GOOGLE在2015年底发布的一款深度学习框架,也是目前全世界用得最多,发展最好的深度学习框架。2019年3月8日,GOOGLE发布最新tensorflow2版本。新版本的tensorflow有很多新特征,更...
  • windows系统python3.8的CPU版本tensorflow
  • 本手册是一篇精简的 TensorFlow 入门指导,基于 TensorFlow 的 Eager Execution(动态图)模式,力图让 具备一定机器学习及 Python 基础的开发者们快速上手 TensorFlow
  • tensorflow源码

    2018-03-21 17:25:40
    tensorflow源码,包含tensorflow,third_party,tools,util
  • Tensorflow基础入门系列

    千人学习 2017-07-26 01:07:45
    本课程上半部分会从Tensorflow基础的框架开始介绍,从Tensorflow的安装开始,一步一步仔细讲解Tensorflow中的各种技术细节。让大家上手编写神经网络。同时也会补充一些深度学习相关的理论知识,如交叉熵,Softmax...
  • TensorFlow For Machine Intelligence

    千次下载 热门讨论 2016-08-12 01:08:52
    TensorFlow For Machine Intelligence: A hands-on introduction to learning algorithms by Sam Abrahams English | 23 July 2016 | ASIN: B01IZ43JV4 | 322 Pages | AZW3/MOBI/EPUB/PDF (conv) | 26.87 MB This ...
  • Tensorflow 实战Google深度学习框架Tensorflow 实战Google深度学习框架Tensorflow 实战Google深度学习框架Tensorflow 实战Google深度学习框架Tensorflow 实战Google深度学习框架Tensorflow 实战Google深度学习框架...
  • tensorflow官方文档

    2017-09-07 16:33:46
    tensorflow官方文档,需要的同学可以从这儿下载,也可以直接去极客学院机器学习板块进行下载,对tensorflow的各种各样的问题有一个详尽的解释,请大家仔细阅读,进行深入学习。
  • tensorflow与python3.7匹配的最新库,更新了python3.7以后可以自行下载,或者去国外python的扩展包下载界面自行下载。
  • 斯坦福大学Tensorflow课件以及笔记,国外评分很高的课件笔记,详细的Tensorflow入门以及拔高资料。
  • tensorflow版本配套关系表,官方出品,可供参考使用,最新到1.6
  • Tensorflow-LSTM-股票预测DEMO Tensorflow-LSTM-股票预测DEMO
  • tensorflow官方文档完整中文版,包含api文档。tensorflow官方文档完整中文版,包含api文档。tensorflow官方文档完整中文版,包含api文档。
  • tensorflow下用LSTM网络进行时间序列预测,实时多变量预测以及对于未来数据的单变量预测。
  • tensorflow1.9.0

    2018-08-07 21:19:12
    tensorflow1.9.0 tensorflow1.9.0 tensorflow1.9.0 tensorflow1.9.0 tensorflow1.9.0 tensorflow1.9.0 tensorflow1.9.0 tensorflow1.9.0tensorflow1.9.0 tensorflow1.9.0 tensorflow1.9.0 vtensorflow1.9.0 ...
  • 通过TensorFlow搭建卷积神经网络实现猫狗识别代码,训练和测试代码完整,下载之后可以直接运行测试打码,运行环境在Linux下,需要把代码中的路径修改为本机实际路径
  • TensorFlow入门教程 pdf高清中文通俗易懂 TensorFlow 指南 TensorFlow 怎么配置,强烈推荐
  • 1.2tensorflow基本概念1.3tensorflow常量示意和神经网络开发流程1.4tensorflow会话流程1.5tensorflow会话session的config设置1.6tensorflow中Variable变量和Placeholder示意1.7tensorflow中变量命名作用域1.8...
  • 最完整的TensorFlow教程

    千次下载 热门讨论 2017-12-29 10:57:00
    最新的tensorflow教程,内容全面丰富,包括: TensorFlow For Machine Intelligence.pdf TensorFlow 官方文档中文版 - v1.2.pdf tensorflow-mnist-tutorial-master tensorflow在windows下的安装指南 TensorFlow在...
  • tensorFlow python API

    2019-03-08 17:00:30
    tensorFlow python API tensorFlow python API tensorFlow python API tensorFlow python API tensorFlow python API tensorFlow python API tensorFlow python API tensorFlow python API tensorFlow python API
  • TensorFlow实战 黄文坚

    2017-11-17 21:28:40
    TensorFlow实战 黄文坚TensorFlow实战 黄文坚TensorFlow实战 黄文坚TensorFlow实战 黄文坚TensorFlow实战 黄文坚TensorFlow实战 黄文坚TensorFlow实战 黄文坚TensorFlow实战 黄文坚TensorFlow实战 黄文坚
  • 本手册是一篇精简的TensorFlow入门指导,基于TensorFlow的Eager Execution(动态图)模式,力图让具备一定机器学习及Python基础的开发者们快速上手TensorFlow。 This handbook is a concise introduction to ...
  • 实用代码 11 TensorFlow物体检测实用代码 11 TensorFlow物体检测实用代码 11 TensorFlow物体检测实用代码 11 TensorFlow物体检测实用代码 11 TensorFlow物体检测实用代码 11 TensorFlow物体检测实用代码 11 ...
  • tensorflow安装测试教程【一文读懂】

    千次阅读 2022-01-10 17:29:13
    tensorflow 各个版本安装体验教程、一文读懂

    🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连
    🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️

    0-9


    📔 Conda 与 Pip 的源加速


    工欲善其事,必先利其器、下面这两篇博文、你值得了解一下

    使用 Conda 安装的好处是、比如执行conda install tensorflow-gpu==2.6.0 时、 cudatoolkit-11.3.1、cudnn-8.2.1.32 这些需要的关键库、会自动给你很好地适配

    2-1


    📕 Linux服务器环境如下


    ## 服务器
    
    cat /etc/issue
     
    Ubuntu 16.04.7 LTS \n \l
    
    
    ## Cuda版本
    nvcc -V
    
    Cuda compilation tools, release 10.1, V10.1.243
    
    
    ## 显卡
    
    NVIDIA GeForce GTX 1080 Ti 单卡 11G
    

    📗 tensorflow-gpu==1.15.0 安装示例


    
    conda create -n tf15 python=3.6.9
    
    conda activate tf15
    
    # tensorflow的安装建议使用 conda 进行安装
    conda install tensorflow-gpu==1.15.0
    
    pip install opencv-python
    
    pip install pillow
    

    📘 检测 tensorflow 是否可使用


    • 🍊 shell 或者 cmd 窗口 进入 python 交互环境
    python
    
    Python 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31) 
    [GCC 7.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import tensorflow as tf
    >>> print(tf.__version__)
    1.15.0
    >>> 
    
    

    📗 查询当前 conda 检索到的 tensorflow 版本


    conda search tensorflow 查询当前 conda 检索到的 tensorflow 版本

    • conda 能够检索到的 tensorflow 各个版本、大致如下
    
    conda search tensorflow
    
    # 这里删减了大部分项 
     
    Loading channels: done
    # Name                       Version           Build  Channel             
    tensorflow                     0.7.1          py27_0  anaconda/cloud/conda-forge
    
    tensorflow                     0.8.0          py34_0  anaconda/cloud/conda-forge
    tensorflow                     0.9.0          py27_0  anaconda/cloud/conda-forge
    
    tensorflow                    0.10.0          py27_0  anaconda/cloud/conda-forge
    tensorflow                    0.10.0          py34_0  anaconda/cloud/conda-forge
    
    tensorflow                     1.0.0          py27_0  anaconda/cloud/conda-forge
    
    tensorflow                     1.0.1     np112py27_0  anaconda/pkgs/free  
    tensorflow                     1.1.0     np111py27_0  anaconda/pkgs/free  
    tensorflow                     1.1.0     np111py35_0  anaconda/pkgs/free  
    tensorflow                     1.2.0          py27_0  anaconda/cloud/conda-forge
    tensorflow                     1.2.1          py36_0  anaconda/cloud/conda-forge
    tensorflow                     1.2.1          py36_0  anaconda/pkgs/free  
    tensorflow                     1.3.0               0  anaconda/pkgs/free  
    tensorflow                     1.3.0          py36_0  anaconda/cloud/conda-forge
    tensorflow                     1.4.0          py27_0  anaconda/cloud/conda-forge
    tensorflow                     1.4.1               0  anaconda/pkgs/main  
    tensorflow                     1.4.1               0  pkgs/main           
    tensorflow                     1.5.0               0  anaconda/pkgs/main  
    
    tensorflow                     1.5.0          py36_0  anaconda/cloud/conda-forge
    tensorflow                     1.5.1          py27_0  anaconda/cloud/conda-forge
    
    tensorflow                     1.6.0               0  anaconda/pkgs/main  
    
    tensorflow                     1.7.0               0  anaconda/pkgs/main  
           
    tensorflow                     1.8.0               0  anaconda/pkgs/main  
    
    tensorflow                     1.9.0 eigen_py27hf386fcc_1  anaconda/pkgs/main  
         
    tensorflow                     1.9.0 gpu_py36h02c5d5e_1  anaconda/pkgs/main  
    
    tensorflow                    1.10.0 eigen_py27ha0ab958_0  anaconda/pkgs/main  
    
    
    tensorflow                    1.10.0          py36_0  anaconda/cloud/conda-forge
    tensorflow                    1.11.0 eigen_py27h06aee4b_0  anaconda/pkgs/main  
    tensorflow                    1.11.0 eigen_py27h06aee4b_0  pkgs/main           
      
    tensorflow                    1.12.0 eigen_py36hbd5f568_0  anaconda/pkgs/main  
      
    tensorflow                    1.13.1 eigen_py27h5e92bea_0  anaconda/pkgs/main  
    
    tensorflow                    1.13.1  py37h90a7d86_1  anaconda/cloud/conda-forge
    tensorflow                    1.13.2      h76b4ce7_0  anaconda/cloud/conda-forge
    tensorflow                    1.14.0 eigen_py27h99c1539_0  anaconda/pkgs/main  
         
    tensorflow                    1.14.0 gpu_py27he9627f8_0  anaconda/pkgs/main  
    
    tensorflow                    1.14.0 mkl_py37h45c423b_0  pkgs/main           
    tensorflow                    1.15.0 eigen_py27h7b7505e_0  anaconda/pkgs/main  
            
    tensorflow                     2.0.0 eigen_py27hec4e49e_0  anaconda/pkgs/main  
    tensorflow                     2.0.0 eigen_py27hec4e49e_0  pkgs/main           
    
    tensorflow                     2.1.0 eigen_py27h636cc2a_0  pkgs/main           
    tensorflow                     2.1.0 eigen_py36hbb90eaf_0  anaconda/pkgs/main  
          
    tensorflow                     2.2.0 eigen_py36h84d285f_0  anaconda/pkgs/main  
    
    tensorflow                     2.2.0 mkl_py38h6d3daf0_0  pkgs/main           
    tensorflow                     2.3.0 eigen_py37h189e6a2_0  anaconda/pkgs/main  
    tensorflow                     2.3.0 eigen_py37h189e6a2_0  pkgs/main           
    
    tensorflow                     2.4.0  py37h89c1867_0  anaconda/cloud/conda-forge
    tensorflow                     2.4.0  py38h578d9bd_0  anaconda/cloud/conda-forge
    tensorflow                     2.4.1 eigen_py37h3da6045_0  anaconda/pkgs/main  
    tensorflow                     2.4.1 eigen_py37h3da6045_0  pkgs/main           
    
    tensorflow                     2.4.3  py36h5fab9bb_0  anaconda/cloud/conda-forge
    
    tensorflow                     2.5.0 eigen_py37hff93566_0  anaconda/pkgs/main  
    tensorflow                     2.5.0 eigen_py37hff93566_0  pkgs/main           
    
    tensorflow                     2.5.0 mkl_py39h4a0693c_0  pkgs/main           
    tensorflow                     2.6.0 cpu_py37hc107814_2  anaconda/cloud/conda-forge
    tensorflow                     2.6.0 cpu_py38h077e6c3_2  anaconda/cloud/conda-forge
    tensorflow                     2.6.0 cpu_py39hcb7c6aa_2  anaconda/cloud/conda-forge
    
    tensorflow                     2.6.0 eigen_py37h34b007a_0  pkgs/main           
    tensorflow                     2.6.0 eigen_py38hcc1cb13_0  anaconda/pkgs/main  
    tensorflow                     2.6.0 eigen_py38hcc1cb13_0  pkgs/main           
    tensorflow                     2.6.0 eigen_py39h4b72145_0  anaconda/pkgs/main  
    tensorflow                     2.6.0 eigen_py39h4b72145_0  pkgs/main           
    tensorflow                     2.6.0 mkl_py37h9d15365_0  anaconda/pkgs/main  
    tensorflow                     2.6.0 mkl_py37h9d15365_0  pkgs/main           
    tensorflow                     2.6.2 cuda112py39h9333c2f_1  anaconda/cloud/conda-forge
    
    

    📙 tensorflow-gpu==2.6.0 安装示例


    conda create -n tfNew python=3.8.5
    
    conda activate tfNew
    
    conda search tensorflow
    
    conda install tensorflow
    
    conda install tensorflow-gpu==2.6.0
    

    📙 tensorflow-gpu 其它版本


    • 当前主流使用较多的是 1.X 版本 和 2.X 版本,这俩大版本存在较多的函数差异性
    • 因此各位小伙伴在进行环境搭建时、要进行区分
    • 其它 1.X 版本 和 2.X 版本的安装、大家仿照上面修改 conda install tensorflow-gpu==X.X.X 版本号即可

    📙 预祝各位 2022 前途似锦、可摘星辰


    • 🎉 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️
    • ❤️ 如果文章对你有帮助、点赞、评论鼓励博主的每一分认真创作

    计算机视觉领域 八大专栏、不少干货、有兴趣可了解一下

    9-9

    展开全文
  • Apple MacBook M1 Anaconda安装 Tensorflow

    千次阅读 多人点赞 2021-08-10 16:36:40
    MacBook Air M1芯片安装Tensorflow踩坑 踩坑1:在mac m1上安装tensorflow报错“zsh: illegal hardware instruction” 环境: anaconda + python3.8 直接用 pip install tensorflow 安装,能够顺利安装tensorflow...

    文章目录

    MacBook M1芯片安装Tensorflow踩坑(建议用推荐)

    首先看下TensorFlow版本和Python的适配:

    参考:https://tensorflow.google.cn/install/source#macos

    macOSTensorFlow-Python

    踩坑1:在mac m1上安装tensorflow报错“zsh: illegal hardware instruction”

    环境: macOS Big Sur 11.5.1 + anaconda + python3.8

    直接用 pip install tensorflow 安装,能够顺利安装tensorflow2.5.0,但是import tensorflow 的时候会报如上错误.

    对此,查找了网上许多资料:
    大概流程就是架构问题,但是问题博客基本是2020-12~2021-3月的解决方法了,应该不是最优的。
    同病相怜:“zsh: illegal hardware instruction python” when installing Tensorflow on macbook pro M1

    “zsh: illegal hardware instruction python” when Tensorflow on macbook pro M1
    GitHub上的回音:Apple M1 chip - illegal hardware instruction #46178

    截止2021-3月左右,网上时兴的解决方法都是如此:
    下载 安装miniforge3然后修改配置文件。
    MacBook m1芯片采用miniforge安装python3.9

    macOS M1(Apple Silicon) 安装配置 Conda 环境

    这应该得益于官方:
    目前apple developer出了3行代码的安装教程:
    https://developer.apple.com/metal/tensorflow-plugin/

    踩坑2:ARM版本conda

    苹果提供的tensorflow仅支持python 3.8+,而python官网只有3.9+版本支持ARM。
    我们的做法是:选择通过ARM版conda创建python3.8虚拟环境,再使用创建的ARM python3.8安装tensorflow.

    废话忽略:通俗的说就是,你想要一个苹果公司的最好吃的苹果,但是苹果公司提供38号苹果树只能结普通苹果,但是苹果市场有39号的苹果树能结最好吃苹果,而且支持嫁接给苹果公司的苹果树。那我们的做法是,选市场里的39号苹果树培养一个结最好吃苹果的38号苹果树,再把这个38号苹果树给苹果公司种植,然后你就能得到最好吃的苹果了。

    废话不多说,开干吧!

    总结:国内技术贴上的各个教程都不尽相同,而且看的比较烦躁了,花了我5-6小时,搞得我都疑惑 :Anaconda目前为止还不支持M1芯片吗?还是自己摸索下吧。本人也最烦配置参数和修改系统文件了。如下简单粗暴的安装大家可以参照,如有更优选择,烦请告知。

    第一种方法:下载miniforge3适配Python3.8+TensorFlow2.4.0

    1. 下载ARM版Miniforge3

    下载ARM版Miniforge3:选择最新的arm64版本;

    https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh

    具体可以去GitHub看:
    https://github.com/conda-forge/miniforge/#download
    在这里插入图片描述下载Miniforge3-MacOSX-arm64.sh到自己的Download目录里:
    终端cd Downlaod/后,开始运行脚本:

    bash Miniforge3-MacOSX-arm64.sh
    

    这里安装开始,一定要慢慢回车,问题全部选择yes.

    因为这里我就踩坑了,选了个No,但是没关系,可以重装Miniforge3:具体终端里删除相关文件就好了。具体操作如下:
    rm -rf ~/miniforge3
    rm -rf .conda
    rm -rf .condarc
    然后重新执行安装命令:
    bash Miniforge3-MacOSX-arm64.sh

    安装完成后重启终端,然后输入Python就可以看到Python 3.9了。

    在这里插入图片描述这样miniforge就安装好了。

    2.创建虚拟环境

    创建Python3.8虚拟环境并安装TensorFlow:

    conda create -n py38 python=3.8
    conda activate py38
    

    进入虚拟环境后,直接conda install 就能安装TensorFlow库了。
    漫长的等待各个库安装完毕即可。
    在这里插入图片描述最后来验证下吧!
    在这里插入图片描述

    第二种方法:安装了Anaconda的,目前可行的最简单的conda install 方法: 低版本适配Python3.7+tensorflow2.0.0

    小心坑:直接上会出错哦

    首先,官网下了Anaconda的MacOS版本:
    这是python3.8版本
    在这里插入图片描述目前最新的版本是tensorflow2.5.0 ,下载:https://pypi.org/project/tensorflow/,支持3.6-3.8版本python.
    根据提示安装后,开始进入终端安装tensorflow:
    创建新的环境tensorflow:

    conda create -n tensorflow_env python=3.8
    

    激活环境:

    conda activate tensorflow_env
    

    然后直接安装:

    conda install tensorflow
    

    后面报错,就是当前是python3.8版本,conda下安装只能支持3.5-3.7的,然后就重新装了一个python3.7的环境好了。
    在这里插入图片描述

    低配成功了

    第二种尝试成功:安装低版本的tensorflow 2.0.0, python = 3.7,创建新的环境:

    conda create -n tensorflow_env_py37 python=3.7
    conda activate tensorflow_env_py37
    # check your python version
    python --version
    # install
    conda install tensorflow
    
    # enter your python
    python
    # check tensorflow
    import tensorflow as tf
    

    需要等待一会,加载tensorflow,之后没有报错。

    下面用官网的一个例子,测试下,可以正常运行。

    import tensorflow as tf
    # 载入MNIST数据集
    mnist = tf.keras.datasets.mnist
    
    (x_train, y_train), (x_test, y_test) = mnist.load_data()
    x_train, x_test = x_train / 255.0, x_test / 255.0
    # 搭建模型
    model = tf.keras.models.Sequential([
      tf.keras.layers.Flatten(input_shape=(28, 28)),
      tf.keras.layers.Dense(128, activation='relu'),
      tf.keras.layers.Dropout(0.2),
      tf.keras.layers.Dense(10, activation='softmax')
    ])
    
    model.compile(optimizer='adam',
                 loss='sparse_categorical_crossentropy',
                  metrics=['accuracy'])
    # 训练并验证模型
    model.fit(x_train, y_train, epochs=5)
    model.evaluate(x_test,  y_test, verbose=2)
    

    可以正常输出结果。
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    这样两个各个版本的TensorFlow都可以拥有了。目前没啥问题。

    第三种方法:Python3.9 +TensorFlow2.5

    Python2.4版本的bug有点多,还是直接上2.5.
    前面已经安装好了miniforge3,就好办了。按照官方的三行代码:https://developer.apple.com/metal/tensorflow-plugin/

    step 1. 安装miniforge3,创建conda环境。
    安装Tensorflow dependencies:

    conda install -c apple tensorflow-deps
    

    step 2. Install base TensorFlow

    python -m pip install tensorflow-macos
    

    这里下载的时间比较久了。
    在这里插入图片描述

    step 3. Install tensorflow-metal plugin

    python -m pip install tensorflow-metal
    

    如果安装pycharm,使用TensorFlow

    pycharm是支持M1 芯片的,放心使用,就是选择Python解释器时,选择你前面创建的虚拟环境即可。

    在这里插入图片描述

    Anaconda上安装pytorch

    如果安装Pytorch,进入官网https://pytorch.org/get-started/locally/选择版本:官网给出了各种安装方法。
    在这里插入图片描述

    在前面安装好miniforge3的基础上,在Anaconda上的可以安装Pytorch1.8.0版本。

    conda install pytorch torchvision -c pytorch
    

    在这里插入图片描述

    可以正常安装。

    在这里插入图片描述

    第四种方法(推荐):TensorFlow2.4(ARM64)

    踩坑3(9月更新:避坑推荐):Mac-optimized TensorFlow and TensorFlow Addon

    具体看我的另一篇博文:Macbook M1避坑指南:安装Apple-TensorFlow(arm64)

    因为anaconda现在还没完美支持M1,因此通用的步骤还是Xcode、miniforge、ATF2.4等。
    TensorFlow 2.4 on Apple Silicon M1: installation under Conda environment

    3.1 针对能import tensorflow,但是模型无法编译

    如果在虚拟环境下能正常import tensorflow,但是模型无法编译。 例如使用keras,一个简单的Sequential模型,到model.compile()就报错了。错误如下:

    问题描述:无法在M1上使用keras进行模型编译

    报错信息:

    2021-09-29 12:04:50.205695: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:116] None of the MLIR optimization passes are enabled (registered 2)
    2021-09-29 12:04:50.205850: W tensorflow/core/platform/profile_utils/cpu_utils.cc:126] Failed to get CPU frequency: 0 Hz
    2021-09-29 12:04:50.206537: F tensorflow/core/grappler/costs/op_level_cost_estimator.cc:710] Check failed: 0 < gflops (0 vs. 0)type: "CPU"
    model: "0"
    num_cores: 8
    environment {
      key: "cpu_instruction_set"
      value: "ARM NEON"
    }
    environment {
      key: "eigen"
      value: "3.3.90"
    }
    l1_cache_size: 16384
    l2_cache_size: 524288
    l3_cache_size: 524288
    memory_size: 268435456
    
    zsh: abort      /Users/dan/miniforge3/envs/pytorch_env/bin/python 
    

    原因分析:
    还是TensorFlow版本的问题, 使用一个支持Mac M1芯片的arm64版本的TensorFlow。具体的操作可以参考官方

    3.2解决方案

    Step 1:安装Xcode Command Line Tools,Apple Developer下载安装即可。

    Step 2:安装arm版本miniforge。

    miniforge github选择最新的ARM64版本,一路yes就行。

    之后终端conda --versionconda info -e检查是否成功。

    Step 3: 从Mac-optimized TensorFlow2.4 and TensorFlow Addons下载ARM64版本的TensorFlow2.4,具体的安装要求是macOS 11.0+, Python3.8.

    在这里插入图片描述

    进入releases选择最新的版本tensorflow_macos-0.1alpha3.tar.gz

    在这里插入图片描述

    tensorflow_macos-0.1alpha3.tar.gz下载后,先解压会出现2个文件夹arm64和x86_64,需要cd进入arm64文件夹。

    Step 4:路径到.\arm64,创建conda虚拟环境。

    创建一个新环境tf24:

    conda create --name tf24
    

    创建后利用conda info -e 查看。

    激活环境tf24,安装Python3.8.6和pandas等。

    conda activate tf24
    conda install -y python==3.8.6
    conda install -y pandas matplotlib scikit-learn jupyterlab
    

    Step 5:开始安装Apple-TensorFlow2.4

    Step 5.1查看arm64文件夹,强制安装这些whl文件(注意:这里不安装Tensorflow的包)

    如下所示arm64文件夹内的whl文件:

    在这里插入图片描述

    先强制安装除Tensorflow包以外的whl:

    pip install --upgrade --no-dependencies --force numpy-1.18.5-cp38-cp38-macosx_11_0_arm64.whl grpcio-1.33.2-cp38-cp38-macosx_11_0_arm64.whl h5py-2.10.0-cp38-cp38-macosx_11_0_arm64.whl
    

    在这里插入图片描述

    Step 5.2 安装完成后,再安装一些依赖库:

    因为安装TensorFlow有很多依赖的其他包,先安装这些依赖包。具体如下所示:

    在这里插入图片描述

    pip install absl-py astunparse flatbuffers gast google_pasta keras_preprocessing opt_einsum protobuf tensorflow_estimator termcolor typing_extensions wrapt wheel tensorboard typeguard
    

    在这里插入图片描述

    Step 5.3 终于可以安装TensorFlow

    继续安装来自arm64文件夹的whl文件:

    pip install --upgrade --force --no-dependencies tensorflow_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl
    
    pip install --upgrade --force --no-dependencies tensorflow_addons_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl
    

    在这里插入图片描述

    至此tensorflow安装完成。

    Step 5.4 进入Python检查TensorFlow版本

    在这里插入图片描述

    Step 5.5 测试代码
    import tensorflow as tf
    import time
    
    mnist = tf.keras.datasets.mnist
    
    (x_train, y_train),(x_test, y_test) = mnist.load_data()
    x_train, x_test = x_train / 255.0, x_test / 255.0
    
    model = tf.keras.models.Sequential([
      tf.keras.layers.Flatten(input_shape=(28, 28)),
      tf.keras.layers.Dense(128, activation='relu'),
      tf.keras.layers.Dropout(0.2),
      tf.keras.layers.Dense(10, activation='softmax')
    ])
    
    model.summary()
    model.compile(optimizer='adam',
                  loss='sparse_categorical_crossentropy',
                  metrics=['accuracy'])
    
    
    start = time.time()
    
    model.fit(x_train, y_train, epochs=5)
    
    end = time.time()
    
    model.evaluate(x_test, y_test)
    print(end - start)
    
    
    

    可以正常编译:

    在这里插入图片描述

    第五种方法(最新推荐):支持M1的3.9+TensorFlow2.5/2.6

    Python3.8 + TensorFlow2.4正常使用中,如今可在macOS12.0+上安装TensorFlow2.5或者2.6且支持3.9。2.4还是会有点小问题,建议还是上2.5。
    具体参考苹果官方的方法:https://developer.apple.com/metal/tensorflow-plugin/

    Step 1. 把你的macOS升级到最新版本12.0+

    Step 2. arm64 : Apple Silicon环境安装,即miniforge3安装(具体安装可以参考第一种方法介绍)

    下载并安装Conda env:

    chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
    sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
    source ~/miniforge3/bin/activate
    

    Step 3. 安装TensorFlow依赖:

    有以下2种情况:

    第一种情况:已经安装过2.4的依赖,现在想要升级到2.5或2.6版本的:

    # uninstall existing tensorflow-macos and tensorflow-metal
    python -m pip uninstall tensorflow-macos
    python -m pip uninstall tensorflow-metal
    # Upgrade tensorflow-deps
    conda install -c apple tensorflow-deps --force-reinstall
    # or point to specific conda environment
    conda install -c apple tensorflow-deps --force-reinstall -n my_env
    

    第二种情况:第一次安装,可选TensorFlow版本2.5或2.6

    如果是TensorFlow 2.5:

    conda install -c apple tensorflow-deps==2.5.0
    

    如果是TensorFlow 2.6:

    conda install -c apple tensorflow-deps==2.6.0
    

    Step 4. 安装TensorFlow base:

    python -m pip install tensorflow-macos
    

    Step 5. 安装TensorFlow插件:

    python -m pip install tensorflow-metal
    

    Anaconda安装package出问题

    可以看另二篇博文:

    1. Macbook m1 with conda-forge安装package报错和解决

    2. 异常处理:macOS M1下Anaconda安装package
      包括安装gensim,keras等常用库时遇到的报错。

    欢迎各位关注我的个人公众号:HsuDan,我将分享更多自己的学习心得、避坑总结、面试经验、AI最新技术资讯。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 408,303
精华内容 163,321
关键字:

tensorflow

友情链接: WOA.zip