Looking for support regarding the custom fitness metric without editing the source code

I’ve just looked into the fitness function, which defines a weight to prioritise the different metrics when choosing the best checkpoint. The default for [P, R, map@50, map@50-95] is [0, 0, 0.1, 0.9].

As I understand it, this makes sense for large to medium sized objects, as we prioritise tighter bounding boxes (which imply better map at varying thresholds) and hence the default weight.

I am working on very tiny objects (~12x12 in a FHD image), and would like to change the weight to only prioritise map@50 or less. This is because I suspect that the model has multiple cases where the IoU fluctuates massively. Obviously, I can directly edit the source code in my package files for now, but wanted to know if there was a yaml argument / commandline argument that could do this for me.

I checked this PR: Add support for defining custom fitness metric by arjunchandra2 · Pull Request #18269 · ultralytics/ultralytics · GitHub, but it seems to have been closed without merging it.

TIA.

At present, you are correct, there’s no YAML or kwarg configuration for modifying this. If you want to make changes to the fitness weighting, you’ll need to make changes into the source code manually.