tensorflow接口研读math_ops(一)

一、一元操作函数
1.低等数学
1.4 tf.scalar_mul(scalar,x) 求x的scalar倍
1.16 tf.abs(x,name=None) 求x的绝对值
1.17 tf.negative(x,name=None) 求x的负数
1.18 tf.sign(x,name=None) 求x的符号
1.19 tf.reciprocal(x,name=None) 求x的倒数
1.20 tf.square(x,name=None) 求x的平方
1.21 tf.round(x,name=None) 求离x最近的整数,若有两值,取偶数。
1.22 tf.sqrt(x,name=None) 求x的平方根
1.23 tf.rsqrt(x,name=None) 求(x的平方根)的倒数
1.25 tf.exp(x,name=None) 求e的x次幂
1.26 tf.expm1(x,name=None) 求(e的x次幂)减1
1.27 tf.log(x,name=None) 求x的自然对数
1.28 tf.log1p(x,name=None) 求x加1的自然对数
1.29 tf.ceil(x,name=None) 求比x大的最小整数
1.30 tf.floor(x,name=None)求比x小的最大整数
1.33 tf.cos(x,name=None)求cos(x)
1.34 tf.sin(x,name=None)求sin(x)
1.35 tf.lbeta(x,name=None)求ln(|Beta(x)|)
1.36 tf.tan(x,name=None) 求tan
1.37 tf.acos(x,name=None) 求acos
1.38 tf.asin(x,name=None) 求asin
1.39 tf.atan(x,name=None) 求atan
1.40 tf.lgamma(x,name=None)求ln(gamma(x))
1.41 tf.digamma(x,name=None)求lgamma的导数
1.42 tf.erf(x,name=None) 计算高斯误差
1.43 tf.erfc(x,name=None) 计算1-高斯误差
1.50 tf.rint(x,name=None) 计算离x最近的整数,若为中间值,取偶数值。

1.1   tf.add(x,y,name=None)
1.2   tf.subtract(x,y,name=None)
1.3   tf.multiply(x,y,name=None)

1.5   tf.div(x,y,name=None)
1.6   tf.truediv(x,y,name=None)
1.7   tf.floordiv(x,y,name=None)
1.8   tf.realdiv(x,y,name=None)
1.9   tf.truncatediv(x,y,name=None)
1.10   tf.floor_div(x,y,name=None)
1.11   tf.truncatemod(x,y,name=None)
1.12   tf.floormod(x,y,name=None)
1.13   tf.mod(x,y,name=None)
1.14   tf.cross(x,y,name=None)
1.15   tf.add_n(inputs,name=None)





1.24   tf.pow(x,y,name=None)

1.31   tf.maximum(x,y,name=None)
1.32   tf.minimum(x,y,name=None)

1.44   tf.squared_difference(x,y,name=None)
1.45   tf.igamma(a,x,name=None)
1.46   tf.igammac(a,x,name=None)
1.47   tf.zeta(x,q,name=None)
1.48   tf.polygamma(a,x,name=None)    
1.49   tf.betainc(a,b,x,name=None) 






math_ops函数使用,本篇为算术函数和基本数学函数。
######1.1   tf.add(x,y,name=None)

功能:对应位置元素的加法运算。
输入:x,y具有相同尺寸的tensor,可以为half, float32, float64, uint8, int8, int16, int32, int64,
complex64, complex128, `string‘类型。
例:
x=tf.constant(1.0)
y=tf.constant(2.0)
z=tf.add(x,y)

z==>(3.0)

######1.2   tf.subtract(x,y,name=None)

功能:对应位置元素的减法运算。
输入:x,y具有相同尺寸的tensor,可以为half, float32, float64, int32, int64, complex64, complex128,
`string‘类型。
例:
x=tf.constant([[1.0,-1.0]],tf.float64)
y=tf.constant([[2.2,2.3]],tf.float64)
z=tf.subtract(x,y)

z==>[[-1.2,-3.3]]

