# Keras
## Sequential详解
```python
# 导入
from keras.models import Sequential
from keras.layers import Dense, Activation
# Sequentia的两种使用方法
# 1 直接堆栈
model = Sequential([
Dense(32, input_shape=(784,)),
Activation('relu'),
Dense(10),
Activation('softmax'),
])
# 2 .add()方法堆栈
model = Sequential()
model.add(Dense(32, input_dim=784))
model.add(Activation('relu'))
model.add(Dense(64, activation='relu'))
```
## Dense详解
```python
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)
# 定义第一层时需要指定数据输入的形状,有参数input_dim
# input_dim也可以用input_shape来代替,如mnist的第一层输入input_dim=784,或者input_shape=(784,)
```
### 参数说明:
- units: 该层有几个神经元
- activation: 该层使用的激活函数
- use_bias: 是否添加偏置项
- kernel_initializer: 权重初始化方法
- bias_initializer: 偏置值初始化方法
- kernel_regularizer: 权重规范化函数
- bias_regularizer: 偏置值规范化方法
- activity_regularizer: 输出的规范化方法
- kernel_constraint: 权重变化限制函数
- bias_constraint: 偏置值变化限制函数
### 用法
```python
from keras.layers import Dense, Activation
Dense(512, activation='sigmoid', input_dim=2, use_bias=True)
# 这里定义了一个有512个节点,使用sigmoid激活函数的神经层
```