卷积神经网络实验python
时间: 2023-07-05 16:28:14 浏览: 59
好的,下面提供一个简单的卷积神经网络实验的Python代码示例:
首先,需要导入必要的库:
```python
import tensorflow as tf
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt
```
接着,可以加载一个数据集,例如CIFAR-10数据集:
```python
(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()
```
然后,对数据进行预处理,将像素值缩放到0到1之间,并将标签转换为one-hot编码:
```python
train_images, test_images = train_images / 255.0, test_images / 255.0
train_labels = tf.keras.utils.to_categorical(train_labels, 10)
test_labels = tf.keras.utils.to_categorical(test_labels, 10)
```
接下来,构建一个卷积神经网络模型:
```python
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))
```
最后,编译模型并训练:
```python
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
history = model.fit(train_images, train_labels, epochs=10,
validation_data=(test_images, test_labels))
```
训练完成后,可以使用测试集对模型进行评估:
```python
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print(f'Test accuracy: {test_acc}')
```
以上就是一个简单的卷积神经网络实验的Python代码示例,您可以根据需要进行修改和拓展。