tensorflow学习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.4 ? tf.scalar_mul(scalar,x)
??? 功能:固定倍率縮放。
??? 輸入:scalar必須為0維元素,x為tensor。
scalar=2.2 x=tf.constant([[1.2,-1.0]],tf.float64) z=tf.scalar_mul(scalar,x)z==>[[2.64,-2.2]]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`,類型。(只能為整型,浮點型等并未注冊,和手冊不符)
??? 返回:相除結果,整數
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`類型。
1.12 ? tf.floormod(x,y,name=None)
??? 功能:對應位置元素的地板除法取余運算。
??? 輸入:x,y具有相同尺寸的tensor,可以為float32`, `float64`,? `int32`, `int64`類型。
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`類型。
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.16 ? tf.abs(x,name=None)
??? 功能:求x的絕對值。
??? 輸入:x為張量或稀疏張量,可以為`float32`, `float64`,? `int32`, `int64`類型。
x=tf.constant([[1.1,2,-3]],tf.float64) z=tf.abs(x)z==>[[1.1 2. 3.]]1.17 ? tf.negative(x,name=None)
??? 功能:求x的負數。
??? 輸入:x為張量或稀疏張量,可以為`half`,`float32`, `float64`,? `int32`, `int64`,`complex64`,`complex128`類型。
x=tf.constant([[1.1,2,-3]],tf.float64) z=tf.negative(x)z==>[[-1.1. -2. 3.]]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.19 ? tf.reciprocal(x,name=None)
??? 功能:求x的倒數。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,? `int32`, `int64`,`complex64`,`complex128`類型。
x=tf.constant([[2,0,-3]],tf.float64) z=tf.reciprocal(x)z==>[[0.5 inf -0.33333333]]1.20 ? tf.square(x,name=None)
??? 功能:計算x各元素的平方。
??? 輸入:x為張量或稀疏張量,可以為`half`,`float32`, `float64`,? `int32`, `int64`,`complex64`,`complex128`類型。
x=tf.constant([[2,0,-3]],tf.float64) z=tf.square(x)z==>[[4. 0. 9.]]1.21 ? tf.round(x,name=None)
??? 功能:計算x各元素的距離其最近的整數,若在中間,則取偶數值。
??? 輸入:x為張量,可以為`float32`, `float64`類型。
x=tf.constant([[0.9,1.1,1.5,-4.1,-4.5,-4.9]],tf.float64) z=tf.round(x)z==>[[1. 1. 2. -4. -4. -5.]]1.22 ? tf.sqrt(x,name=None)
??? 功能:計算x各元素的平方。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,`complex64`,`complex128`類型。
x=tf.constant([[2,3,-5]],tf.float64) z=tf.sqrt(x)z==>[[1.41421356 1.73205081 nan]]1.23 ? tf.rsqrt(x,name=None)
??? 功能:計算x各元素的平方根的倒數。
??? 輸入:x為張量或稀疏張量,可以為`half`,`float32`, `float64`,`complex64`,`complex128`類型。
x=tf.constant([[2,3,5]],tf.float64) z=tf.rsqrt(x)z==>[[0.70710678 0.57735027 0.4472136]]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.25 ? tf.exp(x,name=None)
??? 功能:計算x各元素的自然指數,即e^x。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,`complex64`,`complex128`類型。
x=tf.constant([[0,1,-1]],tf.float64) z=tf.exp(x)z==>[[1. 2.71828183 0.36787944]]1.26 ? tf.expm1(x,name=None)
??? 功能:計算x各元素的自然指數減1,即e^x-1。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,`complex64`,`complex128`類型。
x=tf.constant([[0,1,-1]],tf.float64) z=tf.expm1(x)z==>[[0. 1.71828183 -0.63212056]]1.27 ? tf.log(x,name=None)
??? 功能:計算x各元素的自然對數。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,`complex64`,`complex128`類型。
x=tf.constant([[1,2.71828183,10]],tf.float64) z=tf.log(x)z==>[[0. 1. 2.30258509]]1.28 ? tf.log1p(x,name=None)
??? 功能:計算x各元素加1后的自然對數。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,`complex64`,`complex128`類型。
x=tf.constant([[0,1.71828183,9]],tf.float64) z=tf.log1p(x)z==>[[0. 1. 2.30258509]]1.29 ? tf.ceil(x,name=None)
??? 功能:計算x各元素比x大的最小整數。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`類型。
x=tf.constant([[0.2,0.8,-0.7]],tf.float64) z=tf.ceil(x)z==>[[1. 1. -0.]]1.30 ? tf.floor(x,name=None)
??? 功能:計算x各元素比其小的最大整數。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`類型。
x=tf.constant([[0.2,0.8,-0.7]],tf.float64) z=tf.floor(x)z==>[[0. 0. -1.]]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.33 ? tf.cos(x,name=None)
??? 功能:計算x的余弦值。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,? `complex64`, `complex128`類型。
x=tf.constant([[0,3.1415926]],tf.float64) z=tf.cos(x)z==>[[1. -1.]]1.34 ? tf.sin(x,name=None)
??? 功能:計算x的正弦值。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,? `complex64`, `complex128`類型。
x=tf.constant([[0,1.5707963]],tf.float64) z=tf.sin(x)z==>[[0. 1.]]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.886104031.36 ? tf.tan(x,name=None)
??? 功能:計算tan(x)。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,? `int32`, `int64`,`complex64`, `complex128`類型。
x=tf.constant([[0,0.785398163]],tf.float64) z=tf.tan(x)z==>[[0. 1.]]1.37 ? tf.acos(x,name=None)
??? 功能:計算acos(x)。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,? `int32`, `int64`,`complex64`, `complex128`類型。
x=tf.constant([[0,1,-1]],tf.float64) z=tf.acos(x)z==>[[1.57079633 0. 3.14159265]]1.38 ? tf.asin(x,name=None)
??? 功能:計算asin(x)。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,? `int32`, `int64`,`complex64`, `complex128`類型。
x=tf.constant([[0,1,-1]],tf.float64) z=tf.asin(x)z==>[[0. 1.57079633 -1.57079633]]1.39 ? tf.atan(x,name=None)
??? 功能:計算atan(x)。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`,? `int32`, `int64`,`complex64`, `complex128`類型。
x=tf.constant([[0,1,-1]],tf.float64) z=tf.atan(x)z==>[[0.0.78539816 -0.78539816]]1.40 ? tf.lgamma(x,name=None)
??? 功能:計算ln(gamma(x))。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`類型。
x=tf.constant([[1,2,3]],tf.float64) z=tf.lgamma(x)z==>[[0. 0. 0.69314718]]1.41 ? tf.digamma(x,name=None)
??? 功能:計算lgamma的導數,即gamma‘/gamma。
??? 輸入:x,y為張量,可以為`half`,`float32`, `float64`類型。
x=tf.constant([[1,2,3]],tf.float64) z=tf.digamma(x)z==>[[-0.57721566 0.42278434 0.92278434]]1.42 ? tf.erf(x,name=None)
??? 功能:計算x的高斯誤差。
??? 輸入:x為張量或稀疏張量,可以為`half`,`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.43 ? tf.erfc(x,name=None)
??? 功能:計算x高斯互補誤差。
??? 輸入:x為張量,可以為`half`,`float32`, `float64`類型。
x=tf.constant([[-1,0,1,2,3]],tf.float64) z=tf.erfc(x)z==>[[1.84270079 1.00000000 0.15729920 4.67773498e-03 2.20904970e-05]]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)???
總結
以上是生活随笔為你收集整理的tensorflow学习math_ops(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IT学习网站
- 下一篇: 意大利牙膏重大突破发明!1分钟让牙齿“再