




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
TensorFlow實現服裝圖像分類深度學習應用技術項目引導案例
目前在國內各大電商購物平臺,實質是以文搜圖。該技術要求事先對服裝圖像進行分類,打標簽。隨著數量的爆發式增長,該方法的缺點越來越顯著。耗費時間、精力、成本信息表達不全,檢索效果不佳
基于文本標注的傳統方法漸顯疲態,而基于圖像內容的新方法方興未艾。通過對圖像進行特征提取,獲得其特征表示,然后進行相似性度量,并依據相似性進行排序,從而得到檢索結果。
目前,圖像特征提取方法可分為基于傳統圖像處理和基于深度學習兩種方式。項目引導案例Tensorflow基礎操作01介紹Tensorflow以及一些深度學習的基本知識和代碼操作服裝圖像分類02基于服裝圖像數據,進行最基礎的分類模型的訓練KerasTuner超參數調節03使用超參數調節的方法來進行模型訓練思考一下對于如此海量的服裝圖像數據該如何分類呢?項目引導案例TensorFlow基礎操作職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08
TensorFlow基礎操作了解Tensorflow的內涵、名字含義、框架;了解Tensorflow的核心概念,常量、變量、張量、計算圖和會話等;了解Tensorflow優勢、缺點以及主流框架的對比。能夠了解開源框架TensorFlow;能夠掌握在TensorFlow中張量運算的方法;能夠掌握TensorFlow中數據類型轉換方法。職業能力目標01知識目標技能目標職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08
TensorFlow基礎操作
了解TensorFlow的基本知識,進行代碼操作練習。任務描述任務要求安裝TensorFlow;創建TensorFlow中的常量與變量;實現TensorFlow中的數據類型轉換;完成包括加法、平方和壓縮求和在內的張量運算。任務描述與要求02職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08
TensorFlow基礎操作任務分析如何實現Tensorflow的安裝、環境配置?Tensorflow如何進行運算操作,常見的有哪些?任務分析與計劃03任務計劃表通過上面的思考,你是否對本任務要完成的工作有所了解?讓我們一起來制訂完成本次任務的實施計劃吧!任務分析與計劃03項目名稱TensorFlow實現服裝圖像分類任務名稱TensorFlow基礎操作計劃方式自主設計計劃要求請用8個計劃步驟來完整描述出如何完成本次任務序號任務計劃1
2
3
4
5
6
7
8職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08
TensorFlow基礎操作TensorFlow核心概念204知識儲備TensorFlow基本介紹1TensorFlow特點3TensorFlow的內涵04①TensorFlow?是一個開放源代碼軟件庫,用于進行高性能數值計算。借助其靈活的架構,用戶可以輕松地將計算工作部署到多種平臺(CPU、GPU、TPU)和設備(桌面設備、服務器集群、移動設備、邊緣設備等)。②TensorFlow?最初是由GoogleBrain團隊(隸屬于Google的AI部門)中的研究人員和工程師開發的,可為機器學習和深度學習提供強力支持。TensorFlowFlow為“流”,即張量之間通過計算而轉換的過程TensorFlowTensorFlow名字的含義04Tensor為“張量”,即多維組數的數據結構TensorFlow是一個通過計算圖的形式表述計算的編程系統,每一個計算都是計算圖上的一個節點,節點之間的邊描述了計算之間的關系。+=TensorFlow基本架構04分布式TensorFlow的核心組件分發中心(distributedmaster)執行器(dataflowexecutor)內核應用(kernelimplementation)最底端的設備層(devicelayer)/網絡層(networkinglayer)TensorFlow基本架構04分發中心從輸入的數據流圖中剪取子圖,將其劃分為操作片段并啟動執行器。執行器負責圖操作在進程和設備中的運行、收發其它執行器的結果。內核應用負責單一的圖操作,包括數學計算、數組操作、控制流和狀態管理操作。單進程版本的TensorFlow沒有分發中心和執行器,而是使用特殊的會話應用聯系本地設備。TensorFlow的C語言API是核心組件和用戶代碼的分界,其它組件/API均通過C語言API與核心組件進行交互。04知識儲備TensorFlow核心概念2TensorFlow基本介紹112Tensorflow特點3
常量概念04
常量指在運行過程中不會改變的值,在TensorFlow中無需進行初始化操作。
常量在TensorFlow中一般被用于設置訓練步數、訓練步長和訓練輪數等超參數,此類參數在程序執行過程中一般不需要被改變,所以一般被設置為常量。
04
變量指在運行過程中值可以被改變的單元。變量在創建時必須確定初始值,可以像定義常量一樣。
TensorFlow中的變量是可以被機器優化過程中自動改變值的張量,也可以理解為待優化的張量。變量創建后,一般無需人工進行賦值,系統會根據算法模型,在訓練優化過程中自動調整變量的值。
變量概念
04變量概念
TensorFlow中的變量使用Variable類來保存,使用時用initial_value參數指定初始化函數,name參數指定變量名。訓練梯度變量:tf.GraphKeys.TRAINABLE_VARIABLES全局變量:tf.GraphKeys.GLOBAL_VARIABLES本地變量:tf.GraphKeys.LOCAL_VARIABLESTensorflow提供變量集合以儲存不同類型的變量,默認的變量集合包括:
04
占位符的本質就是先聲明數據類型,以便建立模型時申請內存。
TensorFlow中的Variable變量類型,在定義時需要初始化,但有些變量定義時并不知道其數值,只有當真正開始運行程序時,才由外部輸入,比如訓練數據,這時候需要用到占位符
。
占位符概念
張量是屬于線性代數里的知識點,線性代數是用虛擬數字世界表示真實物理世界的工具。我們用點線面體的概念來比喻解釋會更加容易理解:·點——標量(scalar)·線——向量(vector)·面——矩陣(matrix)·體——張量(tensor)張量概念04張量概念04張量的數據類型23種,數據類型之間可以互相轉換2個特殊類型4類浮點實數字符串2類浮點復數邏輯13類整數04TensorFlow中的張量
從功能的角度,張量可以簡單理解為多維數組,
需要注意的是,張量并沒有真正保存數字,它保存的是計算過程。零階張量表示標量(scalar),也就是一個數;一階張量為向量(vector),也就是一維數組;n階張量可以理解為一個n維數組。
04TensorFlow中的張量
一個張量就是一個可以容納N維數據及其線性操作的容器。
張量是一個多維數組。與NumPyndarray對象類似,tf.Tensor對象具有數據類型和形狀。此外,tf.Tensors可以駐留在加速器內存中(如GPU)。
張量(tensor)類型與Python類型放一起做個比較:tensor類型Python類型描述DT_FLOATtf.float3232位浮點數DT_DOUBLEtf.float6464位浮點數DT_INT646464位有符號整型DT_ING323232位有符號整型DT_INT161616位有符號整型DT_INT888位有符號整型DT_UNIT8tf.unit88位無符號整型DT_STRINGtf.string可變長度的字節數組,每一個張量元素都是一個字節數組DT_BOOLtf.bool布爾型DT_COMPLEX64plex64由兩個32位浮點數組成的復數:實數和虛數04TensorFlow中的張量張量張量可以由加速器內存(如GPU、TPU)支持。張量是不可變的。NumPyNumPy兼容性在TensorFlowtf.Tensor和NumPy之間轉換ndarray很容易VS04張量操作
TensorFlow提供了豐富的張量操作如:
函數描述mod()返回除法的余數cross()返回兩個張量的點積abs()返回輸入參數張量的絕對值ceil()返回輸入參數張量向上取整的結果cos()返回輸入參數張量的余弦值exp()返回輸入參數張量的自然常數e的指數floor()返回輸入參數張量的向下取整結果inv()返回輸入參數張量的倒數log()返回輸入參數張量的自然對數maximum()返回兩個輸入參數張量中的最大值minimum()返回兩個輸入參數張量中的最小值neg()返回輸入參數張量的負值pow()返回輸入參數第一個張量的第二個張量次冪rsqrt()返回輸入參數張量的平方根的倒數sqrt()返回輸入參數張量的平方根square()返回輸入參數張量的平方04計算圖和會話計算圖和會話TensorFlow在數據流編程下運行,具體地,使用數據流圖表示計算指令間的依賴關系,隨后依據圖創建會話并運行圖的各個部分。計算圖由節點(nodes)和線(edges)組成。節點表示操作符Operator,或者稱之為算子,線表示計算間的依賴。實線表示有數據傳遞依賴,傳遞的數據即張量虛線通常可以表示控制依賴,即執行先后順序。04計算圖和會話動態計算圖動態計算圖已經不區分計算圖的定義和執行了,而是定義后立即執行。因此稱之為EagerExcutionTensorFlow2.0懷舊版靜態計算圖為了確保對老版本tensorflow項目的兼容性,在pat.v1子模塊中保留了對TensorFlow1.0那種靜態計算圖構建風格的支持TensorFlow1.0靜態計算圖使用靜態計算圖分兩步,第一步定義計算圖,第二部在會話中執行計算圖04計算圖和會話?使用計算圖(Graph)來表示計算任務?在被稱之為會話(Session)的上下文(context)中執行計算圖?使用張量(tensor)表示數據?通過變量(Variable)維護狀態?使用feed和fetch可以為任意的操作復制或者從其中獲取數04知識儲備Tensorflow核心概念2TensorFlow基本介紹112Tensorflow特點3
Tensorflow優勢04(1)可用性工作流程相對容易,API穩定,兼容性好,并且TensorFlow與Numpy完美結合,很容易上手。(2)靈活性TensorFlow能夠在各種類型的機器上運行,從超級計算機到嵌入式系統。(3)效率自TensorFlow第一次發布以來,效率不斷提高。(4)支持在TensorFlow周圍形成了一個強大的社區。谷歌已經在TensorFlow上發布了多個預先訓練好的機器學習模型,他們可以自由使用。
Tensorflow缺點04(1)缺少符號循環:每個計算流必須構建成圖,沒有符號循環,這樣使得一些計算變得困難。(2)檔和接口混亂底層接口寫起來繁瑣,高層接口不靈活,且封裝混亂。(3)默認占用所有GPU的所有內存tf在GPU不可用時會自動改在CPU上跑,這樣一方面會導致速度變慢,另一方面,在共用顯卡的情況下,你根本就不知道是在CPU上跑。(4)調試困難TensorFlow作為靜態圖框架,api經常變,打印中間結果必須要借助Session運行才能生效,或者學習額外的tfdbg工具。
主流框架對比04職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08
TensorFlow基礎操作05任務實施創建常量與變量2安裝TensorFlow1數據類型轉換3張量運算4安裝TensorFlow05在JupyterLab中使用感嘆號“!”表示執行來自操作系統的命令。1.安裝TensorFlow
-i
是指向下載源,默認是國外源,但由于國外源下載速度慢,因此這里指向國內源,以便于提高下載速度。
導入tensorflow并查看版本號05任務實施創建常量與變量2安裝TensorFlow1數據類型轉換3張量運算4創建常量05創建常量方法如下:1.創建常量tf.constant(value,dtype=None,shape=None,name=’const’,verify_shape=False)在創建常量時只有value值是必填的,dtype等參數可以缺省,會根據具體的value值設置相應的值。創建常量05參數名稱必選/可選參數類型含義value必選數值或者list輸出張量的值dtype可選dtype輸出張量元素類型shape可選一維張量或array輸出張量的維度name可選string張量名稱validate_shape可選bool檢測shape是否和value的shape一致,若為False,即不一致時,會用最后一個元素將shape補全。創建常量參數說明05
在創建的同時指定數據類型,在數值兼容的情況下會自動做數據類型轉換。2.創建指定數據類型的常量053.創建指定shape的常量如果shape參數值被設定,則會做相應的reshape工作。05在變量的參數中,trainable參數用來表征當前變量是否需要被自動優化,創建變量對象時默認是啟用自動優化標志。4.創建變量創建方法如下:tf.Variable(initial_value,dtype=None,validate_shape=None,trainable=True,name='Variable')創建變量創建變量05參數名稱必選/可選參數類型含義initial_value必選所有可以轉換為Tensor的類型變量的初始值dtype可選dtype輸出張量元素類型validate_shape可選bool如果為False,則不進行類型和維度檢查trainable可選bool如果為True,需要被自動優化,創建變量對象時默認是啟用自動優化標志name可選string變量的名稱,如果沒有指定則系統會自動分配一個唯一的值創建變量參數說明05任務實施創建常量與變量2安裝TensorFlow1數據類型轉換3張量運算405通過tf.cast()進行數據類型轉換。數據類型轉換
TensorFlow支持不同的數據類型:
實數:tf.float32,tf.float64整數:8,16,32,64,tf.unit8布爾:tf.bool復數:plex64,plex128數據類型轉換05任務實施創建常量與變量2安裝TensorFlow1數據類型轉換3張量運算4051.加減乘除運算張量運算052.冪指對數運算張量運算053.壓縮求和使用tf.reduce_sum()進行張量壓縮求和運算壓縮求和tf.reduce_sum(input_tensor,axis=None,keepdims=False,name=None)創建變量的參數說明如下:input_tensor:輸入張量。axis=None:求和軸,如果為None,所有元素都會被壓縮求和。keepdims=False:如果為True,壓縮后的維度會變成1。name:賦予的變量名。05node1=tf.constant([[1,2],[3,4],[5,6]],32)node2=tf.reduce_sum(node1,axis=1)node3=tf.reduce_sum(node1,axis=0)壓縮求和[[1,2],[3,4],[5,6]]的shape是3*2*1當axis=1時,留下索引0和2,得到的數據的shape為3*1,得到[3711]當axis=0時,留下索引1和2,得到的數據的shape為2*1,得到[46]05node4=tf.reduce_sum(node1,axis=0,keepdims=True)壓縮求和keepdims:是否保持原有張量的維度,設置為True,結果保持輸入tensor的形狀;設置為False,結果會降低維度,如果不傳入這個參數,則系統默認為False054.其他運算張量運算職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08
TensorFlow基礎操作任務檢查與評價061、請參照評價標準完成自評和對其他小組的互評。2、各組請代表分析本組任務實施經驗。項目名稱Tensorflow實現服裝圖像分類任務名稱Tensorflow基礎操作評價方式可采用自評、互評、老師評價等方式說
明主要評價學生在項目學習過程中的操作技能、理論知識、學習態度、課堂表現、學習能力等
評價內容與評價標準序號
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CIMA 0026-2021電能表外置斷路器試驗方法
- T/CIMA 0020-2020交流電能表動態性能檢驗裝置
- T/CHATA 023-2022結核病定點醫療機構結核感染預防與控制規范
- T/CFPA 012-2022消防用壓接式涂覆碳鋼管材及管件
- T/CEPPEA 5023-2023風光儲充一體化充電站設計規范
- T/CEMTA 4-2023工業炸藥生產線安全聯鎖檢測方法溫度、壓力和流量
- T/CECS 10197-2022高分子膜基預鋪防水卷材
- T/CCS 062-2023井工煤礦智能化采煤系統運維管理規范
- T/CCOA 56-2023拉面專用小麥粉
- T/CBMCA 028-2022室內空氣治理產品
- 外科視角解讀-《甲狀腺結節和分化型甲狀腺癌診治指南(第二版)》
- 2023CSCO免疫檢查點抑制劑相關的毒性控制指南(全文)
- 五年級下冊分數加減混合運算練習400題及答案
- 不同行業安全管理的特點與要求
- 醫學人文素質教育的跨學科研究與創新
- 社區居民滿意度調查問卷
- 異常子宮出血護理查房的課件
- 醫院基建科招聘筆試題目
- 無創血糖儀行業營銷策略方案
- 答案-國開電大本科《當代中國政治制度》在線形考(形考任務一)試題
- 國際經貿新形勢下我國外貿高質量發展的挑戰及對策
評論
0/150
提交評論