Tensorflow入門實戰 P02-彩色圖片分類

目錄

1、序言

2、主要代碼

3、運行結果展示

(1)展示cifar10里面的20張圖片

(2)預測的圖片

(3)模型評估


  • 本文為🔗365天深度學習訓練營?中的學習記錄博客
  • 🍖 原作者:K同學啊 | 接輔導、項目定制

1、序言

這篇博客,主要是講的是彩色圖片分類,數據集為:cifar10。

和以往的流程一樣:

① 判斷是否在GPU上運行

② 導入cifar10數據集

③ 歸一化(將像素的值標準化至0-1的區間內)

④ 可視化數據集里的數據(展示了2行,共20張圖片)

⑤ 搭建神經網絡

⑥ 編譯

⑦ 訓練模型

⑧ 預測并顯示預測的圖片

⑨ 模型評估?

2、主要代碼

import tensorflow as tf
from keras import datasets, layers, models
import matplotlib.pyplot as plt
import numpy as np
# 1、設置GPU
gpus = tf.config.list_physical_devices('GPU')if gpus:gpu0 = gpus[0]  # 如果有多個GPU,僅使用第0個GPUtf.config.experimental.set_memory_growth(gpu0,True)  # 設置GPU顯存用量按需使用tf.config.set_visible_devices([gpu0], "GPU")# 2、導入數據
(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()# 3、歸一化
# 將像素的值標準化至0到1的區間內。
train_images, test_images = train_images / 255.0, test_images / 255.0
print(train_images.shape,test_images.shape,train_labels.shape,test_labels.shape)
# (50000, 32, 32, 3)     (10000, 32, 32, 3)    (50000, 1)          (10000, 1)# 4、可視化
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()# 二、搭建神經網絡
model = models.Sequential([layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),  # 卷積層1,卷積核3*3layers.MaxPooling2D((2, 2)),  # 池化層1,2*2采樣layers.Conv2D(64, (3, 3), activation='relu'),  # 卷積層2,卷積核3*3layers.MaxPooling2D((2, 2)),  # 池化層2,2*2采樣layers.Conv2D(64, (3, 3), activation='relu'),  # 卷積層3,卷積核3*3layers.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'])# 四、訓練模型
history = model.fit(train_images, train_labels, epochs=10,validation_data=(test_images, test_labels))# 五、預測
plt.imshow(test_images[1])
plt.show()pre = model.predict(test_images)
print(class_names[np.argmax(pre[1])])# 六、模型評估
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_loss:", test_loss, "---------test_acc:", test_acc)

3、運行結果展示

(1)展示cifar10里面的20張圖片

(2)預測的圖片

遺憾,我的結果預測錯誤,預測的是:automobile

(3)模型評估

上圖可以看到,測試精確度達到70%左右。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19518.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19518.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19518.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

postgressql——ReadBuffer_common函數(7)

PostgreSQL中ReadBuffer_common函數 數據結構 BufferDesc 共享緩沖區的共享描述符(狀態)數據 typedef struct BufferDesc {//buffer tagBufferTag tag; /* ID of page contained in buffer *///buffer索引編號(0開始)int buf_id; /* buffers i…

大語言模型(一)OLMo

一、簡介 OLMo 是由AI2 發布的大語言模型以及構建框架,與大多數之前的嘗試只發布模型權重和推理代碼不同,OLMo 開源了整個框架,包括訓練數據、訓練代碼以及模型評估代碼。 OLMo框架包括構建和研究語言模型所需的工具和資源。對于訓練和建模,它包括完整的模型權重、訓練代…

SZJG-離線環境成功安裝Python和pip

在離線環境下安裝Python和pip,可以按照以下步驟進行。假設你已經下載了Python的安裝包 (Python-3.10.13.tgz)。 步驟 1:準備安裝包 將 Python-3.10.13.tgz 拷貝到目標機器上的一個目錄中,例如 /home/user/。 步驟 2:解壓安裝包…

4萬字長文讓人看懂ElementUI面試題及參考答案

ElementUI是什么?請簡述其主要特點。 ElementUI是一個基于Vue.js的桌面端組件庫,由餓了么團隊開發并維護。它旨在為開發人員提供一套用于構建網頁應用程序的高質量UI組件。ElementUI遵循Vue.js的設計思想,使得開發者可以快速地構建出風格統一、功能豐富的界面。 主要特點:…

水經微圖PC版4.3.10發布

讓GIS更簡單高效,讓地圖更豐富及時! 水經微圖(以下簡稱“微圖”)新版已上線,在該版本中主要新增了天地圖歷史影像查看功能,以及其它功能的優化。 當前版本 當前版本號為:4.3.10 如果你發現該…

Pytorch反向傳播算法(Back Propagation)

一:revise 我們在最開始提出一個線性模型。 x為我們的輸入,w為權重。相乘的結果是我們對y的預測值。 那我們在訓練時就是對這個權重w進行更新,就需要用到上一章提到的梯度下降算法,不斷更新w。但是此時注意不是用y的預測值對w進…

linux centos nfs掛載兩臺服務器掛載統一磁盤目錄權限問題

查看用戶id id 用戶名另一臺為 修改uid和gid為相同id,添加附加組 usermod -u500 -Gwheel epms groupmod -g500 epms

網絡協議。

一、流程案例 接下來揭秘我要說的大事情,“雙十一”。這和我們要講的網絡協議有什么關系呢? 在經濟學領域,有個倫納德里德(Leonard E. Read)創作的《鉛筆的故事》。這個故事通過一個鉛筆的誕生過程,來講述…

[代碼復現]Self-Attentive Sequential Recommendation(ing)

參考代碼:SASRec.pytorch 可參考資料:SASRec代碼解析 前言:文中有疑問的地方用?表示了。可以通過ctrlF搜索’?。 環境 conda create -n SASRec python3.9 pip install torch torchvision因為我是mac運行的,所以device是mps 下面…

算法(七)插入排序

文章目錄 插入排序簡介代碼實現 插入排序簡介 插入排序(insertion sort)是從第一個元素開始,該元素就認為已經被排序過了。然后取出下一個元素,從該元素的前一個索引下標開始往前掃描,比該值大的元素往后移動。直到遇到比它小的元…

Caliburn.Micro框架學習筆記——Action的參數傳遞機制

據此篇文章,我們繼續來談談Caliburn.Mirco的Action參數傳遞機制。因此程序結構都是默認MVVM的形式。 基本機制 它的機制是—— Caliburn.Micro 的智能對象參數綁定機制通過約定和反射使得視圖和視圖模型之間的交互變得更加直觀和簡潔。通過 cal:Message.Attach 語…

【C語言】探索文件讀寫函數的全貌

🌈個人主頁:是店小二呀 🌈C語言筆記專欄:C語言筆記 🌈C筆記專欄: C筆記 🌈喜歡的詩句:無人扶我青云志 我自踏雪至山巔 🔥引言 本章將介紹文件讀取函數的相關知識和展示使用場景&am…

vue中如何進行Markdown文檔展示與解析

vue中如何進行Markdown文檔展示與解析 一、安裝插件二、如何使用 需求&#xff1a;接口返回了一個政策詳情頁面&#xff0c;里面有圖片&#xff0c;用v-html展示的是url&#xff0c;所以改用vue-markdown 一、安裝插件 npm install vue-markdown --save二、如何使用 <vue-…

RabbitMQ 如何保證消息不丟失

開啟消息確認機制&#xff1a; 在發布消息時&#xff0c;可以設置deliveryMode為2&#xff08;持久化&#xff09;&#xff0c;以確保消息不會因為RabbitMQ的崩潰而丟失。 使隊列持久化&#xff1a; 通過設置durable為true&#xff0c;可以確保隊列在RabbitMQ重啟后依然存在。…

Python 實戰:打造智能進銷存系統

想象一下&#xff0c;在繁忙的商店里&#xff0c;每天都有數以百計的商品進進出出&#xff0c;庫存在不斷變化&#xff0c;銷售數據涌入&#xff0c;而你卻能輕松應對一切。是的&#xff0c;Python 可以幫你實現這一切。本文將教你如何使用 Python 構建一個智能的進銷存系統&am…

學習記錄-5.30

學習記錄-5.30 同步在我的博客可以來看看 http://www.zhihuigou.top/ ### Golang為什么比別的語言跟擅長并發: 首先是因為Goroutine&#xff0c;算是go的一個最大的特色 是輕量級的線程,創建一個goroutine的開銷非常小,大約幾KB,且調度開銷很低 并且goroutine的調度,并不…

React組件通信——兄弟組件

兄弟組件通信 方法一&#xff1a;狀態提升 子組件先將數據傳遞到父組件&#xff0c;父組件再把數據傳到另一個子組件中。 import { useState } from "react"; // 定義A組件&#xff0c;向B組件發送數據 function A({ onGetMsg }) {const name "this is A na…

fyne apptab布局

fyne apptab布局 AppTabs 容器允許用戶在不同的內容面板之間切換。標簽要么只是文本&#xff0c;要么是文本和一個圖標。建議不要混合一些有圖標的標簽和一些沒有圖標的標簽。 package mainimport ("fyne.io/fyne/v2/app""fyne.io/fyne/v2/container"//&…

PolarDB分布式架構學習筆記

PolarDB分布式是什么&#xff1f; 業務場景有哪些&#xff1f; 分布式焦點問題&#xff1f; 技術架構 CN DN介紹 CDC組件介紹 Columnar組件介紹 視頻學習&#xff1a;PolarDB 實操課 第一講&#xff1a;PolarDB分布式版架構介紹_嗶哩嗶哩_bilibili

都在說的跨網文件共享系統是什么?企業該怎么甄選?

跨網文件共享系統成為越來越受關注的產品焦點&#xff0c;那么跨網文件共享系統是什么呢&#xff1f;跨網文件共享是指在不同網絡之間共享文件的過程&#xff0c;使得不同網絡中的用戶可以訪問和使用共享的文件。 原則上而言&#xff0c;不同網絡間的文件是無法共享的&#xff…