美文网首页
TesnsorFlow简介

TesnsorFlow简介

作者: Liu91 | 来源:发表于2018-08-06 21:50 被阅读0次

    一. Tensorflow中的基本概念

    【1】Graph(图)来表示计算任务
    【2】Session(会话)执行Graph
    【3】Tensor表示数据
    【4】Variable维护状态
    【5】FeedFetch为任意的操作赋值或者从中获取数据
    【6】Tensor(张量)是某一类型的多维数组
    【7】OP节点操作

    二. Tensorflow的计算图

    TensorFlow是基于计算流图的,其命名来源于自身的运行原理。Tensorflow使用图来表示计算任务,如下图所示:

    图中的节点被称为op(operation)。一个op获得0个或多个tensor。op执行计算,产生0个或多个tensor。TensorFlow的一个Graph描述(定义)了计算的过程,图只有在Session中启动,才能使op返回具体的tensor。
    所以Tensorflow的程序通常分为构建阶段执行阶段。执行的过程就是tensor在计算图中的flow,所以称之为Tensorflow。
    # -*- coding: UTF-8 -*-
    import tensorflow as tf
    # 创建常量op
    a = tf.constant([1, 2, 3])
    b = tf.constant([4, 5 ,6])
    # 创建add的op
    c = tf.add(a, b)
    print('c before:', c)
    # 建立session,用with即用python中的上下文管理器管理这个session,当上下文管理器退出时,会释放资源,结束session
    with tf.Session() as sess:
        print(sess.run(c))
    

    输出的结果为:

    ('c before:', <tf.Tensor 'Add:0' shape=(3,) dtype=int32>)
    [5 7 9]
    

    通过session,数据才能在计算图中流动起来,这时候可以得到具体的数值。

    (1) Fetch

    取回操作是使用Session对象的run()调用执行图时,传入tensor,这些tensor会帮助我们取回结果。
    上面的例子我们只取回了一个tensor,也可以取回多个tensor

    # -*- coding: UTF-8 -*-
    
    import tensorflow as tf
    # 创建常量op
    a = tf.constant([1, 2, 3])
    b = tf.constant([4, 5 ,6])
    # 创建add的op
    c = tf.add(a, b)
    d = a+c
    print('c before:', c)
    # 建立session,用with即用python中的上下文管理器管理这个session,当上下文管理器退出时,会释放资源,结束session
    with tf.Session() as sess:
        print(sess.run([c, d]))
    

    (2) Feed

    feed可以理解为一个占位符,当运行的时候可以临时代替计算图中任意操作中的tensor。

    # -*- coding: UTF-8 -*-
    
    import tensorflow as tf
    # 创建常量op
    a = tf.placeholder(tf.float32)
    b = tf.placeholder(tf.float32)
    # 创建add的op
    c = tf.add(a, b)
    
    # 建立session,用with即用python中的上下文管理器管理这个session,当上下文管理器退出时,会释放资源,结束session
    with tf.Session() as sess:
        print(sess.run(c, feed_dict={a: [1.], b: [2.]}))
    

    这里的placeholder就是占位符,在run的时候feed具体的数值。

    Tensorflow的发展背景及运行机制

    这里可以参见背景&&运行机制

    相关文章

      网友评论

          本文标题:TesnsorFlow简介

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