基于tensorflow的cnn实现python代码
时间: 2024-05-12 07:15:05 浏览: 11
以下是基于TensorFlow实现的CNN的Python代码示例:
```python
import tensorflow as tf
# 加载数据集
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 归一化数据
x_train, x_test = x_train / 255.0, x_test / 255.0
# 定义模型
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
tf.keras.layers.MaxPooling2D((2, 2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train.reshape(-1, 28, 28, 1), y_train, epochs=5)
# 评估模型
model.evaluate(x_test.reshape(-1, 28, 28, 1), y_test)
```
在上面的代码中,我们首先加载MNIST数据集并将其归一化。然后我们定义了一个包括一个卷积层、池化层、平铺层、一个隐藏层、一个Dropout层和一个输出层的序列模型。我们使用了Adam优化器和稀疏分类交叉熵损失,并使用accuracy作为评估指标。我们将训练数据输入到模型中进行训练,并评估模型的性能。