######1.3   tf.multiply(x,y,name=None)

功能:对应位置元素的乘法运算。
输入:x,y具有相同尺寸的tensor,可以为half, float32, float64, uint8, int8, uint16,int16, int32, int64,
complex64, complex128, `string‘类型。
例:
x=tf.constant([[1.0,-1.0]],tf.float64)
y=tf.constant([[2.2,2.3]],tf.float64)
z=tf.multiply(x,y)

z==>[[2.2,-2.3]]


1.5 tf.div(x,y,name=None)[推荐使用tf.divide(x,y)]
功能:对应位置元素的除法运算(使用python2.7除法算法,如果x,y有一个为浮点数,结果为浮点数;否则为整数,但使用该函数会报错)。
输入:x,y具有相同尺寸的tensor,x为被除数,y为除数。
例:
x=tf.constant([[1,4,8]],tf.int32)
y=tf.constant([[2,3,3]],tf.int32)
z=tf.div(x,y)

z==>[[0,1,2]]

x=tf.constant([[1,4,8]],tf.int64)
y=tf.constant([[2,3,3]],tf.int64)
z=tf.divide(x,y)

z==>[[0.5,1.33333333,2.66666667]]

x=tf.constant([[1,4,8]],tf.float64)
y=tf.constant([[2,3,3]],tf.float64)
z=tf.div(x,y)

z==>[[0.5,1.33333333,2.66666667]]
1.6 tf.truediv(x,y,name=None)
功能:对应位置元素的除法运算。(使用python3除法算法,又叫真除,结果为浮点数,推荐使用tf.divide)
输入:x,y具有相同尺寸的tensor,x为被除数,y为除数。
1.7 tf.floordiv(x,y,name=None)
功能:对应位置元素的地板除法运算。返回不大于结果的最大整数
输入:x,y具有相同尺寸的tensor,x为被除数,y为除数。
例:
x=tf.constant([[2,4,-1]],tf.int64) #float类型运行结果一致,只是类型为浮点型
y=tf.constant([[3,3,3]],tf.int64)
z=tf.floordiv(x,y)

z==>[[0,1,-1]]
1.8 tf.realdiv(x,y,name=None)
功能:对应位置元素的实数除法运算。实际情况不非官方描述,与divide结果没区别,
输入:x,y具有相同尺寸的tensor,可以为`half`, `float32`, `float64`, `uint8`, `int8`, `int16`, `int32`, `int64`, 
`complex64`, `complex128`, `string‘类型。
例:
x=tf.constant([[2+1j,4+2j,-1+3j]],tf.complex64)
y=tf.constant([[3+3j,3+1j,3+2j]],tf.complex64)
z=tf.realdiv(x,y)

z==>[[0.50000000-0.16666667j 1.39999998+0.2j 0.23076922+0.84615386j]]
1.9 tf.truncatediv(x,y,name=None)
功能:对应位置元素的截断除法运算,获取整数部分。(和手册功能描述不符,符号位并不能转为0)
输入:x,y具有相同尺寸的tensor,可以为`uint8`, `int8`, `int16`, `int32`, `int64`,类型。(只能为整型,浮点型等并未注册,和手册不符)
例:
x=tf.constant([[2,4,-7]],tf.int64)
y=tf.constant([[3,3,3]],tf.int64)
z=tf.truncatediv(x,y)

z==>[[0 1 -2]]
1.10 tf.floor_div(x,y,name=None)
功能:对应位置元素的地板除法运算。(和tf.floordiv运行结果一致,只是内部实现方式不一样)
输入:x,y具有相同尺寸的tensor,可以为`half`, `float32`, `float64`, `uint8`, `int8`, `int16`, `int32`, `int64`, 
`complex64`, `complex128`, `string‘类型。
1.11 tf.truncatemod(x,y,name=None)
功能:对应位置元素的截断除法取余运算。
输入:x,y具有相同尺寸的tensor,可以为float32`, `float64`,  `int32`, `int64`类型。
例:
x=tf.constant([[2.1,4.1,-1.1]],tf.float64)
y=tf.constant([[3,3,3]],tf.float64)
z=tf.truncatemod(x,y)

