truediv,__floordiv__是用于除法的。 那__rtruediv__和__rfloordiv__又有什么用呢?
1条回答 默认 最新
小P聊技术 2021-06-30 21:10关注- tf.truediv 按元素除法x / y(使用Python 3除法运算符语义)。
注意:首选使用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解决 无用评论 打赏 举报