truediv,__floordiv__是用于除法的。 那__rtruediv__和__rfloordiv__又有什么用呢?
注意:首选使用Tensor运算符或遵循Python除法运算符语义的tf.divide。此函数强制使用Python 3除法运算符语义,其中所有整数参数首先转换为浮点类型。 此op由Python 3中的正常x / y除法和带有__future__ import division的Python 2.7生成。 如果想要向下舍入整数除法,请使用x // y或tf.floordiv。x和y必须具有相同的数字类型。 如果输入是浮点,则输出将具有相同的类型。 如果输入是整数,则输入将转换为float32 for int8和int16,float64转换为int32和int64(匹配Numpy的行为)。
tf.truediv(
x,
y,
name=None
)
参数说明:x:张量。数值类型,作为分子。
y: 张量。数值类型,作为分母。
name:操作的名字,可选。
返回值:x/y,浮点型。
a=tf.constant(2)
b=tf.constant(5)
addOp=tf.add(a,b)
sess=tf.Session()
init=tf.global_variables_initializer()
sess.run(init)
truediv_op=tf.truediv(a,b)
print(sess.run(truediv_op))
2.tf.floordiv 针对浮点数的除法向下取整。
与整数的tf.div(x,y)相同,但对浮点参数使用tf.floor(tf.div(x,y)),以便结果始终为整数(尽管可能是表示为浮点的整数))。 此操作由Python 3中的x // y floor division和带有__future__ import division的Python 2.7生成。
请注意,为了提高效率,floordiv对负数使用C语法(与Python和Numpy不同)。
x和y必须具有相同的类型,结果也将具有相同的类型。
tf.floordiv(
x,
y,
name=None
)
参数说明:
x:实数数值类型的张量,作为分子
y:作为分母
name:操作名
floordiv_op=tf.floordiv(a,b)
print(sess.run(floordiv_op)) #0
floordiv_op1=tf.floordiv(b,a)
print(sess.run(floordiv_op1)) #2