一. 常量变量四则运算

(1)常量四则运算

data3 = tf.constant(6)
data4 = tf.constant(2)
dataAdd = tf.add(data3,data4) # 加
dataSub = tf.subtract(data3,data4) # 减
dataMul = tf.multiply(data3,data4) # 乘
dataDiv = tf.divide(data3,data4) # 除
with tf.Session() as sess:
    print (sess.run(dataAdd))
    print (sess.run(dataSub))
    print (sess.run(dataMul))
    print (sess.run(dataDiv))
print('End!')

结果:

8
4
12
3.0
End!

(2)变量四则运算

data5 = tf.constant(6)
data6 = tf.Variable(4)
dataAdd = tf.add(data5,data6) # 加
dataCopy = tf.assign(data6,dataAdd) 
# 把dataAdd的运算结果,赋值到data6
dataSub = tf.subtract(data5,data6) # 减
dataMul = tf.multiply(data5,data6) # 乘
dataDiv = tf.divide(data5,data6) # 除
init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print ('加:',sess.run(dataAdd))
    print ('减:',sess.run(dataSub))
    print ('乘:',sess.run(dataMul))
    print ('除:',sess.run(dataDiv))
    print ('dataCopy :',sess.run(dataCopy)) 
    # dataAdd  = 10 
    print ('dataCopy.eval() :',dataCopy.eval()) 
    # eval(expression[, globals[, locals]]) , 用来执行一个字符串表达式,并返回表达式的值
    # dataAdd + data5 = 10 + 6 = 16
    print ('tf.get_default_session() :',tf.get_default_session().run(dataCopy)) 
    # dataCopy + data5 = 16 + 6 = 22
print('End!')

结果:

加: 10
减: 2
乘: 24
除: 1.5
dataCopy : 10
dataCopy.eval() : 16
tf.get_default_session() : 22
End!

二. 矩阵运算

1. 矩阵操作

例子一:

data1 = tf.placeholder(tf.float32)
data2 = tf.placeholder(tf.float32)
dataAdd = tf.add(data1,data2)
with tf.Session() as sess:
    print(sess.run(dataAdd,feed_dict={data1:6,data2:2}))
print('End!')

结果:

8.0
End!

2. 矩阵运算

(1)加法 tf.add()
通常的矩阵加法被定义在两个相同大小的矩阵。两个m×n矩阵A和B的和,标记为A+B,一样是个m×n矩阵,其内的各元素为其相对应元素相加后的值。例如:

(2)减法 tf.subtract()
也可以做矩阵的减法,只要其大小相同的话。A-B内的各元素为其相对应元素相减后的值,且此矩阵会和A、B有相同大小。例如:

(3)乘法 tf.multiply()
设A为m×p的矩阵,B为p×n的矩阵,那么称的矩阵C为m×n矩阵A与B的乘积,记作C=AB,其中矩阵C中的第i行第j列元素可以表示为:

如下所示:

(4)乘积-哈达马积 tf.matmul()
m×n矩阵A=[a ij]与m×n矩阵B=[b ij]的HadamardAB积记为。其元素定义为两个矩阵对应元素的乘积(AB)ij=aij bij的m×n矩阵。例如,

data1 = tf.constant([[6,6]])
data2 = tf.constant([[2],
                    [2]])
data3 = tf.constant([[3,3],
                    [2,2]])
data4 = tf.constant([[1,2],
                    [3,4],
                    [5,6]])
data5 = tf.constant([[1,1],
                    [2,2]])

matMul = tf.matmul(data3,data5) 
matMul2 = tf.multiply(data1,data2) 
matAdd = tf.add(data1,data4) 

with tf.Session() as sess:
    print('matMul:',sess.run(matMul))
    print('matMul2:',sess.run(matMul2))
    print('matAdd:',sess.run(matAdd))

结果:

matMul: [[9 9]
 [6 6]]
matMul2: [[12 12]
 [12 12]]
matAdd: [[ 7  8]
 [ 9 10]
 [11 12]]