python深度学习代码
时间: 2023-07-02 21:07:09 浏览: 173
深度学习python代码
以下是一个简单的 Python 深度学习代码,用于训练一个简单的神经网络来分类手写数字:
```python
import numpy as np
import tensorflow as tf
from tensorflow import keras
# 加载手写数字数据集
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
# 对数据进行预处理
x_train = x_train.astype('float32') / 255.
x_test = x_test.astype('float32') / 255.
# 将标签转换为 one-hot 编码
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)
# 构建神经网络模型
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)), # 将 28x28 的图像展平成一个 784 维的向量
keras.layers.Dense(128, activation='relu'), # 第一层隐藏层,128 个神经元,激活函数为 relu
keras.layers.Dense(10, activation='softmax') # 输出层,10 个神经元,激活函数为 softmax
])
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5, batch_size=32, validation_data=(x_test, y_test))
# 在测试集上评估模型
test_loss, test_acc = model.evaluate(x_test, y_test)
print('Test accuracy:', test_acc)
```
在这个代码中,我们使用 TensorFlow 和 Keras 框架来构建和训练神经网络,使用 MNIST 手写数字数据集来演示。我们将输入图像展平成一个 784 维的向量,然后使用两个全连接层来构建神经网络模型,并在输出层使用 softmax 激活函数来进行分类。我们使用交叉熵作为损失函数,使用 Adam 优化器来训练模型。最后,我们在测试集上评估模型的准确率。
阅读全文