訓練部分配置
訓練集目錄(可以是從標註平臺標註後生成的標籤與圖片):
|-- car/
-- images/
-- train # 訓練集的圖片
-- val # 驗證集的圖片,只要有圖片就可以
-- lables/ # 特徵標籤
-- train # txt特徵檔案
-- val # txt特徵檔案
...cache檔案 # 是一個快取檔案,用於儲存訓練集資料的預處理結果或其他中間資料,以提高資料載入和處理的效率
權重檔案( yolov5/data/car.yaml):
path: ../car # 訓練集根目錄
train: images/train # 訓練集的影像路徑
val: images/val # 驗證集的影像路徑
test: # 測試集的影像路徑(可選)
# 標籤索引
names:
0: 小轎車
1: 大巴車
2: 腳踏車
3: 摩托車
。。。
train.py 檔案配置
def parse_opt(known=False):
"""Parses command-line arguments for YOLOv5 training, validation, and testing."""
parser = argparse.ArgumentParser()
# 模型權重的路徑(預設即可)
parser.add_argument("--weights", type=str, default=ROOT / "yolov5s.pt", help="initial weights path")
parser.add_argument("--cfg", type=str, default="", help="model.yaml path")
# 修改成自己標註的索引檔案
parser.add_argument("--data", type=str, default=ROOT / "data/car.yaml", help="dataset.yaml path")
# 配置後執行python3 train.py
detect.py
@smart_inference_mode()
def run(
weights=ROOT / "runs/train/exp/weights/last.pt", # 修改成訓練後模型的地址
source=ROOT / "data/images", # 你想預測圖片的存放地址
data=ROOT / "data/car.yaml", # 自定義的標籤索引檔案
def parse_opt():
parser = argparse.ArgumentParser()
# 修改成訓練後模型的地址
parser.add_argument("--weights", nargs="+", type=str, default=ROOT / "runs/train/exp/weights/last.pt", help="model path or triton URL")
# 你想預測圖片的存放地址
parser.add_argument("--source", type=str, default=ROOT / "data/images", help="file/dir/URL/glob/screen/0(webcam)")
# 自定義的標籤索引檔案
parser.add_argument("--data", type=str, default=ROOT / "data/car.yaml", help="(optional) dataset.yaml path")
# 配置後執行python3 detect.py