python 卷积神经网络 代码
时间: 2023-05-14 19:00:39 浏览: 158
卷积神经网络实现手写数字识别(纯numpy实现)-python卷积神经网络代码.zip
卷积神经网络是一种经典的深度学习算法,用于图像分类、目标检测等任务。Python是一种非常流行的编程语言,拥有丰富的深度学习库,如Tensorflow、PyTorch等,这些库提供了丰富的卷积神经网络模型和优化算法。以下是一个简单的Python卷积神经网络代码示例,用于识别手写数字:
```
import tensorflow.keras as keras
from tensorflow.keras.datasets import mnist
# 加载MNIST数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 对输入数据进行归一化和预处理
x_train = x_train.reshape((x_train.shape[0], 28, 28, 1)) / 255.0
x_test = x_test.reshape((x_test.shape[0], 28, 28, 1)) / 255.0
y_train = keras.utils.to_categorical(y_train)
y_test = keras.utils.to_categorical(y_test)
# 创建卷积神经网络模型
model = keras.Sequential()
model.add(keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(keras.layers.MaxPooling2D((2, 2)))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(64, activation='relu'))
model.add(keras.layers.Dense(10, activation='softmax'))
# 编译模型并训练
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5, batch_size=64, validation_data=(x_test, y_test))
# 在测试集上评估模型性能
test_loss, test_acc = model.evaluate(x_test, y_test)
print('Test accuracy:', test_acc)
```
该示例使用了Keras库,加载MNIST数据集进行模型训练和测试,首先对输入数据进行归一化和预处理,然后创建一个包含卷积层、池化层、全连接层的卷积神经网络模型。接着编译模型指定优化器和损失函数,使用训练数据训练模型,最后在测试集上评估模型性能。该示例使用了relu激活函数、softmax激活函数,Adam优化器,批量大小为64,共迭代5次。
阅读全文