# 示例代码:使用Python和AI库进行简单的图像分类
# 导入必要的库
import tensorflow as tf
from tensorflow.keras import layers, models
import numpy as np
import matplotlib.pyplot as plt
# 加载并预处理数据集
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 # 归一化像素值到[0,1]
# 构建卷积神经网络模型
model = models.Sequential([
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.Flatten(),
layers.Dense(64, activation='relu'),
layers.Dense(10)
])
# 编译模型
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# 训练模型
model.fit(x_train[..., np.newaxis], y_train, epochs=5)
# 测试模型
test_loss, test_acc = model.evaluate(x_test[..., np.newaxis], y_test, verbose=2)
print(f'\nTest accuracy: {test_acc}')
# 解释说明:
# 1. 使用TensorFlow和Keras构建了一个简单的卷积神经网络(CNN)来对MNIST手写数字数据集进行分类。
# 2. 数据集进行了归一化处理,将像素值从[0,255]缩放到[0,1]。
# 3. 模型结构包括多个卷积层和池化层,最后是全连接层。
# 4. 使用Adam优化器和交叉熵损失函数进行编译,并训练了5个epoch。
# 5. 最后在测试集上评估模型的准确率。
上一篇:python json数据处理
下一篇:python语言程序设计基础
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站