深度学习训练营之彩色图片分类

news2024/11/14 19:54:35

深度学习训练营

  • 原文链接
  • 环境介绍
  • 前置工作
    • 设置GPU
  • 导入数据
  • 归一化操作
  • 图片可视化
  • 构建CNN网络
  • 进行编译
  • 模型训练
  • 结果可视化
    • 图片展示
    • 对图片的内容进行辨别
  • 模型的精度评估

原文链接

  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍦 参考文章:365天深度学习训练营-第P1周:实现mnist手写数字识别
  • 🍖 原作者:K同学啊|接辅导、项目定制

环境介绍

  • 语言环境:Python3.9.13
  • 编译器:jupyter notebook
  • 深度学习环境:TensorFlow2

前置工作

设置GPU

因为本次实验的数据量过大,所有设置多个GPU很有必要

# K同学啊深度学习练习
import tensorflow as tf
gpus = tf.config.list_physical_devices("GPU")

if gpus:
    gpu0 = gpus[0] #如果有多个GPU,仅使用第0个GPU
    tf.config.experimental.set_memory_growth(gpu0, True) #设置GPU显存用量按需使用
    tf.config.set_visible_devices([gpu0],"GPU")

导入数据

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.cifar10.load_data()

数据量比较大,下载的时间会比较长
在这里插入图片描述

归一化操作

# 将像素的值标准化至0到1的区间内。
train_images, test_images = train_images / 255.0, test_images / 255.0

train_images.shape,test_images.shape,train_labels.shape,test_labels.shape

在这里插入图片描述

图片可视化

对于图片的分类进行命名

[‘airplane’, ‘automobile’, ‘bird’, ‘cat’, ‘deer’,‘dog’, ‘frog’, ‘horse’, ‘ship’, ‘truck’]

class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer','dog', 'frog', 'horse', 'ship', 'truck']

plt.figure(figsize=(20,10))
for i in range(20):
    plt.subplot(5,10,i+1)
    plt.xticks([])
    plt.yticks([])
    plt.grid(False)
    plt.imshow(train_images[i], cmap=plt.cm.binary)
    plt.xlabel(class_names[train_labels[i][0]])
plt.show()

在这里插入图片描述

构建CNN网络

#设置CNN网络
model = models.Sequential([
    layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)), #卷积层1,卷积核3*3
    layers.MaxPooling2D((2, 2)),                   #池化层1,2*2采样
    layers.Conv2D(64, (3, 3), activation='relu'),  #卷积层2,卷积核3*3
    layers.MaxPooling2D((2, 2)),                   #池化层2,2*2采样
    layers.Conv2D(64, (3, 3), activation='relu'),  #卷积层3,卷积核3*3
    
    layers.Flatten(),                      #Flatten层,连接卷积层与全连接层
    layers.Dense(64, activation='relu'),   #全连接层,特征进一步提取
    layers.Dense(10)                       #输出层,输出预期结果
])

model.summary()  # 打印网络结构

在这里插入图片描述

进行编译

进行编译操作

#进行编译
model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])

模型训练

epoch设置为10,实现提高精度

#对模型进行训练
history = model.fit(train_images, train_labels, epochs=10, 
                    validation_data=(test_images, test_labels))

在这里插入图片描述

结果可视化

图片展示

#图片显示
plt.imshow(test_images[3])

在这里插入图片描述

对图片的内容进行辨别

import numpy as np

pre = model.predict(test_images)
print(class_names[np.argmax(pre[3])])

在这里插入图片描述

模型的精度评估

#模型评估
import matplotlib.pyplot as plt

plt.plot(history.history['accuracy'], label='accuracy')
plt.plot(history.history['val_accuracy'], label = 'val_accuracy')
plt.xlabel('Epoch')
plt.ylabel('Accuracy')
plt.ylim([0.5, 1])
plt.legend(loc='lower right')
plt.show()

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

在这里插入图片描述
计算结果

print(test_acc)#打印结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/67587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

我为什么选择博客园!

过去一段时间我尝试了很多平台,说下感受。但是最后我还是选择了博客园。 1. 开始写csdn的原因: 积累一些东西,从而为自己的简历以及工作加分。 分享知识。 梳理知识和记录,因为好多东西做过,再问就忘了。尤其是面试…

深度学习-扩张卷积(dilated convolution)

