《昇思 25 天學習打卡營第 10 天 | ResNet50 遷移學習 》

《昇思 25 天學習打卡營第 10 天 | ResNet50 遷移學習 》

活動地址:https://xihe.mindspore.cn/events/mindspore-training-camp
簽名:Sam9029


使用遷移學習進行狼狗圖像分類

簡介

在機器學習和深度學習中,我們經常面臨數據不足的問題。
遷移學習是一種解決這一問題的有效方法。

本章節將通過一個簡單的案例,介紹如何使用遷移學習對狼和狗的圖像進行分類。

遷移學習概念

遷移學習是一種學習方式,它允許我們將在一個大型數據集(如 ImageNet)上預訓練的模型應用于一個新的、通常較小的數據集。這樣,我們可以利用預訓練模型已經學到的特征,而不必從頭開始訓練整個網絡。

使用模型 ResNet50

  • ResNet50 是一種深度卷積神經網絡(CNN)架構, 由微軟研究院的 Kaiming He 等人在 2015 年提出,并在多個視覺識別任務中取得了突破性的性能。

ResNet50 的應用:
圖像分類:ResNet50 可以用于將圖像分類到 1000 個類別中,這是 ImageNet 數據集的標準任務。
物體檢測:通過將 ResNet50 與區域建議網絡(Region Proposal Networks, RPN)結合,可以用于物體檢測任務。
語義分割:ResNet50 也可以用于像素級的圖像理解,即語義分割,其中每個像素都被分類到相應的類別。

數據準備

首先,我們需要下載并準備數據集。在這個案例中,我們使用的是來自 ImageNet 的狼和狗的圖像數據集。

from download import download
dataset_url = "https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/datasets/intermediate/Canidae_data.zip"
download(dataset_url, "./datasets-Canidae", kind="zip", replace=True)

加載和增強數據集

使用 MindSpore 的數據集加載接口ImageFolderDataset來加載數據,并進行一些圖像增強操作,如隨機裁剪、水平翻轉等。

import mindspore.dataset as ds
import mindspore.dataset.vision.c_transforms as visiondef create_dataset_canidae(dataset_path, usage):"""數據加載"""data_set = ds.ImageFolderDataset(dataset_path,num_parallel_workers=workers,shuffle=True,)# 數據增強操作mean = [0.485 * 255, 0.456 * 255, 0.406 * 255]std = [0.229 * 255, 0.224 * 255, 0.225 * 255]scale = 32if usage == "train":# Define map operations for training datasettrans = [vision.RandomCropDecodeResize(size=image_size, scale=(0.08, 1.0), ratio=(0.75, 1.333)),vision.RandomHorizontalFlip(prob=0.5),vision.Normalize(mean=mean, std=std),vision.HWC2CHW()]else:# Define map operations for inference datasettrans = [vision.Decode(),vision.Resize(image_size + scale),vision.CenterCrop(image_size),vision.Normalize(mean=mean, std=std),vision.HWC2CHW()]# other code ...

訓練模型&&訓練過程

我們選擇 ResNet50 作為基礎模型,并對其進行調整以適應我們的分類任務。

def resnet50(num_classes: int = 1000, pretrained: bool = False):"ResNet50模型"resnet50_url = "https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/models/application/resnet50_224_new.ckpt"resnet50_ckpt = "./LoadPretrainedModel/resnet50_224_new.ckpt"return _resnet(resnet50_url, ResidualBlock, [3, 4, 6, 3], num_classes,pretrained, resnet50_ckpt, 2048)
  • 固定特征進行訓練
  • 訓練和評估
  • 可視化模型預測

學嘛了,完全是懵懵懂懂的,跑了一篇流程,收獲就是知道了計算機視覺 識別圖片的 過程,
使用 全卷積化 網絡的 深度學習網絡模型,來對圖片進行分類和識別

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

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

相關文章

python【文件操作】

文件操作 一、創建文件夾二、文件操作模式1.覆蓋寫入2.讀取3.追加 三、 Python腳本在文件中查找和替換文本四、 python清空文件夾 一、創建文件夾 判斷文件或者文件夾是否存在 import ospathrD://測試文件夾 if not os.path.exists(path):os.mkdir(path)print(os.path.exists…

C++模板元編程(二)——完美轉發

完美轉發指的是函數模板可以將自己的參數“完美”地轉發給內部調用的其它函數。所謂完美,即不僅能準確地轉發參數的值,還能保證被轉發參數的左、右值屬性不變。 文章目錄 場景舊的方法新的方法內部實現參考文獻 場景 思考下面的代碼: templ…

高防服務器的重要性

在數字化時代,網絡安全已成為企業和個人最為關注的問題之一。隨著網絡攻擊的日益頻繁和復雜,傳統的服務器租用服務已難以滿足高安全需求的市場。高防服務器租用應運而生,成為保護網絡安全的重要解決方案。本文將探討高防服務器租用的概念、重…

專業140+總分420+天津大學815信號與系統考研經驗天大電子信息與通信工程,真題,大綱,參考書。

順利上岸天津大學,專業課815信號與系統140,總分420,總結一些自己的復習經歷,希望對于報考天大的同學有些許幫助,少走彎路,順利上岸。專業課: 815信號與系統:指定教材吳大正&#xf…

2-26 基于matlab開發的制冷循環模型

基于matlab開發的制冷循環模型。Simscape兩相流域中的制冷循環模型,在simulink中完成多循環溫度控制。程序已調通,可直接運行。 2-26 制冷循環模型 Simscape兩相流域 - 小紅書 (xiaohongshu.com)

Arduino ESP8266 開發環境搭建

