TensorFlow核心概念及基本使用

TensorFlow核心概念

  综述:TensorFlow中的计算可以表示为一个有向图,或称计算图,其中每一个运算操作将作为一个节点,节点间的链接叫做边。这个计算图描述了数据的计算流程,它也负责维护和更新状态,用户可以对计算图的分支进行条件控制和循环操作。计算图中的每一个节点可以有任意多个输入和输出,每一个节点描述了一种运算操作,节点可以算是运算操作的实例化。在计算图的边中流动的的数据被称为张量。

  1.计算图

  TensorFlow是一个通过计算图的形式来表述计算的编程系统。每一个计算都是计算图的一个节点,而节点间的边描述了计算之间的依赖关系。

  2.TensorFlow的数据模型-张量

  TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中的节点之间流通.

  3.TensorFlow的运行模型-会话

  会话(Session)用来执行定义好的运算。会话拥有并管理TensorFlow程序运行时的所有资源。当所有计算完成后需关闭会话来帮助系统回收资源。使用会话的方式一般有两种:

   (1)sess = tf.Session()

    sess .run(...)

    sess.close() 

    //因异常退出可能会未执行关闭会话的语句

   (2)with tf.Session() as sess:

    sess.run(...)

    //执行完自动关闭会话

  4.变量

  变量是一类特殊的运算操作,它可以将一些需要保留的tensor储存在内存或显存中,比如神经网络中的系数。当训练模型时,用变量来存储和更新参数。通常会将一个统计模型中的参数表示为一组变量. 例如, 你可以将一个神经网络的权重作为某个变量存储在一个 tensor 中. 在训练过程中, 通过重复运行训练图, 更新这个 tensor.

    

TensorFlow的基本使用

  1.构建图

    import tensorflow as tf

    # 创建一个常量 op, 产生一个 1x2 矩阵. 这个 op 被作为一个节点

    # 加到默认图中. 

    # 构造器的返回值代表该常量 op 的返回值.

    matrix1 = tf.constant([[3., 3.]])

    # 创建另外一个常量 op, 产生一个 2x1 矩阵.

    matrix2 = tf.constant([[2.],[2.]])

    # 创建一个矩阵乘法 matmul op , 把 'matrix1' 和 'matrix2' 作为输入.

    # 返回值 'product' 代表矩阵乘法的结果.

product = tf.matmul(matrix1, matrix2)

  2.在一个会话中启动图

   这个使用在上一点会话中有提到的两种方法。

猜你喜欢

转载自www.cnblogs.com/miracle-Z/p/8988701.html
今日推荐