1. 前言 扩张卷积(DilatedConvolution)也被称为空洞卷积或者膨胀卷积,是在标准的卷积核中注入空洞,以此来增加模型的感受野(receptionfield)\color{blue}{扩张卷积(Dilated Convolution&#xf…

IOS内测记录:在自有App中运行小程序游戏

作为FinClip的老用户,很早就向官方提出了希望支持微信小游戏的建议。现如今,官方也把小游戏支持提上了日程,近期开启了公测通道。团队用小游戏进行了测试,在这里记录分享一下测试情况。 实现效果将微信小游戏搬到自己的APP中使用…

python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译

在本文中,我们将看到如何创建语言翻译模型,这也是神经机器翻译的非常著名的应用。 最近我们被客户要求撰写关于NLP的研究报告,包括一些图形和统计输出。我们将使用seq2seq通过Python的Keras库创建我们的语言翻译模型。 假定您对循环神经网络…

飞行器动力学和控制项目(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 以下技术任务是在固定翼小型无人机上执行的。 刚体动力系统模型及其数值模拟。模拟具有测量误差的车载传感器。根据传感器数据…

【BUG日记】【Processing】NullPointerException,unable to decode sound file “xxx“

【日期】 2022/12/6 【问题】 报错:unable to decode sound file pig.mp3 想进行操作的是读取本地的图片或者音频,都会出现这个问题。 研究半天还一直以为是引入的 sound 库有问题。 音频的 bug 图片的 bug 【原因】 不知道什么原因,一直…

docker部署项目

文章目录前言一、下载安装docker:1.前提工作1.1 查看linux版本1.2 yum包更新到最新1.3 安装工具包1.4 设置yum源并更新yum包索引2.安装docker2.1 安装docker-ce2.2 启动docker2.3 查看已安装docker版本2.4 设置docker开机自启动2.5 配置镜像加速3.docker常用命令二、…

思科模拟器 | 交换机的vlan配置和truck配置

vlan 与 truck一、vlan配置【实现同一vlan的主机通信】1、基本配置和接线2、vlan配置与端口连接3、测试连接二、truck配置【实现连接在不同交换机上的同一vlan的主机通信】1、基本配置和接线2、vlan配置与端口连接3、打truck做连接3、测试连接一、vlan配置【实现同一vlan的主机…

vue Pinia 全局主题切换

文章目录vue Pinia 全局主题切换基本环境结果展示过程解析vue Pinia 全局主题切换 目的 : 实现单页面上切换主题,例如 关灯或开灯; 环境: vue3.0 vite Pinia 基本环境 // tsconfig.json 文件中 新增路径配置 导入自定义文件时可以之间导入 {"compilerOptions": {&…

Java多态

Java多态\color{black}{\huge{Java多态}}Java多态 多态 1. 什么是多态? 多态:同种类型的对象,执行同一个任务,会表现出不同的行为特征,这就是多态(这种解释顶级抽象) 再细致一点说多态就是为不同的数据类型提供了同…

RK3399平台开发系列讲解(内存篇)ARM64虚拟地址空间布局

🚀返回专栏总目录 文章目录 一、虚拟地址空间划分二、用户虚拟地址空间布局三、内核地址空间布局沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇章让我们一起看一下ARM64虚拟地址空间的布局。 一、虚拟地址空间划分 因为目前应用程序没有那么大的内存需求,所…

知识点9--Docker容器的数据卷

我前面介绍容器命令的时候,最后说过一个cp命令,可以把容器和宿主机之间的文件互相拷贝,保证数据的持久化,但是这种持久化偏向于比较独立完整的文件,大家有没有想过如果遇到成体系的数据保存,比如我整个数据…

精彩数据:2021年我国民旅客周转量6530亿公里,审定受理飞机2803架

2021年是特殊的一年,全体民航成员在努力克服疫情防控、经营亏损、安全压力等困难交织叠加的影响下,切实的推动了民航的高质量发展,再各项工作上都取得了较好的成绩。下面是小编使用可视化互动平台对民航发展统计报告进行报表数据处理分析后得…

超市商城小程序开发,在线盈利途径

随着消费意识的提高和零售业的不断升级,小程序已经成为目前重要的线上发展形势之一且具有很强的发展活力,在此发展机遇下,很多企业开始布局线上渠道,进入电商行业。超市作为日常生活中最常见、数量最多的线下门店,当然…

[基因遗传算法]原理思想和python代码的结合理解之(一) :单变量

读《遗传算法的Python实现(通俗易懂)》佳文的思考与笔记整理. 我们拥有一个目标函数y10⋅sin(5x)7⋅cos(4x)y10 \cdot sin(5x)7\cdot cos(4x)y10⋅sin(5x)7⋅cos(4x) def aim(x):return 10*np.sin(5*x)7*np.cos(4*x)约束范围(这里是定义域):x∈[0,5]x \…

如何选择分度带(中央子午线)

如何选择分度带(中央子午线) 发布时间:2018-01-17 版权: 同步视频教程:如何选择中央子午线或者分度带 播放 什么是中央子午线? 什么是分度带? 【百度百科】 第一步:查看你所下载(或者要套合的范围)的图像的经纬…

盘点| 爆款小游戏的开发引擎

微信推出小游戏已有4年,期间不断涌现爆款。作为可以不用下载安装直接在线玩的小程序游戏,小游戏渐渐成为不少人的心头好。今天就来盘点一下那些爆款小游戏用到的游戏开发引擎: 一、Cocos 必须得把Cocos放在第一个讲,毕竟近期的羊了…

计量经济学

计量经济学 复习题 题型:选择2*10;填空2*10;名词解释4*5;综合题10*4 一 选择填空考点 1. 截面数据,时间序列,面板数据定义。P12/1.3.3 截面数据:同一时间(时期或时点)某个…

艾美捷胆固醇肉豆蔻酸酯说明书和相关研究

艾美捷胆固醇肉豆蔻酸酯以结晶固体形式提供。储备溶液可以通过将胆甾醇肉豆蔻酸酯溶解在所选溶剂中来制备。肉豆蔻酸胆甾醇可溶于有机溶剂氯丨仿,应使用惰性气体吹扫,浓度约为10mg/ml。 艾美捷胆固醇肉豆蔻酸酯基本参数: CAS#:19…

vue中使用图像编辑器tui-image-editor(一)

vue中使用图像编辑器tui-image-editor(一) 场景:需要对图片进行旋转、缩放、裁剪、涂鸦、标注、添加文本等。 效果-图1 1、基本介绍 官网:https://ui.toast.com/tui-image-editor 官方GitHub地址:https://github.com/nhn/tui.image-edito…