深度学习实战第二周--彩色图片的识别

news/2024/10/18 16:50:17/

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/xLjALoOD8HPZcH563En8bQ) 中的学习记录博客**
>- ** 参考文章:365天深度学习训练营-第5周:运动鞋品牌识别(训练营内部成员可读)**
>- **🍖 原作者:[K同学啊](https://mp.weixin.qq.com/s/xLjALoOD8HPZcH563En8bQ)**

本周识别彩色图片,采取卷积神经网络搭建网络,数据集数量适中,但评价指标的数值值得提高

1.设置设备,本文采用自己电脑自带的GPU1080Ti

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

2.数据集导入

from tensorflow.keras import datasets,layers,models
import matplotlib.pyplot as plt
(train_images,train_labels),(test_images,test_labels)=datasets.cifar10.load_data()

3.数据标准化

由于像素点最大值为155,最小值为0,这里直接让他们除以255.0即可完成数据标准化

#像素标准化
train_images,test_images=train_images/255.0,test_images/255.0
train_images.shape,test_images.shape,train_labels.shape,test_labels.shape

4.数据可视化

class_name=['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck']
plt.figure(figsize=(20,20))
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_name[train_labels[i][0]])

 5.模型搭建

#搭建模型
model=models.Sequential([layers.Conv2D(32,(3,3),activation='relu',input_shape=(32,32,3)),layers.MaxPool2D((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)
]
)

6.模型编译

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

7.模型训练

history=model.fit(train_images,train_labels,epochs=20,validation_data=(test_images,test_labels))

Epoch 1/20
1563/1563 [==============================] - 29s 17ms/step - loss: 1.5689 - accuracy: 0.4253 - val_loss: 1.2995 - val_accuracy: 0.5338
Epoch 2/20
1563/1563 [==============================] - 28s 18ms/step - loss: 1.2116 - accuracy: 0.5707 - val_loss: 1.1985 - val_accuracy: 0.5798
Epoch 3/20
1563/1563 [==============================] - 27s 17ms/step - loss: 1.0499 - accuracy: 0.6286 - val_loss: 1.0068 - val_accuracy: 0.6500
Epoch 4/20
1563/1563 [==============================] - 26s 17ms/step - loss: 0.9501 - accuracy: 0.6669 - val_loss: 0.9589 - val_accuracy: 0.6664
Epoch 5/20
1563/1563 [==============================] - 27s 17ms/step - loss: 0.8733 - accuracy: 0.6961 - val_loss: 0.9424 - val_accuracy: 0.6728
Epoch 6/20
1563/1563 [==============================] - 26s 17ms/step - loss: 0.8169 - accuracy: 0.7130 - val_loss: 0.9840 - val_accuracy: 0.6608
Epoch 7/20
1563/1563 [==============================] - 27s 18ms/step - loss: 0.7566 - accuracy: 0.7348 - val_loss: 0.8962 - val_accuracy: 0.6925
Epoch 8/20
1563/1563 [==============================] - 28s 18ms/step - loss: 0.7127 - accuracy: 0.7510 - val_loss: 0.9304 - val_accuracy: 0.6812
Epoch 9/20
1563/1563 [==============================] - 27s 17ms/step - loss: 0.6721 - accuracy: 0.7640 - val_loss: 0.8733 - val_accuracy: 0.7022
Epoch 10/20
1563/1563 [==============================] - 27s 17ms/step - loss: 0.6339 - accuracy: 0.7771 - val_loss: 0.9032 - val_accuracy: 0.6993
Epoch 11/20
1563/1563 [==============================] - 27s 17ms/step - loss: 0.6008 - accuracy: 0.7880 - val_loss: 0.9038 - val_accuracy: 0.7067
Epoch 12/20
1563/1563 [==============================] - 27s 17ms/step - loss: 0.5655 - accuracy: 0.7982 - val_loss: 0.8896 - val_accuracy: 0.7067
Epoch 13/20
1563/1563 [==============================] - 27s 17ms/step - loss: 0.5337 - accuracy: 0.8115 - val_loss: 0.9292 - val_accuracy: 0.6994
Epoch 14/20
1563/1563 [==============================] - 26s 17ms/step - loss: 0.5067 - accuracy: 0.8173 - val_loss: 0.9405 - val_accuracy: 0.7077
Epoch 15/20
1563/1563 [==============================] - 28s 18ms/step - loss: 0.4762 - accuracy: 0.8319 - val_loss: 0.9913 - val_accuracy: 0.6900
Epoch 16/20
1563/1563 [==============================] - 27s 17ms/step - loss: 0.4546 - accuracy: 0.8382 - val_loss: 1.0190 - val_accuracy: 0.7094
Epoch 17/20
1563/1563 [==============================] - 26s 17ms/step - loss: 0.4279 - accuracy: 0.8476 - val_loss: 1.0170 - val_accuracy: 0.6988
Epoch 18/20
1563/1563 [==============================] - 27s 17ms/step - loss: 0.4046 - accuracy: 0.8553 - val_loss: 1.0816 - val_accuracy: 0.6956
Epoch 19/20
1563/1563 [==============================] - 26s 17ms/step - loss: 0.3849 - accuracy: 0.8621 - val_loss: 1.1430 - val_accuracy: 0.6888
Epoch 20/20
1563/1563 [==============================] - 25s 16ms/step - loss: 0.3599 - accuracy: 0.8723 - val_loss: 1.1654 - val_accuracy: 0.6961

 8.可视化测试集

plt.imshow(test_images[1])

 模型预测:

import numpy as np
pre=model.predict(test_images)
print(class_name[np.argmax(pre[1])])

模型评估:

#模型评估
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)

