1. tf.reduce_sum()
假设x=[[1,2],[3,4]],那么
tf.reduce_sum(x) ==> 10 #求所有元素的和 等价于tf.reduce_sum(x,[0,1]),通俗理解为按行按列求和
tf.reduce_sum(x,0) ==>[4,6] #相当于按列求和
tf.reduce_sum(x,1) ==>[3,7] #相当于按行求和
2.tf.squared_difference(tensor_1,tensor_2)
假设x=[[1,2],[3,4]],y=[[2,3],[4,5]],那么
tf.squared_difference(x,y) ==> [[1,1],[1,1]]
可以通俗理解为两个矩阵相减,然后对矩阵的每个元素求平方,当然了,tf.reduce_sum( tf.squared_difference(x,y) ) ==> 4
函数还支持广播,比如
tf.squared_difference(x,1) ==>[[0,1],[4,9]]
3.tf.multiply和tf.matmul的用法及区别
tf.multiply
import tensorflow as tf
#两个矩阵的对应元素各自相乘!!
x=tf.constant([[1.0,2.0,3.0],[1.0,2.0,3.0],[1.0,2.0,3.0]])
y=tf.constant([[0,0,1.0],[0,0,1.0],[0,0,1.0]])
#注意这里这里x,y要有相同的数据类型,不然就会因为数据类型不匹配而出错
z=tf.multiply(x,y)
#两个数相乘
x1=tf.constant(1)
y1=tf.constant(2)
#注意这里这里x1,y1要有相同的数据类型,不然就会因为数据类型不匹配而出错
z1=tf.multiply(x1,y1)
#数和矩阵相乘
x2=tf.constant([[1.0,2.0,3.0],[1.0,2.0,3.0],[1.0,2.0,3.0]])
y2=tf.constant(2.0)
#注意这里这里x1,y1要有相同的数据类型,不然就会因为数据类型不匹配而出错
z2=tf.multiply(x2,y2)
#两个矩阵相乘
x3=tf.constant([[1.0,2.0,3.0],[1.0,2.0,3.0],[1.0,2.0,3.0]])
y3=tf.constant([[0,0,1.0],[0,0,1.0],[0,0,1.0]])
#注意这里这里x,y要满足矩阵相乘的格式要求。
z3=tf.matmul(x,y)
with tf.Session() as sess:
print(sess.run(z))
print(sess.run(z1))
print(sess.run(z2))
print(sess.run(z3))
4.