tf.add(x,y,name=None)
参数说明:
x:一个张量,必须是下列类型之一:bfloat16/half/float32/uint8/int8/int16/int32/int64/complex64/complex128/string
y: 一个张量,类型必须同x
name:操作的名字,可选参数
返回值: x+y
一个张量,类型同x
import tensorflow as tf
a = tf.constant(2)
b = tf.constant(5)
addOp = tf.add(a,b)
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
print(sess.run(addOp))
print(addOp)
sess.close()
输出:
7
Tensor("Add:0", shape=(), dtype=int32)
同tf.add
tf.subtract(x,y,name=None)
参数说明:
x:一个张量,必须是以下类型之一:bfloat16/half/float32/float64/uint8/int8/uint16/int16/int32/int64/complex64/complex128
y:一个张量,类型同x
name:张量操作的名字,可选参数。
返回值: x-y
一个张量,类型同x
import tensorflow as tf
a = tf.constant(2)
b = tf.constant(5)
subOp = tf.subtract(a,b)
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
print(sess.run(subOp))
print(subOp)
sess.close()
输出:
-3
Tensor("Sub:0", shape=(), dtype=int32)
注:subtract支持广播操作
tf.multiply(x,y,name=None)
参数说明:
x:一个张量,必须是下列类型之一:bfloat16/half/float32/float64/uint8/uint16/int16/int32/int64/complex64/complex128
y:一个张量,类型同x
返回值: x*y
一个张量,类型同x
import tensorflow as tf
a = tf.constant(2)
b = tf.constant(5)
mulOp = tf.multiply(a,b)
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
print(sess.run(mulOp))
print(mulOp)
sess.close()
输出:
10
Tensor("Mul:0", shape=(), dtype=int32)
同tf.multiply(a,b)
注意:tf.matmul(a,b)代表的是矩阵乘法,其中,矩阵a的列和矩阵b的行数相等;tf.multiply(a,b)代表的是点乘,其中矩阵a的列要么为1要么和矩阵b同列,矩阵a和矩阵b行数必须相等。
标量和张量相乘:
tf.scalar_mul(scalar,x)
参数说明:
scalar:标量
x:一个张量
返回值: scalar*x
import tensorflow as tf
b = tf.constant(5)
scalar_mul_Op = tf.scalar_mul(2,b)
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
print(sess.run(scalar_mul_Op))
print(scalar_mul_Op)
sess.close()
除法操作,如果其中一个是浮点数,则结果是浮点类型,否则是整数类型。
tf.div(x,y,name=None)
参数说明:
x:实数数值类型,分子
y:实数类型,父母
name:操作名字
返回值:
x/y
import tensorflow as tf
a = tf.constant(2)
b = tf.constant(5)
div_op = tf.div(a,b)
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
print(sess.run(div_op))
print(div_op)
sess.close()
输出:
0
Tensor("div:0", shape=(), dtype=int32)
注:如果是tf.div(1.0,2)输出的就是0.5。
注意,如果输入的是
a = tf.constant(1.0)
b = tf.constant(5)
div_op = tf.div(a,b)
在执行时就会报错,因为这里需要b也是float32类型的,因此改成:
b = tf.constant(5.0) 或 b = tf.constant(5,dtype=tf.float32)即可
【参考网站】