mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	Revamp YOLOv9 export guide (#19224)
* Revamp YOLOv9 export guide * Make variant a build arg * Change VARIANT to MODEL_SIZE * Mention available models
This commit is contained in:
		
							parent
							
								
									eb8eee038f
								
							
						
					
					
						commit
						6d5fb65a68
					
				| @ -1032,22 +1032,23 @@ python3 yolo_to_onnx.py -m yolov7-320 | |||||||
| 
 | 
 | ||||||
| #### YOLOv9 | #### YOLOv9 | ||||||
| 
 | 
 | ||||||
| YOLOv9 models can be exported using the below code | YOLOv9 model can be exported as ONNX using the command below. You can copy and paste the whole thing to your terminal and execute, altering `MODEL_SIZE=t` in the first line to the [model size](https://github.com/WongKinYiu/yolov9#performance) you would like to convert (available sizes are `t`, `s`, `m`, `c`, and `e`). | ||||||
| 
 | 
 | ||||||
| ```sh | ```sh | ||||||
| git clone https://github.com/WongKinYiu/yolov9 | docker build . --build-arg MODEL_SIZE=t --output . -f- <<'EOF' | ||||||
| cd yolov9 | FROM python:3.11 AS build | ||||||
| 
 | RUN apt-get update && apt-get install --no-install-recommends -y libgl1 && rm -rf /var/lib/apt/lists/* | ||||||
| # setup the virtual environment so installation doesn't affect main system | COPY --from=ghcr.io/astral-sh/uv:0.8.0 /uv /bin/ | ||||||
| # NOTE: Virtual environment must be using Python 3.11 or older. | WORKDIR /yolov9 | ||||||
| python3 -m venv ./ | ADD https://github.com/WongKinYiu/yolov9.git . | ||||||
| bin/pip install -r requirements.txt | RUN uv pip install --system -r requirements.txt | ||||||
| bin/pip install onnx onnxruntime onnx-simplifier>=0.4.1 | RUN uv pip install --system onnx onnxruntime onnx-simplifier>=0.4.1 | ||||||
| 
 | ARG MODEL_SIZE | ||||||
| # download the weights | ADD https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-${MODEL_SIZE}-converted.pt yolov9-${MODEL_SIZE}.pt | ||||||
| wget -O yolov9-t.pt "https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-t-converted.pt" # download the weights | RUN sed -i "s/ckpt = torch.load(attempt_download(w), map_location='cpu')/ckpt = torch.load(attempt_download(w), map_location='cpu', weights_only=False)/g" models/experimental.py | ||||||
| 
 | RUN python3 export.py --weights ./yolov9-${MODEL_SIZE}.pt --imgsz 320 --simplify --include onnx | ||||||
| # prepare and run export script | FROM scratch | ||||||
| sed -i "s/ckpt = torch.load(attempt_download(w), map_location='cpu')/ckpt = torch.load(attempt_download(w), map_location='cpu', weights_only=False)/g" ./models/experimental.py | ARG MODEL_SIZE | ||||||
| bin/python3 export.py --weights ./yolov9-t.pt --imgsz 320 --simplify --include onnx | COPY --from=build /yolov9/yolov9-${MODEL_SIZE}.onnx / | ||||||
|  | EOF | ||||||
| ``` | ``` | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user