导入数据生成二层神经网络参数调优并输出accuracy的代码python
时间: 2024-01-07 15:02:39 浏览: 50
Python神经网络编程三层神经网络实现识别手写数字
5星 · 资源好评率100%
以下是一个简单的示例代码,用于导入数据并生成二层神经网络、调优参数,并输出accuracy值:
```python
import numpy as np
import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# 导入MNIST数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.reshape(60000, 784)
x_test = x_test.reshape(10000, 784)
x_train = x_train.astype('float32') / 255
x_test = x_test.astype('float32') / 255
y_train = tf.keras.utils.to_categorical(y_train, 10)
y_test = tf.keras.utils.to_categorical(y_test, 10)
# 定义模型
model = Sequential([
Dense(64, activation='relu', input_shape=(784,)),
Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5, batch_size=32, validation_split=0.2)
# 评估模型精度
score = model.evaluate(x_test, y_test, verbose=0)
print('Test accuracy:', score[1])
```
此代码导入MNIST数据集,并使用Sequential模型构建了一个具有784个输入、64个隐藏节点和10个输出节点的二层神经网络。训练模型使用了adam优化器和交叉熵作为损失函数,训练5个epochs,并输出测试.accuracy值。
当然,这只是一个简单的示例代码,可以根据不同的需求进行修改和调整。
阅读全文