TensorFlow應用技術拓展—影像分類
1.科研平台环境部署操作拓展
针对于机器学习中的模型训练,本人推荐大家多学习TensorFlow官方的课程或资源,比如中国大学MOOC上的两门课程《 TensorFlow 入门实操课程 》和《 TensorFlow 入门课程 - 部署篇 》。科研或者工作过程中涉及的模型分布式训练,可能一个资源平台往往会非常耗时,无法及时满足个人需求。在这里,我将就上一篇《初步了解TensorFlow框架学习》提到的九天毕昇平台的使用进行一个具体的拓展,来方便学生和用户来更快捷地进行模型训练。该平台可以进行数据管理,模型训练等任务,是一个方便快捷的科研任务实践平台。在模型训练中具体操作步骤为:
(1)注册并登录九天毕昇平台,由于后续训练任务需消耗算力豆,而新用户的算力豆数量有限,但可以通过分享好友等任务来完成算力豆的获取。同时针对大型模型训练任务,为获取更多的模型训练存储空间,可邮件方式联系该平台的工作人员进行了控制台的升级,从而达到了日后所需的训练存储要求。存储和算力豆详情如下图:
(2)进入数据管理界面部署科研项目模型使用的数据集,通过将科研任务所需的数据集进行打包上传,完成模型训练所需数据集在该平台上的部署。
(3)在模型训练窗口新增项目训练实例,选择之前导入的数据集和所需的CPU资源。创建后的实例即为科研所需要训练的单个模型文件。新增项目实例的详情如下图所示:
(4)运行新增的项目实例,即运行项目训练环境,运行成功后,则可以选择jupyter编辑器创建和编辑所需的代码文件。
(5)后续代码编写和模型训练即可使用jupyter编辑器进行操作即可。
2. 图像分类技术拓展
图像分类,顾名思义就是根据图像之间差异性来对不同图像进行类别判断。而针对图像之间地差异性去设计判别模型就是机器学习中需要去掌握的知识。图像分类的基本知识和操作过程可以参考中国大学MOOC上的《TensorFlow入门实操课程》,快速了解TensorFlow基础应用与设计思路。。https://www.php.cn/link/b977b532403e14d6681a00f78f95506e
本章主要是想通过拓展图像分类技术来让接触该课程的用户更加深入地理解图像分类。
2.1 卷积操作有什么用?
说到对图像进行处理或者分类,必然绕不开一个操作,这个操作就是卷积。具体的卷积操作通过学习视频基本都能了解,但是更多的读者可能也只是停留在会如何进行卷积操作的程度上,而对于为什么去进行卷积,卷积操作有什么用这些仍然是一知半解。这里为大家进行一定拓展来帮助大家更好理解卷积。
基本的卷积过程下图所示,以图像为例,使用一个矩阵来表示图像,矩阵的每个元素即为图像中对应的像素值。卷积操作就是通过将卷积核逐乘对应的矩阵,从而得到这些小区域的特征值。而提取到的特征会因为卷积核的不同而有所差异,这也是后续会有人对图像不同通道进行卷积操作来获取图像不同通道的特征,来更好地进行后续分类任务。
在日常地模型訓練中,具體地捲積核並不需要進行人工設計,而是透過給定圖像的真實標籤,使用網路來自動訓練出來的,但是這樣的過程不利於人們去理解卷積核和卷積過程,或說不直觀。因此為了幫助大家更能理解卷積操作的意義,在這舉一個卷積操作的例子。如下圖矩陣所示,數值表示圖形的像素,為了方便計算,在這裡只取了0和1, 不難看出該矩陣圖形的特徵上面一半圖形是明亮的,下面一半圖形是黑的,因此該圖像具有很清晰的一道分界線,即具有明顯的水平特徵。
因此為了很好地提取上述矩陣的水平特徵,設計的捲積核應該也要具有水平特徵提取的屬性。而採用垂直特徵提取屬性的捲積核相對而言在特徵提取的明顯程度上會略顯不足。如下所示,採用提取水平特徵的捲積核進行卷積:
由所得的捲積結果矩陣可知,原始圖形的水平特徵被很好地提取出來,並且圖形地分界線會更加明顯,因為圖形有顏色的部分像素值加深了,很好地提取並突出了圖形的水平特徵。當採用提取垂直特徵的捲積核進行卷積時:
由所得的捲積結果矩陣可知,原始圖形的水平特徵也能被提取出來,但是會產生兩條分界線,圖形變化由特別明亮到明亮再到黑,反映到真實圖形上的情況也就變成由明到暗再到黑的情況,與真實原始圖形反應的水平特徵有所差別。
由上述例子不難得知,卷積核的不同會影響最終提取的圖形特徵的優劣程度,同時不同圖形所反應出來的特徵也有所不同,如何根據圖形特徵屬性的不同來設計出網路模型來更好地學習和設計出卷積核也特別關鍵。在實際地圖形分類項目中,就需要根據影像的差異來選擇提取合適的特徵,並且往往需要有所取捨的去考慮。
2.2 如何考慮卷積有較好的進行影像分類?
在上一節中透過卷積操作的作用可以知道,設計網路模型來更好地去學習出適配圖像的捲積核尤為重要。但在實際應用中,都是透過給定圖像類別的真實標籤,將類別標籤轉成機器能夠理解的向量數據,來自動學習訓練。當然,也不是完全無法透過人工設定來改善的。雖然資料集的標籤是固定好的,但是我們可以根據資料集的圖片類型去選擇不同的網路模型,針對不同的網路模型的優劣勢去考慮往往會有不錯的訓練效果。
同時在提取影像特徵時,也可以考慮使用多任務學習的方法,在已有的影像資料中,再次同樣使用一次影像資料去提取一些額外的影像特徵(例如影像的通道特徵和空間特徵等),然後對先前提取到的特徵進行一個補充或填充,來完善最終提取到的圖像特徵。當然,有時候這種操作會造成提取的特徵冗餘,取得的分類效果往往適得其反,因此需要根據實際訓練的分類結果去酌情考慮。
2.3 網路模型選擇的一些建議
圖像分類領域發展已經有很長一段時間了,從最初經典的AlexNet網路模型到近年來火熱的ResNet網路模型等,影像分類技術已經發展地比較完善,對於一些常用的影像資料集的分類準確率已經趨於100%。目前該領域中,大多數人採用的網路模型都是選擇最新的,並且在大多數圖像分類任務中,使用最新的網路模型確實可以帶來很明顯的分類效果,由此許多人在這一領域中往往會忽略以前的網路模型,直接去學習最新的、流行的網路模型。
在這,本人還是建議各位讀者能夠對圖形分類領域的一些經典的網絡模型都需要去進行一個熟悉,因為技術的更新迭代是非常快的,即使現在最新的網絡模型今後也可能會被淘汰,但是基本的網絡模型運行的原理是大致相通的,透過掌握經典的網絡模型,不僅可以掌握基本的原理,還可以明白不同網絡模型之間的差異和針對不同任務處理時的優劣性。例如,當你的圖像資料集比較小時,採用最新的網路模型訓練起來可能會非常複雜耗時,但是提升的效果微乎其微,因此為了可以忽略不計的效果去犧牲自己的訓練時間成本反而得不償失。因此,對於影像分類網路模型的掌握需要做到知其然還能知其所以然,這樣今後選擇影像分類模型時真正能做到有的放矢。
作者介紹:
稀飯,51CTO社群編輯,曾任職某電商人工智慧研發中心大數據技術部門,做推薦演算法。目前從事自然語言處理方向研究,主要擅長領域有建議演算法、NLP、CV,使用程式碼語言有Java、Python、Scala。發表ICCC會議論文一篇。
以上是TensorFlow應用技術拓展—影像分類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

