una-auxme / paf

MIT License
6 stars 0 forks source link

187 - Optimize pytorch weight loading on startup + dependencies update #193

Closed MaxJa4 closed 7 months ago

MaxJa4 commented 8 months ago

Description

Fixes PyTorch auto-downloading models on node-start even if its not used (causes significant delay until ready to process). Dependencies updated to fix building issues (b5 update) and have newest versions of PyTorch/Ultralytics and other libraries.

Fixes #187

Type of change

Checklist:

MaxJa4 commented 8 months ago

Delay reduced to ~0.5s on my machine. Won't be at university until Thursday due to work - would appreciate a quick test of this fix on the lab PCs to see if it works :) Thanks

samuelkuehnel commented 8 months ago

Here is a short video from the delay, it is about 1-2 seconds when looking at the ros time. delay.webm

MaxJa4 commented 8 months ago

@samuelkuehnel Thanks for testing. I saw that with the recent additions in the VisionNode by the LIDAR/distance features by Leon, the overall calculation time increased. It's ~50ms (20 FPS) on my PC, looks like it's more like 200ms on the lab PCs. I can try to check if I can do anything to fix this in the VisionNode without breaking the distance/LIDAR stuff, but I doubt it.

MaxJa4 commented 8 months ago

Added further measures to ensure up-to-date classification data:

Overall, the timings of the VisionNode changed like this (tested on a 4070 Ti):

Before:

Now:

Using the NAS models was not possible because of (hours of) dependency hell with Ultralytics + Super-Gradients... also converting the RT-DETR model to a way faster format like TensorRT is not loadable with Ultralytics.

Dependencies changed, please run b5 update! :)

MaxJa4 commented 7 months ago

5 days ago, a new/improved version of the standard YOLO model has been released: https://github.com/WongKinYiu/yolov9 This may be a candidate to try if the above changes are not sufficient performance wise.