keras常用函数即说明

常用函数

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


Dense

keras.layers.Dense(units,activation=None,use_bias=True,kernel_initializer='glorot_uniform',bias_initializer='zeros',kernel_regularizer=None,bias_regularizer=None,activity_regularizer=None, kernel_constraint=None, bias_constraint=None)
  • units:该层有几个神经元
  • activation:该层使用的激活函数
  • use_bias:是否添加偏置项
  • kernel_initializer:权重初始化方法
  • bias_initializer:偏置值初始化方法
  • kernel_regularizer:权重规范化函数
  • bias_regularizer:偏置值规范化方法
  • activity_regularizer:输出的规范化方法
  • kernel_constraint:权重变化限制函数
  • bias_constraint:偏置值变化限制函数

Conv2D

keras.layers.Conv2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)

该层创建了一个卷积核, 该卷积核对层输入进行卷积, 以生成输出张量。 如果 use_bias 为 True, 则会创建一个偏置向量并将其添加到输出中。 最后,如果 activation 不是 None,它也会应用于输出。

当使用该层作为模型第一层时,需要提供 input_shape 参数

比如训练样本是(6000,28,28,1), 则input_shape=(28,28,1)

  1. filters: 整数,输出空间的维度 (即卷积中滤波器的数量)。
  2. kernel_size: 一个整数,或者 2 个整数表示的元组或列表, 指明 2D 卷积窗口的宽度和高度。 可以是一个整数,为所有空间维度指定相同的值。
  3. strides: 一个整数,或者 2 个整数表示的元组或列表, 指明卷积沿宽度和高度方向的步长。 可以是一个整数,为所有空间维度指定相同的值。 指定任何 stride 值 != 1 与指定 dilation_rate 值 != 1 两者不兼容。
  4. padding: “valid” 或 “same” (大小写敏感)。 valid padding就是不padding,而same padding就是指padding完尺寸与原来相同
    图像识别一般来说都要padding,尤其是在图片边缘的特征重要的情况下。padding多少取决于我们需要的输出是多少
  5. data_format: 字符串, channels_last (默认) 或 channels_first 之一,表示输入中维度的顺序。 channels_last(NHWC) 对应输入尺寸为 (batch, height, width, channels), channels_first 对应输入尺寸为 (batch, channels, height, width)。 它默认为从 Keras 配置文件 ~/.keras/keras.json 中 找到的 image_data_format 值。 如果你从未设置它,将使用 channels_last。
  6. dilation_rate: 一个整数或 2 个整数的元组或列表, 指定膨胀卷积的膨胀率。 可以是一个整数,为所有空间维度指定相同的值。 当前,指定任何 dilation_rate 值 != 1 与 指定 stride 值 != 1 两者不兼容。
  7. activation: 要使用的激活函数 (详见 activations)。 如果你不指定,则不使用激活函数 (即线性激活: a(x) = x)。
  8. use_bias: 布尔值,该层是否使用偏置向量。
  9. kernel_initializer: kernel 权值矩阵的初始化器 (详见 initializers)。
  10. bias_initializer: 偏置向量的初始化器 (详见 initializers)。
  11. kernel_regularizer: 运用到 kernel 权值矩阵的正则化函数 (详见 regularizer)。
  12. bias_regularizer: 运用到偏置向量的正则化函数 (详见 regularizer)。
  13. activity_regularizer: 运用到层输出(它的激活值)的正则化函数 (详见 regularizer)。
  14. kernel_constraint: 运用到 kernel 权值矩阵的约束函数 (详见 constraints)。
  15. bias_constraint: 运用到偏置向量的约束函数 (详见 constraints)。

输入尺寸

如果 data_format=‘channels_first’, 输入 4D 张量,尺寸为 (samples, channels, rows, cols)。
如果 data_format=‘channels_last’, 输入 4D 张量,尺寸为 (samples, rows, cols, channels)。

