yscv-eval 0.1.7

Evaluation metrics (mAP, MOTA, HOTA) and dataset adapters
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::EvalError;

pub(crate) fn parse_dataset_jsonl<T, F>(text: &str, mut parse_line: F) -> Result<Vec<T>, EvalError>
where
    F: FnMut(&str, usize) -> Result<T, EvalError>,
{
    let mut out = Vec::new();
    for (line_idx, raw_line) in text.lines().enumerate() {
        let line_no = line_idx + 1;
        let line = raw_line.trim();
        if line.is_empty() || line.starts_with('#') {
            continue;
        }
        out.push(parse_line(line, line_no)?);
    }
    Ok(out)
}