從主畫面中刪除了重要內容並試圖將其取回?您可以透過多種方式將應用程式圖示放回螢幕。我們已經討論了您可以遵循的所有方法,並將應用程式圖示放回主畫面如何在iPhone中撤消從主畫面中刪除正如我們之前提到的,有幾種方法可以在iPhone上恢復此變更。方法1–替換應用程式庫中的應用程式圖示您可以直接從應用程式庫將應用程式圖示放置在主畫面上。步驟1–橫向滑動以尋找應用程式庫中的所有應用程式。步驟2–找到您先前刪除的應用程式圖示。步驟3–只需將應用程式圖示從主庫拖曳到主畫面上的正確位置即可。這是將應用程式圖

PHP中箭頭符號的作用及實踐應用在PHP中,箭頭符號(->)通常用於存取物件的屬性和方法。物件是PHP中物件導向程式設計(OOP)的基本概念之一,在實際開發中,箭頭符號在操作物件時發揮重要作用。本文將介紹箭頭符號的作用以及實踐應用,並提供具體的程式碼範例來幫助讀者更好地理解。一、箭頭符號的作用存取物件的屬性箭頭符號可以用來存取物件的屬性。當我們實例化一個對

這篇論文探討了在自動駕駛中,從不同視角(如透視圖和鳥瞰圖)準確檢測物體的問題,特別是如何有效地從透視圖(PV)到鳥瞰圖(BEV)空間轉換特徵,這一轉換是透過視覺轉換(VT)模組實施的。現有的方法大致分為兩種策略:2D到3D和3D到2D轉換。 2D到3D的方法透過預測深度機率來提升密集的2D特徵,但深度預測的固有不確定性,尤其是在遠處區域,可能會引入不準確性。而3D到2D的方法通常使用3D查詢來採樣2D特徵,並透過Transformer學習3D和2D特徵之間對應關係的注意力權重,這增加了計算和部署的

