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维数据的长、宽、高补零

 

posted @ 2019-07-16 16:05  巴蜀秀才  阅读(2346)  评论(0编辑  收藏  举报