2. 準備資料集

2. 準備資料集

JN-avatar-img
發佈於計算機
更新於 發佈於 閱讀時間約 3 分鐘

抓圖&標記


沒別招,只能一張張把圖片抓下來,少說抓個幾百~幾千張吧。抓下來的圖可以用遞增數字當檔名。

大概像這樣把圖片存好

大概像這樣把圖片存好


再來這步更麻煩,標記

新增一個文字檔,或跟我一樣用 label.csv 都可以,然後把一張張圖片上的驗證碼正確答案記錄下來。

第 1 行對應到 1.jpg,第 N 行對應到 N.jpg

第 1 行對應到 1.jpg,第 N 行對應到 N.jpg


儘管步驟再簡單,只靠自己人工抓圖和標記,既耗時又煩悶,如何用程式抓圖、輔助標記,或是資料不夠多時怎麼訓練 AI,都是常見的議題,可以參考網路文章,或直接去問 AI。從這步驟應該能體會,擁有某領域大量或取得不易資料的企業,有多犯規了~

(對了,正如前篇讀者的分享,類似的專案已有人做過,網路上很容易找到整包標記好的資料集,真心建議有興趣的讀者去找找吧。系列文的目標是學習怎麼用 PyTorch 訓練 AI 模型,不用把時間花在抓圖跟標記。)


實作 MyDataset


新增一個 my_dataset.py 檔案,裡面定義 MyDataset class,如圖。

raw-image


三個重點

  1. MyDataset 繼承 torch.utils.data.Dataset
  2. MyDataset 內定義 __len__ 函示,負責回傳 dataset 長度
  3. MyDataset 內定義 __getitem__ 函示,負責讀圖


最後把剛剛的資料集 (dataset) 跟 my_dataset.py 放在 C:\my_pytorch_project\my_first_model 裡,大概像這樣

raw-image


這樣就算完成了。

下一篇會開始實作 AI 模型,全連接神經網路,也就是上圖的 my_dnn.py。



系列文整理:

0. 從零開始,打造第一個 AI 模型 (序言)

1. 環境設定

2. 準備資料集

3. 實做 全連接神經網路 (參數較多)

4. 實做 捲積式神經網路 (參數較少)

5. 訓練、匯出模型

6. 載入、使用模型

avatar-img
JN的沙龍
62會員
29內容數
個人網誌啦~ 內容包含但不限於學習筆記、心情抒發、火星廢文...
留言
avatar-img
留言分享你的想法!
JN的沙龍 的其他內容
某天,某島國上的花生農老G,因為體力漸衰、氣候異常、地緣政治...等因素,種出的花生品質越來越不穩定,於是邀了其他島上的A格斯先生、高手B爾、阿國兄,四人一起組了個互助會...
下圖為程式碼節錄 把 output 印出來看,會發現有五組數字,每一組數字依序對應到驗證碼圖片
資料集有了,模型兜好了,再來可以開始訓練了。 首先準備 train.py,下圖僅節錄部分程式碼。 圖中包含了大部分的程式和註解,整段 code 也幾乎是公版了,建議簡單看過再自己融會貫通,有問題可以根據執行時的 error log 去解決,也可以留言討論。 此時資料夾應該長這樣
某天,某島國上的花生農老G,因為體力漸衰、氣候異常、地緣政治...等因素,種出的花生品質越來越不穩定,於是邀了其他島上的A格斯先生、高手B爾、阿國兄,四人一起組了個互助會...
下圖為程式碼節錄 把 output 印出來看,會發現有五組數字,每一組數字依序對應到驗證碼圖片
資料集有了,模型兜好了,再來可以開始訓練了。 首先準備 train.py,下圖僅節錄部分程式碼。 圖中包含了大部分的程式和註解,整段 code 也幾乎是公版了,建議簡單看過再自己融會貫通,有問題可以根據執行時的 error log 去解決,也可以留言討論。 此時資料夾應該長這樣