LeakyReLU的使用

ReLU及其变种作为非饱和激活函数,相对饱和激活函数sigmoid和tanh而言,可以解决梯度消失和加快收敛速度。
大部分激活函数都可以直接在model.add中的activation一项中直接调用,但是LeakyReLU和PReLU这样的复杂激活函数则需要用add方法来将其作为layer来使用。

from keras.layers import LeakyReLU

model.add(Conv2D(filters=32,kernel_size=(5,1),
                 strides=1,
                 input_shape=(12,4096,1),
#                 activation='tanh',
#                 padding='same',
                name='Conv_1'))
model.add(LeakyReLU(alpha=0.25))

这样才是正确的调用方法。

需要注意的是,alpha作为LeakyReLU在x<0时的斜率,并非越大越好,而是一定范围内越小可能效果越佳。
可以这样理解,如果斜率在(0,1)内,越往1靠近,那么非线性程度就越小,效果反而未必好。

TensorBoard的使用

先import TensorBoard
> from keras.callbacks import TensorBoard

然后定义callback
> tbCallBack = TensorBoard(log_dir=‘./logs’, histogram_freq=1, batch_size=16, write_graph=False, write_grads=True, write_images=False, embeddings_freq=0, embeddings_layer_names=None, embeddings_metadata=None)

之后在fit的时候加入callback=[tbCallBack]即可。

最后在命令行窗口cd到工作目录,输入tensorboard –logdir ./logs即可 > tensorboard –logdir ./logs