输出尺寸

如果 data_format=‘channels_first’, 输出 4D 张量,尺寸为 (samples, filters, new_rows, new_cols)。
如果 data_format=‘channels_last’, 输出 4D 张量,尺寸为 (samples, new_rows, new_cols, filters)。


keras.callbacks.TensorBoard

keras.callbacks.TensorBoard(log_dir='./logs', histogram_freq=0, write_graph=True, write_images=False, embeddings_freq=0, embeddings_layer_names=None, embeddings_metadata=None)
  • log_dir:保存TensorBoard要解析的日志文件的目录路径。
  • histogram_freq:默认为0。计算模型各层的激活值和权重直方图的频率(以epoch计)。如果设置为0,将不会计算直方图。若想直方图可视化,必须指定验证数据(或分割验证集)。
  • write_graph:默认为True。是否在TensorBoard中可视化图形。当设置为True时,日志文件会变得非常大。
  • write_images:默认为False。是否写入模型权重,在TensorBoard中将权重可视化为图像。
  • update_freq:默认为"epoch"。可以是"epoch",“batch” 或者整数。当使用"batch"时,在每个batch后将loss,metrics写入TensorBoard。"epoch"同理。如果使用整数,比如1000,则每经过1000个batch将loss,metrics写入到TensorBoard。过于频繁会减慢训练速度。
  • profile_batch:默认为2。每过多少个batch分析一次Profile。profile_batch必须是非负整数或整数的元组。一对正整数表示要进入Profile的batch的范围。设置profile_batch=0会禁用Profile分析。
  • embeddings_freq:默认为0。embedding在epochs中被可视化的频率。如果设置为0,embedding将无法可视化。
  • embeddings_metadata:默认为None。没看懂。a dictionary which maps layer name to a file name in which metadata for this embedding layer is saved. See the details about metadata files format. In case if the same metadata file is used for all embedding layers, string can be passed.

keras.callbacks.ModelCheckpoint

keras.callbacks.ModelCheckpoint(filepath,monitor='val_loss',verbose=0,save_best_only=False, save_weights_only=False, mode='auto', period=1) 
  • filename:字符串,保存模型的路径
  • monitor:需要监视的值
  • verbose:信息展示模式,0或1(checkpoint的保存信息,类似Epoch 00001: saving model to …)
  • save_best_only:当设置为True时,监测值有改进时才会保存当前的模型( the latest best model according to the quantity monitored will not be overwritten)
  • mode:‘auto’,‘min’,‘max’之一,在save_best_only=True时决定性能最佳模型的评判准则,例如,当监测值为val_acc时,模式应为max,当监测值为val_loss时,模式应为min。在auto模式下,评价准则由被监测值的名字自动推断。
  • save_weights_only:若设置为True,则只保存模型权重,否则将保存整个模型(包括模型结构,配置信息等)
  • period:CheckPoint之间的间隔的epoch数

modle.fit

