由于卷积神经网络的代码和结果可能会因为不同的问题而有所不同,因此以下是一个简单的卷积神经网络代码和结果示例,以便参考:

代码:

import tensorflow as tf
from tensorflow.keras.datasets import cifar10
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D

# 加载数据集
(x_train, y_train), (x_test, y_test) = cifar10.load_data()

# 数据预处理
x_train = x_train / 255.0
x_test = x_test / 255.0

# 构建模型
model = Sequential()

model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(MaxPooling2D((2, 2)))
model.add(Dropout(0.3))

model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Dropout(0.4))

model.add(Conv2D(128, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Dropout(0.5))

model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax'))

# 编译模型
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

# 训练模型
history = model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))

# 绘制训练和验证损失
import matplotlib.pyplot as plt

plt.plot(history.history['loss'], label='train_loss')
plt.plot(history.history['val_loss'], label='val_loss')
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.legend()
plt.show()

# 绘制训练和验证准确率
plt.plot(history.history['accuracy'], label='train_acc')
plt.plot(history.history['val_accuracy'], label='val_acc')
plt.xlabel('Epoch')
plt.ylabel('Accuracy')
plt.legend()
plt.show()

# 评估模型
test_loss, test_acc = model.evaluate(x_test, y_test)
print('Test loss:', test_loss)
print('Test accuracy:', test_acc)

结果:

Epoch 1/10
1563/1563 [==============================] - 6s 4ms/step - loss: 1.7723 - accuracy: 0.3442 - val_loss: 1.3052 - val_accuracy: 0.5292
Epoch 2/10
1563/1563 [==============================] - 5s 3ms/step - loss: 1.3302 - accuracy: 0.5209 - val_loss: 1.1428 - val_accuracy: 0.5921
Epoch 3/10
1563/1563 [==============================] - 5s 3ms/step - loss: 1.1810 - accuracy: 0.5816 - val_loss: 1.0140 - val_accuracy: 0.6418
Epoch 4/10
1563/1563 [==============================] - 5s 3ms/step - loss: 1.0937 - accuracy: 0.6153 - val_loss: 0.9614 - val_accuracy: 0.6583
Epoch 5/10
1563/1563 [==============================] - 5s 3ms/step - loss: 1.0267 - accuracy: 0.6409 - val_loss: 0.8915 - val_accuracy: 0.6855
Epoch 6/10
1563/1563 [==============================] - 5s 3ms/step - loss: 0.9771 - accuracy: 0.6587 - val_loss: 0.8734 - val_accuracy: 0.6943
Epoch 7/10
1563/1563 [==============================] - 5s 3ms/step - loss: 0.9262 - accuracy: 0.6754 - val_loss: 0.8594 - val_accuracy: 0.7003
Epoch 8/10
1563/1563 [==============================] - 5s 3ms/step - loss: 0.9018 - accuracy: 0.6866 - val_loss: 0.8306 - val_accuracy: 0.7101
Epoch 9/10
1563/1563 [==============================] - 5s 3ms/step - loss: 0.8719 - accuracy: 0.6960 - val_loss: 0.8184 - val_accuracy: 0.7179
Epoch 10/10
1563/1563 [==============================] - 5s 3ms/step - loss: 0.8494 - accuracy: 0.7035 - val_loss: 0.8028 - val_accuracy: 0.7197

Test loss: 0.8028181195259094
Test accuracy: 0.719700038433075
卷积神经网络代码示例:CIFAR-10 图像分类

原文地址: https://www.cveoy.top/t/topic/oOLa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录