『高中自主學習』第三堂1-3.資料下載與預處理實作

高二自主學習計畫:

主題:「探索深度學習-AI人工智慧」

深度學習平台:Colaboratory

程式語言:Python

主題:第三堂-資料下載與預處理實作

學員:國立中央大學附屬中壢高中 許云澤

時間:2020年9月25日,上午10:00~12:00

學習內容1:結合Google雲端硬碟

(1.)連接Google雲端硬碟:

因為這次實作的平台是Colab,屬於VM系統,資料會不定期地被刪除,所以必須連結至Google雲端硬碟,才能確保日後訓練出的成果、AI模型被完整的保存下來。

連結Google雲端的順序為:

  1. 執行程式
  2. 點開連結
  3. 選取Google雲端帳號
  4. 允許權限
  5. 複製授權碼
  6. 回Colab貼上 + Enter

(2.)學習如何使用Google雲端的資料

首先,必須把工作資料夾(Google雲端)設為目前的資料夾,所以使用Liunx的指令(%cd)指定絕對路徑,這樣才能確保等等要把檔案叫出來時,能順利進行。

在指定完絕對路徑後,就可以試著利用python把圖片叫出來。

(3.)將雲端資料複製到Colab中

Colab硬碟隨時有可能消失,因為是VM電腦的原因。所以我們必須隨時備份訓練出的AI模型,確保檔案不會消失。

在複製檔案之前,必須知道目前所在的資料夾,利用Linux的!pwd指令顯示。

接下來就可以將雲端資料複製到Colab當中:

(4.)將Colab資料備份到雲端中

學完如何把雲端中的資料引進到Colab過後,也要學該如何把資料備份到雲端,避免檔案消失的慘劇。

學習內容2:資料下載_實作手寫數字數據集下載(MNIST)

(1.)下載手寫數字數據至雲端硬碟(從網路上)

無論要訓練什麼樣的AI模型,都需要初始的訓練數據來訓練,可想而知「數據集」是不可或缺的一大重要因素。因此要先從下載數據開始,這次的專案是做手寫數字辨識,所以先從網路上下載手寫數字的數據集。

接著,要把下載下來的壓縮檔案,解壓縮。

完成解壓縮之後,利用python程式來列出,數據集當中究竟有多少筆資料?(顯示特定檔案下的資料數)

接著也可以試著把數據集當中的圖片資料,顯示出來看。

最後,可以練習把從網路上下載至雲端的數據集資料,再從雲端上下載到自己電腦中。

(2.)從TensorFlow模組載入Dataset(數據集),把資料數據化

原本從網路上下載的數據集,都是以圖片的呈現方式為主,現在利用TensorFlow模組,把圖片改成矩陣,讓AI能夠順利使用。

首先,必須先引入TensorFlow模組:

可以試著查看TensorFlow的版本,TensorFlow一直在進化,所以版本也會推陳出新。

也可以查看TensorFlow的資料型態。

查看TensorFlow裡面有哪些內建的數據集:

最後,真正重要的來了!我們要利用TensorFlow載入這次需要用到的「MNIST」手寫數據集。

學習內容3:數據集分割(訓練、驗證、測試)

一開始,我先載入數據集,並且把數據集分割。(分割為訓練集與測試集)

接著可以查看分割後的數據,各有多少資料量。

接著,要利用繪圖模組(matpolt繪圖模組)把數據資料(矩陣)轉換成圖片。

最後,來學習關於Label(標籤)的相關知識。在數據集當中,無論是訓練集或是測試集,每筆資料都會分成兩個東西,分別是「本體」與「標籤」。本體就是矩陣、圖片本身,「標籤」則是告訴電腦這筆資料的代表意義。

舉例來說,如果資料是一張圖片,數字為1,那麼「本體」即為圖片又或是矩陣本身,而「標籤」則為1。

簡單理解數據的Label:

理解「標籤」Label的意義之後,開始結合兩者運用,同時顯示「本體」與「標籤」,幫助使用者了解。

結論:心得分享

在第三堂課的自主學習當中,我開始接觸建立模型的過程,也更加了解數據集的內容。舉例來說:我這堂課搞懂了原來要區分為訓練集、驗證集、測試集這三大類,並且每個數據都有細分為「本體」與「標籤」。

另外,也學會了如何讓檔案在不同平台間傳送,讓檔案不會再因為沒備份到而消失了。

收到高中108課綱資訊

108課綱、高中營隊,學系歷程分析

謝謝你的訂閱

Something went wrong.

發佈留言