載入中,請稍候...
記錄開發心得、實驗與學習筆記。
載入中,請稍候...

程式碼與資料參考來源:https://docs.pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#define-a-convolutional-neural-network 這段程式主要的目的,是建立一個可以讓 PyTorch 模型方便使用的影像資料載入流程。首先,程式定義了一個名為 transform 的轉換流程,這個轉換由兩個步驟組成。第一個步驟 transforms.ToTensor() 是把原本的影像(可能是 PIL Image 或 numpy 陣列)轉成 PyTorch 可以處理的 Tensor 格式,並且把像素值從 0~255 縮放到 0~1 之間。第二個步驟 transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) 則是將每個顏色通道進行標準化,把影像的數值範圍轉換成 -1 到 1 之間,這樣能讓模型在訓練時更穩定、更容易收斂。 接著,batch_size = 4 表示每次從資料集中取出四張圖片,組成一個小批次(batch)來訓練。這樣做可以減少記憶體使用量,並加快訓練速度。 在建立訓練資料集時,使用了 torchvision.datasets.CIFAR10 這個內建的資料集。CIFAR-10 是一個常見的影像分類資料集,裡面有 10 種不同類別的物體(例如飛機、汽車、貓、狗等)。參數 root=’./data’ 代表資料會被存放在專案資料夾中的 data 目錄下;train=True 指定要載入訓練資料;download=True 讓程式在本地沒有資料時自動從網路下載;而 transform=transform 則確保每張影像在載入時都會先經過剛剛定義的轉換流程。 建立好訓練資料集後,trainloader 透過 torch.utils.data.DataLoader 將資料集包裝成可以分批次讀取的形式。這個物件會在訓練時自動提供圖片與標籤。shuffle=True 表示在每個訓練輪次(epoch)開始前,資料都會被隨機打亂,避免模型記住資料的順序而影響學習。num_workers=2 […]

內容全參考影片 : https://www.youtube.com/watch?v=tMwyxKttZd0&t=60s 首先建立一個Conda的虛擬環境,之後進入後先下載labelImg。 如果labelImg閃退,建議不用進到虛擬環境,直接去下載LabelImg。 建立一個dataset資料夾 8:1:1 點擊Open Dir打開訓練集的圖片資料夾。 接著要選擇剛剛資料夾中的Label資料夾 要改成YOLO的格式,就可以開始框了 建議開啟這兩個。 接著下載yolov9的專案包,解壓縮後進入資料夾。 我將yolov9-main改為yolov9,依據個人喜好。 接著安裝相關套件,然後進入到PyTorch依據自己的版本下載。 安裝的過程我們可以先將dataset搬到data底下。 接著更改coco.yaml這支檔案我將它改名為datasets.yaml。 train.py 參數解析: 參數 你目前設定值 說明 –weights yolov9-c-converted.pt 預訓練權重(模型初始值) –data data/datasets.yaml 資料集配置(train/val 路徑與類別) –hyp data/hyps/hyp.scratch-high.yaml 超參數設定(學習率、增強等) –epochs 100 訓練回合數 –batch-size 4 每次訓練批次(因為 GPU 6GB 限制) –img 512 訓練圖片大小(寬高) –device 0 使用 GPU 0(RTX 2060) –workers 1 資料載入執行緒數量(Windows 建議設低) –cache […]

程式碼來源:https://docs.pytorch.org/tutorials/beginner/basics/quickstart_tutorial.html nn 是用來「定義網路結構」的模組。 DataLoader 幫你自動把 dataset 切成一批一批(batch)。在每個 epoch 打亂(shuffle)資料。 torchvision.datasets 這是 PyTorch 針對「影像資料集」的工具庫。常見的像 MNIST, CIFAR10, ImageNet 都可以直接用這個模組下載與載入。 ToTensor() 用來把影像(通常是 PIL Image 或 NumPy 陣列)轉成 PyTorch 的 Tensor 格式。同時會自動把像素值從 [0, 255] 轉成 [0.0, 1.0]。 training_data 訓練資料 datasets.FashionMNIST:這是 PyTorch 內建的 Fashion-MNIST 資料集,它是一組 灰階 28×28 的衣物影像(共有 10 類,像是 T-shirt、鞋子、包包等)。可以視為「MNIST(手寫數字)」的進階版。 root=”data”:指定資料儲存的資料夾名稱(PyTorch 會自動在這個資料夾裡建立結構)。若資料不存在,會在 “data/” 底下建立子資料夾並下載。 train=True:表示這是訓練集(training set),FashionMNIST 總共有: download=True:若本地端還沒有資料集,就自動幫你從官方網站下載。 transform=ToTensor():將每張影像轉換成 […]