Arduino ESP8266 開發環境搭建 很久之前學嵌入式時,用過Arduino8266進行開發,開發成本低、難度小,體驗很不錯。 近期,又突然要用,遂再次搭建環境,但變動挺多,有些小波折,開貼記錄。…

生成式AI應用實列和價值鏈

生成式AI應用實列和價值鏈 生成式AI應用實列ChatGPTGeminiGitHub CopilotSynthesia 價值鏈 生成式AI應用實列 ChatGPT ChatGPT 并不是生成式 AI 行業中唯一的公司。 Stability AI 的 Stable Diffusion 可以根據文本描述生成圖像,發布后 90 天內,在 Git…

vue是如何進行監聽數據變化的?vue2和vue3分別是什么,vue3為什么要更換

在 Vue 中,數據變化的監聽是通過響應式系統來實現的。Vue 2.x 和 Vue 3 在這方面有一些區別。 Vue 2.x 的數據監聽 Vue 2.x 使用的是 Object.defineProperty() 方法來實現數據的響應式。當你聲明一個 Vue 實例的數據對象時,Vue 將遍歷這個對象的屬性&a…

清除屏幕上信息的命令clear

清除屏幕上信息的命令clear There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should leave quickly. 清…

高考志愿填報千萬要注意這四點

在高考志愿填報過程中,確實有很多需要留心的點。我為你總結了四個關鍵點,希望能幫助你順利完成志愿填報: 1、學校提供的支持 學校作為學生志愿填報咨詢服務的主陣地,應提供體系化和制度化的支持。包括及時關注并傳達政策動向和相…

行內元素、塊級元素居中

行內元素居中 水平居中 {text-align&#xff1a;center;}垂直居中 單行——行高等于盒子高度 <head><style>.father {width: 400px;height: 200px;/* 行高等于盒子高度&#xff1a;line-height: 200px; */line-height: 200px;background-color: pink;}.son {}&…

如何做好IT類的技術面試?

我們在找工作時&#xff0c;需要結合自己的現狀&#xff0c;針對意向企業做好充分準備。作為程序員&#xff0c;你有哪些面試IT技術崗的技巧&#xff1f; 方向一&#xff1a;分享你面試IT公司的小技巧 我分享一些基于廣泛觀察和用戶反饋的面試IT公司的小技巧&#xff1a; 技術準…

孟德爾隨機化-痛風

寫在前面 昨天看到文獻&#xff0c;稱飲酒與痛風無關聯&#xff0c;甚是疑惑&#xff0c;今天剛好看了一篇新文獻&#xff0c;雖然不是主要講飲酒與痛風的&#xff0c;但也有牽扯到這方面內容&#xff0c;而且是相反的內容&#xff0c;特記錄一下。 孟德爾隨機化-受教育程度與…

vuepress創建步驟

背景 記錄vuepress配置步驟&#xff0c;以便下次使用快速上手。 讀此文章之前默認您已經學會了創建vuepress項目。vuepres快速開始 最終成品 doc.jeecgflow.com 配置步驟 創建.vuepress 目錄。 你的文檔目錄下創建一個 .vuepress 目錄。 創建.vuepress/config.js module.e…

mysql面試題 Day4

1 什么是覆蓋索引&#xff1f;對要查詢的列 和 查詢條件中的列 有什么要求 覆蓋索引&#xff08;Covering Index&#xff09;是指一個索引包含了一次查詢所需的全部列&#xff0c;因此可以完全滿足查詢需求&#xff0c;而無需訪問實際的表行數據。&#xff08;即避免回表操作&…

Mac窗口輔助管理工具:Magnet for mac激活版

magnet mac版是一款運行在蘋果電腦上的一款優秀的窗口大小控制工具&#xff0c;拖拽窗口到屏幕邊緣可以自動半屏&#xff0c;全屏或者四分之一屏幕&#xff0c;還可以設定快捷鍵完成分屏。這款專業的窗口管理工具當您每次將內容從一個應用移動到另一應用時&#xff0c;當您需要…

注意力機制 attention Transformer 筆記

動手學深度學習 這里寫自定義目錄標題 注意力加性注意力縮放點積注意力多頭注意力自注意力自注意力縮放點積注意力&#xff1a;案例Transformer 注意力 注意力匯聚的輸出為值的加權和 查詢的長度為q&#xff0c;鍵的長度為k&#xff0c;值的長度為v。 q ∈ 1 q , k ∈ 1 k …

解析Java中的緩存機制及其實現方式

解析Java中的緩存機制及其實現方式 大家好&#xff0c;我是微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 在軟件開發中&#xff0c;緩存是一種常見的優化技術&#xff0c;用于臨時存儲數據&#xff0c;以提高數據訪問速度…

【WEB前端2024】3D智體編程:喬布斯3D紀念館-第54課-poplang語音編程控制機器人

【WEB前端2024】3D智體編程&#xff1a;喬布斯3D紀念館-第54課-poplang語音編程控制機器人 使用dtns.network德塔世界&#xff08;開源的智體世界引擎&#xff09;&#xff0c;策劃和設計《喬布斯超大型的開源3D紀念館》的系列教程。dtns.network是一款主要由JavaScript編寫的…

【TORCH】神經網絡權重初始化和loss為inf

文章目錄 數據輸入范圍和權重初始化數據范圍對權重初始化的影響示例代碼輸入數據標準化 說明其他注意事項 常見初始化方法常見的權重初始化方法示例代碼說明 模型默認初始化方法&#xff0c;會不會導致Loss為inf示例說明初始化權重導致 Loss 為 inf避免 Loss 為 inf 的建議示例…