tf.keras模型——backend后端API


tf.keras.backend

  tf.keras的后端API,這里集成了很多常用的數學方法

  abs():獲取元素的絕對值;可以傳入數值型常量、張量、列表等;

    

    這里的數據類型和傳入的數據類型相關。

  all():對傳入的數據進行“且”操作,一個假就全假

1   tf.keras.backend.all( 2    x, 3    axis=None, 4    keepdims=False 5   ) 6   參數: 7     x: 張量或變量; 8     axis: 指定軸進行縮減(求與的操作,True、False型的) 9    keepdims: whether the drop or broadcast the reduction axes.

    

  any():同上,這里是求與的操作

1   tf.keras.backend.any( 2     x, 3    axis=None, 4    keepdims=False 5   )

    

  arange():生成一個從start到stop的連續值的張量

1  tf.keras.backend.arange( 2  start, 3 stop=None, 4 step=1, 5 dtype='int32' 6 ) 

    

  argmax()、argmin(): 返回最大值、最小值所在的index,axis默認為-1,若維度大於2時,axis的取值任然從0開始,此時0即為batch_size位

    

    注意這里的shape發生的變化:

    

  backend():返回使用的backend(后端)。

    

  batch_dot():分批點積。

1  tf.keras.backend.batch_dot( 2  x, 3  y, 4 axes=None 5 )

    該方法的axes是非常重要的參數。

    x_batch = K.ones(shape=(1, 5, 2))

    y_batch = K.ones(shape=(1, 10, 5))

    xy_batch_dot = K.batch_dot(x_batch, y_batch, axes=[1, 2])

    axes=[1, 2]表示x_batch的第  1 個維度和y_batch的第  2  個維度進行點乘求和

    

  batch_flatten():將nD張量轉換為2D張量,保持具有相同0維大小。

    

    

 

  get_value()、batch_get_value():前者為獲取value、后者為批量獲取

    

   batch_normalization():批量標准化數據

   tf.keras.backend.batch_normalization( x, mean, var, beta, gamma, axis=-1, epsilon=0.001 ) 

   返回:

   output = (x - mean) / (sqrt(var) + epsilon) * gamma + beta 

   

  zeros、zeros_like、ones、ones_like這些函數是常用函數,這里就不展開介紹了:

    

  bias_add(): 給張量、變量添加偏置

   tf.keras.backend.bias_add( x, bias, data_format=None ) 

1 x: 張量、變量2  bias: 要添加的偏置 3 data_format: string, "channels_last" or "channels_first".  

    

  binary_crossentropy():輸出輸出張量和目標張量之間的二進制交叉熵。

  cast():將張量強制轉換為其他數據類型並返回它。

     tf.keras.backend.cast( x, dtype ) 

     

  cast_to_floatx():將Numpy數組轉換為默認的Keras浮點類型。

     constant():創建一個恆定的張量。

  conv1d():1D卷積。

  tf.keras.backend.conv1d( x, kernel, strides=1, padding='valid', data_format=None, dilation_rate=1 ) 

  conv2d():2D卷積。

   tf.keras.backend.conv2d( x, kernel, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1) ) 

  conv2d_transpose():2D反卷積

  tf.keras.backend.conv2d_transpose(    x,    kernel,    output_shape,    strides=(1, 1),   padding='valid',    data_format=None,    dilation_rate=(1, 1)   )

 

  conv3d():3D卷積

1   tf.keras.backend.conv3d( 2     x, 3     kernel, 4    strides=(1, 1, 1), 5    padding='valid', 6    data_format=None, 7    dilation_rate=(1, 1, 1) 8   )

  placeholder():占位符

1 tf.keras.backend.placeholder( 2 shape=None, 3 ndim=None, 4 dtype=None, 5 sparse=False, 6 name=None 7 )

  variable():實例化變量並返回它。

    

  temporal_padding():填充3D張量的中間維度。

    

  spatial_2d_padding():填充4D張量的第2和第3維。

     

    

  spatial_3d_padding():5維數據的長、寬、高補零

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM