【Yolov5】簡單使用

PythonNew_Mr.Wang發表於2024-05-27

訓練部分配置

訓練集目錄(可以是從標註平臺標註後生成的標籤與圖片):

|-- 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