From dd03e936979a42eb43fdb6217e095156bd962e29 Mon Sep 17 00:00:00 2001 From: zhenai Date: Thu, 8 Oct 2026 16:37:44 +0800 Subject: [PATCH] policy is rad --- src/main.rs | 24 ++++++++++++++---------- src/pingEsp32.rs | 0 src/policy.rs | 3 +++ 3 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 src/pingEsp32.rs diff --git a/src/main.rs b/src/main.rs index e9ec0d6..041a8fa 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,18 +1,22 @@ mod policy; +mod pingEsp32; + use anyhow::{Context, Result}; -// fn main() -> Result<()> { -// //循环 -// for _ in 0..10 { -// let action = policy::policy([0.0; 36])?; -// println!("模型输出: {action:?}"); -// } -// Ok(()) -// } +fn main() -> Result<()> { + //while循环 + let mut i = 0; + while i < 10 { + let action = policy::policy([i as f32 *0.05; 36])?; + println!("模型输出: {action:?}"); + i = i + 1; + } + Ok(()) +} use std::time::Instant; -fn main() -> Result<()> { - const N: u32 = 1000; +fn main1() -> Result<()> { + const N: u32 = 500; let mut total_infer = std::time::Duration::ZERO; for _ in 0..N { diff --git a/src/pingEsp32.rs b/src/pingEsp32.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/policy.rs b/src/policy.rs index 7366bd7..729754e 100644 --- a/src/policy.rs +++ b/src/policy.rs @@ -64,5 +64,8 @@ pub fn policy(observation: [f32; 36]) -> Result<[f32; 8]> { let mut result = [0.0f32; 8]; result.copy_from_slice(values); + result + .iter_mut() + .for_each(|value| *value = (*value * 0.5).clamp(-1.57, 1.57)); Ok(result) } \ No newline at end of file