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 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 | ||||
| git clone https://github.com/WongKinYiu/yolov9 | ||||
| cd yolov9 | ||||
| 
 | ||||
| # setup the virtual environment so installation doesn't affect main system | ||||
| # NOTE: Virtual environment must be using Python 3.11 or older. | ||||
| python3 -m venv ./ | ||||
| bin/pip install -r requirements.txt | ||||
| bin/pip install onnx onnxruntime onnx-simplifier>=0.4.1 | ||||
| 
 | ||||
| # download the weights | ||||
| wget -O yolov9-t.pt "https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-t-converted.pt" # download the weights | ||||
| 
 | ||||
| # prepare and run export script | ||||
| 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 | ||||
| bin/python3 export.py --weights ./yolov9-t.pt --imgsz 320 --simplify --include onnx | ||||
| docker build . --build-arg MODEL_SIZE=t --output . -f- <<'EOF' | ||||
| FROM python:3.11 AS build | ||||
| RUN apt-get update && apt-get install --no-install-recommends -y libgl1 && rm -rf /var/lib/apt/lists/* | ||||
| COPY --from=ghcr.io/astral-sh/uv:0.8.0 /uv /bin/ | ||||
| WORKDIR /yolov9 | ||||
| ADD https://github.com/WongKinYiu/yolov9.git . | ||||
| RUN uv pip install --system -r requirements.txt | ||||
| RUN uv pip install --system onnx onnxruntime onnx-simplifier>=0.4.1 | ||||
| ARG MODEL_SIZE | ||||
| ADD https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-${MODEL_SIZE}-converted.pt yolov9-${MODEL_SIZE}.pt | ||||
| 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 | ||||
| FROM scratch | ||||
| ARG MODEL_SIZE | ||||
| COPY --from=build /yolov9/yolov9-${MODEL_SIZE}.onnx / | ||||
| EOF | ||||
| ``` | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user