当前位置: 首页 > news >正文

python中的cnn:介绍和基本使用方法

python中的cnn:介绍和基本使用方法

卷积神经网络(Convolutional Neural Networks,简称CNN)是一种在图像识别、语音识别、自然语言处理等许多领域取得显著成功的深度学习模型。CNN的设计灵感来源于生物的视觉系统,由多个卷积层、池化层和全连接层组成。

在Python中,我们通常使用深度学习框架如TensorFlow、Keras或PyTorch来实现CNN。这里,我将给出一个简单的使用Keras构建CNN的例子。

首先,确保已经安装了必要的库:

pip install tensorflow keras numpy matplotlib
然后,我们可以使用以下代码创建一个简单的CNN:

import numpy as np
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
from keras.datasets import mnist
from keras.utils import to_categorical# 加载MNIST数据集
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()# 数据预处理
train_images = train_images / 255.0
test_images = test_images / 255.0
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)# 创建CNN模型
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(Flatten())
model.add(Dense(64, activation='relu'))
model.add(Dense(10, activation='softmax'))  # 对于10个类别的分类问题# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])# 训练模型
model.fit(train_images, train_labels, epochs=5, batch_size=64)# 在测试集上评估模型
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)

这个例子展示了如何使用Keras构建一个简单的CNN来对MNIST数据集进行分类。首先,我们加载数据并对图像数据进行归一化处理。然后,我们创建一个Sequential模型,并依次添加卷积层、池化层和全连接层。最后,我们编译模型,使用训练数据对模型进行训练,并在测试数据上评估模型的性能。

http://www.lryc.cn/news/129145.html

相关文章:

  • Dockerfile概念、镜像原理、制作及案例讲解
  • 07-微信小程序-注册页面-模块化
  • 考研算法第46天: 字符串转换整数 【字符串,模拟】
  • Cesium for unity 1.5.0使用注意事项
  • 初阶C语言-结构体
  • Android Studio实现解析HTML获取图片URL,将URL存到list,进行瀑布流展示
  • java学习004
  • Linux网络编程:网络基础
  • 3D沉浸式旅游网站开发案例复盘【Three.js】
  • IO的几个模型
  • 中路对线发现正在攻防演练中投毒的红队大佬
  • 【LINUX相关】生成随机数(srand、/dev/random 和 /dev/urandom )
  • spark使用心得
  • 什么是边车
  • vue项目打包成exe文件
  • 基于MFCC特征提取和GMM训练的语音信号识别matlab仿真
  • client-go实战之十二:选主(leader-election)
  • 2023年即将推出的CSS特性对你影响大不大?
  • opencv实战项目-停车位计数
  • NLP文本匹配任务Text Matching [无监督训练]:SimCSE、ESimCSE、DiffCSE 项目实践
  • 复习vue3,简简单单记录
  • 【自用】云服务器 docker 环境下 HomeAssistant 安装 HACS 教程
  • 使用dockerfile手动构建JDK11镜像运行容器并校验
  • 编程语言学习笔记-架构师和工程师的区别,PHP架构师之路
  • Streamlit 讲解专栏(十):数据可视化-图表绘制详解(上)
  • 其他行业跳槽转入计算机领域简单看法
  • Unity制作一个简单的登入注册页面
  • 常用游戏运营指标DAU、LTV及参考范围
  • 标准模板库STL——deque和list
  • 分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测