用keras写一个三层的DNN神经网络
时间: 2023-08-29 09:08:49 浏览: 63
下面是一个使用Keras编写的三层DNN(深度神经网络)的示例:
```python
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
# 创建模型
model = Sequential()
# 添加输入层(第一层)
model.add(Dense(units=64, activation='relu', input_dim=100))
# 添加隐藏层(第二层)
model.add(Dense(units=64, activation='relu'))
# 添加输出层(第三层)
model.add(Dense(units=10, activation='softmax'))
# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
# 生成随机数据
x_train = np.random.random((1000, 100))
y_train = np.random.randint(10, size=(1000, 1))
# 将标签转换为分类的 one-hot 编码
y_train = keras.utils.to_categorical(y_train, num_classes=10)
# 训练模型
model.fit(x_train, y_train, epochs=10, batch_size=32)
```
在这个示例中,我们使用Keras库创建了一个Sequential模型,该模型由三个全连接层组成。第一层是输入层,具有64个神经元和ReLU激活函数。第二层是隐藏层,也有64个神经元和ReLU激活函数。最后一层是输出层,具有10个神经元(对应于10个类别)和softmax激活函数。
我们使用交叉熵作为损失函数,并使用随机梯度下降(SGD)作为优化器。然后,我们使用随机生成的数据进行训练。
请注意,这只是一个简单的示例,您可以根据自己的需求进行修改和调整。