沒別招,只能一張張把圖片抓下來,少說抓個幾百~幾千張吧。抓下來的圖可以用遞增數字當檔名。
再來這步更麻煩,標記。
新增一個文字檔,或跟我一樣用 label.csv 都可以,然後把一張張圖片上的驗證碼正確答案記錄下來。
儘管步驟再簡單,只靠自己人工抓圖和標記,既耗時又煩悶,如何用程式抓圖、輔助標記,或是資料不夠多時怎麼訓練 AI,都是常見的議題,可以參考網路文章,或直接去問 AI。從這步驟應該能體會,擁有某領域大量或取得不易資料的企業,有多犯規了~
(對了,正如前篇讀者的分享,類似的專案已有人做過,網路上很容易找到整包標記好的資料集,真心建議有興趣的讀者去找找吧。系列文的目標是學習怎麼用 PyTorch 訓練 AI 模型,不用把時間花在抓圖跟標記。)
新增一個 my_dataset.py 檔案,裡面定義 MyDataset
class,如圖。
三個重點
MyDataset
繼承 torch.utils.data.Dataset
MyDataset
內定義 __len__
函示,負責回傳 dataset 長度MyDataset
內定義 __getitem__
函示,負責讀圖 最後把剛剛的資料集 (dataset) 跟 my_dataset.py 放在 C:\my_pytorch_project\my_first_model 裡,大概像這樣
這樣就算完成了。
下一篇會開始實作 AI 模型,全連接神經網路,也就是上圖的 my_dnn.py。
系列文整理:
0. 從零開始,打造第一個 AI 模型 (序言)
1. 環境設定
2. 準備資料集
3. 實做 全連接神經網路 (參數較多)
4. 實做 捲積式神經網路 (參數較少)
5. 訓練、匯出模型
6. 載入、使用模型