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