实践案例 - 使用Python和TensorFlow构建简单的图像分类模型

这里我们将利用TensorFlow库来创建一个基本的卷积神经网络(CNN),用于识别MNIST手写数字数据集中的图片。这个例子展示了如何轻松地应用深度学习技术解决问题。

```python

import tensorflow as tf

from tensorflow.keras import datasets, layers, models

import matplotlib.pyplot as plt

加载数据

(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()

数据预处理

train_images = train_images.reshape((60000, 28, 28, 1))

test_images = test_images.reshape((10000, 28, 28, 1))

归一化像素值到 0, 1 区间

train_images, test_images = train_images / 255.0, test_images / 255.0

构建CNN模型

model = models.Sequential()

model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))

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))

编译模型

model.compile(optimizer='adam',

loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),

metrics='accuracy')

训练模型

history = model.fit(train_images, train_labels, epochs=5,

validation_data=(test_images, test_labels))

评估模型

test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)

print('\nTest accuracy:', test_acc)

绘制训练过程中的损失和准确率变化

plt.figure(figsize=(12, 4))

plt.subplot(1, 2, 1)

plt.plot(history.history'loss', label='Training Loss')

plt.plot(history.history'val_loss', label='Validation Loss')

plt.legend()

plt.title('Loss over Epochs')

plt.subplot(1, 2, 2)

plt.plot(history.history'accuracy', label='Training Accuracy')

plt.plot(history.history'val_accuracy', label='Validation Accuracy')

plt.legend()

plt.title('Accuracy over Epochs')

plt.show()

```

这段代码首先加载了MNIST数据集并对图像进行了预处理;接着定义了一个包含三个卷积层和两个全连接层的简单CNN架构;最后训练该模型并在测试集上评估其性能。此外,还绘制了训练过程中损失值及准确率的变化曲线图,以便直观地了解模型的学习情况。

相关推荐
JR空位投 李佃贵是1 小时前
如何编写轻量级 CSS 框架
前端·css·tensorflow
mftang8 天前
TensorFlow Lite Micro:面向TinyML系统的嵌入式机器学习推理框架
人工智能·机器学习·tensorflow
中微极客17 天前
TensorFlow模型量化实战:从精度到延迟的优化指南
人工智能·python·tensorflow
敲代码的猴先生18 天前
论文分享 | TensorAbuse:通过滥用TensorFlow API将AI模型转化为恶意软件
人工智能·python·语言模型·tensorflow·论文笔记
想你依然心痛21 天前
TensorFlow Lite Micro:在MCU上运行神经网络推理——量化、算子支持与内存优化
单片机·神经网络·tensorflow
红石程序员22 天前
python3.11配置tensorflow-gpu版本环境
人工智能·tensorflow·python3.11
冷小鱼1 个月前
TensorFlow 2.21 进阶实战:从训练优化到生产部署的完整指南
人工智能·pytorch·python·tensorflow
木叶子---1 个月前
前端打包出错
前端·人工智能·tensorflow
现代野蛮人1 个月前
【深度学习】 —— 几种优化器对比实验
人工智能·深度学习·分类·tensorflow
希冀1232 个月前
【CSS学习第八篇】
css·学习·tensorflow