美文网首页Python
TensorFlow入门

TensorFlow入门

作者: 你要好好学习呀 | 来源:发表于2019-04-18 18:00 被阅读0次

    TensorFlow 是一个开源的、基于 Python 的机器学习框架,它由 Google 开发,并在图形分类、音频处理、推荐系统和自然语言处理等场景下有着丰富的应用,是目前最热门的机器学习框架。

    除了 Python,TensorFlow 也提供了 C/C++、Java、Go、R 等其它编程语言的接口。

    TensorFlow 是由 Google Brain 团队为深度神经网络(DNN)开发的功能强大的开源软件库.

    任何曾经试图在 Python 中只利用 NumPy 编写神经网络代码的人都知道那是多么麻烦。编写一个简单的一层前馈网络的代码尚且需要 40 多行代码,当增加层数时,编写代码将会更加困难,执行时间也会更长。TensorFlow 使这一切变得更加简单快捷,从而缩短了想法到部署之间的实现时间。在本教程中,你将学习如何利用 TensorFlow 的功能来实现深度神经网络。

    开源深度学习库 TensorFlow 允许将深度神经网络的计算部署到任意数量的 CPU 或 GPU 的服务器、PC 或移动设备上,且只利用一个 TensorFlow API。包括 TensorFlow 在内的大多数深度学习库(如 Torch、Theano、Caffe 和 MxNet等)能够自动求导、开源、支持多种 CPU/GPU、拥有预训练模型,并支持常用的NN架构,如递归神经网络(RNN)、卷积神经网络(CNN)和深度置信网络(DBN)。

    TensorFlow 则还有更多的特点,如下:

    ·支持所有流行语言,如 Python、C++Java、R和Go。

    ·可以在多种平台上工作,甚至是移动平台和分布式平台。

    ·它受到所有云服务(AWS、Google和Azure)的支持。

    ·Keras——高级神经网络 API,已经与 TensorFlow 整合。

    ·与 Torch/Theano 比较,TensorFlow 拥有更好的计算图表可视化。

    ·允许模型部署到工业生产中,并且容易使用。

    ·有非常好的社区支持。

    ·TensorFlow 不仅仅是一个软件库,它是一套包括 TensorFlow,TensorBoard 和 TensorServing 的软件

    正如名称所示,TensorFlow 这一框架定义和运行涉及张量的计算。TensorFlow 中的核心数据单位是张量张量是对矢量和矩阵向潜在的更高维度的泛化。TensorFlow 在内部将张量表示为基本数据类型的 n 维数组。

    在编写 TensorFlow 程序时,操作和传递的主要对象是 tf.Tensor(张量)。tf.Tensor 对象表示一个部分定义的计算,最终会生成一个值。TensorFlow 程序首先会构建一个 tf.Tensor 对象图,详细说明如何基于其他可用张量计算每个张量,然后运行该图的某些部分以获得期望的结果。

    tf.Tensor 具有以下属性:

    1.数据类型(例如 float32、int32 或 string)

    2.形状

    张量中的每个元素都具有相同的数据类型,且该数据类型一定是已知的。形状,即张量的维数和每个维度的大小,可能只有部分已知。如果其输入的形状也完全已知,则大多数操作会生成形状完全已知的张量,但在某些情况下,只能在执行图时获得张量的形状。

    某些类型的张量有点特殊,以下是主要特殊张量:

    tf.Variable

    tf.constant

    tf.placeholder

    tf.SparseTensor

    除了 tf.Variable 以外,张量的值是不变的,这意味着对于单个执行任务,张量只有一个值

     TensorFlow核心程序由2个独立部分组成:

        a:Building the computational graph 构建计算图(tf.Graph)

        b:Running the computational graph 运行计算图 (tf.Session)

    计算图是排列成一个图的一系列 TensorFlow 指令。图由两种类型的对象组成。

    操作(简称“op”):图的节点。操作描述了消耗和生成张量的计算。

    张量:图的边。它们代表将流经图的值。大多数 TensorFlow 函数会返回 tf.Tensors

    重要提示:tf.Tensors 不具有值,它们只是计算图中元素的手柄。

    会话 (Session)

    要评估张量,需要实例化一个 tf.Session 对象(非正式名称为会话)。会话会封装 TensorFlow 运行时的状态,并运行 TensorFlow 操作。如果说 tf.Graph 像一个 .py 文件,那么 tf.Session 就像一个 python 可执行对象。

    当您使用 Session.run 请求输出节点时,TensorFlow 会回溯整个图,并流经提供了所请求的输出节点对应的输入值的所有节点

    TensorFlow提供了一个工具,叫TensorBoard,可以用来查看算法图的结构

    Tensorflow内建的操作运算有如下:

    未完待续。。。

    相关文章

      网友评论

        本文标题:TensorFlow入门

        本文链接:https://www.haomeiwen.com/subject/owjowqtx.html