thangkt commited on
Commit
ac872f9
·
verified ·
1 Parent(s): e9d5141

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +64 -0
README.md ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: agpl-3.0
3
+ library_name: ultralytics
4
+ pipeline_tag: object-detection
5
+ tags:
6
+ - yolo
7
+ - yolov8
8
+ - depgraph
9
+ - torch-pruning
10
+ - structured-pruning
11
+ - deeppcb
12
+ datasets:
13
+ - thangkt/PCB-Prune-YOLO-DeepPCB
14
+ metrics:
15
+ - map
16
+ ---
17
+
18
+ # PCB-Prune-YOLO P10 Direct
19
+
20
+ Validation-selected YOLOv8n checkpoint produced by direct DepGraph structured
21
+ pruning followed by matched fine-tuning on DeepPCB. This model does not use
22
+ sparse learning or knowledge distillation.
23
+
24
+ ## Validation results
25
+
26
+ | Precision | Recall | mAP50 | mAP50-95 |
27
+ |---:|---:|---:|---:|
28
+ | 0.96479 | 0.95706 | 0.98273 | 0.77736 |
29
+
30
+ At seed 42 this direct P10 control exceeded the matched sparse-learning P10 by
31
+ 1.42 mAP50-95 percentage points. This is a single-seed observation and the
32
+ DeepPCB test split was not used for model selection.
33
+
34
+ ## Compression and Tesla T4 benchmark
35
+
36
+ | Parameters | MACs | Size | Latency batch 1 | FPS |
37
+ |---:|---:|---:|---:|---:|
38
+ | 2,416,871 | 3.2695G | 4.854 MiB | 10.433 ms | 95.85 |
39
+
40
+ Input size is 640. Latency uses 50 warm-up and 200 synchronized CUDA iterations.
41
+
42
+ ## Training configuration
43
+
44
+ - Direct local group-magnitude pruning, ratio 0.10, one step, no channel rounding
45
+ - AdamW, `lr0=0.001`, `lrf=0.01`, momentum 0.9, weight decay 0.0005
46
+ - 50 epochs, batch 64, patience 10, seed 42, AMP and deterministic mode
47
+ - Six classes: open, short, mousebite, spur, copper, pin-hole
48
+
49
+ ## Loading
50
+
51
+ Structured pruning changes the serialized architecture. Install the project so
52
+ the `PrunableC2f` class is importable before loading:
53
+
54
+ ```python
55
+ from ultralytics import YOLO
56
+
57
+ model = YOLO("best.pt")
58
+ results = model("pcb.jpg", imgsz=640)
59
+ ```
60
+
61
+ Project: https://github.com/pnthang04/PCB-Prune-YOLO
62
+
63
+ The checkpoint was verified by loading in a new process and running CUDA
64
+ inference with decoded output shape `[1, 10, 8400]`.