border_async_trainer/actor/
stat.rs1use std::time::Duration;
2
3#[derive(Clone, Debug)]
5pub struct ActorStat {
6 pub env_steps: usize,
8
9 pub duration: Duration,
11}
12
13pub fn actor_stats_fmt(stats: &Vec<ActorStat>) -> String {
15 let mut s = "actor_id, samples, samples/sec, duration\n".to_string();
16 for (i, stat) in stats.iter().enumerate() {
17 let n = stat.env_steps;
18 let d = stat.duration.as_secs_f32();
19 let p = (n as f32) / d;
20 s += format!("{}, {}, {}, {}\n", i, n, p, d).as_str();
21 }
22 s
23}