Linuxtee命令是一個非常有用的命令列工具,它可以在不影響已有輸出的情況下,將輸出寫入檔案或將輸出送到另一個命令。在本文中,我們將深入探索Linuxtee命令的各種應用場景,從入門到精通。 1.基本用法首先,我們來看看tee指令的基本用法。 tee指令的語法如下:tee[OPTION]...[FILE]...該指令會從標準輸入讀取數據,並將數據

Go語言是一種由Google開發的開源程式語言,於2007年首次發布。它被設計成一種簡單易學、高效、並發性強的語言,受到越來越多開發者的青睞。本文將探討Go語言的優勢,並介紹一些適合Go語言的應用場景,同時給出具體的程式碼範例。優勢並發性強:Go語言內建支援輕量級執行緒-goroutine,能夠輕鬆實現並發程式設計。透過使用go關鍵字就可以啟動goroutin

23年9月國防科大、京東和北理工的論文「DeepModelFusion:ASurvey」。深度模型整合/合併是一種新興技術,它將多個深度學習模型的參數或預測合併為一個模型。它結合了不同模型的能力來彌補單一模型的偏差和錯誤,以獲得更好的性能。而大規模深度學習模型(例如LLM和基礎模型)上的深度模型整合面臨一些挑戰,包括高運算成本、高維度參數空間、不同異質模型之間的干擾等。本文將現有的深度模型融合方法分為四類:(1)“模式連接”,透過一條損失減少的路徑將權重空間中的解連接起來,以獲得更好的模型融合初

寫在前面&筆者的個人理解基於圖像的3D重建是一項具有挑戰性的任務,涉及從一組輸入圖像推斷目標或場景的3D形狀。基於學習的方法因其直接估計3D形狀的能力而受到關注。這篇綜述論文的重點是最先進的3D重建技術,包括產生新穎的、看不見的視野。概述了高斯飛濺方法的最新發展,包括輸入類型、模型結構、輸出表示和訓練策略。也討論了尚未解決的挑戰和未來的方向。鑑於該領域的快速進展以及增強3D重建方法的眾多機會,對演算法進行全面檢查似乎至關重要。因此,本研究對高斯散射的最新進展進行了全面的概述。 (大拇指往上滑

Golang與前端技術結合:探討Golang如何在前端領域發揮作用,需要具體程式碼範例隨著互聯網和行動應用的快速發展,前端技術也愈發重要。而在這個領域中,Golang作為一門強大的後端程式語言,也可以發揮重要作用。本文將探討Golang如何與前端技術結合,以及透過具體的程式碼範例來展示其在前端領域的潛力。 Golang在前端領域的角色作為一門高效、簡潔且易於學習的
