TensorFlow2.0:张量的数学运算

(1)+ - * /
(2)** pow square
(3) sqrt
(4) // %
(5) exp log
(6)@ matmul
(7) linear layer

element-wise: + - * /
matrix-wise: @ matmul
dim-wise: reduce_mean/max/min/sum
**

一 + - * / % //运算

**
+:对应矩阵元素相加
-:对应矩阵元素相减
*:对应矩阵元素相除
/:对应矩阵元素相除
%:对应矩阵元素求余
//:对应矩阵元素整除

In [2]: a = tf.ones([2,2])#2*2矩阵,全部填充为1                                  

In [3]: b =  tf.fill([2,2],2.)#2*2矩阵,全部填充为2                              

In [4]: a                                                                       
Out[4]: 


In [5]: b                                                                       
Out[5]: 


In [6]: a + b#对应矩阵元素相加                                                  
Out[6]: 


In [7]: a - b#对应矩阵元素相减                                                  
Out[7]: 


In [8]: a * b #对应矩阵元素相乘                                                 
Out[8]: 


In [9]: a / b#对应矩阵元素相除                                                  
Out[9]: 


In [10]: b // a #对应矩阵元素整除                                               
Out[10]: 


In [11]: b % a #对应矩阵元素求余                                                
Out[11]: 


**

二 tf.math.log( ) 和tf.math.exp( ) 函数

**

In [12]: a = tf.ones([2,2])                                                     

In [13]: a                                                                      
Out[13]: 


In [14]: tf.math.log(a)#矩阵对应元素取对数                                      
Out[14]: 


In [15]: tf.math.exp(a)#矩阵对应元素取指数                                      
Out[15]: 


In [17]: a = tf.random.normal([2,2])                                            

In [18]: a                                                                      
Out[18]: 


In [19]: tf.math.log(a)/tf.math.log(2.)#计算矩阵对应元素以2为底的对数           
Out[19]: 


In [20]: tf.math.log(a)/tf.math.log(10.)#计算矩阵对应元素以10为底的对数         
Out[20]: 


**

三 tf.pow( )和 tf.sqrt( )函数

**

In [2]: a = tf.fill([2,2],2.)                                                   

In [3]: a                                                                       
Out[3]: 


In [4]: tf.pow(a,3)#矩阵a所有元素取立方                                         
Out[4]: 


In [5]: a**3#矩阵a所有元素取立方                                                
Out[5]: 


In [6]: tf.sqrt(a)#矩阵a所有元素开平方                                          
Out[6]: 


**

四 @ matmul矩阵相乘

**

In [7]: a = tf.fill([2,2],1.)                                                   

In [8]: b = tf.fill([2,2],2.)                                                   

In [9]: a,b                                                                     
Out[9]: 
(,
 )

In [10]: a @ b#矩阵相乘                                                         
Out[10]: 


In [11]: tf.matmul(a,b)#矩阵相乘                                                
Out[11]: 


In [12]: a = tf.ones([4,2,3])                                                   

In [13]: b = tf.fill([4,3,5],2.)                                                

In [14]: a@b    #[2,3]@[3,5] = [2,5]                                                                
Out[14]: 


In [15]: tf.matmul(a,b)                                                         
Out[15]: 


With broadcasting

In [2]: a = tf.fill([4,2,3],1.)                                                                                                                                                                             

In [3]: b = tf.fill([3,5],2.)                                                                                                                                                                               

In [4]: a.shape                                                                                                                                                                                             
Out[4]: TensorShape([4, 2, 3])

In [5]: b.shape                                                                                                                                                                                             
Out[5]: TensorShape([3, 5])

In [6]: bb = tf.broadcast_to(b,[4,3,5])                                                                                                                                                                     

In [7]: bb.shape                                                                                                                                                                                            
Out[7]: TensorShape([4, 3, 5])

In [8]: a @ bb                                                                                                                                                                                              
Out[8]: 


In [9]: tf.matmul(a,bb)                                                                                                                                                                                     
Out[9]: 

你可能感兴趣的:(tensorflow2.0)