9.总结

 本次彩色图片的识别之后,我们可以看到搭建的CNN网络过于简单,我建议大家可以搭建更加复杂的或者使用更加复杂得网络进行图片识别,本实验准确率不是很高,有待提升,大家也可以使用更加复杂得或者其他网络进行实验发现idea


http://www.ppmy.cn/news/494525.html

相关文章

用计算机确定照片的黑白灰,电脑和手机屏色彩不一致,怎么办?以谁为准?| 摄影早自习第1042天...

原标题:电脑和手机屏色彩不一致,怎么办?以谁为准?| 摄影早自习第1042天 第1042天 色彩管理是摄影人必备的知识和技巧,今天来扫盲吧! Jun.W提问: 叶老师您好,想问一个困扰已久的问题,我平时在电脑上修完图后,曝光是满意的,但放到手机上看,会感觉曝光不足,手机亮度调…

2021-2027中国显示器彩色滤光片市场现状及未来发展趋势

本报告研究中国市场显示器彩色滤光片的生产、消费及进出口情况,重点关注在中国市场扮演重要角色的全球及本土显示器彩色滤光片生产商,呈现这些厂商在中国市场的显示器彩色滤光片销量、收入、价格、毛利率、市场份额等关键指标。此外,针对显示…

买电脑经验总结

写在前面 自己的电脑是哥哥帮忙买的,当时什么都不懂。说个好笑的吧,当时哥哥问我需要2G的内存还是4G的内存,我说2G的内存跑PS卡不卡(当时在上PS这门课,感觉这个软件很大了,这个软件都可以跑的话&#xff0c…

计算机桌面颜色比较暗,电脑显示器颜色偏暗怎么回事

很多网友都不太明白电脑显示器颜色偏暗是怎么回事,下面就由小编来为你们简单的介绍电脑显示器颜色偏暗的原因及解决方法吧! 电脑显示器颜色偏暗的原因分析: 1、显象管老化变暗; 2、进桌面-属性-显卡高级设置,增加里面的亮度值或灰度值; 3、下…

ibm服务器电脑维修部电话,ibm有哪些电脑维修点 ibm电脑维修方法及维修点介绍【图文】...

ibm电脑是属于商务型的电脑,由于ibm电脑在相同情况下比其他品牌的电脑安全性更高,因此在更多的商务人士更更愿意使用ibm电脑。但是我们应该知道,任何一款产品,即便质量品牌再怎么好,使用的时间久了,难免会有…

【历史上的今天】7 月 30 日:现代电视先驱诞生;以太坊启动;80 年代最畅销的电脑品牌

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2022 年 7 月 30 日,在 1923 年的今天,中国自行设计生产的第一架飞机研制成功。中国第一架双层螺旋桨敞盖飞机由广东飞机制造厂研制成功&#x…

真彩色与伪彩色的概念

真彩色简介   真彩色是指图像中的每个像素值都分成R、G、B三个基色分量,每个基色分量直接决定其基色的强度,这样产生的色彩称为真彩色。 计算机表示颜色也是用二进制。16位色的发色总数是65536色,也就是2的16次方;24位色被称为真…

Centos系统 LVM磁盘扩容

查看vgs信息 vgs vg空间在线扩容,vfree有空间时 lvextend -L 1GB 指定文件系统磁盘 lvextend -L 1GB /dev/data/lv-data vfree 空间不足,先对vg空间扩容 vgextend vg盘名 新添加的磁盘 vgextend data /dev/sdb 删除 添加的扩展vg vgreduce data /dev/sdb …