z==>[[2.1 1.1 -1.1]]
1.12 tf.floormod(x,y,name=None)
功能:对应位置元素的地板除法取余运算。
输入:x,y具有相同尺寸的tensor,可以为float32`, `float64`,  `int32`, `int64`类型。
例:
x=tf.constant([[2.1,4.1,-1.1]],tf.float64)
y=tf.constant([[3,3,3]],tf.float64)
z=tf.truncatemod(x,y)

z==>[[2.1 1.1 1.9]]
1.13 tf.mod(x,y,name=None)
功能:对应位置元素的除法取余运算。若x和y只有一个小于0,则计算‘floor(x/y)*y+mod(x,y)’。
输入:x,y具有相同尺寸的tensor,可以为`float32`, `float64`,  `int32`, `int64`类型。
例:
x=tf.constant([[2.1,4.1,-1.1]],tf.float64)
y=tf.constant([[3,3,3]],tf.float64)
z=tf.mod(x,y)

z==>[[2.1 1.1 1.9]]
1.14 tf.cross(x,y,name=None)
功能:计算叉乘。最大维度为3。
输入:x,y具有相同尺寸的tensor,包含3个元素的向量
例:
x=tf.constant([[1,2,-3]],tf.float64)
y=tf.constant([[2,3,4]],tf.float64)
z=tf.cross(x,y)

z==>[[17. -10. -1]]#2×4-(-3)×3=17,-(1×4-(-3)×2)=-10,1×3-2×2=-1。
1.15 tf.add_n(inputs,name=None)
功能:将所有输入的tensor进行对应位置的加法运算
输入:inputs:一组tensor,必须是相同类型和维度。
例:
x=tf.constant([[1,2,-3]],tf.float64)
y=tf.constant([[2,3,4]],tf.float64)
z=tf.constant([[1,4,3]],tf.float64)
xyz=[x,y,z]
z=tf.add_n(xyz)

z==>[[4. 9. 4.]]
1.18 tf.sign(x,name=None)
功能:求x的符号,x>0,则y=1;x<0则y=-1;x=0则y=0。
输入:x,为张量,可以为`half`,`float32`, `float64`,  `int32`, `int64`,`complex64`,`complex128`类型。
例:
x=tf.constant([[1.1,0,-3]],tf.float64)
z=tf.sign(x)

z==>[[1. 0. -1.]]
1.24 tf.pow(x,y,name=None)
功能:计算x各元素的y次方。
输入:x,y为张量,可以为`float32`, `float64`, `int32`, `int64`,`complex64`,`complex128`类型。
例:
x=tf.constant([[2,3,5]],tf.float64)
y=tf.constant([[2,3,4]],tf.float64)
z=tf.pow(x,y)

z==>[[4. 27. 625.]]
1.31 tf.maximum(x,y,name=None)
功能:计算x,y对应位置元素较大的值。
输入:x,y为张量,可以为`half`,`float32`, `float64`,  `int32`, `int64`类型。
例:
x=tf.constant([[0.2,0.8,-0.7]],tf.float64)
y=tf.constant([[0.2,0.5,-0.3]],tf.float64)
z=tf.maximum(x,y)

z==>[[0.2 0.8 -0.3]]
1.32 tf.minimum(x,y,name=None)
功能:计算x,y对应位置元素较小的值。
输入:x,y为张量,可以为`half`,`float32`, `float64`,  `int32`, `int64`类型。
例:
x=tf.constant([[0.2,0.8,-0.7]],tf.float64)
y=tf.constant([[0.2,0.5,-0.3]],tf.float64)
z=tf.maximum(x,y)

z==>[[0.2 0.5 -0.7]]
1.35 tf.lbeta(x,name=None)
功能:计算`ln(|Beta(x)|)`,并以最末尺度进行归纳。
          最末尺度`z = [z_0,...,z_{K-1}]`,则Beta(z) = \prod_j Gamma(z_j) / Gamma(\sum_j z_j)
输入:x为秩为n+1的张量,可以为'float','double'类型。
例:
x=tf.constant([[4,3,3],[2,3,2]],tf.float64)
z=tf.lbeta(x)

z==>[-9.62377365 -5.88610403]
#ln(gamma(4)*gamma(3)*gamma(3)/gamma(4+3+3))=ln(6*2*2/362880)=-9.62377365
#ln(gamma(2)*gamma(3)*gamma(2)/gamma(2+3+2))=ln(2/720)=-5.88610403 
######1.44   tf.squared_difference(x,y,name=None)

功能:计算(x-y)(x-y)。
输入:x为张量,可以为half,float32, float64类型。
例:
x=tf.constant([[-1,0,2]],tf.float64)
y=tf.constant([[2,3,4,]],tf.float64)
z=tf.squared_difference(x,y)

z==>[[9. 9. 4.]]

######1.45   tf.igamma(a,x,name=None)

功能:计算gamma(a,x)/gamma(a),gamma(a,x)=\intergral_from_0_to_x t(a-1)*exp(-t)dt。
输入:x为张量,可以为float32, float64类型。
例:
a=tf.constant(1,tf.float64)
x=tf.constant([[1,2,3,4]],tf.float64)
z=tf.igamma(a,x)

z==>[[0.63212056 0.86466472 0.95021293 0.98168436]]

######1.46   tf.igammac(a,x,name=None)

功能:计算gamma(a,x)/gamma(a),gamma(a,x)=\intergral_from_x_to_inf t(a-1)*exp(-t)dt。
输入:x为张量,可以为float32, float64类型。
例:
x=tf.constant([[-1,0,1,2,3]],tf.float64)
z=tf.erf(x)

z==>[[-0.84270079 0. 0.84270079 0.99532227 0.99997791]]

######1.47   tf.zeta(x,q,name=None)

功能:计算Hurwitz zeta函数。
输入:x为张量或稀疏张量,可以为float32, float64类型。
例:
a=tf.constant(1,tf.float64)
x=tf.constant([[1,2,3,4]],tf.float64)
z=tf.zeta(x,a)

z==>[[inf 1.64493407 1.2020569 1.08232323]]

######1.48   tf.polygamma(a,x,name=None)    

功能:计算psi{(a)}(x),psi{(a)}(x) = ({da}/{dxa})*psi(x),psi即为polygamma。
输入:x为张量,可以为float32, float64类型。a=tf.constant(1,tf.float64)
例:
x=tf.constant([[1,2,3,4]],tf.float64)
z=tf.polygamma(a,x)

z==>[[1.64493407 0.64493407 0.39493407 0.28382296]]

######1.49   tf.betainc(a,b,x,name=None) 

功能:计算I_x(a, b)。I_x(a, b) = {B(x; a, b)}/{B(a, b)}。
B(x; a, b) = \intergral_from_0_to_x t^{a-1} (1 - t)^{b-1} dt。
B(a, b) = \intergral_from_0_to_1 t^{a-1} (1 - t)^{b-1} dt。即完全beta函数。
输入:x为张量,可以为float32, float64类型。a,b与x同类型。
例:
a=tf.constant(1,tf.float64)b=tf.constant(1,tf.float64)x=tf.constant([[0,0.5,1]],tf.float64)

z==>[[0. 0.5 1.]]

######1.50   tf.rint(x,name=None) 

功能:计算离x最近的整数,若为中间值,取偶数值。
输入:x为张量,可以为half,float32, float64类型。
例:
x=tf.constant([[-1.7,-1.5,-1.1,0.1,0.5,0.4,1.5]],tf.float64)
z=tf.rint(x)

z==>[[-2. -2. -1. 0. 0. 0. 2.]]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容