fit( x, y, batch_size=32, epochs=10, verbose=1, callbacks=None,validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0)
  • x:输入数据。如果模型只有一个输入,那么x的类型是numpy
    array,如果模型有多个输入,那么x的类型应当为list,list的元素是对应于各个输入的numpy array
  • y:标签,numpy array
  • batch_size:整数,指定进行梯度下降时每个batch包含的样本数。训练时一个batch的样本会被计算一次梯度下降,使目标函数优化一步。
  • epochs:整数,训练终止时的epoch值,训练将在达到该epoch值时停止,当没有设置initial_epoch时,它就是训练的总轮数,否则训练的总轮数为epochs - inital_epoch
  • verbose:日志显示,0为不在标准输出流输出日志信息,1为输出进度条记录,2为每个epoch输出一行记录
  • callbacks:list,其中的元素是keras.callbacks.Callback的对象。这个list中的回调函数将会在训练过程中的适当时机被调用,参考回调函数
  • validation_split:0~1之间的浮点数,用来指定训练集的一定比例数据作为验证集。验证集将不参与训练,并在每个epoch结束后测试的模型的指标,如损失函数、精确度等。注意,validation_split的划分在shuffle之前,因此如果你的数据本身是有序的,需要先手工打乱再指定validation_split,否则可能会出现验证集样本不均匀。
  • validation_data:形式为(X,y)的tuple,是指定的验证集。此参数将覆盖validation_spilt。
  • shuffle:布尔值或字符串,一般为布尔值,表示是否在训练过程中随机打乱输入样本的顺序。若为字符串“batch”,则是用来处理HDF5数据的特殊情况,它将在batch内部将数据打乱。
  • class_weight:字典,将不同的类别映射为不同的权值,该参数用来在训练过程中调整损失函数(只能用于训练)
  • sample_weight:权值的numpy
    array,用于在训练时调整损失函数(仅用于训练)。可以传递一个1D的与样本等长的向量用于对样本进行1对1的加权,或者在面对时序数据时,传递一个的形式为(samples,sequence_length)的矩阵来为每个时间步上的样本赋不同的权。这种情况下请确定在编译模型时添加了sample_weight_mode=’temporal’。
  • initial_epoch: 从该参数指定的epoch开始训练,在继续之前的训练时有用。
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Keras.layers.Activation()函数的参数说明: 参数name:该模块的名字,一个字符串类型的参数。 参数activation:对输入进行激活的函数,例如'relu', 'sigmoid'等等。 返回值:激活后的张量。 ### 回答2: keras.layers.Activation()是Keras中的一个层,用于给输入数据应用激活函数。 参数说明如下: - activation:要使用的激活函数的名称或可调用对象。常用的激活函数包括: - linear:线性激活函数,即恒等函数。 - sigmoid:Sigmoid激活函数,将输入值压缩到0和1之间。 - tanh:双曲正切激活函数,将输入值压缩到-1和1之间。 - relu:ReLU激活函数,将输入值大于0的部分保持不变,小于等于0的部分置零。 - softmax:Softmax激活函数,将输入值转化为概率分布,常用于多类别分类问题。 - name:可选参数,层的名称。 该层将激活函数应用于输入数据,并返回应用激活函数后的输出。例如,如果将activation参数设置为"relu",则该层将使用ReLU激活函数对输入数据进行处理。 使用示例: ``` import tensorflow as tf from tensorflow.keras.layers import Activation # 构建一个简单的模型 model = tf.keras.Sequential() model.add(tf.keras.layers.Dense(64, input_shape=(10,))) model.add(Activation('relu')) # 打印模型概况 model.summary() ``` 在上面的例子中,我们向模型中添加了一个具有64个神经元的全连接层,并使用relu激活函数对其进行处理。 ### 回答3: keras.layers.Activation()是Keras中用于定义激活函数层的类。它的主要作用是将输入张量应用于指定的激活函数,输出经过激活函数处理后的结果。 参数说明: 1. activation:激活函数的名称或可调用对象。可以是标准的激活函数名称,如"relu"、"sigmoid"、"tanh"等,也可以是自定义的激活函数。如果你想要使用自定义的激活函数,需要将其定义为可调用对象,即接受输入张量并返回处理后的输出张量的函数。 2. name:可选参数,指定该层的名称。 例子: ```python from keras.layers import Activation # 添加一个ReLU激活函数层 model.add(Activation('relu')) ``` 在这个例子中,我们使用keras.layers.Activation()添加了一个ReLU激活函数层。将输入张量传递给该层后,该层会将其应用于ReLU激活函数,并返回处理后的输出张量。 总结起来,keras.layers.Activation()函数的作用是创建一个激活函数层,其中activation参数用于指定激活函数的名称或可调用对象。该层的主要作用是对输入张量应用激活函数,输出经过激活函数处理后的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值