输出:

    1. 2

    上面这个程序只能计算1+1,以下程序通过 (占位符张量)和 的 参数展示了如何使用TensorFlow计算任意两个数的和:

    1. import tensorflow as tf
    2.  
    3. a = tf.placeholder(dtype=tf.int32) # 定义一个占位符Tensor
    4. b = tf.placeholder(dtype=tf.int32)
    5. c = a + b
    6.  
    7. a_ = input("a = ") # 从终端读入一个整数并放入变量a_
    8. b_ = input("b = ")
    9.  
    10. sess = tf.Session()
    11. c_ = sess.run(c, feed_dict={a: a_, b: b_}) # feed_dict参数传入为了计算c所需要的张量的值
    12. print("a + b = %d" % c_)

    变量**(Variable)是一种特殊类型的张量,使用 建立,与编程语言中的变量很相似。使用变量前需要先初始化,变量内存储的值可以在计算图的计算过程中被修改。以下示例如何建立一个变量,将其值初始化为0,并逐次累加1。

    1.  
    2. a = tf.get_variable(name='a', shape=[])
    3. initializer = tf.assign(a, 0) # tf.assign(x, y)返回一个“将张量y的值赋给变量x”的操作
    4. a_plus_1 = a + 1 # 等价于 a + tf.constant(1)
    5. plus_one_op = tf.assign(a, a_plus_1)
    6.  
    7. sess = tf.Session()
    8. sess.run(initializer)
    9. for i in range(5):
    10. sess.run(plus_one_op) # 对变量a执行加一操作
    11. a_ = sess.run(a) # 获得变量a的值并存入a_
    12. print(a_)

    输出:

    1. 1.0
    2. 3.0
    3. 4.0
    4. 5.0

    矩阵乃至张量运算是科学计算(包括机器学习)的基本操作。以下程序展示如何计算两个矩阵 和 \begin{bmatrix} 1 & 1 \\ 1 & 1 \\ 1 & 1 \end{bmatrix} 的乘积:

    1. import tensorflow as tf
    2.  
    3. A = tf.ones(shape=[2, 3]) # tf.ones(shape)定义了一个形状为shape的全1矩阵
    4. B = tf.ones(shape=[3, 2])
    5. C = tf.matmul(A, B)
    6.  
    7. sess = tf.Session()
    8. C_ = sess.run(C)
    9. print(C_)

    输出:

    1. [[3. 3.]