Keras基础

目录

一、Keras的模型

二、训练步骤

三、keras中的层

1.keras内核层

2.keras中的卷积层

3.池化层

4.循环层

5.嵌入层

6.合并层

7.高级激活层

8.噪声层


一、Keras的模型

        keras是基于tensorflow的高级神经网络库,其中的神经网络模型通过层的图(graph of layers)来定义,分为序列化模型和功能化模型两种。

1.序列化API

Model=Sequential()创建空模型,可通过model.add()或sequential([层列表])将层添加到模型中。

如:

Model=Sequential()
Model.add(Dense(10,input_shape=(256,))

2.功能化API

通过输入和输出定义模型,可构建分支,多个输入层、输出层和共享层,Model=Model(inputs=[张量列表],outputs=[~])。例:

1. 创建输入层
input=Input(shape=(64,))
2. 创建密集层
hidden=Dense(10)(inputs)
3. 创建隐含层
hidden=Activation('tanh')(hidden)
hidden=Dense(10)(hidden)
output=Activation('tanh')(hidden)
4. 用输入层和输出层实例化模型对象
model=Model(inputs=input,outputs=output)

二、训练步骤

keras的训练步骤为:创建模型--添加层--编译模型--训练模型--评估预测。

1.模型编译

model.compile(self,optimizer,loss,metrics=None,sample_weight_mode=None)
  • 优化器:SGD、RMSprop、Adagrad、Adam、Adamax;
  • 损失函数:mean_squared_error,mean_absolute_error,squared_hinge,hinge,sparse_categorical_crossentropy,binary_crossentropy,binary_accuracy
  • Metrics:度量标准列表,同loss

2.模型训练

model.fit(x,y)
fit函数定义:fit(self,x,y,batch_size=32,epochs=10,verbose=1,)

三、keras中的层

1.keras内核层

  • Dense:全连接,输出为activation((inputs * weights)+bias),激活默认为None;
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)
  • Activation:激活函数可用softmax、ele、selu、softplus、relu、tanh、sigmoid;
  • Dropout:
  • Flatten
  • Reshape
  • Permute:按指定模式对输入大小重新排列
  • RepeatVector:按给定次数重复输入,(s,t)形状张量重复n此形状为(s,n,t);
  • Lambda自定义函数包装图层。
  • ActivityRegularization:L1或L2正则化。

2.keras中的卷积层

  • Conv1/2/3D:
  • Cropping1/2/3D:
  • SeparableConv2D:在每个输入通道上应用深度方向的空间卷积,然后逐点卷积并将输出通道合并
  • Conv2DTranspose:将卷积的形状恢复为输入形状
  • UpSampling1/2/3D:重复输入数据
  • ZeroPadding1/2/3D

3.池化层

(Global)Max/AveragePooling1/2/3D

4.循环层

  • SimpleRNN:全连接RNN
  • GRU:门控循环单元网络
  • LSTM

5.嵌入层

Embedding:产生由密集向量组成的张量

6.合并层

Add、Multiply、Average、Maximum、Concatenate、Dot

7.高级激活层

  • LeakyReLU
  • PReLU
  • ELU
  • ThresholdedReLU

8.噪声层

  • GaussianNoise:将可加的0中心高斯噪声应用于输入
  • GaussianDropout:将可乘的1中心~
  • AlphaDropout:删除一定比例的输入,使得输出的均值、方差与输入相近

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值